单行上的Visual Studio XML摘要注释

时间:2011-11-26 13:58:58

标签: visual-studio comments xml-documentation code-documentation

在Visual Studio中,如何将默认的XML摘要注释片段从三行更改为一行?

目前,当我输入///时,它会提供此代码段:

/// <summary>
/// 
/// </summary>

我想要这个更短的代码段:

///<summary></summary>

我的摘要通常很简短,额外的2行是不必要的。

是否有针对此或某些可自定义代码/自定义插件的配置设置来解决此问题。

3 个答案:

答案 0 :(得分:4)

这是一个较老的问题,但我喜欢杰森威廉姆斯建议为此创建一个片段,所以我做了。不是很复杂,但复制和粘贴更容易:)

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Single line summary</Title>
      <Shortcut>summary</Shortcut>
    </Header>
    <Snippet>
      <Code Language="csharp">
        <![CDATA[/// <summary>$end$</summary>]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

您可以通过(可能很明显)更改<Shortcut>值来更改快捷方式。

将其粘贴到名为SingleLineSummary.snippet的新文件中,并将其保存在文件夹%USERPROFILE%\Documents\Visual Studio 2012\Code Snippets\Visual C#\My Code Snippets中(修改为适合您的Windows和Visual Studio版本)。

如果你不熟悉片段,要使用它只需将光标放在方法/属性/ etc之上,开始输入summary,然后点击TAB几次。

答案 1 :(得分:3)

就个人而言,我认为这应该是VS编辑器本身的一部分。如果您愿意,我可以选择投票。{/ p>

与此同时,片段的想法很好,但行为略有不同。如果你想保持相同的行为,如果你愿意购买第三方插件,那么SubMain有一个名为&#34; GhostDoc Pro&#34;只需要一点努力,就可以为你做到这一点。 (请注意,他们有一个免费的,非&#34; pro&#34;版本,&#34; GhostDoc&#34;,但我认为它不会起作用。)

如果你想走这条路,可以看看它是如何运作的。

  1. 安装GhostDoc Pro后,转到“工具”菜单。在顶部将是一个新的飞出子菜单,&#34; GhostDoc Pro&#34;。
  2. 转到工具 - &gt; GhostDoc Pro - &gt;选项 - &gt;规则
  3. 您需要为要使其生效的EACH类型编辑T4模板。

    1. 点击规则,然后点击&#34;编辑&#34;
    2. 在顶部,修改

      /// <summary>
      ///<# GenerateSummaryText(); #>
      /// </summary>
      

      只是

      /// <summary><# GenerateSummaryText(); #></summary>
      
    3. 在方法GenerateSummaryText中,将每个this.WriteLine修改为this.Write
    4. 点击“确定”保存,转到下一个模板。
  4. 在关闭选项页面之前,请前往&#34; General&#34; (来自&#34;规则&#34;)并在记录这个&#34;时检查&#34;突出显示自动生成的摘要。这将导致新插入的自动文本被选中,所以如果您不喜欢它,您可以开始输入。当然,如果您希望文本根本不生成,那么您也可以这样做,但您必须更多地修改T4模板。具体而言,您需要GenerateSummaryText只使用一行

     this.Write(Context.ExecMacro("$(End)"));
    

    这将使其不生成任何文本,但会将光标放在2 <summary>标记之间。

  5. 旁注:

    如果有人知道如何使用ReSharper或其他附加工具来做到这一点,我也有兴趣看到这个解决方案 - 如果没有其他原因而不仅仅是好奇心。

答案 2 :(得分:2)

您可以根据需要手动设置注释的格式,只要它仍然有效xml。

最便宜的方法可能是禁用Visual Studio中的自动注释构建操作(工具&gt;选项&gt;文本编辑器&gt; C#&gt;为///生成XML文档注释)并使用代码段插入{ {1}}。

如果您希望默认格式为单行,和/或帮助保持格式整洁和可读,我的插件Atomineer Pro Documentation也可能是您感兴趣的。在众多选项中,有一种选择是使用紧凑的1行格式进行任何足够短以适合单行的注释。它专门为此而设计,因此可以更好地满足您的需求。

最后一个建议是,有几个其他加载项(Resharper等)可以生成简单的样板文件xml文档注释 - 我相信其中一些加载项可以配置为使用特定的文本片段。如果您已经有这样的插件,可能会调整您的插件以提供您需要的单行格式,其方式略高于上面建议的基本Visual Studio调整。