ファイルやドキュメントを操作するさまざまな方法に関する小さなコード サンプルのコレクションを次に示します。
アクティブなテキスト ビューを取得する
現在アクティブなテキスト ビューを取得して、そのテキスト バッファー テキストを操作します。
DocumentView docView = await VS.Documents.GetActiveDocumentViewAsync();
if (docView?.TextView == null) return; //not a text window
SnapshotPoint position = docView.TextView.Caret.Position.BufferPosition;
docView.TextBuffer?.Insert(position, "some text"); // Inserts text at the caret
ファイル アイコンの関連付け
ソリューション エクスプローラーでアイコンをファイル拡張子に関連付けるには、 [ProvideFileIcon()] 属性をパッケージ クラスに追加します。
[ProvideFileIcon(".abc", "KnownMonikers.Reference")]
public sealed class MyPackage : ToolkitPackage
{
...
}
KnownMonikers Explorer ツール ウィンドウを使用して、 KnownMonikers コレクション内の使用可能なアイコンの数千を確認します。 メイン メニューの [ その他のウィンドウ > 表示 ] で見つけます。
ファイルを開く
Microsoft.VisualStudio.Shell.VsShellUtilities ヘルパー クラスを使用します。
string fileName = "c:\\file.txt";
await VS.Document.OpenAsync(fileName);
プロジェクトを使用してファイルを開く
開いたファイルがソリューションの一部である場合は、このメソッドを使用します。
string fileName = "c:\\file.txt";
await VS.Documents.OpenViaProjectAsync(fileName);
[プレビュー] タブでファイルを開く
[プレビュー] タブ ([暫定] タブとも呼ばれます) は、ドキュメントウェルの右側に開く一時的なタブです。 [プレビュー] タブで次のようなファイルを開きます。
string fileName = "c:\\file.txt";
await VS.Documents.OpenInPreviewTabAsync(fileName);
ITextBuffer からファイル名を取得する
buffer.GetFileName()名前空間にある拡張メソッドMicrosoft.VisualStudio.Textを使用します。
string fileName = buffer.GetFileName();
ファイルからの SolutionItem
絶対ファイル パスから SolutionItem を見つけます。
string fileName = "c:\\file.txt";
PhysicalFile item = await PhysicalFile.FromFileAsync(fileName);