Visual Studioには外部ツールもあります...

おもしろいですが、長い間、 Visual Studioからサードパーティのアプリケーションを実行する能力は注目に値すると思いませんでした。 深刻な統合にはプラグインの開発が必要です。それだけです!



結局のところ、私は間違っていました。 外部ツールVisual Studioの機能を迅速に拡張する多くのシナリオがあります。



ちょうど昨日、私の親友が質問をしました-Visual Studio 2010パッケージのPowerCommandsからOpen Containing Folderコマンドを作成し、 Windows ExplorerではなくFar Managerを起動する方法を教えてください。 オリジナルでは、このコマンドはソリューションエクスプローラーのコンテキストメニューで使用できます。Windowsエクスプローラーを開き、呼び出されたファイルにカーソルを設定します。



私の最初のアイデア(簡単なことはありません-Visual StudioギャラリーからPowerCommands.vsixをダウンロードし、解凍し、 Reflectorで解析し、 Visual Studio拡張ガイドでカバーし、すぐにアナログを書く必要があります)これはエディターの拡張ではありません))はまだ非常に重要なタスクであり、経験がなければ、例やステップバイステップのマニュアルでも、その解決策は半日以上かかります-1日ではないにしても!



少し考えてから、 外部ツールメカニズムがこれらの目的に非常に適していると判断しました。 そして、実際、 FAROpen Containing Folderの 「チーム」を作成するのに30分もかかりませんでした。



これがどのように行われるかを見てみましょう。



外部ツールを登録する



最初のステップは、新しい外部ツールを登録することです。



Visual Studioで外部ツールを管理するための外部ツールウィンドウがあります( メインメニュー > ツール > 外部ツール ...):









新しいツールを追加するには、[ 追加 ]ボタンをクリックして、いくつかのパラメーターを指定します。



タイトル :FARに含まれるフォルダーを開く

コマンド :「C:\ Program Files \ Far2 \ Far.exe」

引数 :$(ItemPath)



この場合の初期ディレクトリパラメータは空白のままにすることができます。



引数初期ディレクトリパラメータに使用できる引数のリストは、MSDNライブラリのVisual Studioの外部ツール/外部ツールの引数にあります 。 さらに、ボタンをクリックすると開く特別なメニューを使用できます



ここに私が終わったものがあります:









[ 外部ツール]ウィンドウを閉じた後、 [ メインメニュー] > [ ツール ] メニューに [ FARに含まれるディレクトリを開く ]項目が表示されます。 このアイテムを選択すると、 Far Managerが起動し、カーソルが次の場所を指します。

  1. エディターで開かれたファイル-エディターからメニューにアクセスした場合。
  2. ソリューションエクスプローラーで選択したファイル- ソリューションエクスプローラーからメニューにアクセスした場合。


CMDスクリプトの実行



次の図に、 FARコマンドでディレクトリを開くの結果を示します。 そして、この結果は、控えめに言っても、印象的ではありません... 私のFar Managerは、異なるウィンドウサイズで動作するように構成されています。









通常のサイズのウィンドウを開くには、小さなスクリプトを作成する必要があります。



mode con cols=132 lines=59 "C:\Program Files\Far2\Far.exe" %*
      
      





このスクリプトをVisual Studioから実行するには、ディスクに保存し( C:\ psg \ Tools \ VSOpenInFAR \ VSOpenInFAR.cmdという名前で保存します )、このスクリプトを指すようにCommandパラメーターを変更する必要があります。









これで結果は非常に満足できるものになりました。FarManagerウィンドウには通常のサイズがあります。









ご注意



Visual Studiocmd.exeを使用してCMDスクリプトを実行し、次の形式で呼び出します。



 cmd.exe /c ""C:\psg\Tools\VSOpenInFAR\VSOpenInFAR.cmd" "C:\psg\...\Class2.cs""
      
      





[終了時に閉じる ]オプションがチェックされていない場合、呼び出しフォームはわずかに変更されます。



 cmd.exe /c ""C:\psg\Tools\VSOpenInFAR\VSOpenInFAR.cmd" "C:\psg\...\Class2.cs" & pause"
      
      





これは、引用符とスクリプト完了コードの問題を回避するために留意する必要があります!



コンテキストメニューから外部ツールを呼び出す



さて、実行可能なツールが手に入りました。これで、グッズの追加を開始できるようになりました。たとえば、 FAR呼び出しで[フォルダーを開く ]をソリューションエクスプローラーのコンテキストメニューに追加します。



これには以下が必要です。

  1. [ カスタマイズ]ウィンドウを開きます( メインメニュー > [ ツール ] > [ カスタマイズ...] )。
  2. [ コマンド ]タブに移動します。
  3. [ 並べ替えるメニューまたはツールバーを選択]セクションで、[ コンテキストメニュー]を選択し、[ プロジェクトとソリューションのコンテキストメニュー ]を選択します アイテム


次のステップは、新しいメニュー項目に適切な位置を選択することです。 Open Containing Folderアイテムの隣に配置することにしました。









ここで、選択した位置に新しいメニュー項目を挿入する必要があります。このためにコマンド追加ボタンが設計されており、同じ名前のウィンドウが表示されます。









このウィンドウでは、[ ツール]カテゴリを選択し、[ 外部コマンド6]コマンドを指定する必要があります。残念ながら、 外部ツールを起動するコマンドはシリアル番号でしか識別できません。 [OK]をクリックすると、コンテキストメニューに新しいアイテムが表示されます- 外部コマンド6









最後の手順は、メニュー項目の名前を変更することです。 これを行うには、 [選択変更 ]ボタンをクリックし、 [ 名前]フィールドでツールの名前を指定します-FARに含まれるフォルダーを開きます。









これらの操作の結果を以下に示します- ソリューションエクスプローラーのコンテキストメニューで[FARでフォルダーを開く ]項目を使用できます。









追加情報



外部ツールの使用に関する追加情報は、MSDNで入手できます。

  1. Visual Studioの外部ツール
  2. 外部ツールの引数



All Articles