次のマクロを使用します。コメントのためにたくさんの行を選択しているとかなり遅いですし、マクロを書くことにあまり慣れていないので、多分改善する可能性がありますが、それは私にとってはうまくいきます。
Public Module Module1
Sub CodeBlocksComment()
Dim start_line, end_line, temp As Integer
Dim selection As EnvDTE.TextSelection
selection = DTE.ActiveDocument.Selection
start_line = selection.TopLine
end_line = selection.BottomLine
If end_line < start_line Then
temp = start_line
start_line = end_line
end_line = temp
End If
If Not start_line = end_line And selection.BottomPoint.AtStartOfLine Then
end_line -= 1
End If
DTE.UndoContext.Open("Comment Region")
Try
For i = start_line To end_line
selection.GotoLine(i)
selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstColumn)
selection.Text = "//"
Next
selection.GotoLine(start_line)
selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstColumn)
selection.LineDown(True, end_line - start_line + 1)
Finally
DTE.UndoContext.Close()
End Try
End Sub
End Module
任意のキーボードショートカットを設定できます。コマンドはMacros.MyMacros.Module1.CodeBlocksComment
のように表示されます。