一直在不遗余力地向周围地人传播Atlas 的Declarative Syntax,却总是得到“太难编写”的回答。最近有一次无论如何也找不出一个问题,最终发现是一个拼写错误,愤愤之余,无奈之下,只得设法为VS增加为 Atlas的代码提示功能。苦于缺乏相关资料,MSDN上尽是如何为VS.NET 2003下Web Control增加客户端提示的文章。不过幸运地是,这些文章也给了我提示和方向。摸索数小时之后总算有所门道,奋战略有小成,不敢独享。虽然期间也曾遇 到过一些头疼事,例如VS.NET编辑器无法区分HTML的和Atlas Scripts里的,幸运的是最终找到了解决办法。
先来看一下效果吧:
可以看出,这个代码提示其实就是和VS.NET对于HTML代码提示完全相同,因此可以非常快速地使用Declarative Syntax进行开发,也不会有拼写错误构成的无奈问题。由于制作代码提示需要一份完整的参考,而Atlas Client Library中 的资料又不全,因此目前只支持只有Library里完整描述的所有Tag。一些比如listView,dataSource, webRequestManager,validator等tag我会在归纳完全后补全代码提示的功能。如果有哪位朋友已经完整归纳出这些,能否借给我参 考一下,谢谢。:)
添加这些Atlas Scripts的Intelligence支持的步骤如下:
1、点击这里下载所需的XSD文件,VS.NET 2005需要通过识别这个文件来提供所需的代码提示。
2、 将压缩包内的Atlas_IE6_0.XSD复制到“%VS8_DIR%Common7Packagesschemashtml”目录中。(比如 在我的机器上就是:“D:Program FilesMicrosoft Visual Studio 8Common7Packagesschemashtml”目录)
3、打开注册表编辑器(开始——运行——regedit),找 到目录“HKEY_LOCAL_MACHINESOFTWAREMicrosoftVisualStudio8.0Packages {1B437D20-F8FE-11D2-A6AE-00104BCC7269}Schemas”,可以发现“Schema 1”,“Schema 2”……如图:
4、紧跟着Schema N的最大值再建一个目录(似乎VS.NET在这里只是检查连续的编号),如上图中“Schema 21”。
5、在刚建立的目录中添加三个字符串类型的值:
File:htmlAtlas_IE6_0.XSD
Friendly Name:Atlas - Internet Explorer 6
URI:[url]http://schemas.microsoft.com/intellisense/atlas_ie6[/url]
如图:
6、打开VS.NET 2005,点击菜单:Tools——Options。
7、展开树状菜单:Text Editor——HTML——Validation,在右侧上方Target下拉框内选择“Atlas - Internet Explorer 6”,这就代表了选择我们刚才的XSD文件。如图:
8、 展开树状菜单:Text Editor——HTML——Format,在右侧将“Client tag”和“Client attributes”均设为“As entered”。这样Editor就会保留输入时的原有大小写形式,否则将会变成全部大写或者全部小写。如图:
现在,打开一个aspx文件,在
或里输入,然后就能尽情享受Intelligence带来的便利了。不过,需要注意在真正运行前,需要把改成。由于Editor对于的内容会不认做标签,但是如果撤销的这一特性,在输入小于号“<”以后会出现本不该有的代码提示功能,非常讨厌,所以只能出此下策。但是个人觉得,与能够获得 Intelligence功能相比,这点不方便还是能够忍受的吧。另外,如果在使用中发现了什么问题,也请马上告诉我,我会对Schema进行修改,谢谢。
最后再提一下,现在我提供的Schema还不够完整,因为缺少了一些tag的详细资料,我正在归纳,也会及时更新。如果有哪位朋友能够提供的话,在下不 胜感激。另外,目前我是扩展了Internet Explorer 6的Validation Schema,如果完整了所有的tag信息,我也会制作扩展HTML 4.01等其他Validation的Schema。
本文转自 jeffz 51CTO博客,原文链接:http://blog.51cto.com/jeffz/60952,如需转载请自行联系原作者