.NET TIPS

Visual Studioで編集中のファイルを保存してから外部ツールで開くには?[VS 2005、VS 2008]

デジタルアドバンテージ 岸本 真二郎
2008/07/31

 Visual Studio 2005や2008には、テキスト・エディタやオーサリング・ツールなどの“外部ツール”をIDE(統合開発環境)から起動できる機能が備わっている。この機能を使えば、ソース・コードやHTMLなどを、IDEのエディタではなく、普段使っているお気に入りのツールで編集するといったことが可能になる。

外部ツールの登録

 外部ツールの登録は簡単で、[外部ツール]ダイアログを開き、起動するアプリケーション、コマンドラインの引数として引き渡すファイル名(現在編集中のファイル)を指定すればよい。


[外部ツール]ダイアログ
メニュー・バーの[ツール]−[外部ツール]で開く。引数で記述している、$(CurLine)、$(CurCol)、$(ItemPath)は、現在編集中のファイル名、行位置、列位置を意味する。「/jx」はHidemaru.exeのオプション。

 現在編集中のファイル名、行位置、列位置なども外部ツール起動時の引数に指定でき、それぞれ、$(CurLine)、$(CurCol)、$(ItemPath)で記述する。このようにして登録した外部ツールは[ツール]メニューから選択して実行できる。

 また、外部ツールでファイルを編集してIDEに戻った際に、修正されたファイルを自動的に再度読み込むようにするには、メニューの[ツール]−[オプション設定]で開く[オプション]ダイアログボックスにて、[環境]−[ドキュメント]ノードの「環境外でのファイルの変更を検出」をチェックし、さらに「保存する場合、変更を自動的に読み込む」もチェックしておけばよい。


[オプション]ダイアログ
[ツール]−[オプション設定]で開く。[環境]−[ドキュメント]ノードの「環境外でのファイルの変更を検出」をチェックし、さらに「保存する場合、変更を自動的に読み込む」をチェックしておけば、外部ツールで修正されたファイルを自動的に再度読み込むことができる。

Visual Studio 2008では自動的にファイルが保存されない

 Visual Studio 2008では、外部ツールを起動する際、編集中のファイルが保存されないまま外部ツールが起動される。そのため、IDE側で保存せずに外部ツールを起動すると、古い内容を外部ツールで編集してしまうことになる。さらにそのまま外部ツールで修正を行い保存してしまうと、最悪の場合、IDEで行っていた編集が失われてしまうこともあり得る。

 そこで、外部ツールを実行する前に現在編集中のファイルを保存するようなマクロを作成してみよう。

■マクロの作成

 マクロを作成するには、まずメニューから[ツール]−[マクロ]−[マクロ エクスプローラ]を実行して、[マクロ エクスプローラ]ウィンドウを開く。ここで例えば、「MyMacros」ノードに「SaveAndEdit」という名前の新しいモジュールを作成する(名前は任意)。

 作成したモジュールをダブルクリックすると、マクロの内容を編集することができる。ここでは次のようなマクロを記述する。

Public Module SaveAndEdit
  Sub SaveAndEdit()
    DTE.ActiveDocument.Save()
    DTE.ExecuteCommand("Tools.ExternalCommand3")
  End Sub
End Module
保存後に外部ツールを実行するマクロ

 内容は非常に単純で、「DTE.ActiveDocument.Save()」で現在編集中のファイルを保存し、「DTE.ExecuteCommand(……)」で外部ツールを呼び出している。引数の「Tools.ExternalCommand3」は、筆者の環境では、秀丸エディタが起動するように設定されている。

 「ExternalCommand3」の末尾の「3」は、[外部ツール]ダイアログで登録されている外部ツールの順番(=[ツール]メニューに登録されている外部ツールの順番)となる。本稿冒頭の[外部ツール]ダイアログの画面では「Hidemaru」を上から3番目に登録したため、ここでは「ExternalCommand3」と記述している。


マクロIDEにおけるマクロ内容の編集

 当然ながらこの場合、[外部ツール]ダイアログで登録されているツールの順番を変更したりすると、上記のマクロでは起動できなくなるため注意が必要である。

■マクロをショートカット・キーに登録

 マクロを登録しただけでは、毎回のマクロの起動が少々面倒なので、ショートカット・キーに登録しよう。

 ショートカット・キーの登録は、[ツール]−[オプション]で開く[オプション]ダイアログで行う。[環境]−[キーボード]ノードを選択し、「以下の文字列を含むコマンドを表示」で「SaveAndEdit」と入力すれば、先ほど作成したマクロが見つかるはずだ。これに適当なショートカット・キーを割り当てる。


[オプション]ダイアログにおけるショートカット・キーの設定
[環境]−[キーボード]ノードを選択し、作成したマクロにショートカット・キーを割り当てる。

 以上の設定で、ショートカット・キーを入力すれば、IDEで編集中のファイルが保存され、それが外部ツールで開くようになる。End of Article

カテゴリ:Visual Studio 2005 処理対象:IDE
カテゴリ:Visual Studio 2008 処理対象:IDE

この記事と関連性の高い別の.NET TIPS
Visual StudioのIDEからエクスプローラを起動するには?
Visual Studio .NETからILDASMを起動するには?
定形のコーディング作業を効率化するには?
VBAで独自の.NETライブラリを使うには?
C#でVBA向けの.NETライブラリ(COMコンポーネント)を作成するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間