Visual Studio で特定のファイル拡張子を右クリックしたときにカスタム メニュー項目を追加したいと考えています。
これを達成するためのヘルパー オープン ソース プロジェクトがいくつかあるようですが、それらを使用したことがある人がいるかどうか、そしてどれくらい簡単だったかを尋ねたいと思います。
私が調査したものは次のとおりです。http://www.codeplex.com/ManagedMenuExtension
Visual Studio で特定のファイル拡張子を右クリックしたときにカスタム メニュー項目を追加したいと考えています。
これを達成するためのヘルパー オープン ソース プロジェクトがいくつかあるようですが、それらを使用したことがある人がいるかどうか、そしてどれくらい簡単だったかを尋ねたいと思います。
私が調査したものは次のとおりです。http://www.codeplex.com/ManagedMenuExtension
ええ、最も簡単な方法は、タスクを処理するカスタム マクロを作成することです (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 番目のタスクは、カスタム マクロをコンテキスト メニューに追加することです。移動: ツール>カスタマイズ
[ツールバー] タブのリストからコンテキスト メニューにチェックマークを付け (すべてのコンテキスト メニューを含む新しいツールバーがメイン ウィンドウに表示されます)、[コマンド] タブに切り替えます。ここで、コンテキスト メニュー ツールバーから [ Project and Solution Context Menus] > [Item ] を選択し、[Commands] タブからマクロをドラッグします。右クリックメニューの下にある名前/アイコン/ボタンを変更します。
これで、テストして使用する準備が整いました。新しく追加したマクロがアイテム コンテキスト メニューに表示されます。楽しむ!