Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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);