在Visual Studio 2010中,有一种方法可以快速切换选项卡和缩进大小,而无需每次都能导航选项吗?

时间:2012-05-29 13:48:22

标签: visual-studio-2010

我在Visual Studio 2010中进行WinForms和Web开发.Web开发人员使用四个空格的选项卡大小,WinForms开发人员使用两个选项卡大小。

由于我在两者之间前后切换,我想知道是否有一种快速的方法可以做到这一点,而不必每次都能浏览选项?

2 个答案:

答案 0 :(得分:2)

没有专用的快捷方式,但让我们做一个!

只需点击Alt+F11即可打开宏编辑器并将以下代码添加到新模块中:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics

Public Module Tabspaces
    Sub TwoTabSpaces()
        Dim tabs As Properties

        tabs = DTE.Properties("TextEditor", "AllLanguages")
        tabs.Item("TabSize").Value = 2
        tabs.Item("IndentSize").Value = 2

    End Sub

    Sub FourTabSpaces()
        Dim tabs As Properties

        tabs = DTE.Properties("TextEditor", "AllLanguages")
        tabs.Item("TabSize").Value = 4
        tabs.Item("IndentSize").Value = 4

    End Sub

End Module

然后保存您的宏并从工具菜单中打开选项窗口,然后选择环境 - >键盘

assigning macros

在这里,您可以搜索包含“”的命令,然后您会看到列出的TwoTabSpaces()FourTabSpaces()
您现在可以为这些宏指定键盘快捷键。在上图中,我分别选择了Alt+T, Alt+2Alt+T, Alt+4(t = Tabs,2 =两个空格等)。

当然,您可以根据需要自定义它们。

答案 1 :(得分:1)

我以为我会分享我的个人宏,根据语言进行切换。您可以设置Widor answer中建议的键盘快捷键。

Public Sub ToggleSpaces()
  If DTE.ActiveDocument.Language = "Basic" Then
    Dim textEditorSettings = DTE.Properties("TextEditor", "Basic")

    Dim currentSize = CShort(textEditorSettings.Item("TabSize").Value)

    'If at 2, use 4... else switch to 2
    Dim newSpaces As Short = If(currentSize = 2, 4, 2)    

    textEditorSettings.Item("TabSize").Value = newSpaces
    textEditorSettings.Item("IndentSize").Value = newSpaces
  End If
End Sub

我的宏从James Alexander的宏改编为“Toggle Between Leading Tabs or Spaces Per Project”,在以下StackOverflow question中找到。