在VS 2008中注释CSS的快捷方式

4
当我在编辑CSS文件时,按下标准的Ctrl + E、C(或其他变体)在VS2008中,它会提示该命令不可用。如何设置快捷键以将普通的/* */注释应用于VS中选定的文本?谢谢。
2个回答

7

在Visual Studio中,按Alt-F11打开宏IDE,在MyMacros上右键单击并选择添加|添加模块...来添加一个新模块。

将以下内容粘贴到源编辑器中:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module CommentCSS
    Sub CommentCSS()
        Dim selection As TextSelection
        selection = DTE.ActiveDocument.Selection

        Dim selectedText As String
        selectedText = selection.Text

        If selectedText.Length > 0 Then
            selection.Text = "/*" + selectedText + "*/"
        End If
    End Sub
End Module

您可以通过转到“工具|选项...”并在左侧导航栏中选择“环境”下的键盘来创建键盘快捷方式。选择您的宏,并分配任何您喜欢的快捷键。
您还可以通过转到“工具|自定义...”并在左侧导航栏中选择部分,将您的宏添加到菜单或工具栏中。一旦您在列表中找到您的宏,就可以将其拖动到任何菜单或工具栏中,其中的文本或图标可以自定义为您想要的任何内容。

哇,我以为 Ctrl + K,Ctrl + C 就可以了。有人知道为什么这在 CSS 中不起作用吗?它在 HTML、C#、SQL 和 Javascript 中都行啊... - Codewerks
这很棒 - 只有一个问题 - 当注释多行 CSS 时,似乎会在第一行之后的每行开头添加一个额外的制表符?结果是你的代码像倒立的楼梯那样缩进。为什么会这样呢? - wows
@wows - 我无法重现您所描述的情况;无论我选择一行还是多行CSS,注释都似乎能正常工作。格式也没有任何变化。 - Jeff Hillman
@Jeff Hillman - 我找到问题所在了 - 这是因为在CSS专用编辑器设置中,VS被设定为“阻止”缩进而不是“智能”缩进。切换到智能缩进会解决这个问题。干杯! - wows
@wows - 很高兴听到这个消息。也许可以通过直接在文本中插入'/'和'/'(使用selection.AnchorPoint.AbsoluteCharOffset和selection.ActivePoint.AbsoluteCharOffset)来将其修改为“块”模式,而不是替换整个选择。以后可以尝试一下。 - Jeff Hillman
这里展示了一个更高级的解决方案,它具有以下功能:1. 支持撤销操作,2. 使用单个键盘快捷键处理所有文件类型,3. 可以取消注释。参考链接:https://dev59.com/03A75IYBdhLWcg3wxsJn - Durden81

0

这里有一个更简单的解决方案:

Sub CommentCSS()
    DTE.ActiveDocument.Selection.StartOfLine(VsStartOfLineOptions.VsStartOfLineOptionsFirstText)
    DTE.ActiveDocument.Selection.Text = "/*"
    DTE.ActiveDocument.Selection.EndOfLine()
    DTE.ActiveDocument.Selection.Text = "*/"
End Sub

你可以使用Ctrl+Shift+R自己进行录制

  1. 将光标放在你想要注释的那一行
  2. 按下键盘上的“Home”键
  3. 输入/*
  4. 按下键盘上的“End”键
  5. 输入*/
  6. 保存你的录制

谢谢,但这只适用于一次一行的情况。同时注释整个CSS类或多个类/选择器是非常常见的。 - wows

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