Partager via


Utilisation de fichiers et de documents dans les extensions Visual Studio

Voici une collection de petits exemples de code sur différentes façons d’utiliser des fichiers et des documents.

Obtenir l’affichage texte actif

Obtenez l’affichage de texte actif actuel pour manipuler son texte de mémoire tampon de texte.

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

Associations d’icônes de fichier

Pour associer une icône à une extension de fichier dans Explorateur de solutions, ajoutez l’attribut [ProvideFileIcon()] à votre classe de package.

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

Consultez les milliers d’icônes disponibles dans la KnownMonikers collection à l’aide de la fenêtre d’outil De l’Explorateur KnownMonikers. Recherchez-le sous Afficher > d’autres fenêtres dans le menu principal.

Ouvrir le fichier

Utilisez la classe d’assistance Microsoft.VisualStudio.Shell.VsShellUtilities .

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

Ouvrir un fichier via un projet

Utilisez cette méthode lorsque le fichier que vous ouvrez fait partie de la solution.

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

Ouvrir un fichier sous l’onglet Aperçu

L’onglet Aperçu, également appelé onglet Provisoire, est un onglet temporaire qui s’ouvre sur le côté droit du document. Ouvrez n’importe quel fichier sous l’onglet Aperçu comme suit :

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

Obtenir le nom de fichier à partir d’ITextBuffer

Utilisez la méthode buffer.GetFileName() d’extension située dans l’espace Microsoft.VisualStudio.Text de noms.

string fileName = buffer.GetFileName();

SolutionItem à partir d’un fichier

Recherchez le SolutionItem chemin d’accès d’un fichier absolu.

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