私はVisualStudio2010でWinFormsとWeb開発を行っています。Web開発者は4つのスペースのタブサイズを使用し、WinForms開発者は2つのタブサイズを使用します。
私は2つの間で前後に切り替えるので、毎回オプションをナビゲートする必要なしに、それを行うための迅速な方法があるかどうか疑問に思いましたか?
私はVisualStudio2010でWinFormsとWeb開発を行っています。Web開発者は4つのスペースのタブサイズを使用し、WinForms開発者は2つのタブサイズを使用します。
私は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
次に、マクロを保存し、[ツール]メニューから[オプション]ウィンドウを表示して、[環境]->[キーボード]を選択します。
ここでは、「マクロ」を含むコマンドを検索できTwoTabSpaces()
、リストがFourTabSpaces()
表示されます。
これで、これらのマクロにキーボードショートカットを割り当てることができます。上の写真では、それぞれとを選択Alt+T, Alt+2
しAlt+T, Alt+4
ました(t =タブ、2 = 2つのスペースなど)
もちろん、必要に応じてカスタマイズできます。
言語に基づいてトグルする個人用マクロを共有したいと思いました。Widorの回答で提案されているようなキーボードショートカットを設定できます。
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のマクロから、次のStackOverflowの質問にある「プロジェクトごとに先頭のタブまたはスペースを切り替える」に適合されました。