Visual Studio自动生成函数文档

114
我在想是否有一种方法(最好是键盘快捷键),可以在Visual Studio中创建自动生成函数头的方式。
示例:
Private Function Foo(ByVal param1 As String, ByVal param2 As Integer)

然后它会自动变成这样...


'---------------------------------- 
'Pre: 
'Post:
'Author: 
'Date: 
'Param1 (String): 
'Param2 (Integer): 
'Summary: 
Private Function Foo(ByVal param1 As String, ByVal param2 As Integer)

1
如果您因为IDE中此功能似乎无法正常工作而来到了这个页面,那么您应该确保您的代码可以编译,并再次尝试。当您的代码存在解析错误时,此功能将无法正常工作。 - krowe2
如何在Xamarin中生成待办事项列表? - Manthan
8个回答

194

10
在VB.NET中,三个单引号表示字符串的开始和结束(正如其他答案中提到的)。 - peSHIr
1
这很不错,我之前不知道。 - Brendan
每个方法、属性和变量都自动执行这个操作,是否可能?即使代码已经存在? - Robin Bruneel
提示链接已经修复_再次。可恶的单向网络! - Michael Paulukonis
有没有快捷键可以做到这个?我不喜欢必须把光标放在完全正确的位置。 - Efrain
显示剩余4条评论

51

GhostDoc

右键点击函数,选择“Document this”并

private bool FindTheFoo(int numberOfFoos)

变成

/// <summary>
/// Finds the foo.
/// </summary>
/// <param name="numberOfFoos">The number of foos.</param>
/// <returns></returns>
private bool FindTheFoo(int numberOfFoos)

(是的,所有内容都是自动生成的。)

它支持C#、VB.NET和C/C++语言。默认情况下,它映射到Ctrl+Shift+D

请记住:您应该在文档中添加除方法签名以外的信息。不要只停留在自动生成的文档上。这样的工具的价值在于自动生成可以从方法签名中提取的文档,因此您添加的任何信息都应该是新的信息。

话虽如此,我个人更喜欢方法具有自述性,但有时您可能会遇到需要外部文档的编码规范,此时这样的工具可以节省您大量的重复劳动。


19
这正是我讨厌的那种“文档”。它只是增加了字节,却没有告诉我任何方法和参数名称已经告诉我的信息。请不要这样做,除非将注释编辑成有价值的内容... :-( - peSHIr
15
当然,你应该编辑它以添加信息。但作为模板,它非常好。 - Rasmus Faber
3
“@Rasmus: 这是一个模板,为了好的文档,应该完全抛弃并重新编写,因为它没有信息内容。因此,实际上比如果它是空白还要更费力。” - Joey
它在 VISUAL STUDIO 2022 上无法工作。 - zolfaghari

42
///

“/”是获取方法说明注释块的快捷方式。 但是在添加之前,请确保已经写入了函数名称和签名。 首先编写函数名称和签名。

然后在函数名称上方键入“/”

就会自动获取注释块。

enter image description here


7
你的动画很棒,有个独特的特色。 - n611x007
1
你是怎么做到的?我喜欢那个答案。以前从未见过这样的东西。 - Matthis Kohli
2
很好。添加一点就是函数需要参数。 - amit jha

20

Visual Assist也有一个不错的解决方案,并且高度可定制。

将其调整为生成doxygen风格的注释后,这两个点击将产生 -

/**
* Method:    FindTheFoo
* FullName:  FindTheFoo
* Access:    private 
* Qualifier:
* @param    int numberOfFoos
* @return   bool
*/
private bool FindTheFoo(int numberOfFoos)
{

}

在默认设置下,有一些不同。


编辑: 自定义“文档方法”文本的方法在VassistX->Visual Assist Options->Suggestions下,选择“Edit VA Snippets”,语言:C++,类型:重构,然后转到“Document Method”并进行自定义。上面的示例是通过以下方式生成的:

va_doxy

插入片段:将光标放在方法名称/签名中,使用alt+shift+q >“文档方法”


请分享一下你在VA中如何设置这个。 - Damian
详细解释在答案中。希望这能帮到你。 - Ofek Shilon
2
插入代码片段:将光标放在方法名称/签名中,按下Alt + Shift + Q >“文档方法” - Andrew

15

通常情况下,如果您在想要注释的内容(方法、类)上方添加三个单行注释标记,Visual Studio会自动创建注释。在C#中,这将是///

如果Visual Studio没有执行此操作,则可以在

选项->文本编辑器->C#->高级
中启用它,并检查
为生成XML文档注释

pictured description


5

在Visual Basic中,如果您先创建函数/子程序,然后在其上一行键入“三次',它将自动生成相关的XML文档。这也会在 IntelliSense 中鼠标悬停时和使用该函数时显示出来。


2
你可以使用代码片段来插入任何你想要的行。
另外,如果在函数头上面一行输入三个单引号('''),它会插入一个XML头模板,然后您可以填写。
这些XML注释可以被文档软件解释,并作为assembly.xml文件包含在构建输出中。如果将该XML文件与DLL一起保留并在另一个项目中引用该DLL,则这些注释将在intellisense中可用。

那是VB.NET:在C#中是///。 - peSHIr

-2
我正在开发一个名为Todoc的开源项目,它可以分析单词并在保存文件时自动生成适当的文档输出。它尊重现有的注释,而且非常快速和流畅。

http://todoc.codeplex.com/


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