Visual Studio 2008のコンテキストメニュー項目を追加する最も簡単な方法は何ですか?
-
03-07-2019 - |
質問
Visual Studioで特定のファイル拡張子を右クリックしたときにカスタムメニュー項目を追加したい。
これを達成するためのヘルパーオープンソースプロジェクトがあるように見えますが、誰かがそれらを使用したことがあるかどうか、そしてそれらがどれほど簡単かを尋ねたいと思います-そして、私を助けて出発点を提供できますか?
解決
Visual Studioアドインを作成する代わりに、マクロを使用してコンテキストメニューを追加する方法を説明するチュートリアルです。役に立てば幸いです:
他のヒント
ええ、最も簡単な方法は(VBで)タスクを処理するカスタムマクロを作成することです。
マクロの追加
まず、ツール>マクロ>マクロ IDE(Alt + F11)を選択します。すべてを明確にするには、たとえば" ContextMenu"などの新しいモジュールを追加します。次のコードを挿入します:
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Public Module ContextMenu
Public Sub DoSomething()
'Few declarations'
Dim SolutionExplorer As UIHierarchy
Dim Item As UIHierarchyItem
Dim SelectedItem As EnvDTE.ProjectItem
'Getting the solution explorer'
SolutionExplorer = DTE.Windows.Item(Constants.vsext_wk_SProjectWindow).Object()
'Iterating through all selected items'
For Each Item In SolutionExplorer.SelectedItems
'Getting the item'
SelectedItem = CType(Item.Object, EnvDTE.ProjectItem)
'Do some stuff here'
If SelectedItem.FileNames(1).EndsWith("txt") Then
MsgBox("We got the text file!", , SelectedItem.FileNames(1))
Else
MsgBox("We got something else...", , SelectedItem.FileNames(1))
End If
Next
End Sub
End Module
もちろん、選択したファイル名の処理方法をカスタマイズする必要があります。今のところ、すべてのファイルのポップアップが表示されますが、txtファイルの場合は異なります。
コンテキストメニューのカスタマイズ
2番目のタスクは、カスタムマクロをコンテキストメニューに追加することです。に行きます: ツール>カスタマイズ
「ツールバー」のリストからコンテキストメニューを選択します。タブ(すべてのコンテキストメニューを備えた新しいツールバーがメインウィンドウに表示されます)および" Commands"に切り替えます。タブ。次に、コンテキストメニューのツールバーから、次を選択します。"プロジェクトおよびソリューションコンテキストメニュー">アイテム、" Commands"タブ。右クリックメニューの下の名前/アイコン/ボタンを変更します。
これで、テストして使用する準備ができました。新しく追加したマクロがアイテムコンテキストメニューに表示されます。楽しんでください!