Informationen zu VisualStudio.Extensibility (Vorschau)
VisualStudio.Extensibility ist ein neues Framework für die Entwicklung von Visual Studio-Erweiterungen, die sich hauptsächlich auf Erweiterungen konzentrieren, die aus der IDE ausgeführt werden, um die Leistung und Zuverlässigkeit zu verbessern. Es verfügt über eine moderne, asynchrone API, die optimiert und sorgfältig entwickelt wurde, um die Produktivität der Entwickler zu maximieren. VisualStudio.Extensibility befindet sich in der aktiven Entwicklung und ist als Vorschau verfügbar.
Mit der aktuellen Vorschau können Sie eine Vielzahl von Erweiterungen für Visual Studio entwickeln, darunter das Erstellen von Befehlen, das Arbeiten mit Code oder Text im Editor, das Anzeigen von Eingabeaufforderungen oder Dialogen für den Benutzer, das Erstellen von Debugger-Visualizern und mehr!
VisualStudio.Extensibility zielt darauf ab, viele der Probleme zu beheben, die Entwickler beim Verwenden und Schreiben von Erweiterungen in Visual Studio haben. Das Schreiben von Erweiterungen mit VisualStudio.Extensibility bietet die folgenden Vorteile:
- Erhöhte Zuverlässigkeit: Visual Studio reagiert weiterhin und stürzt nicht ab, wenn eine Erweiterung abstürzt oder hängen bleibt.
- Reduzierte API-Komplexität: VisualStudio.Extensibility verfügt über eine vereinfachte Architektur, konsistente APIs und eine klare Dokumentation.
- Hot-Loading-Funktionalität: Visual Studio muss bei der Installation von Erweiterungen nicht neu gestartet werden.
Schließlich können Sie das VisualStudio.Extensibility SDK verwenden, um jede Erweiterung zu schreiben, die Sie mit dem VS SDK schreiben können. Bis dahin kann es jedoch vorkommen, dass die in Ihrer Erweiterung benötigte Funktionalität in VisualStudio.Extensibility noch nicht verfügbar ist. In diesem Fall können Sie das VisualStudio.Extensibility SDK zusammen mit dem prozessintern ausgeführten VS SDK verwenden, um etwaige Funktionslücken zu schließen. Weitere Informationen finden Sie unter Prozessinterne Erweiterungen.
Die neuesten Informationen zu VisualStudio.Extensibility finden Sie im VSExtensibility GitHub-Repository unter Ankündigungen.
Navigieren in der Dokumentation
Artikel | Beschreibung |
---|---|
Installieren von VisualStudio.Extensibility | Laden Sie die neueste Vorschau von VisualStudio.Extensibility herunter, und installieren Sie sie. |
Erste Schritte | Beginnen Sie mit Schnellstarts für Anfänger und Einführungs-Tutorials, wenn Sie noch nie zuvor eine Erweiterung entwickelt haben. |
Konzepte | Erstellen Sie Ihr mentales Modell der Funktionsweise des SDK und der Erweiterungen. |
Übersichten | Weitere Informationen finden Sie in den Übersichten zu den einzelnen Hauptfunktionen. |
Beispiele | Entdecken Sie Beispielcode, der die wichtigsten Funktionen demonstriert. |
API-Referenz | Stöbern Sie in der VisualStudio.Extensibility-API-Dokumentation. |
Experimentelle APIs und grundlegende Änderungen | Erfahren Sie mehr über unseren Ansatz zu stabilen vs. experimentellen APIs und über Änderungen gegenüber der Vorgängerversion. |
Bekannte Probleme | Informieren Sie sich über bekannte Probleme mit dem VisualStudio.Extensibility-SDK. |
Weiterführende Themen | Erfahren Sie mehr über die Implementierungsdetails des VisualStudio.Extensibility SDK. |
Installieren von VisualStudio.Extensibility
Die aktuelle Vorschau von VisualStudio.Extensibility funktioniert mit Visual Studio 2022, Version 17.9 Preview 1 oder höher, mit der zu installierenden Visual Studio extension development
-Workload.
Erste Schritte
Die folgenden Artikel helfen Ihnen bei der Orientierung und dem Einstieg.
- Erstellen Ihrer ersten Visual Studio-Erweiterung zeigt, wie das Äquivalent von „Hello, world“ als Erweiterung erstellt wird.
- Erstellen einer einfachen Erweiterung zeigt Ihnen, wie Sie eine interessantere Erweiterung erstellen, die dem Editorfenster eine GUID hinzufügt.
Um zu verstehen, wie Sie mit VisualStudio.Extensibility arbeiten, empfehlen wir ein gründliches Verständnis der asynchronen Programmierung mit asynchroner Programmierung und „await“ sowie der Abhängigkeitsinjektion. Außerdem basiert die Benutzeroberfläche in VisualStudio.Extensibility auf Windows Presentation Foundation (WPF), sodass Sie sich die WPF-Dokumentation ansehen sollten.
Konzepte
Wenn Sie mit dem Visual Studio-SDK vertraut sind, lesen Sie Einführung in VisualStudio.Extensibility für Benutzende des VSSDK.
Um sich eine Vorstellung davon zu machen, wie Visual Studio-Erweiterungen funktionieren, lesen Sie Teile einer neuen Visual Studio-Erweiterung.
Um herauszufinden, was im SDK enthalten ist, lesen Sie Funktionsbereiche des SDKs.
Wann und wo sollte Ihre Erweiterung in der IDE angezeigt werden? Visual Studio-Erweiterungen werden in der IDE angezeigt, wenn bestimmte Bedingungen erfüllt sind. Wie und wann Ihre Erweiterung in der IDE angezeigt wird, können Sie unter Regelbasierte Aktivierungseinschränkungen nachlesen.
Visual Studio-Erweiterungen stellen Visual Studio ihre Funktionen über Beiträge zur Verfügung. Weitere Informationen finden Sie unter Beiträge.
Erfahren Sie mehr über das Remote UI-Modell, das in der VisualStudio.Extensibility verwendet wird.
Übersichten
Lesen Sie eine Übersicht über die Bereiche des SDK, die Sie für Ihre Projekte zur Entwicklung von Erweiterungen benötigen könnten.
- Erstellen Sie Befehle, und stellen Sie sie den Benutzenden in der IDE zur Verfügung (siehe Befehle).
- Arbeiten Sie mit dem Inhalt von Dateien und Dokumenten (siehe Editor-Erweiterungen).
- Arbeiten Sie mit der In-Memory-Darstellung dieser Dokumente selbst (siehe Dokumente).
- Verwenden Sie das Ausgabefenster in einer Erweiterung (siehe Ausgabefenster).
- Arbeiten Sie mit Tool-Fenstern und andockbaren Fenstern innerhalb der Visual Studio-IDE (siehe das Fenster Tool).
- Verwenden Sie Prompts mit anpassbaren Schaltflächen, um mit den Benutzenden zu interagieren (siehe Prompts für Benutzende).
- Verwenden Sie Dialoge mit angepasster Benutzeroberfläche, um mit den Benutzenden zu interagieren (siehe Dialoge).
- Erstellen Sie angepasste Datenvisualisierungen beim Debuggen (siehe Debugger-Visualizer).
- Fragen Sie Informationen über Projekte und Lösungen ab, oder ändern Sie sie (siehe Projektabfrage).
- Arbeiten Sie mit Sprachservern/LSPs für zusätzlichen Sprach-Support (siehe Sprachserveranbieter)
Beispiele und Tutorials
Eine Visual Studio-Lösung, die alle Beispiele enthält, finden Sie unter Samples.sln.
Beispiel | Beschreibung |
---|---|
Einfacher Handler für Befehle | Demonstriert die Grundlagen der Arbeit mit Befehlen. Siehe auch das Tutorial Erstellen Ihrer ersten Visual Studio-Erweiterung. |
GUID-Erweiterung einfügen | Zeigt, wie Sie Text oder Code in den Code-Editor einfügen, wie Sie einen Befehl mit einer bestimmten Aktivierungsbedingung konfigurieren und wie Sie eine Ressourcendatei zur Lokalisierung verwenden. Siehe auch das Tutorial Erstellen einer einfachen Erweiterung. |
Übergeordnete Befehle | Zeigt, wie Sie einen Befehl erstellen, der verschiedenen Aspekten der IDE übergeordnet werden kann. |
Dokumentenauswahl | Zeigt, wie Sie eine Erweiterung für den Editor erstellen, die nur auf Dateien anwendbar ist, die einem Dateipfadmuster entsprechen. |
Ausgabefenster | Zeigt die grundlegendste Verwendung der Output-Window-API. |
Toolfenster | Zeigt, wie Sie ein Tool-Fenster erstellen und es mit Inhalt füllen können. |
Prompt für Benutzende | Zeigt, wie Sie einen Prompt für Benutzende anzeigen können. |
Dialogfeld | Zeigt, wie Sie den Benutzenden ein Dialogfeld mit angepasster Benutzeroberfläche anzeigen können. |
Wortanzahl | Zeigt, wie Sie eine Erweiterung für den Editor erstellen, die die Wortanzahl in einem Dokument anzeigt. |
Markdown-Linter | Zeigt, wie mehrere Komponenten innerhalb einer Erweiterung zusammenwirken können und wie verschiedene Bereiche von Visual Studio erweitert werden können. |
Projekt-Abfrage | Zeigt verschiedene Arten von Abfragen des Projektsystems, die Sie vornehmen können. |
Kommentar-Entferner | Zeigt, wie Sie Visual Studio-SDK-Dienste per .NET Dependency Injection nutzen und VisualStudio.Extensibility-APIs für Befehle, Prompts und Fortschrittsberichte verwenden. |
RegexMatchDebugVisualizer | Zeigt, wie Sie mit Remote UI einen Debugger-Visualizer zur Visualisierung von regulären Ausdrücken erstellen, der in einem modalen Dialogfenster gestartet wird. |
MemoryStreamDebugVisualizer | Zeigt, wie Sie einen Debugger-Visualizer zur Visualisierung von MemoryStream-Objekten erstellen, der in einem nicht-modalen Tool-Fenster gestartet wird. |
RustLanguageServiceProvider | Zeigt, wie man eine Erweiterung für einen Rust-Sprachserver-Provider erstellt, der Intellisense und Tooltips hinzufügt, wenn eine Rust-Datei geöffnet wird. |
Experimentelle APIs und grundlegende Änderungen
Ab Version 17.9 markieren wir den Großteil unserer APIs als stabil. Das heißt, wir planen keine grundlegenden Änderungen an diesen APIs vorzunehmen. Eventuell notwendige Änderungen, z. B. als Reaktion auf das Feedback von Benutzenden zur Benutzerfreundlichkeit, werden wir auf unserer Seite Grundlegenden Änderungen formell und mit ausreichendem Vorlauf bekannt geben.
Ein paar unserer APIs erfüllen diese Stabilitätsanforderungen noch nicht, und zwar aus einem von mehreren Gründen:
- Der Funktionsbereich ist neu, und in zukünftigen Versionen werden zusätzliche Funktionen und Änderungen erwartet.
- Die API ist neu, und wir möchten das Feedback der Benutzenden in die Entwicklung einbeziehen, bevor wir sie als stabil einstufen.
- Wir haben Rückmeldungen erhalten, dass eine bestimmte API schwer zu benutzen ist, und planen daher, sie in zukünftigen Versionen zu aktualisieren.
Für diese APIs haben wir sie explizit mit dem [Experimental]
-Attribut gekennzeichnet, um Erweiterungsautoren dabei zu helfen, ihre Erweiterungen sicher im SDK zu erstellen.
Weitere Informationen, einschließlich der Verwendung experimenteller APIs, finden Sie auf unserer Seite Experimentelle APIs.
Bekannte Probleme
Wir freuen uns über Ihr Feedback und Ihre Fehlerberichte in unserem Issues-Tracker, und wir arbeiten daran, alle im SDK gefundenen Probleme zu beheben.
Bitte besuchen Sie unsere Known Issues-Seite für Informationen über aktuelle bekannte Probleme.
Weiterführende Themen
Artikel | Beschreibung |
---|---|
Erweiterte Remote-Benutzeroberfläche | Ausführliche Informationen über das Remote-UI-Modell |
Prozessinterne Erweiterungen | Eine exemplarische Vorgehensweise für verschiedene Optionen zur prozessinternen Verwendung von VisualStudio.Extensibility-SDKs |
API-Dokumentation
- Microsoft.VisualStudio.Extensibility
- Microsoft.VisualStudio.Extensibility.Editor
- Microsoft.VisualStudio.ProjectSystem.Query
Feedback senden
Wir sind aktiv auf der Suche nach Feedback und Rückmeldungen. Die Vorschau-Phase ist ein guter Zeitpunkt, um die Community zu bitten, uns zu helfen, Probleme und Chancen zu identifizieren. Sie können uns Feedback geben und Fehler in unserem Issues-Tracker melden.