想知道在动态CRM 2011中处理javascript文件时是否还有智能感知支持?我知道如果您使用Visual Studio,您可以获得此支持,但只是想知道我们是否可以在CRM应用程序本身内完成此任务。
对此的任何建议都会很棒!
答案 0 :(得分:6)
抱歉在发帖之前应该仔细阅读。但如果你是 使用VS ......
见http://blogs.msdn.com/b/crm/archive/2011/04/07/jscript-intellisense-for-form-script-libraries.aspx。 我是CRM SDK这一部分的作者。我制作了这个解决方案并将其包含在SDK中。 它基于特定形式的结构和数据提供JavaScript IntelliSense。有一个Visual Studio扩展和一个支持CRM托管解决方案。
此CRM SDK主题介绍了解决方案:http://msdn.microsoft.com/en-us/library/gg328261.aspx。
此解决方案与其他IntelliSense解决方案略有不同,因为它实际上实现了大多数Xrm.Page函数,因此您可以获得IntelliSense和一些功能,以针对包含数据的单个表单的快照测试您的代码。您不必将文件上传为Web资源。您可以先进行健全性检查,避免从CRM内部对Web资源进行重大调试。
它没有做的是提供您可能想要引用的各个表单属性的名称(尽管页面数据的快照以易于阅读的JSON格式提供)。它侧重于API的语法和可用的方法。如果键入Xrm.Page.getAttribute('new_optionset')。您将只看到对optionset属性有效的方法。虽然所有属性都有getValue和setValue函数,但并非每个属性都有getOptions方法。 它不需要将任何其他库添加到您的脚本中以使其工作。
我认为其他智能感知库很棒。感谢那些制作它们的人。我制作的解决方案有更多的开销,但您也可以获得不同的体验。使用适合你的任何一个。
答案 1 :(得分:4)
由于CRM中的脚本编辑器只是一个纯文本框,我认为答案是否定的,相信我很抱歉这样说!你会认为他们至少已经将字体设置为像courier这样的真实类型,以帮助进行一些编辑。
我发现最简单的方法是使用带语法高亮的轻量级文本编辑器,如Notepad++。当然,它是免费的;)
如果您从CRM编辑器中复制代码,将其粘贴到Notepad ++中并选择JavaScript作为语言,它将为您提供与Visual Studio相同的语法,但没有相关的加载时间(不要误解我,我喜欢Visual Studio,但它对于一个小的JavaScript改变来说是非常过分的。它还可以让你正确设置缩进。然后,当您完成编辑,复制并粘贴回CRM。
如果我需要在没有Visual Studio的机器上进行快速更改,我发现这特别有用。
答案 2 :(得分:2)
您需要在VS2010中将文件XrmPage-vsdoc.js添加到您的项目中,然后像这样添加对它的引用
///<reference path="..\IntelliSense\XrmPage-vsdoc.js"/>
到* .js文件的顶部,你就可以使用IntelliSense了。 有关详细信息,请查看此帖CRM 2011: IntelliSense for Xrm.Page
答案 3 :(得分:0)
看看Shrpr网络资源编辑器,它有语法高亮,大括号匹配和一些简单的代码完成(不是完整的智能感知,但仍然值得)。
http://www.shrpr.org/2011/11/shrpr-web-resource-editor-first-release.html
(也有后来的版本,但第一个公告中有大部分信息)