我正在使用创建自己的自定义功能区按钮 本文 作为参考。我的代码在文件中 Elements.xml 是这样的:

<CommandUIHandler
    Command="NewRibbonButtonCommand" 
    CommandAction="javascript: MULTIPLE
                               LINES
                               OF
                               JAVASCRIPT
                               CODE">

有没有更好的方法来编辑JavaScript代码 CommandAction 属性,例如它至少对于基本 JavaScript 对象具有 IntelliSense,例如 document?到目前为止,我正在使用非常基本的 XML 编辑器。其他编辑器(例如源代码编辑器和 HTML 编辑器)也无济于事。当我编辑时,工具箱是空的 Elements.xml 我无法弄清楚哪些标签可供我使用 Elements.xml.

我正在使用 Visual Studio 2012。

有帮助吗?

解决方案

是的,这是一个很常见的问题。无论您如何尝试编辑代码,当代码编写在内部时,都将很难阅读、调试、管理和更新 elements.xml.

我知道这个问题与编辑器本身有关,但有时在另一个编辑器中编写 JavaScript 代码会更好 .js 文件,并仅使用参考 CommandAction. 。您可以通过多种方式从自定义操作 xml 加载脚本:

  1. 编写另一个自定义操作 ScriptLink 地点。优点 - 易于使用,缺点 - 它将加载到自定义操作范围(网站、网络等)内的每个页面上。 告诉我它是如何完成的.
  2. 使用 脚本点播 (SOD) 技术从内部动态加载脚本 CommandAction 脚本。SOD 可以给你带来魔力,因为它只能在打开功能区选项卡时加载你的脚本,这样你就可以获得性能。 让我看看SOD“圣经”

为什么这种方式更好. 。当你的 JavaScript 代码不在 elements.xml 但在外部文件中,您需要更新 JavaScript 内的代码,这要容易得多。您不需要更新您的自定义操作,您只需要升级您的 JavaScript 文件,无论它们在哪里 Style Library 或在 _layouts 文件夹。调试单独的 JavaScript 文件也比内联代码更容易。

其他提示

当我们使用 Sharepoint xml 文件(例如 Feature.xml、Elements.xml 或 ONET.xml 文件)时,默认情况下我们不会获得任何智能感知。

但对于任何开发人员来说,记住所有这些信息都很难。所以,这是获得智能感知的最简单方法

  1. 在 Visual Studio 中打开 xml 文件。
  2. 转到 xml 文件的属性窗格,然后单击架构并浏览找到该文​​件
  3. 从 C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/XML/wss.xsd 中找到名为“wss.xsd”的文件(MOSS 为 12,SP 2010 为 14,SP2013 为 15)

笔记 :该文件将包含所有 xml 定义的函数,这些函数很容易被 Visual Studio 识别。

enter image description here

然后您将获得 SharePoint 解决方案的智能感知。

信用 :- http://kancharla-sharepoint.blogspot.com/2012/03/how-to-get-intellisece-for-featurexml.html

许可以下: CC-BY-SA归因
scroll top