Udostępnij przez


Praca z plikami i dokumentami w rozszerzeniach programu Visual Studio

Oto kolekcja małych przykładów kodu na różne sposoby pracy z plikami i dokumentami.

Uzyskiwanie aktywnego widoku tekstu

Pobierz bieżący aktywny widok tekstu, aby manipulować tekstem bufora.

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

Skojarzenia ikony pliku

Aby skojarzyć ikonę z rozszerzeniem pliku w Eksploratorze rozwiązań, dodaj [ProvideFileIcon()] atrybut do klasy pakietu.

[ProvideFileIcon(".abc", "KnownMonikers.Reference")]
public sealed class MyPackage : ToolkitPackage
{
    ...
}

Zobacz tysiące dostępnych ikon w kolekcji KnownMonikers przy użyciu okna narzędzia Eksplorator Znanych Monikerów. Znajdź go w obszarze Wyświetl > inne okna w menu głównym.

Otwórz plik

Użyj klasy pomocnika Microsoft.VisualStudio.Shell.VsShellUtilities.

string fileName = "c:\\file.txt";
await VS.Document.OpenAsync(fileName);

Otwieranie pliku za pośrednictwem projektu

Użyj tej metody, gdy otwarty plik jest częścią rozwiązania.

string fileName = "c:\\file.txt";
await VS.Documents.OpenViaProjectAsync(fileName);

Otwórz plik na karcie Podgląd

Karta Podgląd, znana również jako karta Tymczasowa, to tymczasowe okno, które zostanie otwarte po prawej stronie obszaru dokumentu. Otwórz dowolny plik na karcie Wersja zapoznawcza w następujący sposób:

string fileName = "c:\\file.txt";
await VS.Documents.OpenInPreviewTabAsync(fileName);

Pobieranie nazwy pliku z ITextBuffer

Użyj metody rozszerzenia buffer.GetFileName() znajdującej się w przestrzeni nazw Microsoft.VisualStudio.Text.

string fileName = buffer.GetFileName();

SolutionItem z pliku

Znajdź element SolutionItem z bezwzględnej ścieżki pliku.

string fileName = "c:\\file.txt";
PhysicalFile item = await PhysicalFile.FromFileAsync(fileName);