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 tekstowy, aby manipulować tekstem buforu tekstu.
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 Eksplorator rozwiązań, dodaj [ProvideFileIcon()]
atrybut do klasy pakietu.
[ProvideFileIcon(".abc", "KnownMonikers.Reference")]
public sealed class MyPackage : ToolkitPackage
{
...
}
Zobacz tysiące dostępnych ikon w KnownMonikers
kolekcji przy użyciu okna narzędzia ZnaneMonikers Explorer. Znajdź go w obszarze Wyświetl > inne okna w menu głównym.
Otwórz plik
Microsoft.VisualStudio.Shell.VsShellUtilities
Użyj klasy pomocnika.
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 Tymczasowe, jest tymczasową kartą, która zostanie otwarta po prawej stronie źródła 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 buffer.GetFileName()
rozszerzenia znajdującej Microsoft.VisualStudio.Text
się w przestrzeni nazw.
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);