Visual Studio: можно ли одним щелчком переключать отступы между табуляцией и пробелами? - PullRequest
11 голосов
/ 28 ноября 2010

Я являюсь членом нескольких разных команд и (конечно;) некоторые команды предпочитают табуляции над пробелами и наоборот.

Есть ли более удобное для пользователя решение, чем загрузка профиля пользователя через меню-> Инструменты ... длиной 10 кликов?

Я посмотрел на параметры командной строки devenv.exe, если есть возможность для загрузки конкретного профиля пользователя иметь два отдельных * .lnk средства запуска Visual Studio, но такого параметра нет.

Затем я попытался записать макрос, но VS может записать только команду Tools.ImportandExportSettings и не может записать все шаги следующего мастера.

Спасибо за предложения, Petr

Ответы [ 2 ]

5 голосов
/ 28 февраля 2012

В этой записи в блоге Джеймса Александра * есть макрос для быстрого переключения между вкладками и пробелами в Visual Studio. Затем просто добавьте команду панели инструментов, которая сопоставляется с макросом, и вы получите решение в один клик.

Public Sub ToggleTabs()
  If DTE.ActiveDocument.Language = "CSharp" Then
      Dim currentSetting As Boolean = DTE.Properties("TextEditor", "CSharp").Item("InsertTabs").Value
      DTE.Properties("TextEditor", "CSharp").Item("InsertTabs").Value = Not currentSetting
  End If

  If DTE.ActiveDocument.Language = "SQL" Then
      Dim currentSQLSetting As Boolean = DTE.Properties("TextEditor", "SQL").Item("InsertTabs").Value
      DTE.Properties("TextEditor", "SQL").Item("InsertTabs").Value = Not currentSQLSetting
  End If

  If DTE.ActiveDocument.Language = "HTML" Then
      Dim currentHTMLSetting As Boolean = DTE.Properties("TextEditor", "HTML").Item("InsertTabs").Value
      DTE.Properties("TextEditor", "HTML").Item("InsertTabs").Value = Not currentHTMLSetting
  End If

  If DTE.ActiveDocument.Language = "JScript" Then
      Dim currentJScriptSetting As Boolean = DTE.Properties("TextEditor", "JScript").Item("InsertTabs").Value
      DTE.Properties("TextEditor", "JScript").Item("InsertTabs").Value = Not currentJScriptSetting
  End If

End Sub
4 голосов
/ 19 ноября 2014
...