Visual Studio 的注释重构工具

11

是否有内置的命令或工具能够在Visual Studio中重新排列C#注释?

有时,一段代码需要几行注释,经过大量编辑后,您必须手动插入断行符,以便它不会流出编辑器窗口的右边缘。我希望能够用一个按键命令完成这个操作。

使用Visual Studio多年后,我仍然想念使用emacs中M-q(c-fill-paragraph)的能力。

编辑:Agent Smith插件不能在方法体中重新排列注释。

4个回答

17

在我还是一名Visual C++开发者时,我曾经写过一款相当可配置的注释格式化工具,名为Comment Reflower。后来我改变了平台,因而停止了移植工作,但幸运的是,Christoph Nahr将其保持在http://www.kynosarges.de/CommentReflower.html上。


2
我已经使用Comment Reflower多年了,我非常喜欢它。它几乎完美地对齐了注释。我刚刚在这个页面上添加了说明,以使其在Visual Studio 2012中运行。 - Contango
为了方便起见,我在GitHub上托管了一个分支(https://github.com/sschuberth/CommentReflower),其中包括Christoph Nahr的更改。 - sschuberth

12
如果您想通过单个按键实现几乎完美的注释对齐,请使用Comment Reflower

适用于VS2012VS2013VS2015

VS2012:安装/升级 Visual Studio 2012 的 Comment Reflower

更新 2015-08-31: 现在有一个Comment Reflower 扩展程序可以从 VS2012、VS2013 和 VS2015 的 工具 > 扩展和更新 直接安装。

  1. http://www.kynosarges.de/CommentReflower.html下载“Comment Reflower”,并解压到目录C:\Program Files (x86)\Visual Studio Comment Reflower中。

  2. 更新文件CommentReflower.Addin,使得Version10.0增加到11.0(这将其从VS2010升级到VS2012)。注意:在此.xml文件中有两个地方需要更新此版本。

  3. 在VS2012中,选择工具..选项..增加安全性,并添加路径C:\Program Files (x86)\Visual Studio Comment Reflower

  4. 重新启动VS2012。

  5. 现在有新的菜单项:工具..对齐光标处注释工具..Comment Reflower 设置

VS2013:安装/升级 Visual Studio 2013 的 Comment Reflower

更新2015-08-31:现在在扩展库中提供了一个Comment Reflower扩展程序,您可以直接从VS2012、VS2013和VS2015的工具>扩展和更新安装.

重复上述步骤,并将第2步中的版本从11.0更改为12.0

VS2015: 安装/升级Comment Reflower for Visual Studio 2015

现在在扩展库中提供了一个Comment Reflower扩展程序,您可以直接从VS2012、VS2013和VS2015的工具>扩展和更新安装。

感谢@Martin Liversage指出这一点。

添加快捷键以使光标所在的注释行自动调整对齐

  1. 前往工具..选项..键盘,在显示包含命令中输入reflow,选择CommentReflower.Connect.ReflowPoint,在按快捷键框中键入一个组合键(例如Ctrl-J),然后点击分配

  2. 现在,如果您将光标置于注释行上,并按下该组合键(Ctrl-J),则它将自动且美观地对齐注释。您应该可以在工具菜单中看到绑定的键:

输入图像描述

更新边距宽度

进入 工具..注释重排设置,将默认的 换行宽度 从80更改为更宽的值,例如140,并将“最小块宽度”更改为 10(不要将其设置为任何更小的值!):

输入图像描述


2
此描述同样适用于Visual Studio 2013,除了第2项中的版本应更改为__12.0__。 - Martin Liversage
我刚试了一下,除了按CTRL + J之外,其他都可以。有什么想法为什么不行? - Jon Cage
1
@Jon Cage 我认为你需要点击“分配”(在上面添加快捷键的步骤2中)。如果没有点击“分配”,仅仅点击“确定”是无法绑定按键的。此外,有时候如果已经对齐了,调整对齐方式看起来好像没有任何作用,所以要测试一下是否有效,可以通过创建一个巨大的行来取消对齐,然后再次点击“在光标处重新排列注释”。 - Contango
1
现在在扩展库中有一个Comment Reflower扩展可用,可以直接从VS2012、VS2013和VS2015的工具 > 扩展和更新中轻松安装。 - Martin Liversage
太棒了,绝对太棒了!我已经更新了答案以反映这个评论。 - Contango
显示剩余3条评论

4
如果您正在使用ReSharper,可以使用免费的Agent Smith插件来重新排版注释。 点击链接

1
谢谢,我试过了。Agent Smith 能够重新排列 XML 注释(即在成员前面的“///”注释),但不能处理成员内部的注释。我认为这个问题会在某个时候得到解决。 - Phillip Ngan
Agent Smith NuGet包的链接位于https://resharper-plugins.jetbrains.com/packages/AgentSmith/。 - Contango

2
如果你使用 ///// 注释形式,CodeMaid 对我来说非常好用。它是免费且开源的,我可以在 C++ 和 C# 中使用它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接