Visual Studio 2008缩进C注释/ * * /

时间:2010-02-03 00:37:57

标签: visual-studio-2008 comments

我是使用Visual Studio 2008 IDE的新手。从vim切换。有没有办法设置Visual Studio自动缩进C注释/ * * /,如:

/*<ENTER>

我想要这个:

/*
 * <CURSOR>

编辑: 看起来像Visual Studio 2008对C#注释有这种行为,但在C / C ++下没有: 文本编辑器&gt; C#&gt;高级&gt;为///

生成XML文档注释

5 个答案:

答案 0 :(得分:2)

您可以在EnvironmentEvents project item中使用以下宏。它适用于所有选项卡样式(无,阻止或智能)。

    Public Sub aftekeypress(ByVal key As String, ByVal sel As TextSelection, ByVal completion As Boolean) _
            Handles TextDocumentKeyPressEvents.AfterKeyPress

        If (Not completion And key = vbCr) Then
            Dim textDocument As TextDocument = DTE.ActiveDocument.Object("TextDocument")
            Dim startPoint As EditPoint = TextDocument.StartPoint.CreateEditPoint()
            startPoint.MoveToLineAndOffset(sel.ActivePoint.Line - 1, 1)
            Dim lines = startPoint.GetLines(sel.ActivePoint.Line - 1, sel.ActivePoint.Line)
            If lines.LastIndexOf("*") = 1 And lines.LastIndexOf("/") <= 0 Then
                If lines.LastIndexOf("/") = 0 Or _
                   DTE.Properties("TextEditor", "C/C++").Item("IndentStyle").Value = 0 Then
                    sel.Insert(" ")
                End If
                sel.Insert("* ")
            End If
        End If
    End Sub

答案 1 :(得分:1)

根据我的经验,它已经做到了。

答案 2 :(得分:1)

我的评论已经自动格式化,我认为这是默认行为,但我安装了Visual Studio 2010和ReSharper。不幸的是,我无法在任何一个中找到设置来打开或关闭评论格式。但是,在Visual Studio 2010中查看示例宏时,您应该能够提供一个宏,它会根据您的喜好对您进行格式化。

查找示例宏

  1. 打开Visual Studio
  2. 按Alt + F8打开宏资源管理器
  3. 展开示例标签
  4. 双击“VSEditor”
  5. 最完善的方法将是

    • NewCommentLine
    • GetCommentLinePrefix

答案 3 :(得分:1)

它不太相同,但您可以尝试评论Reflower插件:

http://www.kynosarges.de/CommentReflower.html(VS2008 +版) http://commentreflower.sourceforge.net/(VS2005的原始版本)

这适用于emacs风格;你在任何旧的方式中输入你的评论,然后键入你选择的快捷方式(或者如果你坚持的话,从菜单中选择它),同时光标在评论中,然后评论被包装。这不是特别光滑 - 我认为vim会在你输入时为你做这个,不是吗? - 但这很合理,你很快就习惯了。

我目前不在Windows中,所以我无法检查,但是从内存来看,虽然这不会完全按照要求格式化你的C评论,但它会产生一些非常合理的东西:

/* This is what Comment Reflower will do with your multi-line
 * C comments, as far as I can remember.
 */

还支持预格式化区域,各种doxygen格式化项目以及各种类型的项目符号。 (选项对话框非常值得一看。)

就我个人而言,我确实对它进行评分,并且已经在Xcode中忽略了类似的东西。 (我写的iPhone代码文件中充满了字符,从我按下快捷键时出来的习惯。)我的vim时代已经过去了,但我当然更喜欢它等同于emacs。 (当我使用vim时,我第一次遇到它,虽然现在已经有一段时间了,而且我不记得当时发现它太糟糕了 - 所以大概它对于vim评论功能也很好。 )

(作为一个分页说明 - 有一个示例宏随Visual Studio 2005示例宏集提供,声称为你包装评论。也许它仍然在2008年左右?无论如何,它做得很好,我用它我自己已经有一段时间了,但是除了C ++ //风格的评论之外,它有一种混乱比一条只包含C ++ {{1}}风格的评论更复杂的东西。评论Reflower要好得多。)

答案 4 :(得分:1)

Visual Assist X 可以解决问题。它是C / C ++的 ReShaper ,并且比C / C ++的ReSharper更好。您必须配置代码段“/ **”才能使其正常运行。

PS:在该代码段配置中,您甚至可以根据需要自动生成文档。类似的东西: