VS Code API
VS Code API ist eine Sammlung von JavaScript-APIs, die Sie in Ihrer Visual Studio Code-Erweiterung aufrufen können. Diese Seite listet alle VS Code-APIs auf, die für Erweiterungsautoren verfügbar sind.
API-Namespaces und Klassen
Diese Auflistung wird aus der Datei vscode.d.ts aus dem VS Code-Repository kompiliert.
authentication
Events
onDidChangeSessions: Event<AuthenticationSessionsChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn die Authentifizierungssitzungen eines Authentifizierungsanbieters hinzugefügt, entfernt oder geändert wurden.
Funktionen
getAccounts(providerId: string): Thenable<readonly AuthenticationSessionAccountInformation[]>
Ruft alle Konten ab, bei denen der Benutzer für den angegebenen Anbieter angemeldet ist. Verwenden Sie dies in Verbindung mit getSession, um eine Authentifizierungssitzung für ein bestimmtes Konto zu erhalten.
Derzeit gibt es nur zwei Authentifizierungsanbieter, die von integrierten Erweiterungen für den Editor bereitgestellt werden und GitHub- und Microsoft-Authentifizierung implementieren: Ihre providerId's sind 'github' und 'microsoft'.
Hinweis: Das Abrufen von Konten bedeutet nicht, dass Ihre Erweiterung Zugriff auf dieses Konto oder seine Authentifizierungssitzungen hat. Sie können den Zugriff auf das Konto überprüfen, indem Sie getSession aufrufen.
| Parameter | Beschreibung |
|---|---|
| providerId: string | Die ID des zu verwendenden Anbieters |
| Gibt zurück | Beschreibung |
| Thenable<readonly AuthenticationSessionAccountInformation[]> | Ein thenable, der zu einem schreibgeschützten Array von Authentifizierungskonten aufgelöst wird. |
getSession(providerId: string, scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest, options: AuthenticationGetSessionOptions & {createIfNone: true | AuthenticationGetSessionPresentationOptions}): Thenable<AuthenticationSession>
Ruft eine Authentifizierungssitzung ab, die den gewünschten Bereichen entspricht oder die WWW-Authenticate-Anforderung erfüllt. Schlägt fehl, wenn ein Anbieter mit providerId nicht registriert ist oder wenn der Benutzer der Freigabe von Authentifizierungsinformationen an die Erweiterung nicht zustimmt. Wenn mehrere Sitzungen mit denselben Bereichen vorhanden sind, wird dem Benutzer ein Quickpick angezeigt, um auszuwählen, welches Konto er verwenden möchte.
Zu den integrierten Auth-Anbietern gehören
- 'github' - Für GitHub.com
- 'microsoft' Für persönliche und organisatorische Microsoft-Konten
- (seltener) 'github-enterprise' - für alternative GitHub-Hostings, GHE.com, GitHub Enterprise Server
- (seltener) 'microsoft-sovereign-cloud' - für alternative Microsoft-Clouds
| Parameter | Beschreibung |
|---|---|
| providerId: string | Die ID des zu verwendenden Anbieters |
| scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest | Eine Liste von Berechtigungen, die angefordert werden, oder eine WWW-Authenticate-Anforderung. Diese hängen vom Authentifizierungsanbieter ab. |
| options: AuthenticationGetSessionOptions & {createIfNone: true | AuthenticationGetSessionPresentationOptions} | Die zu verwendenden AuthenticationGetSessionOptions |
| Gibt zurück | Beschreibung |
| Thenable<AuthenticationSession> | Ein thenable, der zu einer Authentifizierungssitzung aufgelöst wird |
getSession(providerId: string, scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest, options: AuthenticationGetSessionOptions & {forceNewSession: true | AuthenticationGetSessionPresentationOptions}): Thenable<AuthenticationSession>
Ruft eine Authentifizierungssitzung ab, die den gewünschten Bereichen entspricht oder die Anforderung erfüllt. Schlägt fehl, wenn ein Anbieter mit providerId nicht registriert ist oder wenn der Benutzer der Freigabe von Authentifizierungsinformationen an die Erweiterung nicht zustimmt. Wenn mehrere Sitzungen mit denselben Bereichen vorhanden sind, wird dem Benutzer ein Quickpick angezeigt, um auszuwählen, welches Konto er verwenden möchte.
Zu den integrierten Auth-Anbietern gehören
- 'github' - Für GitHub.com
- 'microsoft' Für persönliche und organisatorische Microsoft-Konten
- (seltener) 'github-enterprise' - für alternative GitHub-Hostings, GHE.com, GitHub Enterprise Server
- (seltener) 'microsoft-sovereign-cloud' - für alternative Microsoft-Clouds
| Parameter | Beschreibung |
|---|---|
| providerId: string | Die ID des zu verwendenden Anbieters |
| scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest | Eine Liste von Berechtigungen, die angefordert werden, oder eine WWW-Authenticate-Anforderung. Diese hängen vom Authentifizierungsanbieter ab. |
| options: AuthenticationGetSessionOptions & {forceNewSession: true | AuthenticationGetSessionPresentationOptions} | Die zu verwendenden AuthenticationGetSessionOptions |
| Gibt zurück | Beschreibung |
| Thenable<AuthenticationSession> | Ein thenable, der zu einer Authentifizierungssitzung aufgelöst wird |
getSession(providerId: string, scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest, options?: AuthenticationGetSessionOptions): Thenable<AuthenticationSession | undefined>
Ruft eine Authentifizierungssitzung ab, die den gewünschten Bereichen entspricht oder die Anforderung erfüllt. Schlägt fehl, wenn ein Anbieter mit providerId nicht registriert ist oder wenn der Benutzer der Freigabe von Authentifizierungsinformationen an die Erweiterung nicht zustimmt. Wenn mehrere Sitzungen mit denselben Bereichen vorhanden sind, wird dem Benutzer ein Quickpick angezeigt, um auszuwählen, welches Konto er verwenden möchte.
Zu den integrierten Auth-Anbietern gehören
- 'github' - Für GitHub.com
- 'microsoft' Für persönliche und organisatorische Microsoft-Konten
- (seltener) 'github-enterprise' - für alternative GitHub-Hostings, GHE.com, GitHub Enterprise Server
- (seltener) 'microsoft-sovereign-cloud' - für alternative Microsoft-Clouds
| Parameter | Beschreibung |
|---|---|
| providerId: string | Die ID des zu verwendenden Anbieters |
| scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest | Eine Liste von Berechtigungen, die angefordert werden, oder eine WWW-Authenticate-Anforderung. Diese hängen vom Authentifizierungsanbieter ab. |
| options?: AuthenticationGetSessionOptions | Die zu verwendenden AuthenticationGetSessionOptions |
| Gibt zurück | Beschreibung |
| Thenable<AuthenticationSession | undefined> | Ein thenable, der zu einer Authentifizierungssitzung oder undefined aufgelöst wird, wenn ein stiller Flow verwendet wurde und keine Sitzung gefunden wurde |
registerAuthenticationProvider(id: string, label: string, provider: AuthenticationProvider, options?: AuthenticationProviderOptions): Disposable
Registriert einen Authentifizierungsanbieter.
Es kann nur einen Anbieter pro ID geben, und es wird ein Fehler ausgelöst, wenn eine ID bereits von einem anderen Anbieter verwendet wurde. IDs sind Groß- und Kleinschreibungsempfindlich.
| Parameter | Beschreibung |
|---|---|
| id: string | Die eindeutige Kennung des Anbieters. |
| label: string | Der für Menschen lesbare Name des Anbieters. |
| provider: AuthenticationProvider | Der Authentifizierungsanbieter-Provider. |
| options?: AuthenticationProviderOptions | Zusätzliche Optionen für den Anbieter. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
chat
Namespace für Chat-Funktionalität. Benutzer interagieren mit Chat-Teilnehmern, indem sie ihnen Nachrichten in der Chat-Ansicht senden. Chat-Teilnehmer können über den ChatResponseStream mit Markdown oder anderen Arten von Inhalten antworten.
Funktionen
createChatParticipant(id: string, handler: ChatRequestHandler): ChatParticipant
Erstellt eine neue Chat-Teilnehmerinstanz.
| Parameter | Beschreibung |
|---|---|
| id: string | Eine eindeutige Kennung für den Teilnehmer. |
| handler: ChatRequestHandler | Ein Anforderungsbehandler für den Teilnehmer. |
| Gibt zurück | Beschreibung |
| ChatParticipant | Ein neuer Chat-Teilnehmer |
Befehle
Namespace für den Umgang mit Befehlen. Kurz gesagt, ein Befehl ist eine Funktion mit einer eindeutigen Kennung. Die Funktion wird manchmal auch als Befehlshandler bezeichnet.
Befehle können über die Funktionen registerCommand und registerTextEditorCommand zum Editor hinzugefügt werden. Befehle können manuell oder über eine UI-Geste ausgeführt werden. Dies sind
- Palette - Verwenden Sie den Abschnitt
commandsinpackage.json, um einen Befehl in der Befehlspalette anzuzeigen. - Tastenkombination - Verwenden Sie den Abschnitt
keybindingsinpackage.json, um Tastenkombinationen für Ihre Erweiterung zu aktivieren.
Befehle von anderen Erweiterungen und vom Editor selbst sind für eine Erweiterung zugänglich. Beim Aufruf eines Editorbefehls sind jedoch nicht alle Argumenttypen zulässig.
Dies ist ein Beispiel, das einen Befehlshandler registriert und einen Eintrag für diesen Befehl in der Palette hinzufügt. Registrieren Sie zuerst einen Befehlshandler mit der Kennung extension.sayHello.
commands.registerCommand('extension.sayHello', () => {
window.showInformationMessage('Hello World!');
});
Binden Sie zweitens die Befehlskennung an einen Titel, unter dem sie in der Palette angezeigt wird (package.json).
{
"contributes": {
"commands": [
{
"command": "extension.sayHello",
"title": "Hello World"
}
]
}
}
Funktionen
executeCommand<T>(command: string, ...rest: any[]): Thenable<T>
Führt den durch die angegebene Befehlskennung bezeichneten Befehl aus.
- Hinweis 1: Beim Ausführen eines Editorbefehls sind nicht alle Typen als Argumente zulässig. Zulässig sind die primitiven Typen
string,boolean,number,undefinedundnullsowie Position, Range, Uri und Location. - Hinweis 2: Es gibt keine Einschränkungen beim Ausführen von Befehlen, die von Erweiterungen beigesteuert wurden.
| Parameter | Beschreibung |
|---|---|
| command: string | Kennung des auszuführenden Befehls. |
| ...rest: any[] | An die Befehlsfunktion übergebene Parameter. |
| Gibt zurück | Beschreibung |
| Thenable<T> | Ein thenable, der zum Rückgabewert des angegebenen Befehls aufgelöst wird. Gibt |
getCommands(filterInternal?: boolean): Thenable<string[]>
Ruft die Liste aller verfügbaren Befehle ab. Befehle, die mit einem Unterstrich beginnen, werden als interne Befehle behandelt.
| Parameter | Beschreibung |
|---|---|
| filterInternal?: boolean | Setzen Sie auf |
| Gibt zurück | Beschreibung |
| Thenable<string[]> | Thenable, der zu einer Liste von Befehlskennungen aufgelöst wird. |
registerCommand(command: string, callback: (args: any[]) => any, thisArg?: any): Disposable
Registriert einen Befehl, der über eine Tastenkombination, ein Menüelement, eine Aktion oder direkt aufgerufen werden kann.
Die zweimalige Registrierung eines Befehls mit einer vorhandenen Befehlskennung führt zu einem Fehler.
| Parameter | Beschreibung |
|---|---|
| command: string | Eine eindeutige Kennung für den Befehl. |
| callback: (args: any[]) => any | Eine Befehlshandlerfunktion. |
| thisArg?: any | Der |
| Gibt zurück | Beschreibung |
| Disposable | Disposable, der diesen Befehl bei der Entsorgung deregistriert. |
registerTextEditorCommand(command: string, callback: (textEditor: TextEditor, edit: TextEditorEdit, args: any[]) => void, thisArg?: any): Disposable
Registriert einen Texteditorbefehl, der über eine Tastenkombination, ein Menüelement, eine Aktion oder direkt aufgerufen werden kann.
Texteditorbefehle unterscheiden sich von normalen Befehlen, da sie nur ausgeführt werden, wenn beim Aufruf des Befehls ein aktiver Editor vorhanden ist. Außerdem hat der Befehlshandler eines Editorbefehls Zugriff auf den aktiven Editor und einen Edit-Builder. Beachten Sie, dass der Edit-Builder nur während der Ausführung des Rückrufs gültig ist.
| Parameter | Beschreibung |
|---|---|
| command: string | Eine eindeutige Kennung für den Befehl. |
| callback: (textEditor: TextEditor, edit: TextEditorEdit, args: any[]) => void | |
| thisArg?: any | Der |
| Gibt zurück | Beschreibung |
| Disposable | Disposable, der diesen Befehl bei der Entsorgung deregistriert. |
comments
Funktionen
createCommentController(id: string, label: string): CommentController
Erstellt eine neue Comment-Controllerinstanz.
| Parameter | Beschreibung |
|---|---|
| id: string | Eine |
| label: string | Eine für Menschen lesbare Zeichenfolge für den Kommentarcontroller. |
| Gibt zurück | Beschreibung |
| CommentController | Eine Instanz eines Kommentarcontrollers. |
debug
Namespace für Debug-Funktionalität.
Variablen
activeDebugConsole: DebugConsole
Die aktuell aktive Debug-Konsole. Wenn keine Debug-Sitzung aktiv ist, werden an die Debug-Konsole gesendete Ausgaben nicht angezeigt.
activeDebugSession: DebugSession | undefined
Die aktuell aktive Debug-Sitzung oder undefined. Die aktive Debug-Sitzung ist diejenige, die durch das schwebende Fenster der Debug-Aktion dargestellt wird oder die derzeit im Dropdown-Menü des schwebenden Fensters der Debug-Aktion angezeigt wird. Wenn keine Debug-Sitzung aktiv ist, ist der Wert undefined.
activeStackItem: DebugThread | DebugStackFrame | undefined
Der aktuell fokussierte Thread oder Stack Frame oder undefined, wenn kein Thread oder Stack fokussiert ist. Ein Thread kann jederzeit fokussiert werden, solange eine aktive Debug-Sitzung besteht, während ein Stack Frame nur fokussiert werden kann, wenn eine Sitzung pausiert ist und der Aufrufstapel abgerufen wurde.
breakpoints: readonly Breakpoint[]
Liste der Haltepunkte.
Events
onDidChangeActiveDebugSession: Event<DebugSession | undefined>
Ein Ereignis, das ausgelöst wird, wenn sich die aktive Debug-Sitzung geändert hat. Hinweis: Das Ereignis wird auch ausgelöst, wenn sich die aktive Debug-Sitzung auf undefined ändert.
onDidChangeActiveStackItem: Event<DebugThread | DebugStackFrame | undefined>
Ein Ereignis, das ausgelöst wird, wenn sich das debug.activeStackItem geändert hat.
onDidChangeBreakpoints: Event<BreakpointsChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn die Menge der Haltepunkte hinzugefügt, entfernt oder geändert wird.
onDidReceiveDebugSessionCustomEvent: Event<DebugSessionCustomEvent>
Ein Ereignis, das ausgelöst wird, wenn ein benutzerdefiniertes DAP-Ereignis von der Debug-Sitzung empfangen wird.
onDidStartDebugSession: Event<DebugSession>
Ein Ereignis, das ausgelöst wird, wenn eine neue Debug-Sitzung gestartet wurde.
onDidTerminateDebugSession: Event<DebugSession>
Ein Ereignis, das ausgelöst wird, wenn eine Debug-Sitzung beendet wurde.
Funktionen
addBreakpoints(breakpoints: readonly Breakpoint[]): void
Haltepunkte hinzufügen.
| Parameter | Beschreibung |
|---|---|
| breakpoints: readonly Breakpoint[] | Die hinzuzufügenden Haltepunkte. |
| Gibt zurück | Beschreibung |
| void |
asDebugSourceUri(source: DebugProtocolSource, session?: DebugSession): Uri
Konvertiert ein "Source"-Deskriptorobjekt, das über das Debug Adapter Protocol empfangen wurde, in eine URI, die zum Laden seines Inhalts verwendet werden kann. Wenn der Source-Deskriptor auf einem Pfad basiert, wird eine Datei-URI zurückgegeben. Wenn der Source-Deskriptor eine Referenznummer verwendet, wird eine spezielle Debug-URI (Schema 'debug') konstruiert, die einen entsprechenden ContentProvider und eine laufende Debug-Sitzung erfordert.
Wenn der "Source"-Deskriptor nicht genügend Informationen für die Erstellung der URI enthält, wird ein Fehler ausgelöst.
| Parameter | Beschreibung |
|---|---|
| source: DebugProtocolSource | Ein Objekt, das dem Source-Typ im Debug Adapter Protocol entspricht. |
| session?: DebugSession | Eine optionale Debug-Sitzung, die verwendet wird, wenn der Source-Deskriptor eine Referenznummer verwendet, um den Inhalt aus einer aktiven Debug-Sitzung zu laden. |
| Gibt zurück | Beschreibung |
| Uri | Eine URI, die zum Laden des Inhalts der Quelle verwendet werden kann. |
registerDebugAdapterDescriptorFactory(debugType: string, factory: DebugAdapterDescriptorFactory): Disposable
Registriert eine Debug-Adapter-Deskriptorfabrik für einen bestimmten Debug-Typ. Eine Erweiterung darf nur eine DebugAdapterDescriptorFactory für die von der Erweiterung definierten Debug-Typen registrieren. Andernfalls wird ein Fehler ausgelöst. Die Registrierung von mehr als einer DebugAdapterDescriptorFactory für einen Debug-Typ führt zu einem Fehler.
| Parameter | Beschreibung |
|---|---|
| debugType: string | Der Debug-Typ, für den die Fabrik registriert ist. |
| factory: DebugAdapterDescriptorFactory | Die zu registrierende Debug-Adapter-Deskriptorfabrik. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diese Fabrik bei der Entsorgung deregistriert. |
registerDebugAdapterTrackerFactory(debugType: string, factory: DebugAdapterTrackerFactory): Disposable
Registriert eine Debug-Adapter-Trackerfabrik für den angegebenen Debug-Typ.
| Parameter | Beschreibung |
|---|---|
| debugType: string | Der Debug-Typ, für den die Fabrik registriert ist, oder '*' für alle Debug-Typen. |
| factory: DebugAdapterTrackerFactory | Die zu registrierende Debug-Adapter-Trackerfabrik. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diese Fabrik bei der Entsorgung deregistriert. |
registerDebugConfigurationProvider(debugType: string, provider: DebugConfigurationProvider, triggerKind?: DebugConfigurationProviderTriggerKind): Disposable
Registriert einen Debug-Konfigurationsanbieter für einen bestimmten Debug-Typ. Die optionale triggerKind kann verwendet werden, um anzugeben, wann die Methode provideDebugConfigurations des Anbieters ausgelöst wird. Derzeit sind zwei Triggerarten möglich: mit dem Wert Initial (oder wenn kein triggerKind-Argument angegeben wird) wird die Methode provideDebugConfigurations verwendet, um die anfänglichen Debug-Konfigurationen bereitzustellen, die in eine neu erstellte launch.json kopiert werden sollen. Mit der Triggerart Dynamic wird die Methode provideDebugConfigurations verwendet, um dynamisch Debug-Konfigurationen zu ermitteln, die dem Benutzer angezeigt werden sollen (zusätzlich zu den statischen Konfigurationen aus launch.json). Beachten Sie, dass das Argument triggerKind nur für die Methode provideDebugConfigurations gilt: die Methoden resolveDebugConfiguration werden überhaupt nicht beeinflusst. Die Registrierung eines einzelnen Anbieters mit Resolve-Methoden für verschiedene Triggerarten führt dazu, dass dieselben Resolve-Methoden mehrmals aufgerufen werden. Für denselben Typ können mehr als ein Anbieter registriert werden.
| Parameter | Beschreibung |
|---|---|
| debugType: string | Der Debug-Typ, für den der Anbieter registriert ist. |
| provider: DebugConfigurationProvider | Der zu registrierende Debug-Konfigurationsanbieter. |
| triggerKind?: DebugConfigurationProviderTriggerKind | Der Trigger, für den die Methode 'provideDebugConfiguration' des Anbieters registriert ist. Wenn |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
removeBreakpoints(breakpoints: readonly Breakpoint[]): void
Haltepunkte entfernen.
| Parameter | Beschreibung |
|---|---|
| breakpoints: readonly Breakpoint[] | Die zu entfernenden Haltepunkte. |
| Gibt zurück | Beschreibung |
| void |
startDebugging(folder: WorkspaceFolder, nameOrConfiguration: string | DebugConfiguration, parentSessionOrOptions?: DebugSession | DebugSessionOptions): Thenable<boolean>
Startet das Debugging, indem entweder eine benannte Start- oder eine benannte Verbundkonfiguration verwendet wird oder indem direkt eine DebugConfiguration übergeben wird. Die benannten Konfigurationen werden in '.vscode/launch.json' im angegebenen Ordner nachgeschlagen. Bevor das Debugging startet, werden alle ungespeicherten Dateien gespeichert und die Startkonfigurationen auf den neuesten Stand gebracht. Ordnerspezifische Variablen, die in der Konfiguration verwendet werden (z. B. '${workspaceFolder}'), werden gegen den angegebenen Ordner aufgelöst.
| Parameter | Beschreibung |
|---|---|
| folder: WorkspaceFolder | Der Arbeitsbereichsordner zum Nachschlagen benannter Konfigurationen und Auflösen von Variablen oder |
| nameOrConfiguration: string | DebugConfiguration | Entweder der Name einer Debug- oder Verbundkonfiguration oder ein DebugConfiguration-Objekt. |
| parentSessionOrOptions?: DebugSession | DebugSessionOptions | Optionen für die Debug-Sitzung. Wenn eine übergeordnete Debug-Sitzung übergeben wird, werden Optionen mit dieser übergeordneten Sitzung angenommen. |
| Gibt zurück | Beschreibung |
| Thenable<boolean> | Ein thenable, der aufgelöst wird, wenn das Debugging erfolgreich gestartet werden konnte. |
stopDebugging(session?: DebugSession): Thenable<void>
Beendet die angegebene Debug-Sitzung oder alle Debug-Sitzungen, wenn die Sitzung weggelassen wird.
| Parameter | Beschreibung |
|---|---|
| session?: DebugSession | Die zu beendende Debug-Sitzung; wenn weggelassen, werden alle Sitzungen beendet. |
| Gibt zurück | Beschreibung |
| Thenable<void> | Ein thenable, der aufgelöst wird, wenn die Sitzung(en) beendet wurden. |
env
Namespace, der die Laufzeitumgebung des Editors beschreibt.
Variablen
Der gehostete Speicherort der Anwendung. Auf dem Desktop ist dies 'desktop'. Im Web ist dies der angegebene Einbettungsgeber, z. B. 'github.dev', 'codespaces' oder 'web', wenn der Einbettungsgeber diese Informationen nicht bereitstellt.
Der Anwendungsname des Editors, z. B. 'VS Code'.
Der Stammordner der Anwendung, von dem aus der Editor ausgeführt wird.
Beachten Sie, dass der Wert die leere Zeichenfolge ist, wenn Sie in einer Umgebung ausgeführt werden, die keine Darstellung eines Anwendungsstamms ordners hat.
clipboard: Clipboard
Die System-Zwischenablage.
Zeigt an, dass dies eine frische Installation der Anwendung ist. true, wenn innerhalb des ersten Tages der Installation, andernfalls false.
Zeigt an, ob der Benutzer Telemetrie aktiviert hat. Kann beobachtet werden, um festzustellen, ob die Erweiterung Telemetrie senden soll.
Repräsentiert die bevorzugte Benutzersprache, z.B. de-CH, fr oder en-US.
logLevel: LogLevel
Die aktuelle Protokollebene des Editors.
Eine eindeutige Kennung für den Computer.
remoteName: string | undefined
Der Name eines Remote-Servers. Definiert durch Erweiterungen, beliebte Beispiele sind wsl für das Windows Subsystem für Linux oder ssh-remote für Remotes über Secure Shell.
Hinweis, dass der Wert undefined ist, wenn kein Remote-Erweiterungs-Host vorhanden ist, aber der Wert in allen Erweiterungs-Hosts (lokal und remote) definiert ist, falls ein Remote-Erweiterungs-Host existiert. Verwenden Sie Extension.extensionKind, um zu erfahren, ob eine bestimmte Erweiterung remote ausgeführt wird oder nicht.
Eine eindeutige Kennung für die aktuelle Sitzung. Ändert sich jedes Mal, wenn der Editor gestartet wird.
Die erkannte Standard-Shell für den Erweiterungs-Host; diese wird durch die Einstellung terminal.integrated.defaultProfile für die Plattform des Erweiterungs-Hosts überschrieben. Beachten Sie, dass in Umgebungen, die keine Shell unterstützen, der Wert der leere String ist.
uiKind: UIKind
Die UI-Kind-Eigenschaft gibt an, von welcher UI aus Erweiterungen abgerufen werden. Beispielsweise können Erweiterungen von einer Desktop-Anwendung oder einem Webbrowser aus abgerufen werden.
Das benutzerdefinierte URI-Schema, das der Editor im Betriebssystem registriert.
Events
onDidChangeLogLevel: Event<LogLevel>
Ein Event, das ausgelöst wird, wenn sich die Protokollebene des Editors ändert.
onDidChangeShell: Event<string>
Ein Event, das ausgelöst wird, wenn sich die Standard-Shell ändert. Dieses Event wird mit dem Pfad der neuen Shell ausgelöst.
onDidChangeTelemetryEnabled: Event<boolean>
Ein Event, das ausgelöst wird, wenn der Benutzer Telemetrie aktiviert oder deaktiviert. true, wenn der Benutzer Telemetrie aktiviert hat, oder false, wenn der Benutzer Telemetrie deaktiviert hat.
Funktionen
asExternalUri(target: Uri): Thenable<Uri>
Löst eine URI in ein Format auf, das extern zugänglich ist.
http: oder https: Schema
Löst eine *externe* URI, wie z.B. einen Link mit http: oder https:, von dort, wo die Erweiterung ausgeführt wird, zu einer URI für dieselbe Ressource auf dem Client-Computer auf.
Dies ist ein No-Op, wenn die Erweiterung auf dem Client-Computer ausgeführt wird.
Wenn die Erweiterung remote ausgeführt wird, stellt diese Funktion automatisch einen Portweiterleitungstunnel vom lokalen Computer zum target auf dem Remote-Computer her und gibt eine lokale URI für den Tunnel zurück. Die Lebensdauer des Portweiterleitungstunnels wird vom Editor verwaltet und der Tunnel kann vom Benutzer geschlossen werden.
Hinweis, dass URIs, die über openExternal übergeben werden, automatisch aufgelöst werden und Sie asExternalUri nicht auf sie anwenden sollten.
vscode.env.uriScheme
Erstellt eine URI, die - wenn sie in einem Browser geöffnet wird (z.B. über openExternal) - dazu führt, dass ein registrierter UriHandler ausgelöst wird.
Erweiterungen sollten keine Annahmen über die resultierende URI treffen und diese in keiner Weise verändern. Vielmehr können Erweiterungen diese URI beispielsweise in einem Authentifizierungsablauf verwenden, indem sie die URI als Callback-Query-Argument an den zu authentifizierenden Server übergeben.
Hinweis, dass wenn der Server beschließt, zusätzliche Query-Parameter zur URI hinzuzufügen (z.B. ein Token oder ein Secret), diese in der URI erscheinen, die an den UriHandler übergeben wird.
Beispiel für einen Authentifizierungsablauf
vscode.window.registerUriHandler({
handleUri(uri: vscode.Uri): vscode.ProviderResult<void> {
if (uri.path === '/did-authenticate') {
console.log(uri.toString());
}
}
});
const callableUri = await vscode.env.asExternalUri(
vscode.Uri.parse(vscode.env.uriScheme + '://my.extension/did-authenticate')
);
await vscode.env.openExternal(callableUri);
Hinweis, dass Erweiterungen das Ergebnis von asExternalUri nicht zwischenspeichern sollten, da die aufgelöste URI aufgrund einer System- oder Benutzeraktion ungültig werden kann – zum Beispiel können im Remote-Fall Benutzer einen Portweiterleitungstunnel schließen, der von asExternalUri geöffnet wurde.
Jedes andere Schema
Jedes andere Schema wird so behandelt, als ob die angegebene URI eine Arbeitsbereich-URI wäre. In diesem Fall gibt die Methode eine URI zurück, die, wenn sie behandelt wird, dazu führt, dass der Editor den Arbeitsbereich öffnet.
createTelemetryLogger(sender: TelemetrySender, options?: TelemetryLoggerOptions): TelemetryLogger
Erstellt einen neuen Telemetrie-Logger.
| Parameter | Beschreibung |
|---|---|
| sender: TelemetrySender | Der Telemetrie-Sender, der vom Telemetrie-Logger verwendet wird. |
| options?: TelemetryLoggerOptions | Optionen für den Telemetrie-Logger. |
| Gibt zurück | Beschreibung |
| TelemetryLogger | Ein neuer Telemetrie-Logger |
openExternal(target: Uri): Thenable<boolean>
Öffnet einen Link extern mit der Standardanwendung. Je nach verwendetem Schema kann dies sein:
- ein Browser (
http:,https:) - ein Mail-Client (
mailto:) - VSCode selbst (
vscode:vonvscode.env.uriScheme)
Hinweis, dass showTextDocument der richtige Weg ist, um ein Textdokument im Editor zu öffnen, nicht diese Funktion.
| Parameter | Beschreibung |
|---|---|
| target: Uri | Die URI, die geöffnet werden soll. |
| Gibt zurück | Beschreibung |
| Thenable<boolean> | Ein Promise, das angibt, ob das Öffnen erfolgreich war. |
extensions
Namespace für die Arbeit mit installierten Erweiterungen. Erweiterungen werden durch eine Extension-Schnittstelle dargestellt, die Reflexion über sie ermöglicht.
Erweiterungsentwickler können APIs für andere Erweiterungen bereitstellen, indem sie ihre öffentliche API-Oberfläche aus dem activate-Aufruf zurückgeben.
export function activate(context: vscode.ExtensionContext) {
let api = {
sum(a, b) {
return a + b;
},
mul(a, b) {
return a * b;
}
};
// 'export' public api-surface
return api;
}
Wenn Sie von der API einer anderen Erweiterung abhängen, fügen Sie einen Eintrag extensionDependencies in package.json hinzu und verwenden Sie die Funktion getExtension und die Eigenschaft exports, wie unten gezeigt
let mathExt = extensions.getExtension('genius.math');
let importedApi = mathExt.exports;
console.log(importedApi.mul(42, 1));
Variablen
all: readonly Extension<any>[]
Alle Erweiterungen, die dem System aktuell bekannt sind.
Events
onDidChange: Event<void>
Ein Event, das ausgelöst wird, wenn sich extensions.all ändert. Dies kann passieren, wenn Erweiterungen installiert, deinstalliert, aktiviert oder deaktiviert werden.
Funktionen
getExtension<T>(extensionId: string): Extension<T> | undefined
Ruft eine Erweiterung anhand ihrer vollständigen Kennung im Format ab: publisher.name.
| Parameter | Beschreibung |
|---|---|
| extensionId: string | Eine Erweiterungskennung. |
| Gibt zurück | Beschreibung |
| Extension<T> | undefined | Eine Erweiterung oder |
l10n
Namespace für lokalisierungsbezogene Funktionalität in der Erweiterungs-API. Um dies ordnungsgemäß zu verwenden, müssen Sie l10n in Ihrem Erweiterungsmanifest definiert haben und über bundle.l10n verfügen.
Hinweis: Integrierte Erweiterungen (z.B. Git, TypeScript Language Features, GitHub Authentication) sind von der Anforderung der l10n-Eigenschaft ausgeschlossen. Mit anderen Worten, sie müssen keine l10n im Erweiterungsmanifest angeben, da ihre übersetzten Zeichenfolgen von Sprachpaketen stammen.
Variablen
Das Bündel der lokalisierten Zeichenfolgen, die für die Erweiterung geladen wurden. Es ist undefiniert, wenn kein Bündel geladen wurde. Das Bündel wird normalerweise nicht geladen, wenn kein Bündel gefunden wurde oder wenn wir mit der Standardsprache ausgeführt werden.
uri: Uri | undefined
Die URI des Lokalisierungsbündels, das für die Erweiterung geladen wurde. Es ist undefiniert, wenn kein Bündel geladen wurde. Das Bündel wird normalerweise nicht geladen, wenn kein Bündel gefunden wurde oder wenn wir mit der Standardsprache ausgeführt werden.
Funktionen
t(message: string, ...args: Array<string | number | boolean>): string
Markiert eine Zeichenfolge zur Lokalisierung. Wenn ein lokalisiertes Bündel für die von env.language angegebene Sprache verfügbar ist und das Bündel einen lokalisierten Wert für diese Nachricht hat, wird dieser lokalisierte Wert zurückgegeben (mit eingefügten args-Werten für alle Vorlagenwerte).
Beispiel
l10n.t('Hello {0}!', 'World');
| Parameter | Beschreibung |
|---|---|
| message: string | Die zu lokalisierende Nachricht. Unterstützt Index-Templating, wobei Zeichenfolgen wie |
| ...args: Array<string | number | boolean> | Die Argumente, die in der lokalisierten Zeichenfolge verwendet werden sollen. Der Index des Arguments wird verwendet, um den Vorlagenplatzhalter in der lokalisierten Zeichenfolge abzugleichen. |
| Gibt zurück | Beschreibung |
| string | lokalisierte Zeichenfolge mit eingefügten Argumenten. |
t(message: string, args: Record<string, any>): string
Markiert eine Zeichenfolge zur Lokalisierung. Wenn ein lokalisiertes Bündel für die von env.language angegebene Sprache verfügbar ist und das Bündel einen lokalisierten Wert für diese Nachricht hat, wird dieser lokalisierte Wert zurückgegeben (mit eingefügten args-Werten für alle Vorlagenwerte).
Beispiel
l10n.t('Hello {name}', { name: 'Erich' });
| Parameter | Beschreibung |
|---|---|
| message: string | Die zu lokalisierende Nachricht. Unterstützt benanntes Templating, bei dem Zeichenfolgen wie |
| args: Record<string, any> | Die Argumente, die in der lokalisierten Zeichenfolge verwendet werden sollen. Der Name des Schlüssels in der Aufzeichnung wird verwendet, um den Vorlagenplatzhalter in der lokalisierten Zeichenfolge abzugleichen. |
| Gibt zurück | Beschreibung |
| string | lokalisierte Zeichenfolge mit eingefügten Argumenten. |
t(options: {args: Array<string | number | boolean> | Record<string, any>, comment: string | string[], message: string}): string
Markiert eine Zeichenfolge zur Lokalisierung. Wenn ein lokalisiertes Bündel für die von env.language angegebene Sprache verfügbar ist und das Bündel einen lokalisierten Wert für diese Nachricht hat, wird dieser lokalisierte Wert zurückgegeben (mit eingefügten Argumentwerten für alle Vorlagenwerte).
| Parameter | Beschreibung |
|---|---|
| options: {args: Array<string | number | boolean> | Record<string, any>, comment: string | string[], message: string} | Die Optionen, die bei der Lokalisierung der Nachricht verwendet werden sollen. |
| Gibt zurück | Beschreibung |
| string | lokalisierte Zeichenfolge mit eingefügten Argumenten. |
Sprachen
Namespace für die Teilnahme an sprachspezifischen Editor-Funktionen features, wie IntelliSense, Code-Aktionen, Diagnostik usw.
Viele Programmiersprachen existieren und es gibt eine große Vielfalt an Syntaxen, Semantiken und Paradigmen. Trotzdem sind Funktionen wie automatische Wortvervollständigung, Code-Navigation oder Code-Überprüfung bei verschiedenen Tools für verschiedene Programmiersprachen beliebt geworden.
Der Editor bietet eine API, die es einfach macht, solche gängigen Funktionen bereitzustellen, indem alle Benutzeroberflächen und Aktionen bereits vorhanden sind und Sie durch die reine Bereitstellung von Daten teilnehmen können. Um beispielsweise einen Hover-Text beizutragen, müssen Sie nur eine Funktion bereitstellen, die mit einem TextDocument und einer Position aufgerufen werden kann und Hover-Informationen zurückgibt. Der Rest, wie das Verfolgen der Maus, das Positionieren des Hovers, das stabile Halten des Hovers usw., wird vom Editor übernommen.
languages.registerHoverProvider('javascript', {
provideHover(document, position, token) {
return new Hover('I am a hover!');
}
});
Die Registrierung erfolgt über einen Dokumentselektor, der entweder eine Sprachkennung, wie z.B. javascript, oder ein komplexeres Filter wie { language: 'typescript', scheme: 'file' } ist. Das Abgleichen eines Dokuments mit einem solchen Selektor führt zu einem Score, der verwendet wird, um zu bestimmen, ob und wie ein Anbieter verwendet werden soll. Bei gleichen Scores gewinnt der Anbieter, der zuletzt kam. Für Funktionen, die eine volle Kardinalität zulassen, wie z.B. Hover, wird der Score nur daraufhin überprüft, ob er >0 ist, für andere Funktionen, wie z.B. IntelliSense, wird der Score verwendet, um die Reihenfolge zu bestimmen, in der Anbieter zur Teilnahme aufgefordert werden.
Events
onDidChangeDiagnostics: Event<DiagnosticChangeEvent>
Ein Event, das ausgelöst wird, wenn sich der globale Satz von Diagnostiken ändert. Dies sind neu hinzugefügte und entfernte Diagnostiken.
Funktionen
createDiagnosticCollection(name?: string): DiagnosticCollection
Erstellt eine Diagnostiksammlung.
| Parameter | Beschreibung |
|---|---|
| name?: string | Der Name der Sammlung. |
| Gibt zurück | Beschreibung |
| DiagnosticCollection | Eine neue Diagnostiksammlung. |
createLanguageStatusItem(id: string, selector: DocumentSelector): LanguageStatusItem
Erstellt ein neues Sprachstatus-Element.
| Parameter | Beschreibung |
|---|---|
| id: string | Die Kennung des Elements. |
| selector: DocumentSelector | Der Dokumentselektor, der festlegt, für welche Editoren das Element angezeigt wird. |
| Gibt zurück | Beschreibung |
| LanguageStatusItem | Ein neues Sprachstatus-Element. |
getDiagnostics(resource: Uri): Diagnostic[]
Ruft alle Diagnostiken für eine gegebene Ressource ab.
| Parameter | Beschreibung |
|---|---|
| resource: Uri | Eine Ressource |
| Gibt zurück | Beschreibung |
| Diagnostic[] | Ein Array von Diagnostikobjekten oder ein leeres Array. |
getDiagnostics(): Array<[Uri, Diagnostic[]]>
Ruft alle Diagnostiken ab.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| Array<[Uri, Diagnostic[]]> | Ein Array von URI-Diagnostik-Tupeln oder ein leeres Array. |
getLanguages(): Thenable<string[]>
Gibt die Bezeichner aller bekannten Sprachen zurück.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| Thenable<string[]> | Promise, der zu einem Array von Bezeichner-Strings aufgelöst wird. |
match(selector: DocumentSelector, document: TextDocument): number
Berechnet den Abgleich zwischen einem Dokument Selektor und einem Dokument. Werte größer als Null bedeuten, dass der Selektor mit dem Dokument übereinstimmt.
Ein Abgleich wird nach folgenden Regeln berechnet:
- Wenn DocumentSelector ein Array ist, berechnen Sie den Abgleich für jeden enthaltenen
DocumentFilteroder jede Sprachkennung und nehmen Sie den Maximalwert. - Ein String wird zu
language-Teil eines DocumentFilter entpackt, sodass"fooLang"wie{ language: "fooLang" }ist. - Ein DocumentFilter wird mit dem Dokument abgeglichen, indem seine Teile mit dem Dokument verglichen werden. Die folgenden Regeln gelten:
- Wenn der
DocumentFilterleer ist ({}), ist das Ergebnis0. - Wenn
scheme,language,patternodernotebookdefiniert sind, aber einer davon nicht übereinstimmt, ist das Ergebnis0. - Das Abgleichen mit
*ergibt einen Score von5, das Abgleichen über Gleichheit oder über ein Glob-Muster ergibt einen Score von10. - Das Ergebnis ist der Höchstwert jedes Abgleichs.
- Wenn der
Beispiele
// default document from disk (file-scheme)
doc.uri; //'file:///my/file.js'
doc.languageId; // 'javascript'
match('javascript', doc); // 10;
match({ language: 'javascript' }, doc); // 10;
match({ language: 'javascript', scheme: 'file' }, doc); // 10;
match('*', doc); // 5
match('fooLang', doc); // 0
match(['fooLang', '*'], doc); // 5
// virtual document, e.g. from git-index
doc.uri; // 'git:/my/file.js'
doc.languageId; // 'javascript'
match('javascript', doc); // 10;
match({ language: 'javascript', scheme: 'git' }, doc); // 10;
match('*', doc); // 5
// notebook cell document
doc.uri; // `vscode-notebook-cell:///my/notebook.ipynb#gl65s2pmha`;
doc.languageId; // 'python'
match({ notebookType: 'jupyter-notebook' }, doc); // 10
match({ notebookType: 'fooNotebook', language: 'python' }, doc); // 0
match({ language: 'python' }, doc); // 10
match({ notebookType: '*' }, doc); // 5
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Dokumentselektor. |
| document: TextDocument | Ein Textdokument. |
| Gibt zurück | Beschreibung |
| number | Eine Zahl |
registerCallHierarchyProvider(selector: DocumentSelector, provider: CallHierarchyProvider): Disposable
Registriert einen Anbieter für Aufrufhierarchien.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: CallHierarchyProvider | Ein Anbieter für Aufrufhierarchien. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerCodeActionsProvider(selector: DocumentSelector, provider: CodeActionProvider<CodeAction>, metadata?: CodeActionProviderMetadata): Disposable
Registriert einen Anbieter für Code-Aktionen.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: CodeActionProvider<CodeAction> | Ein Anbieter für Code-Aktionen. |
| metadata?: CodeActionProviderMetadata | Metadaten über die Art der Code-Aktionen, die der Anbieter bereitstellt. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerCodeLensProvider(selector: DocumentSelector, provider: CodeLensProvider<CodeLens>): Disposable
Registriert einen Anbieter für Code-Lenses.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: CodeLensProvider<CodeLens> | Ein Anbieter für Code-Lenses. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerColorProvider(selector: DocumentSelector, provider: DocumentColorProvider): Disposable
Registriert einen Farb-Anbieter.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: DocumentColorProvider | Ein Farb-Anbieter. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerCompletionItemProvider(selector: DocumentSelector, provider: CompletionItemProvider<CompletionItem>, ...triggerCharacters: string[]): Disposable
Registriert einen Vervollständigungsanbieter.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter nach ihrem Score sortiert und Gruppen mit gleichem Score werden sequenziell nach Vervollständigungselementen abgefragt. Der Vorgang stoppt, wenn ein oder mehrere Anbieter einer Gruppe ein Ergebnis zurückgeben. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zum Fehlschlag des gesamten Vorgangs.
Ein Vervollständigungs-Item-Anbieter kann mit einer Reihe von triggerCharacters verknüpft werden. Wenn Trigger-Zeichen eingegeben werden, werden Vervollständigungen angefordert, aber nur von Anbietern, die das eingegebene Zeichen registriert haben. Aus diesem Grund sollten Trigger-Zeichen von Wortzeichen abweichen, ein gängiges Trigger-Zeichen ist . zum Auslösen von Member-Vervollständigungen.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: CompletionItemProvider<CompletionItem> | Ein Vervollständigungsanbieter. |
| ...triggerCharacters: string[] | Vervollständigung auslösen, wenn der Benutzer eines der Zeichen eingibt. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerDeclarationProvider(selector: DocumentSelector, provider: DeclarationProvider): Disposable
Registriert einen Deklarationsanbieter.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: DeclarationProvider | Ein Deklarationsanbieter. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerDefinitionProvider(selector: DocumentSelector, provider: DefinitionProvider): Disposable
Registriert einen Definition-Anbieter.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: DefinitionProvider | Ein Definition-Anbieter. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerDocumentDropEditProvider(selector: DocumentSelector, provider: DocumentDropEditProvider<DocumentDropEdit>, metadata?: DocumentDropEditProviderMetadata): Disposable
Registriert einen neuen DocumentDropEditProvider.
Für eine Sprache können mehrere Drop-Provider registriert werden. Beim Ablegen von Inhalten in einem Editor werden alle registrierten Provider für die Sprache des Editors basierend auf den von ihnen verarbeiteten Mime-Typen aufgerufen, wie in ihrer DocumentDropEditProviderMetadata angegeben.
Jeder Provider kann eine oder mehrere DocumentDropEdits zurückgeben. Die Edits werden anhand der Eigenschaft DocumentDropEdit.yieldTo sortiert. Standardmäßig wird der erste Edit angewendet. Wenn zusätzliche Edits vorhanden sind, werden diese dem Benutzer als auswählbare Drop-Optionen im Drop-Widget angezeigt.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Provider gilt. |
| provider: DocumentDropEditProvider<DocumentDropEdit> | Ein Drop-Provider. |
| metadata?: DocumentDropEditProviderMetadata | Zusätzliche Metadaten über den Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das diesen Provider beim Entsorgen abmeldet. |
registerDocumentFormattingEditProvider(selector: DocumentSelector, provider: DocumentFormattingEditProvider): Disposable
Registriert einen Formatierungs-Provider für ein Dokument.
Es können mehrere Provider für eine Sprache registriert werden. In diesem Fall werden die Provider nach ihrem score sortiert und der am besten passende Provider wird verwendet. Ein Fehler des ausgewählten Providers führt zu einem Fehler der gesamten Operation.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: DocumentFormattingEditProvider | Ein Dokument-Formatierungs-Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerDocumentHighlightProvider(selector: DocumentSelector, provider: DocumentHighlightProvider): Disposable
Registriert einen Dokument-Hervorhebungs-Provider.
Es können mehrere Provider für eine Sprache registriert werden. In diesem Fall werden die Provider nach ihrem score sortiert und nacheinander nach Dokument-Hervorhebungen gefragt. Der Prozess wird gestoppt, wenn ein Provider ein nicht-falsches oder nicht-fehlgeschlagenes Ergebnis zurückgibt.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: DocumentHighlightProvider | Ein Dokument-Hervorhebungs-Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerDocumentLinkProvider(selector: DocumentSelector, provider: DocumentLinkProvider<DocumentLink>): Disposable
Registriert einen Dokument-Link-Provider.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: DocumentLinkProvider<DocumentLink> | Ein Dokument-Link-Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerDocumentPasteEditProvider(selector: DocumentSelector, provider: DocumentPasteEditProvider<DocumentPasteEdit>, metadata: DocumentPasteProviderMetadata): Disposable
Registriert einen neuen DocumentPasteEditProvider.
Es können mehrere Provider für eine Sprache registriert werden. Alle registrierten Provider für eine Sprache werden für Kopier- und Einfügeoperationen basierend auf den von ihnen verarbeiteten Mime-Typen aufgerufen, wie in der DocumentPasteProviderMetadata angegeben.
Für Kopieroperationen werden Änderungen am DataTransfer, die von jedem Provider vorgenommen wurden, zu einem einzigen DataTransfer zusammengeführt, der zum Füllen der Zwischenablage verwendet wird.
Für [DocumentPasteEditProvider.providerDocumentPasteEdits Einfügeoperationen](#_DocumentPasteEditProvider.providerDocumentPasteEdits Einfügeoperationen) wird jeder Provider aufgerufen und kann eine oder mehrere DocumentPasteEdits zurückgeben. Die Edits werden anhand der Eigenschaft DocumentPasteEdit.yieldTo sortiert. Standardmäßig wird der erste Edit angewendet und die restlichen Edits werden dem Benutzer als auswählbare Einfügeoptionen im Einfüge-Widget angezeigt.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Provider gilt. |
| provider: DocumentPasteEditProvider<DocumentPasteEdit> | Ein Einfüge-Editor-Provider. |
| metadata: DocumentPasteProviderMetadata | Zusätzliche Metadaten über den Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das diesen Provider beim Entsorgen abmeldet. |
registerDocumentRangeFormattingEditProvider(selector: DocumentSelector, provider: DocumentRangeFormattingEditProvider): Disposable
Registriert einen Formatierungs-Provider für einen Dokumentbereich.
Hinweis: Ein Dokumentbereich-Provider ist auch ein Dokument-Formatter, was bedeutet, dass kein Dokument-Formatter registriert werden muss, wenn auch ein Bereichs-Provider registriert wird.
Es können mehrere Provider für eine Sprache registriert werden. In diesem Fall werden die Provider nach ihrem score sortiert und der am besten passende Provider wird verwendet. Ein Fehler des ausgewählten Providers führt zu einem Fehler der gesamten Operation.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: DocumentRangeFormattingEditProvider | Ein Dokumentbereich-Formatierungs-Editor-Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerDocumentRangeSemanticTokensProvider(selector: DocumentSelector, provider: DocumentRangeSemanticTokensProvider, legend: SemanticTokensLegend): Disposable
Registriert einen Provider für semantische Token für einen Dokumentbereich.
Hinweis: Wenn ein Dokument sowohl einen DocumentSemanticTokensProvider als auch einen DocumentRangeSemanticTokensProvider hat, wird der Bereichs-Provider nur initial aufgerufen, für die Zeit, die der vollständige Dokument-Provider zur Auflösung der ersten Anfrage benötigt. Sobald der vollständige Dokument-Provider die erste Anfrage auflöst, werden die über den Bereichs-Provider bereitgestellten semantischen Token verworfen und von da an wird nur noch der Dokument-Provider verwendet.
Es können mehrere Provider für eine Sprache registriert werden. In diesem Fall werden die Provider nach ihrem score sortiert und der am besten passende Provider wird verwendet. Ein Fehler des ausgewählten Providers führt zu einem Fehler der gesamten Operation.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: DocumentRangeSemanticTokensProvider | Ein Provider für semantische Token für einen Dokumentbereich. |
| legend: SemanticTokensLegend | |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerDocumentSemanticTokensProvider(selector: DocumentSelector, provider: DocumentSemanticTokensProvider, legend: SemanticTokensLegend): Disposable
Registriert einen Provider für semantische Token für ein gesamtes Dokument.
Es können mehrere Provider für eine Sprache registriert werden. In diesem Fall werden die Provider nach ihrem score sortiert und der am besten passende Provider wird verwendet. Ein Fehler des ausgewählten Providers führt zu einem Fehler der gesamten Operation.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: DocumentSemanticTokensProvider | Ein Provider für semantische Token für ein Dokument. |
| legend: SemanticTokensLegend | |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerDocumentSymbolProvider(selector: DocumentSelector, provider: DocumentSymbolProvider, metaData?: DocumentSymbolProviderMetadata): Disposable
Registriert einen Dokument-Symbol-Provider.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: DocumentSymbolProvider | Ein Dokument-Symbol-Provider. |
| metaData?: DocumentSymbolProviderMetadata | Metadaten über den Provider |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerEvaluatableExpressionProvider(selector: DocumentSelector, provider: EvaluatableExpressionProvider): Disposable
Registriert einen Provider, der auswertbare Ausdrücke in Textdokumenten findet. Der Editor wertet den Ausdruck in der aktiven Debug-Sitzung aus und zeigt das Ergebnis im Debug-Hover an.
Wenn mehrere Provider für eine Sprache registriert sind, wird ein beliebiger Provider verwendet.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: EvaluatableExpressionProvider | Ein Provider für auswertbare Ausdrücke. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerFoldingRangeProvider(selector: DocumentSelector, provider: FoldingRangeProvider): Disposable
Registriert einen Provider für Faltungsbereiche.
Es können mehrere Provider für eine Sprache registriert werden. In diesem Fall werden die Provider parallel abgefragt und die Ergebnisse zusammengeführt. Wenn mehrere Faltungsbereiche an derselben Position beginnen, wird nur der Bereich des zuerst registrierten Providers verwendet. Wenn ein Faltungsbereich einen anderen Bereich überlappt, der eine kleinere Position hat, wird dieser ebenfalls ignoriert.
Ein fehlerhafter Provider (abgelehnte Promise oder Exception) führt nicht zum Fehlschlagen der gesamten Operation.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: FoldingRangeProvider | Ein Provider für Faltungsbereiche. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerHoverProvider(selector: DocumentSelector, provider: HoverProvider): Disposable
Registriert einen Hover-Provider.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: HoverProvider | Ein Hover-Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerImplementationProvider(selector: DocumentSelector, provider: ImplementationProvider): Disposable
Registriert einen Implementierungs-Provider.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: ImplementationProvider | Ein Implementierungs-Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerInlayHintsProvider(selector: DocumentSelector, provider: InlayHintsProvider<InlayHint>): Disposable
Registriert einen Inlay-Hints-Provider.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: InlayHintsProvider<InlayHint> | Ein Inlay-Hints-Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerInlineCompletionItemProvider(selector: DocumentSelector, provider: InlineCompletionItemProvider): Disposable
Registriert einen Inline-Completion-Provider.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: InlineCompletionItemProvider | Ein Inline-Completion-Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerInlineValuesProvider(selector: DocumentSelector, provider: InlineValuesProvider): Disposable
Registriert einen Provider, der Daten für die "Inline-Wert"-Funktion des Debuggers zurückgibt. Immer wenn der generische Debugger in einer Quelldatei angehalten hat, werden die für die Sprache der Datei registrierten Provider aufgerufen, um Textdaten zurückzugeben, die am Ende von Zeilen im Editor angezeigt werden.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: InlineValuesProvider | Ein Inline-Values-Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerLinkedEditingRangeProvider(selector: DocumentSelector, provider: LinkedEditingRangeProvider): Disposable
Registriert einen Provider für verkettete Bearbeitungsbereiche.
Es können mehrere Provider für eine Sprache registriert werden. In diesem Fall werden die Provider nach ihrem score sortiert und der am besten passende Provider, der ein Ergebnis liefert, wird verwendet. Ein Fehler des ausgewählten Providers führt zu einem Fehler der gesamten Operation.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: LinkedEditingRangeProvider | Ein Provider für verkettete Bearbeitungsbereiche. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerOnTypeFormattingEditProvider(selector: DocumentSelector, provider: OnTypeFormattingEditProvider, firstTriggerCharacter: string, ...moreTriggerCharacter: string[]): Disposable
Registriert einen Formatierungs-Provider, der beim Tippen funktioniert. Der Provider ist aktiv, wenn der Benutzer die Einstellung editor.formatOnType aktiviert.
Es können mehrere Provider für eine Sprache registriert werden. In diesem Fall werden die Provider nach ihrem score sortiert und der am besten passende Provider wird verwendet. Ein Fehler des ausgewählten Providers führt zu einem Fehler der gesamten Operation.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: OnTypeFormattingEditProvider | Ein Formatierungs-Editor-Provider für das Tippen. |
| firstTriggerCharacter: string | Ein Zeichen, bei dessen Eingabe die Formatierung ausgelöst werden soll, z. B. |
| ...moreTriggerCharacter: string[] | Weitere Auslösezeichen. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerReferenceProvider(selector: DocumentSelector, provider: ReferenceProvider): Disposable
Registriert einen Referenz-Provider.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: ReferenceProvider | Ein Referenz-Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerRenameProvider(selector: DocumentSelector, provider: RenameProvider): Disposable
Registriert einen Umbenennungs-Provider.
Es können mehrere Provider für eine Sprache registriert werden. In diesem Fall werden die Provider nach ihrem score sortiert und nacheinander abgefragt. Der erste Provider, der ein Ergebnis liefert, definiert das Ergebnis der gesamten Operation.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: RenameProvider | Ein Umbenennungs-Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerSelectionRangeProvider(selector: DocumentSelector, provider: SelectionRangeProvider): Disposable
Registriert einen Provider für Auswahlbereiche.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: SelectionRangeProvider | Ein Provider für Auswahlbereiche. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerSignatureHelpProvider(selector: DocumentSelector, provider: SignatureHelpProvider, ...triggerCharacters: string[]): Disposable
Registriert einen Provider für Signaturhilfe.
Es können mehrere Provider für eine Sprache registriert werden. In diesem Fall werden die Provider nach ihrem score sortiert und nacheinander aufgerufen, bis ein Provider ein gültiges Ergebnis zurückgibt.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: SignatureHelpProvider | Ein Provider für Signaturhilfe. |
| ...triggerCharacters: string[] | Löst die Signaturhilfe aus, wenn der Benutzer eines der Zeichen eingibt, z. B. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerSignatureHelpProvider(selector: DocumentSelector, provider: SignatureHelpProvider, metadata: SignatureHelpProviderMetadata): Disposable
Siehe auch languages.registerSignatureHelpProvider
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: SignatureHelpProvider | Ein Provider für Signaturhilfe. |
| metadata: SignatureHelpProviderMetadata | Informationen über den Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerTypeDefinitionProvider(selector: DocumentSelector, provider: TypeDefinitionProvider): Disposable
Registriert einen Provider für Typdefinitionen.
Mehrere Anbieter können für eine Sprache registriert werden. In diesem Fall werden Anbieter parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Anbieter (abgelehnter Promise oder Ausnahme) führt nicht zu einem Fehler des gesamten Vorgangs.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: TypeDefinitionProvider | Ein Provider für Typdefinitionen. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerTypeHierarchyProvider(selector: DocumentSelector, provider: TypeHierarchyProvider): Disposable
Registriert einen Provider für Typenhierarchien.
| Parameter | Beschreibung |
|---|---|
| selector: DocumentSelector | Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt. |
| provider: TypeHierarchyProvider | Ein Provider für Typenhierarchien. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerWorkspaceSymbolProvider(provider: WorkspaceSymbolProvider<SymbolInformation>): Disposable
Registriert einen Workspace-Symbol-Provider.
Es können mehrere Provider registriert werden. In diesem Fall werden die Provider parallel abgefragt und die Ergebnisse zusammengeführt. Ein fehlerhafter Provider (abgelehnte Promise oder Exception) führt nicht zum Fehlschlagen der gesamten Operation.
| Parameter | Beschreibung |
|---|---|
| provider: WorkspaceSymbolProvider<SymbolInformation> | Ein Workspace-Symbol-Provider. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
setLanguageConfiguration(language: string, configuration: LanguageConfiguration): Disposable
Setzt eine Sprachkonfiguration für eine Sprache.
| Parameter | Beschreibung |
|---|---|
| language: string | Ein Sprachbezeichner wie z. B. |
| configuration: LanguageConfiguration | Sprachkonfiguration. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das diese Konfiguration zurücksetzt. |
setTextDocumentLanguage(document: TextDocument, languageId: string): Thenable<TextDocument>
Setzt die Sprach-ID, die mit dem gegebenen Dokument verknüpft ist (und ändert sie).
Hinweis: Das Aufrufen dieser Funktion löst das Ereignis onDidCloseTextDocument gefolgt vom Ereignis onDidOpenTextDocument aus.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, dessen Sprache geändert werden soll |
| languageId: string | Die neue Sprachkennung. |
| Gibt zurück | Beschreibung |
| Thenable<TextDocument> | Ein Thenable, das sich mit dem aktualisierten Dokument auflöst. |
lm
Namespace für sprachmodellbezogene Funktionalität.
Variablen
tools: readonly LanguageModelToolInformation[]
Eine Liste aller verfügbaren Tools, die von allen Erweiterungen über lm.registerTool registriert wurden. Sie können mit lm.invokeTool mit Eingaben aufgerufen werden, die ihrem deklarierten inputSchema entsprechen.
Events
onDidChangeChatModels: Event<void>
Ein Ereignis, das ausgelöst wird, wenn sich die Menge der verfügbaren Chat-Modelle ändert.
Funktionen
invokeTool(name: string, options: LanguageModelToolInvocationOptions<object>, token?: CancellationToken): Thenable<LanguageModelToolResult>
Ruft ein Tool, das in lm.tools aufgeführt ist, anhand seines Namens mit der angegebenen Eingabe auf. Die Eingabe wird anhand des vom Tool deklarierten Schemas validiert.
Ein Tool kann von einem Chat-Teilnehmer im Kontext der Bearbeitung einer Chat-Anfrage aufgerufen werden, oder global von jeder Erweiterung in einem beliebigen benutzerdefinierten Fluss.
Im ersteren Fall muss der Aufrufer das toolInvocationToken übergeben, das von einer Chat-Anfrage stammt. Dies stellt sicher, dass die Chat-Benutzeroberfläche den Tool-Aufruf für die richtige Konversation anzeigt.
Ein Tool- Ergebnis ist ein Array von Text- und Prompt-tsx-Teilen. Wenn der Tool-Aufrufer vscode/prompt-tsx verwendet, kann er die Antwortteile mithilfe eines ToolResult in seinen Prompt einbinden. Andernfalls können die Teile über eine Benutzernachricht mit einem LanguageModelToolResultPart an das LanguageModelChat übergeben werden.
Wenn ein Chat-Teilnehmer Tool-Ergebnisse für Anfragen über mehrere Runden hinweg beibehalten möchte, kann er die Tool-Ergebnisse in den ChatResult.metadata speichern, die vom Handler zurückgegeben werden, und sie in der nächsten Runde aus ChatResponseTurn.result abrufen.
| Parameter | Beschreibung |
|---|---|
| name: string | Der Name des aufzurufenden Tools. |
| options: LanguageModelToolInvocationOptions<object> | Die Optionen, die beim Aufrufen des Tools verwendet werden sollen. |
| token?: CancellationToken | Ein Abbruch-Token. Informationen zur Erstellung finden Sie unter CancellationTokenSource. |
| Gibt zurück | Beschreibung |
| Thenable<LanguageModelToolResult> | Das Ergebnis des Tool-Aufrufs. |
registerLanguageModelChatProvider(vendor: string, provider: LanguageModelChatProvider<LanguageModelChatInformation>): Disposable
Registriert einen LanguageModelChatProvider. Hinweis: Sie müssen den Language Model Chat Provider auch über den languageModelChatProviders Beitragspunkt in der package.json definieren.
| Parameter | Beschreibung |
|---|---|
| vendor: string | Der Anbieter für diesen Provider. Muss global eindeutig sein. Ein Beispiel ist |
| provider: LanguageModelChatProvider<LanguageModelChatInformation> | Der zu registrierende Provider |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das den Provider beim Entsorgen abmeldet. |
registerMcpServerDefinitionProvider(id: string, provider: McpServerDefinitionProvider<McpServerDefinition>): Disposable
Registriert einen Anbieter, der Model Context Protocol (MCP) Server für den Editor zur Verfügung stellt. Dies ermöglicht es, MCP-Server dynamisch für den Editor bereitzustellen, zusätzlich zu denen, die der Benutzer in seinen Konfigurationsdateien erstellt.
Vor dem Aufruf dieser Methode müssen Erweiterungen den Extension Point contributes.mcpServerDefinitionProviders mit der entsprechenden ID registrieren, zum Beispiel
"contributes": {
"mcpServerDefinitionProviders": [
{
"id": "cool-cloud-registry.mcp-servers",
"label": "Cool Cloud Registry",
}
]
}
Wenn ein neuer McpServerDefinitionProvider verfügbar ist, ruft der Editor diesen standardmäßig automatisch auf, um neue Server und Tools zu entdecken, wenn eine Chat-Nachricht gesendet wird. Um diesen Ablauf zu ermöglichen, sollten Erweiterungen registerMcpServerDefinitionProvider während der Aktivierung aufrufen.
| Parameter | Beschreibung |
|---|---|
| id: string | Die ID des Anbieters, die für die Erweiterung eindeutig ist. |
| provider: McpServerDefinitionProvider<McpServerDefinition> | Der zu registrierende Provider |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das den Anbieter deregistriert, wenn es disposed wird. |
registerTool<T>(name: string, tool: LanguageModelTool<T>): Disposable
Registriert ein LanguageModelTool. Das Tool muss auch im languageModelTools Contribution Point der package.json registriert sein. Ein registriertes Tool ist in der lm.tools Liste für jede Erweiterung sichtbar. Damit es jedoch von einem Sprachmodell gesehen wird, muss es in der Liste der verfügbaren Tools in LanguageModelChatRequestOptions.tools übergeben werden.
| Parameter | Beschreibung |
|---|---|
| name: string | |
| tool: LanguageModelTool<T> | |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das das Tool deregistriert, wenn es disposed wird. |
selectChatModels(selector?: LanguageModelChatSelector): Thenable<LanguageModelChat[]>
Wählt Chat-Modelle anhand eines Selectors aus. Dies kann mehrere oder keine Chat-Modelle ergeben, und Erweiterungen müssen diese Fälle, insbesondere wenn kein Chat-Modell vorhanden ist, gracefully behandeln.
const models = await vscode.lm.selectChatModels({ family: 'gpt-3.5-turbo' });
if (models.length > 0) {
const [first] = models;
const response = await first.sendRequest(...)
// ...
} else {
// NO chat models available
}
Ein Selector kann so geschrieben werden, dass er alle Modelle eines bestimmten Anbieters oder einer Familie breit abgleicht, oder er kann ein einzelnes Modell anhand seiner ID eng auswählen. Beachten Sie, dass sich die verfügbare Menge an Modellen im Laufe der Zeit ändern kann und dass Prompts bei verschiedenen Modellen unterschiedlich performen können.
Hinweis: Erweiterungen können die von dieser Funktion zurückgegebenen Ergebnisse festhalten und später verwenden. Wenn jedoch das Ereignis onDidChangeChatModels ausgelöst wird, kann sich die Liste der Chat-Modelle geändert haben, und Erweiterungen sollten eine erneute Abfrage durchführen.
| Parameter | Beschreibung |
|---|---|
| selector?: LanguageModelChatSelector | Ein Chat-Modell-Selector. Wenn weggelassen, werden alle Chat-Modelle zurückgegeben. |
| Gibt zurück | Beschreibung |
| Thenable<LanguageModelChat[]> | Ein Array von Chat-Modellen, kann leer sein! |
notebooks
Namespace für Notebooks.
Die Notebook-Funktionalität besteht aus drei lose gekoppelten Komponenten
- NotebookSerializer ermöglicht dem Editor, Notebooks zu öffnen, anzuzeigen und zu speichern.
- NotebookController ist für die Ausführung von Notebooks zuständig, z. B. erstellt er Ausgaben aus Code-Zellen.
- NotebookRenderer stellt Notebook-Ausgaben im Editor dar. Sie laufen in einem separaten Kontext.
Funktionen
createNotebookController(id: string, notebookType: string, label: string, handler?: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => void | Thenable<void>): NotebookController
Erstellt einen neuen Notebook-Controller.
| Parameter | Beschreibung |
|---|---|
| id: string | Die ID des Controllers. Muss pro Erweiterung eindeutig sein. |
| notebookType: string | Der Notebook-Typ, für den dieser Controller zuständig ist. |
| label: string | Die Bezeichnung des Controllers. |
| handler?: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => void | Thenable<void> | Der Ausführungs-Handler des Controllers. |
| Gibt zurück | Beschreibung |
| NotebookController | Ein neuer Notebook-Controller. |
createRendererMessaging(rendererId: string): NotebookRendererMessaging
Erstellt eine neue Messaging-Instanz zur Kommunikation mit einem bestimmten Renderer.
- Hinweis 1: Erweiterungen können nur Renderer erstellen, die sie in ihrer
package.json-Datei definiert haben. - Hinweis 2: Ein Renderer hat nur Zugriff auf Messaging, wenn
requiresMessagingin seinemnotebookRendererContribution aufalwaysoderoptionalgesetzt ist.
| Parameter | Beschreibung |
|---|---|
| rendererId: string | Die Renderer-ID, mit der kommuniziert werden soll. |
| Gibt zurück | Beschreibung |
| NotebookRendererMessaging | Ein neues Notebook-Renderer-Messaging-Objekt. |
registerNotebookCellStatusBarItemProvider(notebookType: string, provider: NotebookCellStatusBarItemProvider): Disposable
Registriert einen Statusleisten-Element-Anbieter für die angegebene Notebook-Art.
| Parameter | Beschreibung |
|---|---|
| notebookType: string | Der Notebook-Typ, für den die Registrierung erfolgt. |
| provider: NotebookCellStatusBarItemProvider | Ein Anbieter für Statusleisten-Elemente von Zellen. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
scm
Namespace für Source Control Management.
Variablen
inputBox: SourceControlInputBox
Das Eingabefeld für die letzte von der Erweiterung erstellte Quellcodeverwaltung.
- veraltet - Verwenden Sie stattdessen SourceControl.inputBox
Funktionen
createSourceControl(id: string, label: string, rootUri?: Uri): SourceControl
Erstellt eine neue Quellcodeverwaltungsinstanz.
| Parameter | Beschreibung |
|---|---|
| id: string | Eine |
| label: string | Eine menschenlesbare Zeichenkette für die Quellcodeverwaltung. Z. B.: |
| rootUri?: Uri | Eine optionale URI des Stammverzeichnisses der Quellcodeverwaltung. Z. B.: |
| Gibt zurück | Beschreibung |
| SourceControl | Eine Instanz von SourceControl. |
tasks
Namespace für Task-Funktionalität.
Variablen
taskExecutions: readonly TaskExecution[]
Die aktuell aktiven Task-Ausführungen oder ein leeres Array.
Events
onDidEndTask: Event<TaskEndEvent>
Wird ausgelöst, wenn ein Task beendet wird.
onDidEndTaskProcess: Event<TaskProcessEndEvent>
Wird ausgelöst, wenn der zugrunde liegende Prozess beendet wurde. Dieses Ereignis wird nicht für Tasks ausgelöst, die keinen zugrunde liegenden Prozess ausführen.
onDidStartTask: Event<TaskStartEvent>
Wird ausgelöst, wenn ein Task startet.
onDidStartTaskProcess: Event<TaskProcessStartEvent>
Wird ausgelöst, wenn der zugrunde liegende Prozess gestartet wurde. Dieses Ereignis wird nicht für Tasks ausgelöst, die keinen zugrunde liegenden Prozess ausführen.
Funktionen
executeTask(task: Task): Thenable<TaskExecution>
Führt einen Task aus, der vom Editor verwaltet wird. Die zurückgegebene Task-Ausführung kann verwendet werden, um den Task zu beenden.
- wirft - Beim Ausführen eines ShellExecution- oder ProcessExecution-Tasks in einer Umgebung, in der kein neuer Prozess gestartet werden kann. In einer solchen Umgebung können nur CustomExecution-Tasks ausgeführt werden.
| Parameter | Beschreibung |
|---|---|
| task: Task | der auszuführende Task. |
| Gibt zurück | Beschreibung |
| Thenable<TaskExecution> | Ein Thenable, der sich zu einer Task-Ausführung auflöst. |
fetchTasks(filter?: TaskFilter): Thenable<Task[]>
Ruft alle im System verfügbaren Tasks ab. Dazu gehören Tasks aus tasks.json-Dateien sowie Tasks von Task-Anbietern, die über Erweiterungen bereitgestellt werden.
| Parameter | Beschreibung |
|---|---|
| filter?: TaskFilter | Optionaler Filter zur Auswahl von Tasks eines bestimmten Typs oder einer bestimmten Version. |
| Gibt zurück | Beschreibung |
| Thenable<Task[]> | Ein Thenable, der sich zu einem Array von Tasks auflöst. |
registerTaskProvider(type: string, provider: TaskProvider<Task>): Disposable
Registriert einen Task-Anbieter.
| Parameter | Beschreibung |
|---|---|
| type: string | Der Task-Kind-Typ, für den dieser Anbieter registriert ist. |
| provider: TaskProvider<Task> | Ein Task-Anbieter. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
tests
Namespace für Testfunktionalität. Tests werden durch Registrierung von TestController-Instanzen und anschließendes Hinzufügen von TestItems veröffentlicht. Controller können auch beschreiben, wie Tests ausgeführt werden, indem sie eine oder mehrere TestRunProfile-Instanzen erstellen.
Funktionen
createTestController(id: string, label: string): TestController
Erstellt einen neuen Test-Controller.
| Parameter | Beschreibung |
|---|---|
| id: string | Eine ID für den Controller, muss global eindeutig sein. |
| label: string | Eine menschenlesbare Bezeichnung für den Controller. |
| Gibt zurück | Beschreibung |
| TestController | Eine Instanz des TestController. |
window
Namespace für die Interaktion mit dem aktuellen Fenster des Editors. Dies umfasst sichtbare und aktive Editoren sowie UI-Elemente zur Anzeige von Nachrichten, Auswahlmöglichkeiten und zur Abfrage von Benutzereingaben.
Variablen
activeColorTheme: ColorTheme
Das aktuell aktive Farbschema, wie in den Einstellungen konfiguriert. Das aktive Schema kann über die Einstellung workbench.colorTheme geändert werden.
activeNotebookEditor: NotebookEditor | undefined
Der aktuell aktive Notebook-Editor oder undefined. Der aktive Editor ist derjenige, der gerade den Fokus hat, oder, wenn keiner den Fokus hat, derjenige, der zuletzt seine Eingabe geändert hat.
activeTerminal: Terminal | undefined
Das aktuell aktive Terminal oder undefined. Das aktive Terminal ist dasjenige, das gerade den Fokus hat oder zuletzt den Fokus hatte.
activeTextEditor: TextEditor | undefined
Der aktuell aktive Editor oder undefined. Der aktive Editor ist derjenige, der gerade den Fokus hat, oder, wenn keiner den Fokus hat, derjenige, der zuletzt seine Eingabe geändert hat.
state: WindowState
Repräsentiert den Zustand des aktuellen Fensters.
tabGroups: TabGroups
Repräsentiert das Gitter-Widget im Haupteditorbereich.
terminals: readonly Terminal[]
Die aktuell geöffneten Terminals oder ein leeres Array.
visibleNotebookEditors: readonly NotebookEditor[]
Die aktuell sichtbaren Notebook-Editoren oder ein leeres Array.
visibleTextEditors: readonly TextEditor[]
Die aktuell sichtbaren Editoren oder ein leeres Array.
Events
onDidChangeActiveColorTheme: Event<ColorTheme>
Ein Ereignis, das ausgelöst wird, wenn das aktive Farbschema geändert wird oder Änderungen aufweist.
onDidChangeActiveNotebookEditor: Event<NotebookEditor | undefined>
Ein Ereignis, das ausgelöst wird, wenn sich der aktive Notebook-Editor geändert hat. Hinweis: Das Ereignis wird auch ausgelöst, wenn der aktive Editor auf undefined geändert wird.
onDidChangeActiveTerminal: Event<Terminal | undefined>
Ein Ereignis, das ausgelöst wird, wenn sich das aktive Terminal geändert hat. Hinweis: Das Ereignis wird auch ausgelöst, wenn das aktive Terminal auf undefined geändert wird.
onDidChangeActiveTextEditor: Event<TextEditor | undefined>
Ein Ereignis, das ausgelöst wird, wenn sich der aktive Editor geändert hat. Hinweis: Das Ereignis wird auch ausgelöst, wenn der aktive Editor auf undefined geändert wird.
onDidChangeNotebookEditorSelection: Event<NotebookEditorSelectionChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn sich die Auswahlen des Notebook-Editors geändert haben.
onDidChangeNotebookEditorVisibleRanges: Event<NotebookEditorVisibleRangesChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn sich die sichtbaren Bereiche des Notebook-Editors geändert haben.
onDidChangeTerminalShellIntegration: Event<TerminalShellIntegrationChangeEvent>
Wird ausgelöst, wenn die Shell-Integration in einem Terminal aktiviert wird oder sich eine ihrer Eigenschaften ändert.
onDidChangeTerminalState: Event<Terminal>
Ein Ereignis, das ausgelöst wird, wenn sich der Zustand eines Terminals geändert hat.
onDidChangeTextEditorOptions: Event<TextEditorOptionsChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn sich die Optionen eines Editors geändert haben.
onDidChangeTextEditorSelection: Event<TextEditorSelectionChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn sich die Auswahl in einem Editor geändert hat.
onDidChangeTextEditorViewColumn: Event<TextEditorViewColumnChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn sich die Ansichtssäule eines Editors geändert hat.
onDidChangeTextEditorVisibleRanges: Event<TextEditorVisibleRangesChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn sich die sichtbaren Bereiche eines Editors geändert haben.
onDidChangeVisibleNotebookEditors: Event<readonly NotebookEditor[]>
Ein Ereignis, das ausgelöst wird, wenn sich die sichtbaren Notebook-Editoren geändert haben.
onDidChangeVisibleTextEditors: Event<readonly TextEditor[]>
Ein Ereignis, das ausgelöst wird, wenn sich das Array der sichtbaren Editoren geändert hat.
onDidChangeWindowState: Event<WindowState>
Ein Ereignis, das ausgelöst wird, wenn sich der Fokus oder der Aktivitätszustand des aktuellen Fensters ändert. Der Wert des Ereignisses gibt an, ob das Fenster fokussiert ist.
onDidCloseTerminal: Event<Terminal>
Ein Ereignis, das ausgelöst wird, wenn ein Terminal disposed wird.
onDidEndTerminalShellExecution: Event<TerminalShellExecutionEndEvent>
Dies wird ausgelöst, wenn ein Terminalbefehl beendet wurde. Dieses Ereignis wird nur ausgelöst, wenn die Shell-Integration für das Terminal aktiviert ist.
onDidOpenTerminal: Event<Terminal>
Ein Ereignis, das ausgelöst wird, wenn ein Terminal erstellt wurde, entweder über die createTerminal API oder über Befehle.
onDidStartTerminalShellExecution: Event<TerminalShellExecutionStartEvent>
Dies wird ausgelöst, wenn ein Terminalbefehl gestartet wurde. Dieses Ereignis wird nur ausgelöst, wenn die Shell-Integration für das Terminal aktiviert ist.
Funktionen
createInputBox(): InputBox
Erstellt eine Eingabebox, damit der Benutzer Text eingeben kann.
Beachten Sie, dass in vielen Fällen die bequemere Methode window.showInputBox einfacher zu verwenden ist. window.createInputBox sollte verwendet werden, wenn window.showInputBox nicht die erforderliche Flexibilität bietet.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| InputBox | Eine neue Eingabebox. |
createOutputChannel(name: string, languageId?: string): OutputChannel
Erstellt einen neuen Ausgabekanal mit dem angegebenen Namen und der angegebenen Sprach-ID. Wenn keine Sprach-ID angegeben wird, wird Log als Standard-Sprach-ID verwendet.
Sie können auf den sichtbaren oder aktiven Ausgabekanal als Textdokument über sichtbare Editoren oder aktiven Editor zugreifen und die Sprach-ID verwenden, um Sprachfunktionen wie Syntax-Hervorhebung, Code-Lenses usw. beizusteuern.
| Parameter | Beschreibung |
|---|---|
| name: string | Menschenlesbare Zeichenkette, die verwendet wird, um den Kanal in der Benutzeroberfläche darzustellen. |
| languageId?: string | Die ID der Sprache, die dem Kanal zugeordnet ist. |
| Gibt zurück | Beschreibung |
| OutputChannel | Ein neuer Ausgabekanal. |
createOutputChannel(name: string, options: {log: true}): LogOutputChannel
Erstellt einen neuen Log-Ausgabekanal mit dem angegebenen Namen.
| Parameter | Beschreibung |
|---|---|
| name: string | Menschenlesbare Zeichenkette, die verwendet wird, um den Kanal in der Benutzeroberfläche darzustellen. |
| options: {log: true} | Optionen für den Log-Ausgabekanal. |
| Gibt zurück | Beschreibung |
| LogOutputChannel | Ein neuer Log-Ausgabekanal. |
createQuickPick<T extends QuickPickItem>(): QuickPick<T>
Erstellt einen Schnellauswahldialog, damit der Benutzer ein Element aus einer Liste von Elementen vom Typ T auswählen kann.
Beachten Sie, dass in vielen Fällen die bequemere Methode window.showQuickPick einfacher zu verwenden ist. window.createQuickPick sollte verwendet werden, wenn window.showQuickPick nicht die erforderliche Flexibilität bietet.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| QuickPick<T> | Ein neuer Schnellauswahldialog. |
createStatusBarItem(id: string, alignment?: StatusBarAlignment, priority?: number): StatusBarItem
Erstellt ein Element in der Statusleiste.
| Parameter | Beschreibung |
|---|---|
| id: string | Die ID des Elements. Muss innerhalb der Erweiterung eindeutig sein. |
| alignment?: StatusBarAlignment | Die Ausrichtung des Elements. |
| priority?: number | Die Priorität des Elements. Höhere Werte bedeuten, dass das Element weiter links angezeigt werden sollte. |
| Gibt zurück | Beschreibung |
| StatusBarItem | Ein neues Element in der Statusleiste. |
createStatusBarItem(alignment?: StatusBarAlignment, priority?: number): StatusBarItem
Erstellt ein Element in der Statusleiste.
Siehe auch createStatusBarItem zum Erstellen eines Statusleisten-Elements mit einer ID.
| Parameter | Beschreibung |
|---|---|
| alignment?: StatusBarAlignment | Die Ausrichtung des Elements. |
| priority?: number | Die Priorität des Elements. Höhere Werte bedeuten, dass das Element weiter links angezeigt werden sollte. |
| Gibt zurück | Beschreibung |
| StatusBarItem | Ein neues Element in der Statusleiste. |
createTerminal(name?: string, shellPath?: string, shellArgs?: string | readonly string[]): Terminal
Erstellt ein Terminal mit einem zugrunde liegenden Shell-Prozess. Das aktuelle Arbeitsverzeichnis des Terminals ist das Arbeitsbereichsverzeichnis, falls vorhanden.
- wirft - Beim Ausführen in einer Umgebung, in der kein neuer Prozess gestartet werden kann.
| Parameter | Beschreibung |
|---|---|
| name?: string | Optionale menschenlesbare Zeichenkette, die verwendet wird, um das Terminal in der Benutzeroberfläche darzustellen. |
| shellPath?: string | Optionaler Pfad zu einer benutzerdefinierten Shell-Ausführungsdatei, die im Terminal verwendet werden soll. |
| shellArgs?: string | readonly string[] | Optionale Argumente für die benutzerdefinierte Shell-Ausführungsdatei. Eine Zeichenkette kann nur unter Windows verwendet werden, was die Angabe von Shell-Argumenten im Befehlszeilenformat ermöglicht. |
| Gibt zurück | Beschreibung |
| Terminal | Ein neues Terminal. |
createTerminal(options: TerminalOptions): Terminal
Erstellt ein Terminal mit einem zugrunde liegenden Shell-Prozess.
- wirft - Beim Ausführen in einer Umgebung, in der kein neuer Prozess gestartet werden kann.
| Parameter | Beschreibung |
|---|---|
| options: TerminalOptions | Ein TerminalOptions-Objekt, das die Merkmale des neuen Terminals beschreibt. |
| Gibt zurück | Beschreibung |
| Terminal | Ein neues Terminal. |
createTerminal(options: ExtensionTerminalOptions): Terminal
Erstellt ein Terminal, bei dem eine Erweiterung seine Ein- und Ausgaben steuert.
| Parameter | Beschreibung |
|---|---|
| options: ExtensionTerminalOptions | Ein ExtensionTerminalOptions-Objekt, das die Merkmale des neuen Terminals beschreibt. |
| Gibt zurück | Beschreibung |
| Terminal | Ein neues Terminal. |
createTextEditorDecorationType(options: DecorationRenderOptions): TextEditorDecorationType
Erstellt einen TextEditorDecorationType, der verwendet werden kann, um Texteditoren mit Dekorationen zu versehen.
| Parameter | Beschreibung |
|---|---|
| options: DecorationRenderOptions | Rendering options for the decoration type. |
| Gibt zurück | Beschreibung |
| TextEditorDecorationType | Eine neue Instanz eines Dekorationstyps. |
createTreeView<T>(viewId: string, options: TreeViewOptions<T>): TreeView<T>
Erstellen Sie eine TreeView für die über den Erweiterungspunkt viewsbeitragende Ansicht.
| Parameter | Beschreibung |
|---|---|
| viewId: string | ID der Ansicht, die über den Erweiterungspunkt |
| options: TreeViewOptions<T> | Optionen zum Erstellen der TreeView |
| Gibt zurück | Beschreibung |
| TreeView<T> | Eine TreeView. |
createWebviewPanel(viewType: string, title: string, showOptions: ViewColumn | {preserveFocus: boolean, viewColumn: ViewColumn}, options?: WebviewPanelOptions & WebviewOptions): WebviewPanel
Erstellen und anzeigen eines neuen Webview-Panels.
| Parameter | Beschreibung |
|---|---|
| viewType: string | Identifiziert den Typ des Webview-Panels. |
| title: string | Titel des Panels. |
| showOptions: ViewColumn | {preserveFocus: boolean, viewColumn: ViewColumn} | Wo das Webview im Editor angezeigt werden soll. Wenn preserveFocus gesetzt ist, übernimmt das neue Webview nicht den Fokus. |
| options?: WebviewPanelOptions & WebviewOptions | Einstellungen für das neue Panel. |
| Gibt zurück | Beschreibung |
| WebviewPanel | Neues Webview-Panel. |
registerCustomEditorProvider(viewType: string, provider: CustomTextEditorProvider | CustomReadonlyEditorProvider<CustomDocument> | CustomEditorProvider<CustomDocument>, options?: {supportsMultipleEditorsPerDocument: boolean, webviewOptions: WebviewPanelOptions}): Disposable
Registrieren Sie einen Anbieter für benutzerdefinierte Editoren für den viewType, der durch den Erweiterungspunkt customEditorsbeitragend ist.
Wenn ein benutzerdefinierter Editor geöffnet wird, wird ein Aktivierungsereignis vom Typ onCustomEditor:viewType ausgelöst. Ihre Erweiterung muss als Teil der Aktivierung einen CustomTextEditorProvider, CustomReadonlyEditorProvideroder CustomEditorProvider für viewTyperegistrieren.
| Parameter | Beschreibung |
|---|---|
| viewType: string | Eindeutiger Bezeichner für den Anbieter benutzerdefinierter Editoren. Dies muss mit dem |
| provider: CustomTextEditorProvider | CustomReadonlyEditorProvider<CustomDocument> | CustomEditorProvider<CustomDocument> | Anbieter, der benutzerdefinierte Editoren auflöst. |
| options?: {supportsMultipleEditorsPerDocument: boolean, webviewOptions: WebviewPanelOptions} | Optionen für den Anbieter. |
| Gibt zurück | Beschreibung |
| Disposable | Disposable, das den Anbieter abmeldet. |
registerFileDecorationProvider(provider: FileDecorationProvider): Disposable
Registrieren Sie einen Anbieter für Dateidekorationen.
| Parameter | Beschreibung |
|---|---|
| provider: FileDecorationProvider | |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das den Anbieter abmeldet. |
registerTerminalLinkProvider(provider: TerminalLinkProvider<TerminalLink>): Disposable
Registrieren Sie einen Anbieter, der die Erkennung und Handhabung von Links im Terminal ermöglicht.
| Parameter | Beschreibung |
|---|---|
| provider: TerminalLinkProvider<TerminalLink> | Der Anbieter, der die Terminal-Links bereitstellt. |
| Gibt zurück | Beschreibung |
| Disposable | Disposable, das den Anbieter abmeldet. |
registerTerminalProfileProvider(id: string, provider: TerminalProfileProvider): Disposable
Registriert einen Anbieter für ein beitragendes Terminalprofil.
| Parameter | Beschreibung |
|---|---|
| id: string | Die ID des beitragenden Terminalprofils. |
| provider: TerminalProfileProvider | Der Terminalprofil-Anbieter. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das den Anbieter abmeldet. |
registerTreeDataProvider<T>(viewId: string, treeDataProvider: TreeDataProvider<T>): Disposable
Registrieren Sie einen TreeDataProvider für die über den Erweiterungspunkt viewsbeitragende Ansicht. Dies ermöglicht es Ihnen, Daten zur TreeViewbeizutragen und zu aktualisieren, wenn sich die Daten ändern.
Hinweis: Um Zugriff auf die TreeViewzu erhalten und Operationen darauf auszuführen, verwenden Sie createTreeView.
| Parameter | Beschreibung |
|---|---|
| viewId: string | ID der Ansicht, die über den Erweiterungspunkt |
| treeDataProvider: TreeDataProvider<T> | Ein TreeDataProvider, der Baumdaten für die Ansicht bereitstellt. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das den TreeDataProviderabmeldet. |
registerUriHandler(handler: UriHandler): Disposable
Registriert einen URI-Handler, der systemweite URIsverarbeiten kann. Wenn mehrere Fenster geöffnet sind, verarbeitet das oberste Fenster den URI. Ein URI-Handler ist auf die Erweiterung beschränkt, von der er beitragend ist; er kann nur URIs verarbeiten, die an die Erweiterung selbst gerichtet sind. Ein URI muss die folgenden Regeln einhalten:
- Das URI-Schema muss
vscode.env.uriSchemesein; - Die URI-Autorität muss die Erweiterungs-ID sein (z. B.
my.extension); - Die Teile
uri-path,uri-queryunduri-fragmentsind beliebig.
Wenn beispielsweise die Erweiterung my.extensioneinen URI-Handler registriert, darf sie nur URIs mit dem Präfix product-name://my.extensionverarbeiten.
Eine Erweiterung kann in ihrer gesamten Aktivierungslebensdauer nur einen einzigen URI-Handler registrieren.
- Hinweis: Es gibt ein Aktivierungsereignis
onUri, das ausgelöst wird, wenn ein URI, der für die aktuelle Erweiterung bestimmt ist, verarbeitet werden soll.
| Parameter | Beschreibung |
|---|---|
| handler: UriHandler | Der für diese Erweiterung zu registrierende URI-Handler. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das den Handler abmeldet. |
registerWebviewPanelSerializer(viewType: string, serializer: WebviewPanelSerializer<unknown>): Disposable
Registriert einen Serialisierer für Webview-Panels.
Erweiterungen, die das Wiederbeleben unterstützen, sollten ein Aktivierungsereignis "onWebviewPanel:viewType"haben und sicherstellen, dass registerWebviewPanelSerializerwährend der Aktivierung aufgerufen wird.
Für einen bestimmten viewTypedarf zu jeder Zeit nur ein einziger Serialisierer registriert sein.
| Parameter | Beschreibung |
|---|---|
| viewType: string | Typ des Webview-Panels, das serialisiert werden kann. |
| serializer: WebviewPanelSerializer<unknown> | Webview-Serialisierer. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das den Serialisierer abmeldet. |
registerWebviewViewProvider(viewId: string, provider: WebviewViewProvider, options?: {webviewOptions: {retainContextWhenHidden: boolean}}): Disposable
Registriert einen neuen Anbieter für Webview-Ansichten.
| Parameter | Beschreibung |
|---|---|
| viewId: string | Eindeutige ID der Ansicht. Dies muss mit der |
| provider: WebviewViewProvider | Anbieter für die Webview-Ansichten. |
| options?: {webviewOptions: {retainContextWhenHidden: boolean}} | |
| Gibt zurück | Beschreibung |
| Disposable | Disposable, das den Anbieter abmeldet. |
setStatusBarMessage(text: string, hideAfterTimeout: number): Disposable
Setzt eine Nachricht in der Statusleiste. Dies ist eine Kurzform für die leistungsfähigeren Statusleisten-Elemente.
| Parameter | Beschreibung |
|---|---|
| text: string | Die anzuzeigende Nachricht, unterstützt Icon-Ersetzung wie bei Statusleisten-Elementen. |
| hideAfterTimeout: number | Timeout in Millisekunden, nach dem die Nachricht verworfen wird. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das die Nachricht in der Statusleiste ausblendet. |
setStatusBarMessage(text: string, hideWhenDone: Thenable<any>): Disposable
Setzt eine Nachricht in der Statusleiste. Dies ist eine Kurzform für die leistungsfähigeren Statusleisten-Elemente.
| Parameter | Beschreibung |
|---|---|
| text: string | Die anzuzeigende Nachricht, unterstützt Icon-Ersetzung wie bei Statusleisten-Elementen. |
| hideWhenDone: Thenable<any> | Ein Thenable, bei dessen Abschluss (Auflösung oder Ablehnung) die Nachricht verworfen wird. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das die Nachricht in der Statusleiste ausblendet. |
setStatusBarMessage(text: string): Disposable
Setzt eine Nachricht in der Statusleiste. Dies ist eine Kurzform für die leistungsfähigeren Statusleisten-Elemente.
Hinweis, dass sich Statusleisten-Nachrichten stapeln und dass sie verworfen werden müssen, wenn sie nicht mehr benötigt werden.
| Parameter | Beschreibung |
|---|---|
| text: string | Die anzuzeigende Nachricht, unterstützt Icon-Ersetzung wie bei Statusleisten-Elementen. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das die Nachricht in der Statusleiste ausblendet. |
showErrorMessage<T extends string>(message: string, ...items: T[]): Thenable<T | undefined>
Zeigt eine Fehlermeldung an.
Siehe auch showInformationMessage
| Parameter | Beschreibung |
|---|---|
| message: string | Die anzuzeigende Nachricht. |
| ...items: T[] | Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden. |
| Gibt zurück | Beschreibung |
| Thenable<T | undefined> | Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder |
showErrorMessage<T extends string>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
Zeigt eine Fehlermeldung an.
Siehe auch showInformationMessage
| Parameter | Beschreibung |
|---|---|
| message: string | Die anzuzeigende Nachricht. |
| options: MessageOptions | Konfiguriert das Verhalten der Nachricht. |
| ...items: T[] | Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden. |
| Gibt zurück | Beschreibung |
| Thenable<T | undefined> | Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder |
showErrorMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T | undefined>
Zeigt eine Fehlermeldung an.
Siehe auch showInformationMessage
| Parameter | Beschreibung |
|---|---|
| message: string | Die anzuzeigende Nachricht. |
| ...items: T[] | Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden. |
| Gibt zurück | Beschreibung |
| Thenable<T | undefined> | Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder |
showErrorMessage<T extends MessageItem>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
Zeigt eine Fehlermeldung an.
Siehe auch showInformationMessage
| Parameter | Beschreibung |
|---|---|
| message: string | Die anzuzeigende Nachricht. |
| options: MessageOptions | Konfiguriert das Verhalten der Nachricht. |
| ...items: T[] | Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden. |
| Gibt zurück | Beschreibung |
| Thenable<T | undefined> | Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder |
showInformationMessage<T extends string>(message: string, ...items: T[]): Thenable<T | undefined>
Zeigt dem Benutzer eine Informationsmeldung an. Optional können eine Reihe von Elementen bereitgestellt werden, die als anklickbare Schaltflächen angezeigt werden.
| Parameter | Beschreibung |
|---|---|
| message: string | Die anzuzeigende Nachricht. |
| ...items: T[] | Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden. |
| Gibt zurück | Beschreibung |
| Thenable<T | undefined> | Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder |
showInformationMessage<T extends string>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
Zeigt dem Benutzer eine Informationsmeldung an. Optional können eine Reihe von Elementen bereitgestellt werden, die als anklickbare Schaltflächen angezeigt werden.
| Parameter | Beschreibung |
|---|---|
| message: string | Die anzuzeigende Nachricht. |
| options: MessageOptions | Konfiguriert das Verhalten der Nachricht. |
| ...items: T[] | Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden. |
| Gibt zurück | Beschreibung |
| Thenable<T | undefined> | Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder |
showInformationMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T | undefined>
Zeigt eine Informationsmeldung an.
Siehe auch showInformationMessage
| Parameter | Beschreibung |
|---|---|
| message: string | Die anzuzeigende Nachricht. |
| ...items: T[] | Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden. |
| Gibt zurück | Beschreibung |
| Thenable<T | undefined> | Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder |
showInformationMessage<T extends MessageItem>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
Zeigt eine Informationsmeldung an.
Siehe auch showInformationMessage
| Parameter | Beschreibung |
|---|---|
| message: string | Die anzuzeigende Nachricht. |
| options: MessageOptions | Konfiguriert das Verhalten der Nachricht. |
| ...items: T[] | Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden. |
| Gibt zurück | Beschreibung |
| Thenable<T | undefined> | Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder |
showInputBox(options?: InputBoxOptions, token?: CancellationToken): Thenable<string | undefined>
Öffnet eine Eingabebox, um den Benutzer zur Eingabe aufzufordern.
Der zurückgegebene Wert ist undefined, wenn die Eingabebox abgebrochen wurde (z. B. durch Drücken von ESC). Andernfalls ist der zurückgegebene Wert die vom Benutzer eingegebene Zeichenfolge oder eine leere Zeichenfolge, wenn der Benutzer nichts eingegeben hat, aber die Eingabebox mit OK abgebrochen hat.
| Parameter | Beschreibung |
|---|---|
| options?: InputBoxOptions | Konfiguriert das Verhalten der Eingabebox. |
| token?: CancellationToken | Ein Token, das zur Signalgebung des Abbruchs verwendet werden kann. |
| Gibt zurück | Beschreibung |
| Thenable<string | undefined> | Ein Thenable, der zu einer vom Benutzer bereitgestellten Zeichenfolge oder zu |
showNotebookDocument(document: NotebookDocument, options?: NotebookDocumentShowOptions): Thenable<NotebookEditor>
Zeigt das gegebene NotebookDocumentin einem Notebook-Editoran.
| Parameter | Beschreibung |
|---|---|
| document: NotebookDocument | Ein Textdokument, das angezeigt werden soll. |
| options?: NotebookDocumentShowOptions | Editor-Optionen zur Konfiguration des Verhaltens beim Anzeigen des Notebook-Editors. |
| Gibt zurück | Beschreibung |
| Thenable<NotebookEditor> | Ein Promise, der zu einem Notebook-Editoraufgelöst wird. |
showOpenDialog(options?: OpenDialogOptions): Thenable<Uri[] | undefined>
Zeigt dem Benutzer ein Dialogfeld zum Öffnen von Dateien an, mit dem eine Datei zum Öffnen ausgewählt werden kann.
| Parameter | Beschreibung |
|---|---|
| options?: OpenDialogOptions | Optionen, die den Dialog steuern. |
| Gibt zurück | Beschreibung |
| Thenable<Uri[] | undefined> | Ein Promise, der zu den ausgewählten Ressourcen oder |
showQuickPick(items: readonly string[] | Thenable<readonly string[]>, options: QuickPickOptions & {canPickMany: true}, token?: CancellationToken): Thenable<string[] | undefined>
Zeigt eine Auswahlliste an, die Mehrfachauswahlen ermöglicht.
| Parameter | Beschreibung |
|---|---|
| items: readonly string[] | Thenable<readonly string[]> | Ein Array von Zeichenfolgen oder ein Promise, das zu einem Array von Zeichenfolgen aufgelöst wird. |
| options: QuickPickOptions & {canPickMany: true} | Konfiguriert das Verhalten der Auswahlliste. |
| token?: CancellationToken | Ein Token, das zur Signalgebung des Abbruchs verwendet werden kann. |
| Gibt zurück | Beschreibung |
| Thenable<string[] | undefined> | Ein Thenable, der zu den ausgewählten Elementen oder |
showQuickPick(items: readonly string[] | Thenable<readonly string[]>, options?: QuickPickOptions, token?: CancellationToken): Thenable<string | undefined>
Zeigt eine Auswahlliste an.
| Parameter | Beschreibung |
|---|---|
| items: readonly string[] | Thenable<readonly string[]> | Ein Array von Zeichenfolgen oder ein Promise, das zu einem Array von Zeichenfolgen aufgelöst wird. |
| options?: QuickPickOptions | Konfiguriert das Verhalten der Auswahlliste. |
| token?: CancellationToken | Ein Token, das zur Signalgebung des Abbruchs verwendet werden kann. |
| Gibt zurück | Beschreibung |
| Thenable<string | undefined> | Ein Thenable, der zu der ausgewählten Zeichenfolge oder |
showQuickPick<T extends QuickPickItem>(items: readonly T[] | Thenable<readonly T[]>, options: QuickPickOptions & {canPickMany: true}, token?: CancellationToken): Thenable<T[] | undefined>
Zeigt eine Auswahlliste an, die Mehrfachauswahlen ermöglicht.
| Parameter | Beschreibung |
|---|---|
| items: readonly T[] | Thenable<readonly T[]> | Ein Array von Elementen oder ein Promise, das zu einem Array von Elementen aufgelöst wird. |
| options: QuickPickOptions & {canPickMany: true} | Konfiguriert das Verhalten der Auswahlliste. |
| token?: CancellationToken | Ein Token, das zur Signalgebung des Abbruchs verwendet werden kann. |
| Gibt zurück | Beschreibung |
| Thenable<T[] | undefined> | Ein Thenable, der zu den ausgewählten Elementen oder |
showQuickPick<T extends QuickPickItem>(items: readonly T[] | Thenable<readonly T[]>, options?: QuickPickOptions, token?: CancellationToken): Thenable<T | undefined>
Zeigt eine Auswahlliste an.
| Parameter | Beschreibung |
|---|---|
| items: readonly T[] | Thenable<readonly T[]> | Ein Array von Elementen oder ein Promise, das zu einem Array von Elementen aufgelöst wird. |
| options?: QuickPickOptions | Konfiguriert das Verhalten der Auswahlliste. |
| token?: CancellationToken | Ein Token, das zur Signalgebung des Abbruchs verwendet werden kann. |
| Gibt zurück | Beschreibung |
| Thenable<T | undefined> | Ein Thenable, der zu dem ausgewählten Element oder |
showSaveDialog(options?: SaveDialogOptions): Thenable<Uri | undefined>
Zeigt dem Benutzer ein Dialogfeld zum Speichern von Dateien an, mit dem eine Datei zum Speichern ausgewählt werden kann.
| Parameter | Beschreibung |
|---|---|
| options?: SaveDialogOptions | Optionen, die den Dialog steuern. |
| Gibt zurück | Beschreibung |
| Thenable<Uri | undefined> | Ein Promise, der zu der ausgewählten Ressource oder |
showTextDocument(document: TextDocument, column?: ViewColumn, preserveFocus?: boolean): Thenable<TextEditor>
Zeigt das gegebene Dokument in einem Texteditor an. Eine Spalte kann angegeben werden, um zu steuern, wo der Editor angezeigt wird. Kann den aktiven Editorändern.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Ein Textdokument, das angezeigt werden soll. |
| column?: ViewColumn | Eine Ansichtsspalte, in der der Editorangezeigt werden soll. Standard ist die aktive. Nicht vorhandene Spalten werden nach Bedarf bis zu einem Maximum von ViewColumn.Nineerstellt. Verwenden Sie ViewColumn.Beside, um den Editor neben dem aktuell aktiven zu öffnen. |
| preserveFocus?: boolean | Wenn |
| Gibt zurück | Beschreibung |
| Thenable<TextEditor> | Ein Promise, der zu einem Editoraufgelöst wird. |
showTextDocument(document: TextDocument, options?: TextDocumentShowOptions): Thenable<TextEditor>
Zeigt das gegebene Dokument in einem Texteditor an. Optionen können angegeben werden, um die Optionen des anzuzeigenden Editors zu steuern. Kann den aktiven Editorändern.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Ein Textdokument, das angezeigt werden soll. |
| options?: TextDocumentShowOptions | Editor-Optionen zur Konfiguration des Verhaltens beim Anzeigen des Editors. |
| Gibt zurück | Beschreibung |
| Thenable<TextEditor> | Ein Promise, der zu einem Editoraufgelöst wird. |
showTextDocument(uri: Uri, options?: TextDocumentShowOptions): Thenable<TextEditor>
Eine Kurzform für openTextDocument(uri).then(document => showTextDocument(document, options)).
Siehe auch workspace.openTextDocument
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine Ressourcenkennung. |
| options?: TextDocumentShowOptions | Editor-Optionen zur Konfiguration des Verhaltens beim Anzeigen des Editors. |
| Gibt zurück | Beschreibung |
| Thenable<TextEditor> | Ein Promise, der zu einem Editoraufgelöst wird. |
showWarningMessage<T extends string>(message: string, ...items: T[]): Thenable<T | undefined>
Zeigt eine Warnmeldung an.
Siehe auch showInformationMessage
| Parameter | Beschreibung |
|---|---|
| message: string | Die anzuzeigende Nachricht. |
| ...items: T[] | Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden. |
| Gibt zurück | Beschreibung |
| Thenable<T | undefined> | Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder |
showWarningMessage<T extends string>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
Zeigt eine Warnmeldung an.
Siehe auch showInformationMessage
| Parameter | Beschreibung |
|---|---|
| message: string | Die anzuzeigende Nachricht. |
| options: MessageOptions | Konfiguriert das Verhalten der Nachricht. |
| ...items: T[] | Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden. |
| Gibt zurück | Beschreibung |
| Thenable<T | undefined> | Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder |
showWarningMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T | undefined>
Zeigt eine Warnmeldung an.
Siehe auch showInformationMessage
| Parameter | Beschreibung |
|---|---|
| message: string | Die anzuzeigende Nachricht. |
| ...items: T[] | Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden. |
| Gibt zurück | Beschreibung |
| Thenable<T | undefined> | Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder |
showWarningMessage<T extends MessageItem>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
Zeigt eine Warnmeldung an.
Siehe auch showInformationMessage
| Parameter | Beschreibung |
|---|---|
| message: string | Die anzuzeigende Nachricht. |
| options: MessageOptions | Konfiguriert das Verhalten der Nachricht. |
| ...items: T[] | Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden. |
| Gibt zurück | Beschreibung |
| Thenable<T | undefined> | Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder |
showWorkspaceFolderPick(options?: WorkspaceFolderPickOptions): Thenable<WorkspaceFolder | undefined>
Zeigt eine Auswahlliste von Arbeitsbereichsordnern zum Auswählen an. Gibt undefined zurück, wenn kein Ordner geöffnet ist.
| Parameter | Beschreibung |
|---|---|
| options?: WorkspaceFolderPickOptions | Konfiguriert das Verhalten der Liste der Arbeitsbereichsordner. |
| Gibt zurück | Beschreibung |
| Thenable<WorkspaceFolder | undefined> | Ein Promise, das sich zu dem Arbeitsbereichsordner oder |
withProgress<R>(options: ProgressOptions, task: (progress: Progress<{increment: number, message: string}>, token: CancellationToken) => Thenable<R>): Thenable<R>
Fortschritt im Editor anzeigen. Der Fortschritt wird während der Ausführung des gegebenen Callbacks und solange das von ihm zurückgegebene Promise nicht aufgelöst oder abgelehnt wird, angezeigt. Der Ort, an dem der Fortschritt angezeigt werden soll (und andere Details), wird über die übergebenen ProgressOptions definiert.
| Parameter | Beschreibung |
|---|---|
| options: ProgressOptions | Ein ProgressOptions-Objekt, das die Optionen für die Anzeige des Fortschritts beschreibt, wie z.B. seinen Speicherort. |
| task: (progress: Progress<{increment: number, message: string}>, token: CancellationToken) => Thenable<R> | Ein Callback, der ein Promise zurückgibt. Der Fortschrittszustand kann mit dem bereitgestellten Progress-Objekt gemeldet werden. Um diskreten Fortschritt zu melden, verwenden Sie Um zu überwachen, ob der Vorgang vom Benutzer abgebrochen wurde, verwenden Sie den bereitgestellten CancellationToken. Beachten Sie, dass derzeit nur |
| Gibt zurück | Beschreibung |
| Thenable<R> | Das von dem Task-Callback zurückgegebene Thenable. |
withScmProgress<R>(task: (progress: Progress<number>) => Thenable<R>): Thenable<R>
Fortschritt in der Source Control-Ansicht anzeigen, während der gegebene Callback ausgeführt wird und solange das von ihm zurückgegebene Promise nicht aufgelöst oder abgelehnt wird.
- veraltet - Verwenden Sie stattdessen
withProgress.
workspace
Namespace für den Umgang mit dem aktuellen Arbeitsbereich. Ein Arbeitsbereich ist die Sammlung von einem oder mehreren Ordnern, die in einem Editorfenster (Instanz) geöffnet sind.
Es ist auch möglich, einen Editor ohne einen Arbeitsbereich zu öffnen. Wenn Sie beispielsweise ein neues Editorfenster öffnen, indem Sie eine Datei über das Dateimenü Ihres Betriebssystems auswählen, befinden Sie sich nicht in einem Arbeitsbereich. In diesem Modus sind einige Funktionen des Editors eingeschränkt, aber Sie können immer noch Textdateien öffnen und bearbeiten.
Weitere Informationen über das Konzept von Arbeitsbereichen finden Sie unter https://visualstudiocode.de/docs/editor/workspaces.
Der Arbeitsbereich bietet Unterstützung für das Abhören von FS-Ereignissen und für das Finden von Dateien. Beides ist performant und läuft *außerhalb* des Editorprozesses, sodass sie immer anstelle von Node.js-Äquivalenten verwendet werden sollten.
Variablen
fs: FileSystem
Eine Dateisystem-Instanz, die die Interaktion mit lokalen und entfernten Dateien ermöglicht, z.B. ermöglicht vscode.workspace.fs.readDirectory(someUri) das Abrufen aller Einträge eines Verzeichnisses oder vscode.workspace.fs.stat(anotherUri) gibt die Metadaten einer Datei zurück.
Wenn true, hat der Benutzer dem Inhalt des Arbeitsbereichs ausdrücklich vertraut.
Der Name des Arbeitsbereichs. undefined, wenn kein Arbeitsbereich geöffnet wurde.
Weitere Informationen über das Konzept von Arbeitsbereichen finden Sie unter https://visualstudiocode.de/docs/editor/workspaces.
notebookDocuments: readonly NotebookDocument[]
Alle Notebook-Dokumente, die dem Editor derzeit bekannt sind.
Der URI des ersten Eintrags von workspaceFolders als string. undefined, wenn kein erster Eintrag vorhanden ist.
Weitere Informationen über Arbeitsbereiche finden Sie unter https://visualstudiocode.de/docs/editor/workspaces.
- veraltet - Verwenden Sie stattdessen workspaceFolders.
textDocuments: readonly TextDocument[]
Alle Textdokumente, die dem Editor derzeit bekannt sind.
workspaceFile: Uri | undefined
Der Speicherort der Arbeitsbereichsdatei, zum Beispiel
file:///Users/name/Development/myProject.code-workspace
oder
untitled:1555503116870
für einen Arbeitsbereich, der unbenannt ist und noch nicht gespeichert wurde.
Abhängig vom geöffneten Arbeitsbereich ist der Wert
undefined, wenn kein Arbeitsbereich geöffnet ist- der Pfad der Arbeitsbereichsdatei als
Uriandernfalls. Wenn der Arbeitsbereich unbenannt ist, verwendet die zurückgegebene URI dasuntitled:Schema.
Der Speicherort kann z.B. mit dem Befehl vscode.openFolder verwendet werden, um den Arbeitsbereich nach dem Schließen wieder zu öffnen.
Beispiel
vscode.commands.executeCommand('vscode.openFolder', uriOfWorkspace);
Weitere Informationen über das Konzept von Arbeitsbereichen finden Sie unter https://visualstudiocode.de/docs/editor/workspaces.
Hinweis: Es wird nicht empfohlen, workspace.workspaceFile zum Schreiben von Konfigurationsdaten in die Datei zu verwenden. Sie können stattdessen workspace.getConfiguration().update() verwenden, was sowohl bei geöffneten Einzelordnern als auch bei unbenannten oder gespeicherten Arbeitsbereichen funktioniert.
workspaceFolders: readonly WorkspaceFolder[] | undefined
Liste der im Editor geöffneten Arbeitsbereichsordner (0-N). undefined, wenn kein Arbeitsbereich geöffnet wurde.
Weitere Informationen über Arbeitsbereiche finden Sie unter https://visualstudiocode.de/docs/editor/workspaces.
Events
onDidChangeConfiguration: Event<ConfigurationChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn sich die Konfiguration geändert hat.
onDidChangeNotebookDocument: Event<NotebookDocumentChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn sich ein Notebook geändert hat.
onDidChangeTextDocument: Event<TextDocumentChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn ein Textdokument geändert wird. Dies geschieht normalerweise, wenn sich der Inhalt ändert, aber auch, wenn sich andere Dinge wie der "dirty"-Status ändern.
onDidChangeWorkspaceFolders: Event<WorkspaceFoldersChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn ein Arbeitsbereichsordner hinzugefügt oder entfernt wird.
Hinweis: Dieses Ereignis wird nicht ausgelöst, wenn der erste Arbeitsbereichsordner hinzugefügt, entfernt oder geändert wird, da in diesem Fall die aktuell ausgeführten Erweiterungen (einschließlich derjenigen, die auf dieses Ereignis hören) beendet und neu gestartet werden, damit die (veraltete) rootPath-Eigenschaft auf den ersten Arbeitsbereichsordner zeigt.
onDidCloseNotebookDocument: Event<NotebookDocument>
Ein Ereignis, das ausgelöst wird, wenn ein Notebook freigegeben wird.
Hinweis 1: Es gibt keine Garantie, dass dieses Ereignis ausgelöst wird, wenn ein Editor-Tab geschlossen wird.
Hinweis 2: Ein Notebook kann geöffnet, aber nicht in einem Editor angezeigt sein, was bedeutet, dass dieses Ereignis für ein Notebook ausgelöst werden kann, das nicht in einem Editor angezeigt wurde.
onDidCloseTextDocument: Event<TextDocument>
Ein Ereignis, das ausgelöst wird, wenn ein Textdokument freigegeben wird oder wenn die Sprachkennung eines Textdokuments geändert wurde.
Hinweis 1: Es gibt keine Garantie, dass dieses Ereignis ausgelöst wird, wenn ein Editor-Tab geschlossen wird. Verwenden Sie das Ereignis onDidChangeVisibleTextEditors, um zu erfahren, wann sich Editoren ändern.
Hinweis 2: Ein Dokument kann geöffnet, aber nicht in einem Editor angezeigt sein, was bedeutet, dass dieses Ereignis für ein Dokument ausgelöst werden kann, das nicht in einem Editor angezeigt wurde.
onDidCreateFiles: Event<FileCreateEvent>
Ein Ereignis, das ausgelöst wird, wenn Dateien erstellt wurden.
Hinweis: Dieses Ereignis wird durch Benutzergesten ausgelöst, wie z.B. das Erstellen einer Datei im Explorer oder über die API workspace.applyEdit. Dieses Ereignis wird jedoch *nicht* ausgelöst, wenn sich Dateien auf der Festplatte ändern, z.B. durch eine andere Anwendung oder bei Verwendung der API workspace.fs.
onDidDeleteFiles: Event<FileDeleteEvent>
Ein Ereignis, das ausgelöst wird, wenn Dateien gelöscht wurden.
Hinweis 1: Dieses Ereignis wird durch Benutzergesten ausgelöst, wie z.B. das Löschen einer Datei im Explorer oder über die API workspace.applyEdit. Dieses Ereignis wird jedoch *nicht* ausgelöst, wenn sich Dateien auf der Festplatte ändern, z.B. durch eine andere Anwendung oder bei Verwendung der API workspace.fs.
Hinweis 2: Beim Löschen eines Ordners mit Unterordnern wird nur ein Ereignis ausgelöst.
onDidGrantWorkspaceTrust: Event<void>
Ereignis, das ausgelöst wird, wenn dem aktuellen Arbeitsbereich vertraut wurde.
onDidOpenNotebookDocument: Event<NotebookDocument>
Ein Ereignis, das ausgelöst wird, wenn ein Notebook geöffnet wird.
onDidOpenTextDocument: Event<TextDocument>
Ein Ereignis, das ausgelöst wird, wenn ein Textdokument geöffnet wird oder wenn die Sprachkennung eines Textdokuments geändert wurde.
Um einen Listener für das Öffnen eines sichtbaren Textdokuments hinzuzufügen, verwenden Sie die Ereignisse TextEditor im window-Namespace. Beachten Sie, dass
- Das Ereignis wird ausgelöst, bevor das Dokument im aktiven Texteditor aktualisiert wird.
- Wenn ein Textdokument bereits geöffnet ist (z.B. in einem anderen sichtbaren Texteditor), wird dieses Ereignis nicht ausgelöst.
onDidRenameFiles: Event<FileRenameEvent>
Ein Ereignis, das ausgelöst wird, wenn Dateien umbenannt wurden.
Hinweis 1: Dieses Ereignis wird durch Benutzergesten ausgelöst, wie z.B. das Umbenennen einer Datei im Explorer und über die API workspace.applyEdit. Dieses Ereignis wird jedoch *nicht* ausgelöst, wenn sich Dateien auf der Festplatte ändern, z.B. durch eine andere Anwendung oder bei Verwendung der API workspace.fs.
Hinweis 2: Beim Umbenennen eines Ordners mit Unterordnern wird nur ein Ereignis ausgelöst.
onDidSaveNotebookDocument: Event<NotebookDocument>
Ein Ereignis, das ausgelöst wird, wenn ein Notebook gespeichert wurde.
onDidSaveTextDocument: Event<TextDocument>
Ein Ereignis, das ausgelöst wird, wenn ein Textdokument auf die Festplatte gespeichert wurde.
onWillCreateFiles: Event<FileWillCreateEvent>
Ein Ereignis, das ausgelöst wird, bevor Dateien erstellt werden.
Hinweis 1: Dieses Ereignis wird durch Benutzergesten ausgelöst, wie z.B. das Erstellen einer Datei im Explorer oder über die API workspace.applyEdit. Dieses Ereignis wird *nicht* ausgelöst, wenn sich Dateien auf der Festplatte ändern, z.B. durch eine andere Anwendung oder bei Verwendung der API workspace.fs.
Hinweis 2: Wenn dieses Ereignis ausgelöst wird, können keine Änderungen an Dateien vorgenommen werden, die gerade erstellt werden.
onWillDeleteFiles: Event<FileWillDeleteEvent>
Ein Ereignis, das ausgelöst wird, bevor Dateien gelöscht werden.
Hinweis 1: Dieses Ereignis wird durch Benutzergesten ausgelöst, wie z.B. das Löschen einer Datei im Explorer oder über die API workspace.applyEdit. Dieses Ereignis wird jedoch *nicht* ausgelöst, wenn sich Dateien auf der Festplatte ändern, z.B. durch eine andere Anwendung oder bei Verwendung der API workspace.fs.
Hinweis 2: Beim Löschen eines Ordners mit Unterordnern wird nur ein Ereignis ausgelöst.
onWillRenameFiles: Event<FileWillRenameEvent>
Ein Ereignis, das ausgelöst wird, bevor Dateien umbenannt werden.
Hinweis 1: Dieses Ereignis wird durch Benutzergesten ausgelöst, wie z.B. das Umbenennen einer Datei im Explorer und über die API workspace.applyEdit. Dieses Ereignis wird jedoch *nicht* ausgelöst, wenn sich Dateien auf der Festplatte ändern, z.B. durch eine andere Anwendung oder bei Verwendung der API workspace.fs.
Hinweis 2: Beim Umbenennen eines Ordners mit Unterordnern wird nur ein Ereignis ausgelöst.
onWillSaveNotebookDocument: Event<NotebookDocumentWillSaveEvent>
Ein Ereignis, das ausgelöst wird, bevor ein Notebook-Dokument auf die Festplatte gespeichert wird.
Hinweis 1: Abonnenten können das Speichern verzögern, indem sie asynchrone Arbeit registrieren. Aus Gründen der Datenintegrität kann der Editor ohne Auslösen dieses Ereignisses speichern. Zum Beispiel beim Herunterfahren mit ungespeicherten Dateien.
Hinweis 2: Abonnenten werden sequenziell aufgerufen und können das Speichern verzögern, indem sie asynchrone Arbeit registrieren. Schutz vor fehlerhaft agierenden Listenern ist wie folgt implementiert:
- Es gibt ein Gesamtzeitbudget, das alle Listener gemeinsam nutzen, und wenn dieses aufgebraucht ist, wird kein weiterer Listener mehr aufgerufen.
- Listener, die lange dauern oder häufig Fehler erzeugen, werden nicht mehr aufgerufen.
Die aktuellen Schwellenwerte sind 1,5 Sekunden als Gesamtzeitbudget und ein Listener kann 3 Mal fehlerhaft agieren, bevor er ignoriert wird.
onWillSaveTextDocument: Event<TextDocumentWillSaveEvent>
Ein Ereignis, das ausgelöst wird, bevor ein Textdokument auf die Festplatte gespeichert wird.
Hinweis 1: Abonnenten können das Speichern verzögern, indem sie asynchrone Arbeit registrieren. Aus Gründen der Datenintegrität kann der Editor ohne Auslösen dieses Ereignisses speichern. Zum Beispiel beim Herunterfahren mit ungespeicherten Dateien.
Hinweis 2: Abonnenten werden sequenziell aufgerufen und können das Speichern verzögern, indem sie asynchrone Arbeit registrieren. Schutz vor fehlerhaft agierenden Listenern ist wie folgt implementiert:
- Es gibt ein Gesamtzeitbudget, das alle Listener gemeinsam nutzen, und wenn dieses aufgebraucht ist, wird kein weiterer Listener mehr aufgerufen.
- Listener, die lange dauern oder häufig Fehler erzeugen, werden nicht mehr aufgerufen.
Die aktuellen Schwellenwerte sind 1,5 Sekunden als Gesamtzeitbudget und ein Listener kann 3 Mal fehlerhaft agieren, bevor er ignoriert wird.
Funktionen
applyEdit(edit: WorkspaceEdit, metadata?: WorkspaceEditMetadata): Thenable<boolean>
Änderungen an einer oder mehreren Ressourcen vornehmen oder Ressourcen erstellen, löschen und umbenennen, wie durch die gegebene WorkspaceEdit definiert.
Alle Änderungen einer WorkspaceEdit werden in der gleichen Reihenfolge angewendet, in der sie hinzugefügt wurden. Wenn mehrere Texteinfügungen an derselben Position vorgenommen werden, erscheinen diese Zeichenfolgen im resultierenden Text in der Reihenfolge, in der die "Einfügungen" vorgenommen wurden, es sei denn, sie sind mit Ressourcenänderungen verschachtelt. Ungültige Sequenzen wie "Datei a löschen" -> "Text in Datei a einfügen" führen zum Fehlschlagen des Vorgangs.
Beim Anwenden einer WorkspaceEdit, die nur Textänderungen enthält, wird eine "Alles-oder-Nichts"-Strategie verwendet. Eine WorkspaceEdit mit Ressourcenerstellungen oder -löschungen bricht den Vorgang ab, d.h. aufeinanderfolgende Änderungen werden nicht versucht, wenn eine einzelne Änderung fehlschlägt.
| Parameter | Beschreibung |
|---|---|
| edit: WorkspaceEdit | Eine WorkspaceEdit. |
| metadata?: WorkspaceEditMetadata | Optionale Metadaten für die Änderung. |
| Gibt zurück | Beschreibung |
| Thenable<boolean> | Ein Thenable, das sich auflöst, wenn die Änderung angewendet werden konnte. |
asRelativePath(pathOrUri: string | Uri, includeWorkspaceFolder?: boolean): string
Gibt einen Pfad zurück, der relativ zum Arbeitsbereichsordner oder zu den Arbeitsbereichsordnern ist.
Wenn keine Arbeitsbereichsordner vorhanden sind oder wenn der Pfad nicht darin enthalten ist, wird die Eingabe zurückgegeben.
| Parameter | Beschreibung |
|---|---|
| pathOrUri: string | Uri | Ein Pfad oder URI. Wenn eine URI angegeben wird, wird ihr fsPath verwendet. |
| includeWorkspaceFolder?: boolean | Wenn |
| Gibt zurück | Beschreibung |
| string | Ein Pfad relativ zum Stammverzeichnis oder zur Eingabe. |
createFileSystemWatcher(globPattern: GlobPattern, ignoreCreateEvents?: boolean, ignoreChangeEvents?: boolean, ignoreDeleteEvents?: boolean): FileSystemWatcher
Erstellt einen Dateisystem-Watcher, der auf Datei-Ereignisse (Erstellen, Ändern, Löschen) benachrichtigt wird, abhängig von den angegebenen Parametern.
Standardmäßig werden alle geöffneten Arbeitsbereichsordner rekursiv auf Dateiänderungen überwacht.
Zusätzliche Pfade können für die Dateibeobachtung hinzugefügt werden, indem ein RelativePattern mit einem base-Pfad zum Beobachten angegeben wird. Wenn der Pfad ein Ordner ist und das pattern komplex ist (z.B. ** oder Pfadsegmente enthält), wird er rekursiv überwacht, andernfalls nicht-rekursiv (d.h. nur Änderungen auf der obersten Ebene des Pfads werden gemeldet).
Hinweis, dass nicht existierende Pfade im Dateisystem mit Verzögerung überwacht werden, bis sie erstellt sind, und dann gemäß den angegebenen Parametern überwacht werden. Wenn ein beobachteter Pfad gelöscht wird, wird der Watcher angehalten und meldet keine Ereignisse, bis der Pfad erneut erstellt wird.
Wenn möglich, halten Sie die Verwendung von rekursiven Watchern minimiert, da die rekursive Dateibeobachtung sehr ressourcenintensiv ist.
Die Angabe einer string als globPattern dient als praktische Methode zum Beobachten von Dateieignissen in allen geöffneten Arbeitsbereichsordnern. Sie kann nicht verwendet werden, um weitere Ordner zur Dateibeobachtung hinzuzufügen, und sie meldet keine Dateieignisse von Ordnern, die nicht zu den geöffneten Arbeitsbereichsordnern gehören.
Optional können Flags zur Ignorierung bestimmter Arten von Ereignissen angegeben werden.
Um die Ereignisüberwachung zu beenden, muss der Watcher freigegeben werden.
Hinweis, dass Dateieignisse beim Löschen eines Ordners möglicherweise keine Ereignisse für die enthaltenen Dateien enthalten. Wenn beispielsweise ein Ordner in den Papierkorb verschoben wird, wird nur ein Ereignis gemeldet, da dies technisch gesehen eine Umbenennungs-/Verschiebeoperation und keine Löschoperation für jede darin enthaltene Datei ist. Darüber hinaus sind Leistungsoptimierungen implementiert, um mehrere Ereignisse, die alle zu derselben übergeordneten Operation gehören (z.B. Ordner löschen), in ein einziges Ereignis für diese übergeordnete Operation zusammenzufassen. Wenn Sie also über alle gelöschten Dateien informiert werden müssen, müssen Sie mit ** überwachen und alle Dateieignisse selbst behandeln.
Hinweis, dass Dateieignisse von rekursiven Dateibetrachtern basierend auf der Benutzereinstellung ausgeschlossen werden können. Die Einstellung files.watcherExclude hilft, den Overhead von Dateieignissen aus Ordnern zu reduzieren, von denen bekannt ist, dass sie viele Dateänderungen auf einmal produzieren (wie z.B. .git-Ordner). Daher wird dringend empfohlen, mit einfachen Mustern zu überwachen, die keine rekursiven Watcher erfordern und bei denen die Ausschlussregeln ignoriert werden und Sie die volle Kontrolle über die Ereignisse haben.
Hinweis, dass symbolische Links für die Dateibeobachtung nicht automatisch verfolgt werden, es sei denn, der zu beobachtende Pfad selbst ist ein symbolischer Link.
Hinweis, dass die für geänderte Dateien gemeldeten Dateipfade auf nicht-fallempfindlichen Plattformen (typischerweise macOS und Windows, aber nicht Linux) eine andere Groß- und Kleinschreibung aufweisen können als die tatsächliche auf der Festplatte. Wir erlauben einem Benutzer, einen Arbeitsbereichsordner mit beliebiger gewünschter Groß- und Kleinschreibung zu öffnen und versuchen, diese beizubehalten. Dies bedeutet
- Wenn der Pfad innerhalb eines der Arbeitsbereichsordner liegt, entspricht der Pfad der Groß- und Kleinschreibung des Arbeitsbereichsordners bis zu diesem Teil des Pfades und entspricht der Groß- und Kleinschreibung auf der Festplatte für die Unterordner.
- Wenn der Pfad außerhalb eines der Arbeitsbereichsordner liegt, entspricht die Groß- und Kleinschreibung der Groß- und Kleinschreibung des für die Überwachung angegebenen Pfades. Ebenso bleiben symbolische Links erhalten, d.h. das Dateieignis meldet den Pfad des symbolischen Links, wie er für die Überwachung angegeben wurde, und nicht das Ziel.
Beispiele
Die grundlegende Anatomie eines Dateibetrachters ist wie folgt:
const watcher = vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(<folder>, <pattern>));
watcher.onDidChange(uri => { ... }); // listen to files being changed
watcher.onDidCreate(uri => { ... }); // listen to files/folders being created
watcher.onDidDelete(uri => { ... }); // listen to files/folders getting deleted
watcher.dispose(); // dispose after usage
Beobachtung von Arbeitsbereichsdateien
Wenn Sie nur an Dateieignissen in einem bestimmten Arbeitsbereichsordner interessiert sind
vscode.workspace.createFileSystemWatcher(
new vscode.RelativePattern(vscode.workspace.workspaceFolders[0], '**/*.js')
);
Wenn Sie Dateieignisse über alle geöffneten Arbeitsbereichsordner hinweg überwachen möchten
vscode.workspace.createFileSystemWatcher('**/*.js');
Hinweis: Das Array von Arbeitsbereichsordnern kann leer sein, wenn kein Arbeitsbereich geöffnet ist (leeres Fenster).
Beobachtung von Dateien außerhalb des Arbeitsbereichs
Um einen Ordner auf Änderungen an *.js-Dateien außerhalb des Arbeitsbereichs (nicht rekursiv) zu beobachten, übergeben Sie eine Uri zu diesem Ordner.
vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.Uri.file(<path to folder outside workspace>), '*.js'));
Und verwenden Sie ein komplexes Glob-Muster zur rekursiven Beobachtung.
vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.Uri.file(<path to folder outside workspace>), '**/*.js'));
Hier ist ein Beispiel für die Beobachtung des aktiven Editors auf Dateiänderungen.
vscode.workspace.createFileSystemWatcher(
new vscode.RelativePattern(vscode.window.activeTextEditor.document.uri, '*')
);
| Parameter | Beschreibung |
|---|---|
| globPattern: GlobPattern | Ein Glob-Muster, das steuert, welche Dateieignisse der Watcher melden soll. |
| ignoreCreateEvents?: boolean | Ignoriert, wenn Dateien erstellt wurden. |
| ignoreChangeEvents?: boolean | Ignoriert, wenn Dateien geändert wurden. |
| ignoreDeleteEvents?: boolean | Ignoriert, wenn Dateien gelöscht wurden. |
| Gibt zurück | Beschreibung |
| FileSystemWatcher | Eine neue Dateisystem-Watcher-Instanz. Muss freigegeben werden, wenn sie nicht mehr benötigt wird. |
decode(content: Uint8Array): Thenable<string>
Dekodiert den Inhalt aus einem Uint8Array in einen string. Sie MÜSSEN den gesamten Inhalt auf einmal bereitstellen, um sicherzustellen, dass die Kodierung korrekt angewendet werden kann. Verwenden Sie diese Methode nicht zum Dekodieren von Inhalten in Chunks, da dies zu falschen Ergebnissen führen kann.
Wählt eine Kodierung basierend auf Einstellungen und dem Inhalt des Puffers aus (z.B. Byte-Order-Marks).
Hinweis, dass das Ergebnis bei Dekodierung von Inhalten, die von der Kodierung nicht unterstützt werden, möglicherweise Ersetzungszeichen enthält.
- wirft - Diese Methode löst einen Fehler aus, wenn der Inhalt binär ist.
| Parameter | Beschreibung |
|---|---|
| content: Uint8Array | Der zu dekodierende Textinhalt als |
| Gibt zurück | Beschreibung |
| Thenable<string> | Ein Thenable, das sich zu dem dekodierten |
decode(content: Uint8Array, options: {encoding: string}): Thenable<string>
Dekodiert den Inhalt aus einem Uint8Array in einen string unter Verwendung der angegebenen Kodierung. Sie MÜSSEN den gesamten Inhalt auf einmal bereitstellen, um sicherzustellen, dass die Kodierung korrekt angewendet werden kann. Verwenden Sie diese Methode nicht zum Dekodieren von Inhalten in Chunks, da dies zu falschen Ergebnissen führen kann.
Hinweis, dass das Ergebnis bei Dekodierung von Inhalten, die von der Kodierung nicht unterstützt werden, möglicherweise Ersetzungszeichen enthält.
- wirft - Diese Methode löst einen Fehler aus, wenn der Inhalt binär ist.
| Parameter | Beschreibung |
|---|---|
| content: Uint8Array | Der zu dekodierende Textinhalt als |
| options: {encoding: string} | Zusätzlicher Kontext für die Auswahl der Kodierung. |
| Gibt zurück | Beschreibung |
| Thenable<string> | Ein Thenable, das sich zu dem dekodierten |
decode(content: Uint8Array, options: {uri: Uri}): Thenable<string>
Dekodiert den Inhalt aus einem Uint8Array in einen string. Sie MÜSSEN den gesamten Inhalt auf einmal bereitstellen, um sicherzustellen, dass die Kodierung korrekt angewendet werden kann. Verwenden Sie diese Methode nicht zum Dekodieren von Inhalten in Chunks, da dies zu falschen Ergebnissen führen kann.
Die Kodierung wird basierend auf Einstellungen und dem Inhalt des Puffers (z.B. Byte-Order-Marks) ausgewählt.
Hinweis, dass das Ergebnis bei Dekodierung von Inhalten, die von der Kodierung nicht unterstützt werden, möglicherweise Ersetzungszeichen enthält.
- wirft - Diese Methode löst einen Fehler aus, wenn der Inhalt binär ist.
| Parameter | Beschreibung |
|---|---|
| content: Uint8Array | Der Inhalt, der als |
| options: {uri: Uri} | Zusätzlicher Kontext für die Auswahl der Kodierung. |
| Gibt zurück | Beschreibung |
| Thenable<string> | Ein Thenable, das sich zu dem dekodierten |
encode(content: string): Thenable<Uint8Array>
Kodiert den Inhalt eines string in ein Uint8Array.
Wählt eine Kodierung basierend auf Einstellungen aus.
| Parameter | Beschreibung |
|---|---|
| content: string | Der zu dekodierende Inhalt als |
| Gibt zurück | Beschreibung |
| Thenable<Uint8Array> | Ein Thenable, das sich zu dem kodierten |
encode(content: string, options: {encoding: string}): Thenable<Uint8Array>
Kodiert den Inhalt eines string in ein Uint8Array unter Verwendung der angegebenen Kodierung.
| Parameter | Beschreibung |
|---|---|
| content: string | Der zu dekodierende Inhalt als |
| options: {encoding: string} | Zusätzlicher Kontext für die Auswahl der Kodierung. |
| Gibt zurück | Beschreibung |
| Thenable<Uint8Array> | Ein Thenable, das sich zu dem kodierten |
encode(content: string, options: {uri: Uri}): Thenable<Uint8Array>
Kodiert den Inhalt eines string in ein Uint8Array.
Die Kodierung wird basierend auf Einstellungen ausgewählt.
| Parameter | Beschreibung |
|---|---|
| content: string | Der zu dekodierende Inhalt als |
| options: {uri: Uri} | Zusätzlicher Kontext für die Auswahl der Kodierung. |
| Gibt zurück | Beschreibung |
| Thenable<Uint8Array> | Ein Thenable, das sich zu dem kodierten |
findFiles(include: GlobPattern, exclude?: GlobPattern, maxResults?: number, token?: CancellationToken): Thenable<Uri[]>
Findet Dateien in allen Arbeitsbereichsordnern im Arbeitsbereich.
Beispiel
findFiles('**/*.js', '**/node_modules/**', 10);
| Parameter | Beschreibung |
|---|---|
| include: GlobPattern | Ein Glob-Muster, das die zu suchenden Dateien definiert. Das Glob-Muster wird gegen die Dateipfade der resultierenden Übereinstimmungen relativ zu ihrem Arbeitsbereich abgeglichen. Verwenden Sie ein relatives Muster, um die Suchergebnisse auf einen Arbeitsbereichsordner zu beschränken. |
| exclude?: GlobPattern | Ein Glob-Muster, das auszuschließende Dateien und Ordner definiert. Das Glob-Muster wird gegen die Dateipfade der resultierenden Übereinstimmungen relativ zu ihrem Arbeitsbereich abgeglichen. Wenn |
| maxResults?: number | Eine Obergrenze für das Ergebnis. |
| token?: CancellationToken | Ein Token, das verwendet werden kann, um der zugrunde liegenden Suchmaschine eine Abbruchabsicht zu signalisieren. |
| Gibt zurück | Beschreibung |
| Thenable<Uri[]> | Ein Thenable, der zu einem Array von Ressourcen-IDs aufgelöst wird. Gibt keine Ergebnisse zurück, wenn keine Arbeitsbereichsordner geöffnet sind. |
getConfiguration(section?: string, scope?: ConfigurationScope): WorkspaceConfiguration
Ruft ein Arbeitsbereichskonfigurationsobjekt ab.
Wenn ein Abschnittsbezeichner angegeben ist, wird nur dieser Teil der Konfiguration zurückgegeben. Punkte im Abschnittsbezeichner werden als Zugriff auf Kindelemente interpretiert, wie z. B. { meinExt: { Einstellung: { machDas: wahr }}} und getConfiguration('meinExt.Einstellung').get('machDas') === true.
Wenn ein Bereich (Scope) angegeben ist, wird die Konfiguration auf diesen Bereich beschränkt zurückgegeben. Der Bereich kann eine Ressource oder eine Sprachkennung oder beides sein.
| Parameter | Beschreibung |
|---|---|
| section?: string | Ein punktgetrennter Bezeichner. |
| scope?: ConfigurationScope | Ein Bereich (Scope), für den die Konfiguration abgefragt wird. |
| Gibt zurück | Beschreibung |
| WorkspaceConfiguration | Die vollständige Konfiguration oder eine Teilmenge davon. |
getWorkspaceFolder(uri: Uri): WorkspaceFolder | undefined
Gibt den Arbeitsbereichsordner zurück, der eine gegebene URI enthält.
- Gibt
undefinedzurück, wenn die gegebene URI keinem Arbeitsbereichsordner entspricht. - Gibt die *Eingabe* zurück, wenn die gegebene URI selbst ein Arbeitsbereichsordner ist.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine URI. |
| Gibt zurück | Beschreibung |
| WorkspaceFolder | undefined | Ein Arbeitsbereichsordner oder |
openNotebookDocument(uri: Uri): Thenable<NotebookDocument>
Öffnet ein Notebook. Wird frühzeitig zurückgegeben, wenn dieses Notebook bereits geladen ist. Andernfalls wird das Notebook geladen und das Ereignis onDidOpenNotebookDocument ausgelöst.
Hinweis: Die Lebensdauer des zurückgegebenen Notebooks wird vom Editor und nicht von der Erweiterung verwaltet. Das bedeutet, dass ein onDidCloseNotebookDocument-Ereignis jederzeit danach auftreten kann.
Hinweis: Das Öffnen eines Notebooks zeigt keinen Notebook-Editor an. Diese Funktion gibt nur ein Notebook-Dokument zurück, das in einem Notebook-Editor angezeigt werden kann, aber auch für andere Zwecke verwendet werden kann.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die zu öffnende Ressource. |
| Gibt zurück | Beschreibung |
| Thenable<NotebookDocument> | Ein Promise, das zu einem Notebook aufgelöst wird. |
openNotebookDocument(notebookType: string, content?: NotebookData): Thenable<NotebookDocument>
Öffnet ein unbenanntes Notebook. Der Editor wird den Benutzer beim Speichern des Dokuments nach einem Dateipfad fragen.
Siehe auch workspace.openNotebookDocument.
| Parameter | Beschreibung |
|---|---|
| notebookType: string | Der zu verwendende Notebooktyp. |
| content?: NotebookData | Der anfängliche Inhalt des Notebooks. |
| Gibt zurück | Beschreibung |
| Thenable<NotebookDocument> | Ein Promise, das zu einem Notebook aufgelöst wird. |
openTextDocument(uri: Uri, options?: {encoding: string}): Thenable<TextDocument>
Öffnet ein Dokument. Wird frühzeitig zurückgegeben, wenn dieses Dokument bereits geöffnet ist. Andernfalls wird das Dokument geladen und das Ereignis didOpen ausgelöst.
Das Dokument wird durch eine URI bezeichnet. Je nach Schema gelten die folgenden Regeln:
file-Schema: Öffnet eine Datei auf der Festplatte (openTextDocument(Uri.file(pfad))). Wird abgelehnt, wenn die Datei nicht existiert oder nicht geladen werden kann.untitled-Schema: Öffnet eine leere, unbenannte Datei mit einem zugehörigen Pfad (openTextDocument(Uri.file(pfad).with({ schema: 'untitled' }))). Die Sprache wird aus dem Dateinamen abgeleitet.- Für alle anderen Schemas werden die beigesteuerten Textdokument-Inhaltsanbieter und Dateisystemanbieter konsultiert.
Hinweis: Die Lebensdauer des zurückgegebenen Dokuments wird vom Editor und nicht von der Erweiterung verwaltet. Das bedeutet, dass ein onDidClose-Ereignis jederzeit nach dem Öffnen auftreten kann.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Identifiziert die zu öffnende Ressource. |
| options?: {encoding: string} | |
| Gibt zurück | Beschreibung |
| Thenable<TextDocument> | Ein Promise, das zu einem Dokument aufgelöst wird. |
openTextDocument(path: string, options?: {encoding: string}): Thenable<TextDocument>
Eine Kurzform für openTextDocument(Uri.file(path)).
Siehe auch workspace.openTextDocument
| Parameter | Beschreibung |
|---|---|
| path: string | Ein Pfad zu einer Datei auf der Festplatte. |
| options?: {encoding: string} | |
| Gibt zurück | Beschreibung |
| Thenable<TextDocument> | Ein Promise, das zu einem Dokument aufgelöst wird. |
openTextDocument(options?: {content: string, encoding: string, language: string}): Thenable<TextDocument>
Öffnet ein unbenanntes Textdokument. Der Editor wird den Benutzer beim Speichern des Dokuments nach einem Dateipfad fragen. Der options-Parameter ermöglicht die Angabe der *Sprache* und/oder des *Inhalts* des Dokuments.
| Parameter | Beschreibung |
|---|---|
| options?: {content: string, encoding: string, language: string} | Optionen zur Steuerung, wie das Dokument erstellt werden soll. |
| Gibt zurück | Beschreibung |
| Thenable<TextDocument> | Ein Promise, das zu einem Dokument aufgelöst wird. |
registerFileSystemProvider(scheme: string, provider: FileSystemProvider, options?: {isCaseSensitive: boolean, isReadonly: boolean | MarkdownString}): Disposable
Registriert einen Dateisystemanbieter für ein gegebenes Schema, z. B. ftp.
Es kann nur einen Anbieter pro Schema geben, und es wird ein Fehler ausgelöst, wenn ein Schema von einem anderen Anbieter beansprucht wurde oder reserviert ist.
| Parameter | Beschreibung |
|---|---|
| scheme: string | Das URI-Schema, für das der Anbieter sich registriert. |
| provider: FileSystemProvider | Der Dateisystemanbieter. |
| options?: {isCaseSensitive: boolean, isReadonly: boolean | MarkdownString} | Unveränderliche Metadaten über den Anbieter. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerNotebookSerializer(notebookType: string, serializer: NotebookSerializer, options?: NotebookDocumentContentOptions): Disposable
Registriert einen Notebook-Serialisierer.
Ein Notebook-Serialisierer muss über den Erweiterungspunkt notebooks beigesteuert werden. Beim Öffnen einer Notebook-Datei löst der Editor das Aktivierungsereignis onNotebook:<notebookType> aus, und Erweiterungen müssen im Gegenzug ihren Serialisierer registrieren.
| Parameter | Beschreibung |
|---|---|
| notebookType: string | Ein Notebook. |
| serializer: NotebookSerializer | Ein Notebook-Serialisierer. |
| options?: NotebookDocumentContentOptions | Optionale Kontextoptionen, die definieren, welche Teile eines Notebooks gespeichert werden sollen. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Serialisierer bei der Freigabe deregistriert. |
registerTaskProvider(type: string, provider: TaskProvider<Task>): Disposable
Registriert einen Task-Anbieter.
- veraltet - Verwenden Sie stattdessen die entsprechende Funktion im Namespace
tasks.
| Parameter | Beschreibung |
|---|---|
| type: string | Der Task-Kind-Typ, für den dieser Anbieter registriert ist. |
| provider: TaskProvider<Task> | Ein Task-Anbieter. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
registerTextDocumentContentProvider(scheme: string, provider: TextDocumentContentProvider): Disposable
Registriert einen Textdokument-Inhaltsanbieter.
Nur ein Anbieter kann pro Schema registriert werden.
| Parameter | Beschreibung |
|---|---|
| scheme: string | Das URI-Schema, für das registriert wird. |
| provider: TextDocumentContentProvider | Ein Inhaltsanbieter. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert. |
save(uri: Uri): Thenable<Uri | undefined>
Speichert den Editor, der durch die gegebene Ressource identifiziert wird, und gibt die resultierende Ressource zurück oder undefined, wenn das Speichern nicht erfolgreich war oder kein Editor mit der gegebenen Ressource gefunden wurde.
Hinweis: Ein Editor mit der angegebenen Ressource muss geöffnet sein, um gespeichert werden zu können.
saveAll(includeUntitled?: boolean): Thenable<boolean>
Speichert alle geänderten Dateien.
| Parameter | Beschreibung |
|---|---|
| includeUntitled?: boolean | Speichert auch Dateien, die während dieser Sitzung erstellt wurden. |
| Gibt zurück | Beschreibung |
| Thenable<boolean> | Ein Thenable, das aufgelöst wird, wenn die Dateien gespeichert wurden. Gibt für jede Datei, deren Speicherung fehlschlug, |
saveAs(uri: Uri): Thenable<Uri | undefined>
Speichert den durch die gegebene Ressource identifizierten Editor unter einem neuen Dateinamen, der vom Benutzer angegeben wird, und gibt die resultierende Ressource zurück oder undefined, wenn das Speichern nicht erfolgreich war, abgebrochen wurde oder kein Editor mit der gegebenen Ressource gefunden wurde.
Hinweis: Ein Editor mit der angegebenen Ressource muss geöffnet sein, um als neue Datei gespeichert werden zu können.
updateWorkspaceFolders(start: number, deleteCount: number, ...workspaceFoldersToAdd: Array<{name: string, uri: Uri}>): boolean
Diese Methode ersetzt deleteCount Arbeitsbereichsordner beginnend ab dem Index start durch eine optionale Menge von workspaceFoldersToAdd im Array vscode.workspace.workspaceFolders. Dieses "Splice"-Verhalten kann verwendet werden, um Arbeitsbereichsordner in einer einzigen Operation hinzuzufügen, zu entfernen und zu ändern.
Hinweis: In einigen Fällen kann das Aufrufen dieser Methode dazu führen, dass die aktuell ausgeführten Erweiterungen (einschließlich der aufrufenden Erweiterung) beendet und neu gestartet werden. Wenn beispielsweise der erste Arbeitsbereichsordner hinzugefügt, entfernt oder geändert wird, wird die (veraltete) rootPath-Eigenschaft aktualisiert, um auf den ersten Arbeitsbereichsordner zu verweisen. Ein weiterer Fall ist der Übergang von einem leeren oder einzelnen Ordnerarbeitsbereich zu einem Mehrfachordnerarbeitsbereich (siehe auch: https://visualstudiocode.de/docs/editor/workspaces).
Verwenden Sie das Ereignis onDidChangeWorkspaceFolders(), um benachrichtigt zu werden, wenn die Arbeitsbereichsordner aktualisiert wurden.
Beispiel: Hinzufügen eines neuen Arbeitsbereichsordners am Ende der Arbeitsbereichsordner.
workspace.updateWorkspaceFolders(workspace.workspaceFolders ? workspace.workspaceFolders.length : 0, null, { uri: ...});
Beispiel: Entfernen des ersten Arbeitsbereichsordners.
workspace.updateWorkspaceFolders(0, 1);
Beispiel: Ersetzen eines vorhandenen Arbeitsbereichsordners durch einen neuen.
workspace.updateWorkspaceFolders(0, 1, { uri: ...});
Es ist gültig, einen vorhandenen Arbeitsbereichsordner zu entfernen und ihn mit einem anderen Namen wieder hinzuzufügen, um diesen Ordner umzubenennen.
Hinweis: Es ist nicht zulässig, updateWorkspaceFolders() mehrmals aufzurufen, ohne auf das Feuern von onDidChangeWorkspaceFolders() zu warten.
| Parameter | Beschreibung |
|---|---|
| start: number | Die nullbasierte Position in der Liste der aktuell geöffneten Arbeitsbereichsordner, ab der mit dem Löschen von Arbeitsbereichsordnern begonnen werden soll. |
| deleteCount: number | Die optionale Anzahl der zu entfernenden Arbeitsbereichsordner. |
| ...workspaceFoldersToAdd: Array<{name: string, uri: Uri}> | Die optionale variable Menge an hinzuzufügenden Arbeitsbereichsordnern anstelle der gelöschten. Jeder Arbeitsbereich wird durch eine obligatorische URI und einen optionalen Namen identifiziert. |
| Gibt zurück | Beschreibung |
| boolean | true, wenn die Operation erfolgreich gestartet wurde, und false, wenn ungültige Argumente verwendet wurden, die zu einem ungültigen Zustand der Arbeitsbereichsordner führen würden (z. B. 2 Ordner mit derselben URI). |
AccessibilityInformation
Barrierefreiheitsinformationen, die das Verhalten von Screenreadern steuern.
Eigenschaften
Bezeichnung, die von einem Screenreader vorgelesen wird, sobald das Element den Fokus erhält.
Rolle des Widgets, die definiert, wie ein Screenreader damit interagiert. Die Rolle sollte in besonderen Fällen gesetzt werden, wenn beispielsweise ein baumartiges Element sich wie eine Checkbox verhält. Wenn die Rolle nicht angegeben ist, wählt der Editor automatisch die passende Rolle aus. Mehr über ARIA-Rollen finden Sie hier https://w3c.github.io/aria/#widget_roles.
AuthenticationForceNewSessionOptions
Optionale Optionen, die bei der Verwendung von authentication.getSession mit dem Flag forceNewSession verwendet werden sollen.
- veraltet - Verwenden Sie stattdessen AuthenticationGetSessionPresentationOptions.
AuthenticationForceNewSessionOptions: AuthenticationGetSessionPresentationOptions
AuthenticationGetSessionOptions
Optionen, die beim Abrufen einer AuthenticationSession von einem AuthenticationProvider verwendet werden.
Eigenschaften
account?: AuthenticationSessionAccountInformation
Das Konto, für das Sie eine Sitzung erhalten möchten. Dies wird an den Authentifizierungsanbieter weitergegeben, um die korrekte Sitzung zu erstellen.
clearSessionPreference?: boolean
Ob die bestehende Sitzungspräferenz gelöscht werden soll.
Für Authentifizierungsanbieter, die mehrere Konten gleichzeitig unterstützen, wird der Benutzer aufgefordert, ein Konto zur Verwendung auszuwählen, wenn getSession aufgerufen wird. Diese Präferenz wird gespeichert, bis getSession mit dieser Flagge aufgerufen wird.
Hinweis: Die Präferenz ist erweiterungsspezifisch. Wenn also eine Erweiterung getSession aufruft, hat dies keine Auswirkungen auf die Sitzungspräferenz einer anderen Erweiterung, die getSession aufruft. Außerdem wird die Präferenz für den aktuellen Arbeitsbereich und auch global gesetzt. Das bedeutet, dass neue Arbeitsbereiche zuerst den "globalen" Wert verwenden und dann, wenn diese Flagge angegeben ist, ein neuer Wert für diesen Arbeitsbereich gesetzt werden kann. Dies bedeutet auch, dass bestehende Arbeitsbereiche ihre Präferenz nicht verlieren, wenn ein neuer Arbeitsbereich diese Flagge setzt.
Standardmäßig false.
createIfNone?: boolean | AuthenticationGetSessionPresentationOptions
Ob die Anmeldung durchgeführt werden soll, wenn keine passende Sitzung vorhanden ist.
Wenn true, wird ein modales Dialogfeld angezeigt, das den Benutzer zur Anmeldung auffordert. Wenn false, wird auf dem Symbol der Konto-Aktivitätsleiste ein nummeriertes Abzeichen angezeigt. Ein Eintrag für die Erweiterung wird unter dem Menü zur Anmeldung hinzugefügt. Dies ermöglicht eine stille Aufforderung zur Anmeldung.
Wenn Sie Optionen angeben, sehen Sie auch das Dialogfeld, jedoch mit den zusätzlichen bereitgestellten Kontextinformationen.
Wenn eine passende Sitzung vorhanden ist, die Erweiterung aber keine Berechtigung dafür hat, führt das Setzen auf true ebenfalls zu einem sofortigen modalen Dialogfeld, und false fügt dem Konto-Symbol ein nummeriertes Abzeichen hinzu.
Standardmäßig false.
Hinweis: Sie können diese Option nicht zusammen mit silent verwenden.
forceNewSession?: boolean | AuthenticationGetSessionPresentationOptions
Ob versucht werden soll, erneut zu authentifizieren, auch wenn bereits eine Sitzung verfügbar ist.
Wenn true, wird ein modales Dialogfeld angezeigt, das den Benutzer zur erneuten Anmeldung auffordert. Dies wird hauptsächlich in Szenarien verwendet, in denen das Token neu ausgestellt werden muss, da es einige Berechtigungen verloren hat.
Wenn Sie Optionen angeben, sehen Sie auch das Dialogfeld, jedoch mit den zusätzlichen bereitgestellten Kontextinformationen.
Wenn keine bestehenden Sitzungen vorhanden sind und forceNewSession true ist, verhält es sich identisch mit createIfNone.
Dies ist standardmäßig false.
Ob die Anzeige zur Anmeldung im Konto-Menü angezeigt werden soll.
Wenn false, wird dem Benutzer ein Abzeichen im Konto-Menü mit einer Option zur Anmeldung für die Erweiterung angezeigt. Wenn true, wird keine Anzeige angezeigt.
Standardmäßig false.
Hinweis: Sie können diese Option nicht mit anderen Optionen verwenden, die den Benutzer auffordern, wie z. B. createIfNone.
AuthenticationGetSessionPresentationOptions
Optionale Optionen, die bei der Verwendung von authentication.getSession mit interaktiven Optionen forceNewSession und createIfNone verwendet werden.
Eigenschaften
Eine optionale Nachricht, die dem Benutzer angezeigt wird, wenn zur erneuten Authentifizierung aufgefordert wird. Zusätzliche Kontextinformationen darüber, warum Sie einen Benutzer zur erneuten Authentifizierung auffordern, können die Wahrscheinlichkeit erhöhen, dass er zustimmt.
AuthenticationProvider
Ein Anbieter für die Durchführung der Authentifizierung bei einem Dienst.
Events
onDidChangeSessions: Event<AuthenticationProviderAuthenticationSessionsChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn sich die Liste der Sitzungen geändert hat oder Daten innerhalb einer Sitzung geändert wurden.
Methoden
createSession(scopes: readonly string[], options: AuthenticationProviderSessionOptions): Thenable<AuthenticationSession>
Fordert einen Benutzer zur Anmeldung auf.
Wenn die Anmeldung erfolgreich ist, sollte das Ereignis onDidChangeSessions ausgelöst werden.
Wenn die Anmeldung fehlschlägt, sollte ein abgelehntes Promise zurückgegeben werden.
Wenn der Anbieter angegeben hat, dass er keine mehreren Konten unterstützt, sollte dies niemals aufgerufen werden, wenn bereits eine passende Sitzung mit diesen Bereichen vorhanden ist.
| Parameter | Beschreibung |
|---|---|
| scopes: readonly string[] | Eine Liste von Bereichen (Scopes) und Berechtigungen, mit denen die neue Sitzung erstellt werden soll. |
| options: AuthenticationProviderSessionOptions | Zusätzliche Optionen zum Erstellen einer Sitzung. |
| Gibt zurück | Beschreibung |
| Thenable<AuthenticationSession> | Ein Promise, das zu einer Authentifizierungssitzung aufgelöst wird. |
getSessions(scopes: readonly string[], options: AuthenticationProviderSessionOptions): Thenable<AuthenticationSession[]>
Ruft eine Liste von Sitzungen ab.
| Parameter | Beschreibung |
|---|---|
| scopes: readonly string[] | Eine optionale Liste von Bereichen (Scopes). Wenn angegeben, sollten die zurückgegebenen Sitzungen diesen Berechtigungen entsprechen, andernfalls sollten alle Sitzungen zurückgegeben werden. |
| options: AuthenticationProviderSessionOptions | Zusätzliche Optionen zum Abrufen von Sitzungen. |
| Gibt zurück | Beschreibung |
| Thenable<AuthenticationSession[]> | Ein Promise, das zu einem Array von Authentifizierungssitzungen aufgelöst wird. |
removeSession(sessionId: string): Thenable<void>
Entfernt die Sitzung, die der angegebenen Sitzungs-ID entspricht.
Wenn die Entfernung erfolgreich ist, sollte das Ereignis onDidChangeSessions ausgelöst werden.
Wenn eine Sitzung nicht entfernt werden kann, sollte der Anbieter mit einer Fehlermeldung ablehnen.
| Parameter | Beschreibung |
|---|---|
| sessionId: string | Die ID der zu entfernenden Sitzung. |
| Gibt zurück | Beschreibung |
| Thenable<void> |
AuthenticationProviderAuthenticationSessionsChangeEvent
Ein Ereignis, das ausgelöst wird, wenn eine AuthenticationSession hinzugefügt, entfernt oder geändert wird.
Eigenschaften
added: readonly AuthenticationSession[]
Die AuthenticationSessions des AuthenticationProvider, die hinzugefügt wurden.
changed: readonly AuthenticationSession[]
Die AuthenticationSessions des AuthenticationProvider, die geändert wurden. Eine Sitzung wird geändert, wenn ihre Daten (außer der ID) aktualisiert werden. Ein Beispiel hierfür ist eine Sitzungsaktualisierung, die zu einem neuen Zugriffstoken für die Sitzung führt.
removed: readonly AuthenticationSession[]
Die AuthenticationSessions des AuthenticationProvider, die entfernt wurden.
AuthenticationProviderInformation
Grundlegende Informationen über einen AuthenticationProvider.
Eigenschaften
Die eindeutige Kennung des Authentifizierungsanbieters.
Der menschenlesbare Name des Authentifizierungsanbieters.
AuthenticationProviderOptions
Optionen zum Erstellen eines AuthenticationProvider.
Eigenschaften
supportsMultipleAccounts?: boolean
Ob es möglich ist, sich gleichzeitig bei mehreren Konten mit diesem Anbieter anzumelden. Wenn nicht angegeben, ist der Standardwert false.
AuthenticationProviderSessionOptions
Die Optionen, die beim Aufruf von AuthenticationProvider.getSessions und AuthenticationProvider.createSession übergeben werden.
Eigenschaften
account?: AuthenticationSessionAccountInformation
Das Konto, nach dem gefragt wird. Wenn dies übergeben wird, sollte der Anbieter versuchen, nur die Sitzungen zurückzugeben, die sich auf dieses Konto beziehen.
AuthenticationSession
Stellt eine Sitzung eines aktuell angemeldeten Benutzers dar.
Eigenschaften
Das Zugriffstoken. Dieses Token sollte zur Authentifizierung von Anfragen an einen Dienst verwendet werden. Popularisiert durch OAuth.
- Referenz - https://oauth.net/2/access-tokens/
account: AuthenticationSessionAccountInformation
Das mit der Sitzung verknüpfte Konto.
Die Kennung der Authentifizierungssitzung.
Das ID-Token. Dieses Token enthält Identitätsinformationen über den Benutzer. Popularisiert durch OpenID Connect.
Die durch das Zugriffstoken der Sitzung gewährten Berechtigungen. Verfügbare Bereiche werden vom AuthenticationProvider definiert.
AuthenticationSessionAccountInformation
Die Informationen eines Kontos, das mit einer AuthenticationSession verknüpft ist.
Eigenschaften
Die eindeutige Kennung des Kontos.
Der lesbare Name des Kontos.
AuthenticationSessionsChangeEvent
Ein Ereignis, das ausgelöst wird, wenn eine AuthenticationSession hinzugefügt, entfernt oder geändert wird.
Eigenschaften
provider: AuthenticationProviderInformation
Der AuthenticationProvider, dessen Sitzungen sich geändert haben.
AuthenticationWwwAuthenticateRequest
Stellt Parameter für die Erstellung einer Sitzung basierend auf einem WWW-Authenticate-Header-Wert dar. Dies wird verwendet, wenn eine API einen 401 mit einem WWW-Authenticate-Header zurückgibt, der anzeigt, dass eine zusätzliche Authentifizierung erforderlich ist. Die Details dazu werden an den Authentifizierungsanbieter weitergegeben, um eine Sitzung zu erstellen.
- Hinweis - Der Autorisierungsanbieter muss Herausforderungen und insbesondere die Herausforderungen in diesem WWW-Authenticate-Wert verarbeiten können.
- Hinweis - Weitere Informationen zu WWW-Authenticate finden Sie unter https://developer.mozilla.org/docs/Web/HTTP/Reference/Headers/WWW-Authenticate
Eigenschaften
fallbackScopes?: readonly string[]
Die Fallback-Bereiche, die verwendet werden sollen, wenn keine Bereiche im WWW-Authenticate-Header gefunden werden.
Der rohe WWW-Authenticate-Header-Wert, der diese Herausforderung ausgelöst hat. Dieser wird vom Authentifizierungsanbieter analysiert, um die erforderlichen Herausforderungsinformationen zu extrahieren.
AutoClosingPair
Beschreibt Zeichenfolgenpaare, bei denen die schließende Zeichenfolge automatisch eingefügt wird, wenn die öffnende Zeichenfolge eingegeben wird.
Eigenschaften
Die schließende Zeichenfolge, die automatisch eingefügt wird, wenn die öffnende Zeichenfolge eingegeben wird.
notIn?: SyntaxTokenType[]
Eine Menge von Token, in denen das Paar nicht automatisch geschlossen werden soll.
Die Zeichenfolge, die das automatische Einfügen der schließenden Zeichenfolge auslöst.
BranchCoverage
Enthält Abdeckungsinformationen für einen Zweig von StatementCoverage.
Konstruktoren
new BranchCoverage(executed: number | boolean, location?: Range | Position, label?: string): BranchCoverage
| Parameter | Beschreibung |
|---|---|
| executed: number | boolean | Die Anzahl der Ausführungen dieses Zweigs oder ein boolescher Wert, der angibt, ob er ausgeführt wurde, wenn die genaue Anzahl unbekannt ist. Bei Null oder Falsch wird der Zweig als nicht abgedeckt markiert. |
| location?: Range | Position | Die Position des Zweigs. |
| label?: string | |
| Gibt zurück | Beschreibung |
| BranchCoverage |
Eigenschaften
Die Anzahl der Ausführungen dieses Zweigs oder ein boolescher Wert, der angibt, ob er ausgeführt wurde, wenn die genaue Anzahl unbekannt ist. Bei Null oder Falsch wird der Zweig als nicht abgedeckt markiert.
Label für den Zweig, verwendet im Kontext von "der ${label}-Zweig wurde nicht genommen", zum Beispiel.
Branch-Standort.
Breakpoint
Die Basisklasse aller Breakpoint-Typen.
Konstruktoren
new Breakpoint(enabled?: boolean, condition?: string, hitCondition?: string, logMessage?: string): Breakpoint
Erstellt einen neuen Breakpoint
| Parameter | Beschreibung |
|---|---|
| enabled?: boolean | Ist der Breakpoint aktiviert. |
| condition?: string | Ausdruck für bedingte Breakpoints |
| hitCondition?: string | Ausdruck, der steuert, wie viele Treffer des Breakpoints ignoriert werden |
| logMessage?: string | Nachricht, die beim Erreichen des Breakpoints angezeigt werden soll |
| Gibt zurück | Beschreibung |
| Breakpoint |
Eigenschaften
Ein optionaler Ausdruck für bedingte Breakpoints.
Ist der Breakpoint aktiviert.
Ein optionaler Ausdruck, der steuert, wie viele Treffer des Breakpoints ignoriert werden.
Die eindeutige ID des Breakpoints.
Eine optionale Nachricht, die protokolliert wird, wenn dieser Breakpoint erreicht wird. Eingebettete Ausdrücke in geschweiften Klammern werden vom Debug-Adapter interpoliert.
BreakpointsChangeEvent
Ein Ereignis, das die Änderungen am Satz von Breakpoints beschreibt.
Eigenschaften
added: readonly Breakpoint[]
Hinzugefügte Breakpoints.
changed: readonly Breakpoint[]
Geänderte Breakpoints.
removed: readonly Breakpoint[]
Entfernte Breakpoints.
CallHierarchyIncomingCall
Stellt einen eingehenden Aufruf dar, z. B. einen Aufrufer einer Methode oder eines Konstruktors.
Konstruktoren
new CallHierarchyIncomingCall(item: CallHierarchyItem, fromRanges: Range[]): CallHierarchyIncomingCall
Erstellt ein neues Aufrufobjekt.
| Parameter | Beschreibung |
|---|---|
| item: CallHierarchyItem | Das Element, das den Aufruf tätigt. |
| fromRanges: Range[] | Die Bereiche, in denen die Aufrufe auftreten. |
| Gibt zurück | Beschreibung |
| CallHierarchyIncomingCall |
Eigenschaften
from: CallHierarchyItem
Das Element, das den Aufruf tätigt.
fromRanges: Range[]
Der Bereich, in dem die Aufrufe auftreten. Dies ist relativ zum Aufrufer, der durch this.from bezeichnet wird.
CallHierarchyItem
Stellt Programmierkonstrukte wie Funktionen oder Konstruktoren im Kontext der Aufrufhierarchie dar.
Konstruktoren
new CallHierarchyItem(kind: SymbolKind, name: string, detail: string, uri: Uri, range: Range, selectionRange: Range): CallHierarchyItem
Erstellt ein neues Aufrufhierarchieelement.
| Parameter | Beschreibung |
|---|---|
| kind: SymbolKind | |
| name: string | |
| detail: string | |
| uri: Uri | |
| range: Range | |
| selectionRange: Range | |
| Gibt zurück | Beschreibung |
| CallHierarchyItem |
Eigenschaften
Weitere Details zu diesem Element, z. B. die Signatur einer Funktion.
kind: SymbolKind
Die Art dieses Elements.
Der Name dieses Elements.
range: Range
Der Bereich, der dieses Symbol umschließt, ohne führende/nachfolgende Leerzeichen, aber alles andere, z. B. Kommentare und Code.
selectionRange: Range
Der Bereich, der ausgewählt und angezeigt werden soll, wenn dieses Symbol ausgewählt wird, z. B. der Name einer Funktion. Muss vom Bereich umschlossen sein.
tags?: readonly SymbolTag[]
Tags für dieses Element.
uri: Uri
Die Ressourcenkennung dieses Elements.
CallHierarchyOutgoingCall
Stellt einen ausgehenden Aufruf dar, z. B. das Aufrufen eines Getters aus einer Methode oder einer Methode aus einem Konstruktor usw.
Konstruktoren
new CallHierarchyOutgoingCall(item: CallHierarchyItem, fromRanges: Range[]): CallHierarchyOutgoingCall
Erstellt ein neues Aufrufobjekt.
| Parameter | Beschreibung |
|---|---|
| item: CallHierarchyItem | Das aufgerufene Element |
| fromRanges: Range[] | Die Bereiche, in denen die Aufrufe auftreten. |
| Gibt zurück | Beschreibung |
| CallHierarchyOutgoingCall |
Eigenschaften
fromRanges: Range[]
Der Bereich, in dem dieses Element aufgerufen wird. Dies ist der Bereich relativ zum Aufrufer, z. B. das an provideCallHierarchyOutgoingCalls übergebene Element und nicht this.to.
Das aufgerufene Element.
CallHierarchyProvider
Die Schnittstelle des Aufrufhierarchieanbieters beschreibt den Vertrag zwischen Erweiterungen und der Aufrufhierarchiefunktion, die das Durchsuchen von Aufrufen und Aufrufern von Funktionen, Methoden, Konstruktoren usw. ermöglicht.
Methoden
prepareCallHierarchy(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<CallHierarchyItem | CallHierarchyItem[]>
Initialisiert die Aufrufhierarchie, indem das Element zurückgegeben wird, das durch das angegebene Dokument und die angegebene Position bezeichnet wird. Dieses Element wird als Einstiegspunkt in den Aufrufgraph verwendet. Anbieter sollten undefined oder null zurückgeben, wenn sich an der angegebenen Stelle kein Element befindet.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| position: Position | Die Position, an der der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<CallHierarchyItem | CallHierarchyItem[]> | Ein oder mehrere Aufrufhierarchieelemente oder ein Thenable, das zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
provideCallHierarchyIncomingCalls(item: CallHierarchyItem, token: CancellationToken): ProviderResult<CallHierarchyIncomingCall[]>
Stellt alle eingehenden Aufrufe für ein Element bereit, z. B. alle Aufrufer einer Methode. In Graphenbegriffen beschreibt dies gerichtete und annotierte Kanten innerhalb des Aufrufgraphs, z. B. das gegebene Element ist der Startknoten und das Ergebnis sind die erreichbaren Knoten.
| Parameter | Beschreibung |
|---|---|
| item: CallHierarchyItem | Das Hierarchieelement, für das eingehende Aufrufe berechnet werden sollen. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<CallHierarchyIncomingCall[]> | Eine Menge eingehender Aufrufe oder ein Thenable, das zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
provideCallHierarchyOutgoingCalls(item: CallHierarchyItem, token: CancellationToken): ProviderResult<CallHierarchyOutgoingCall[]>
Stellt alle ausgehenden Aufrufe für ein Element bereit, z. B. Aufrufe von Funktionen, Methoden oder Konstruktoren aus dem gegebenen Element. In Graphenbegriffen beschreibt dies gerichtete und annotierte Kanten innerhalb des Aufrufgraphs, z. B. das gegebene Element ist der Startknoten und das Ergebnis sind die erreichbaren Knoten.
| Parameter | Beschreibung |
|---|---|
| item: CallHierarchyItem | Das Hierarchieelement, für das ausgehende Aufrufe berechnet werden sollen. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<CallHierarchyOutgoingCall[]> | Eine Menge ausgehender Aufrufe oder ein Thenable, das zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
CancellationError
Ein Fehlertyp, der verwendet werden sollte, um die Abbrechung einer Operation zu signalisieren.
Dieser Typ kann als Reaktion auf ein abgebrochenes Abbruch-Token oder wenn eine Operation vom Ausführenden dieser Operation abgebrochen wird, verwendet werden.
Konstruktoren
new CancellationError(): CancellationError
Erstellt einen neuen Abbruchfehler.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| CancellationError |
CancellationToken
Ein Abbruch-Token wird einer asynchronen oder lang andauernden Operation übergeben, um eine Abbrechung anzufordern, z. B. das Abbrechen einer Anforderung von Vervollständigungselementen, da der Benutzer weiter getippt hat.
Um eine Instanz eines CancellationToken zu erhalten, verwenden Sie eine CancellationTokenSource.
Eigenschaften
isCancellationRequested: boolean
Ist true, wenn das Token abgebrochen wurde, andernfalls false.
onCancellationRequested: Event<any>
Ein Ereignis, das bei Abbruch ausgelöst wird.
CancellationTokenSource
Eine Abbruchquelle erstellt und steuert ein Abbruch-Token.
Konstruktoren
new CancellationTokenSource(): CancellationTokenSource
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| CancellationTokenSource |
Eigenschaften
token: CancellationToken
Das Abbruch-Token dieser Quelle.
Methoden
Signalisiert die Abbrechung des Tokens.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Objekt freigeben und Ressourcen bereinigen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
CharacterPair
Ein Tupel aus zwei Zeichen, wie ein Paar aus öffnenden und schließenden Klammern.
CharacterPair: [string, string]
ChatContext
Zusätzlicher Kontext, der an einen Teilnehmer übergeben wird.
Eigenschaften
history: ReadonlyArray<ChatRequestTurn | ChatResponseTurn>
Alle bisherigen Chatnachrichten in der aktuellen Chat-Sitzung. Derzeit sind nur Chatnachrichten für den aktuellen Teilnehmer enthalten.
ChatErrorDetails
Stellt ein Fehlerergebnis einer Chat-Anfrage dar.
Eigenschaften
Eine Fehlermeldung, die dem Benutzer angezeigt wird.
Wenn auf true gesetzt, wird die Antwort teilweise ausgeblendet.
ChatFollowup
Eine vom Teilnehmer vorgeschlagene Folgefrage.
Eigenschaften
Standardmäßig geht der Followup an denselben Teilnehmer/Befehl. Diese Eigenschaft kann jedoch gesetzt werden, um einen anderen Befehl aufzurufen.
Ein Titel, der dem Benutzer angezeigt werden soll. Die Eingabeaufforderung wird standardmäßig angezeigt, wenn dies nicht angegeben ist.
Standardmäßig geht der Followup an denselben Teilnehmer/Befehl. Diese Eigenschaft kann jedoch gesetzt werden, um einen anderen Teilnehmer anhand seiner ID aufzurufen. Followups können nur Teilnehmer aufrufen, die von derselben Erweiterung beigesteuert wurden.
Die Nachricht, die an den Chat gesendet werden soll.
ChatFollowupProvider
Wird einmal nach jeder Anfrage aufgerufen, um vorgeschlagene Folgefragen für den Benutzer zu erhalten. Der Benutzer kann auf den Followup klicken, um ihn an den Chat zu senden.
Methoden
provideFollowups(result: ChatResult, context: ChatContext, token: CancellationToken): ProviderResult<ChatFollowup[]>
Stellt Folgefragen für das angegebene Ergebnis bereit.
| Parameter | Beschreibung |
|---|---|
| result: ChatResult | Dieses Objekt hat dieselben Eigenschaften wie das Ergebnis, das aus dem Teilnehmerrückruf zurückgegeben wurde, einschließlich |
| context: ChatContext | Zusätzlicher Kontext, der an einen Teilnehmer übergeben wird. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<ChatFollowup[]> |
ChatLanguageModelToolReference
Ein Verweis auf ein Tool, das der Benutzer manuell zu seiner Anfrage hinzugefügt hat, entweder über die Inline-Syntax # oder als Anhang über die Büroklammer-Schaltfläche.
Eigenschaften
Der Toolname. Bezieht sich auf ein Tool, das in lm.tools aufgeführt ist.
range?: [start: number, end: number]
Der Start- und Endindex des Verweises im Prompt. Wenn undefiniert, war der Verweis nicht Teil des Prompt-Texts.
Hinweis – Die Indizes berücksichtigen das führende #-Zeichen, sodass sie verwendet werden können, um den Prompt wie im Original zu ändern.
ChatParticipant
Ein Chat-Teilnehmer kann vom Benutzer in einer Chat-Sitzung mit dem Präfix aufgerufen werden. Wenn er aufgerufen wird, bearbeitet er die Chat-Anfrage und ist allein für die Bereitstellung einer Antwort für den Benutzer verantwortlich. Ein ChatParticipant wird mit chat.createChatParticipant erstellt.
Events
onDidReceiveFeedback: Event<ChatResultFeedback>
Ein Ereignis, das ausgelöst wird, wenn Feedback für ein Ergebnis empfangen wird, z. B. wenn ein Benutzer ein Ergebnis hoch- oder runterstuft.
Das übergebene result garantiert dieselben Eigenschaften wie das Ergebnis, das zuvor vom Handler dieses Chat-Teilnehmers zurückgegeben wurde.
Eigenschaften
followupProvider?: ChatFollowupProvider
Dieser Provider wird einmal nach jeder Anfrage aufgerufen, um vorgeschlagene Folgefragen abzurufen.
iconPath?: IconPath
Ein Symbol für den Teilnehmer, das in der Benutzeroberfläche angezeigt wird.
Eine eindeutige ID für diesen Teilnehmer.
requestHandler: ChatRequestHandler
Der Handler für Anfragen an diesen Teilnehmer.
Methoden
Entsorgen Sie diesen Teilnehmer und geben Sie Ressourcen frei.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
ChatParticipantToolToken
Ein Token, das an lm.invokeTool übergeben werden kann, wenn ein Tool im Kontext der Bearbeitung einer Chat-Anfrage aufgerufen wird.
ChatParticipantToolToken: never
ChatPromptReference
Ein Verweis auf einen Wert, den der Benutzer seiner Chat-Anfrage hinzugefügt hat.
Eigenschaften
Eine eindeutige Kennung für diese Art von Referenz.
Eine Beschreibung dieses Werts, die in einer LLM-Eingabeaufforderung verwendet werden könnte.
range?: [start: number, end: number]
Der Start- und Endindex des Verweises im Prompt. Wenn undefiniert, war der Verweis nicht Teil des Prompt-Texts.
Beachten Sie, dass die Indizes das führende #-Zeichen berücksichtigen, sodass sie zur direkten Änderung der Eingabeaufforderung verwendet werden können.
Der Wert dieser Referenz. Derzeit werden die Typen string | Uri | Location verwendet, dies könnte sich aber in Zukunft erweitern.
ChatRequest
Eine Anfrage an einen Chat-Teilnehmer.
Eigenschaften
Der Name des [ChatCommand-Befehls](#_ChatCommand command), der für diese Anfrage ausgewählt wurde.
model: LanguageModelChat
Dies ist das Modell, das derzeit in der Benutzeroberfläche ausgewählt ist. Erweiterungen können dies verwenden oder lm.selectChatModels verwenden, um ein anderes Modell auszuwählen. Behalten Sie dies nicht über die Lebensdauer der Anfrage hinaus bei.
Die vom Benutzer eingegebene Eingabeaufforderung.
Informationen zu Referenzen, die in dieser Anfrage verwendet wurden, sind unter ChatRequest.references gespeichert.
Beachten Sie, dass der [Name des ChatParticipant.name](#_ChatParticipant.name name) des Teilnehmers und der [Name des ChatCommand.name](#_ChatCommand.name command) nicht Teil der Eingabeaufforderung sind.
references: readonly ChatPromptReference[]
Die Liste der Referenzen und ihrer Werte, auf die in der Eingabeaufforderung verwiesen wird.
Beachten Sie, dass die Eingabeaufforderung Referenzen enthält, wie sie verfasst wurden, und dass es dem Teilnehmer obliegt, die Eingabeaufforderung weiter zu ändern, z. B. durch Inline-Einbettung von Referenzwerten oder Erstellung von Links zu Überschriften, die die aufgelösten Werte enthalten. Referenzen werden umgekehrt nach ihrem Bereich in der Eingabeaufforderung sortiert. Das bedeutet, dass die letzte Referenz in der Eingabeaufforderung die erste in dieser Liste ist. Dies vereinfacht die Zeichenfolgenmanipulation der Eingabeaufforderung.
Ein Token, das an lm.invokeTool übergeben werden kann, wenn ein Tool im Kontext der Bearbeitung einer Chat-Anfrage aufgerufen wird. Dies ordnet die Tool-Aufrufung einer Chat-Sitzung zu.
toolReferences: readonly ChatLanguageModelToolReference[]
Die Liste der Tools, die der Benutzer seiner Anfrage beigefügt hat.
Wenn eine Tool-Referenz vorhanden ist, sollte der Chat-Teilnehmer eine Chat-Anfrage mit LanguageModelChatToolMode.Required stellen, um das Sprachmodell zu zwingen, Eingaben für das Tool zu generieren. Dann kann der Teilnehmer lm.invokeTool verwenden, um das Tool zu nutzen und das Ergebnis seiner Anfrage für die Benutzereingabeaufforderung anzufügen. Das Tool kann nützliche zusätzliche Kontexte für die Anfrage des Benutzers liefern.
ChatRequestHandler
ChatRequestHandler: (request: ChatRequest, context: ChatContext, response: ChatResponseStream, token: CancellationToken) => ProviderResult<ChatResult | void>
ChatRequestTurn
Stellt eine Benutzeranfrage im Chat-Verlauf dar.
Eigenschaften
Der Name des [ChatCommand-Befehls](#_ChatCommand command), der für diese Anfrage ausgewählt wurde.
Die ID des Chat-Teilnehmers, an den diese Anfrage gerichtet war.
Die vom Benutzer eingegebene Eingabeaufforderung.
Informationen zu Referenzen, die in dieser Nachricht verwendet wurden, sind unter ChatRequestTurn.references gespeichert.
Beachten Sie, dass der [Name des ChatParticipant.name](#_ChatParticipant.name name) des Teilnehmers und der [Name des ChatCommand.name](#_ChatCommand.name command) nicht Teil der Eingabeaufforderung sind.
references: ChatPromptReference[]
Die Referenzen, die in dieser Nachricht verwendet wurden.
toolReferences: readonly ChatLanguageModelToolReference[]
Die Liste der Tools, die dieser Anfrage beigefügt wurden.
ChatResponseAnchorPart
Stellt einen Teil einer Chat-Antwort dar, der ein Anker ist, der als Link zu einem Ziel gerendert wird.
Konstruktoren
new ChatResponseAnchorPart(value: Uri | Location, title?: string): ChatResponseAnchorPart
Erstellt einen neuen ChatResponseAnchorPart.
| Parameter | Beschreibung |
|---|---|
| value: Uri | Location | Eine URI oder ein Ort. |
| title?: string | Ein optionaler Titel, der mit dem Wert gerendert wird. |
| Gibt zurück | Beschreibung |
| ChatResponseAnchorPart |
Eigenschaften
Ein optionaler Titel, der mit dem Wert gerendert wird.
Das Ziel dieses Ankers.
ChatResponseCommandButtonPart
Stellt einen Teil einer Chat-Antwort dar, der ein Button ist, der einen Befehl ausführt.
Konstruktoren
new ChatResponseCommandButtonPart(value: Command): ChatResponseCommandButtonPart
Erstellt einen neuen ChatResponseCommandButtonPart.
| Parameter | Beschreibung |
|---|---|
| value: Command | Ein Befehl, der ausgeführt wird, wenn der Button geklickt wird. |
| Gibt zurück | Beschreibung |
| ChatResponseCommandButtonPart |
Eigenschaften
value: Command
Der Befehl, der ausgeführt wird, wenn der Button geklickt wird.
ChatResponseFileTree
Stellt eine Dateibaumstruktur in einer Chat-Antwort dar.
Eigenschaften
children?: ChatResponseFileTree[]
Ein Array von Kind-Dateibäumen, wenn der aktuelle Dateibaum ein Verzeichnis ist.
Der Name der Datei oder des Verzeichnisses.
ChatResponseFileTreePart
Stellt einen Teil einer Chat-Antwort dar, der ein Dateibaum ist.
Konstruktoren
new ChatResponseFileTreePart(value: ChatResponseFileTree[], baseUri: Uri): ChatResponseFileTreePart
Erstellt einen neuen ChatResponseFileTreePart.
| Parameter | Beschreibung |
|---|---|
| value: ChatResponseFileTree[] | Dateibaumdaten. |
| baseUri: Uri | Die Basis-URI, auf die sich dieser Dateibaum bezieht. |
| Gibt zurück | Beschreibung |
| ChatResponseFileTreePart |
Eigenschaften
baseUri: Uri
Die Basis-URI, auf die sich dieser Dateibaum bezieht.
value: ChatResponseFileTree[]
Dateibaumdaten.
ChatResponseMarkdownPart
Stellt einen Teil einer Chat-Antwort dar, der als Markdown formatiert ist.
Konstruktoren
new ChatResponseMarkdownPart(value: string | MarkdownString): ChatResponseMarkdownPart
Erstellt einen neuen ChatResponseMarkdownPart.
| Parameter | Beschreibung |
|---|---|
| value: string | MarkdownString | Ein Markdown-String oder ein String, der als Markdown interpretiert werden soll. Die boolesche Form von MarkdownString.isTrusted wird NICHT unterstützt. |
| Gibt zurück | Beschreibung |
| ChatResponseMarkdownPart |
Eigenschaften
value: MarkdownString
Ein Markdown-String oder ein String, der als Markdown interpretiert werden soll.
ChatResponsePart
Stellt die verschiedenen Chat-Antworttypen dar.
ChatResponsePart: ChatResponseMarkdownPart | ChatResponseFileTreePart | ChatResponseAnchorPart | ChatResponseProgressPart | ChatResponseReferencePart | ChatResponseCommandButtonPart
ChatResponseProgressPart
Stellt einen Teil einer Chat-Antwort dar, der eine Fortschrittsnachricht ist.
Konstruktoren
new ChatResponseProgressPart(value: string): ChatResponseProgressPart
Erstellt einen neuen ChatResponseProgressPart.
| Parameter | Beschreibung |
|---|---|
| value: string | Eine Fortschrittsnachricht. |
| Gibt zurück | Beschreibung |
| ChatResponseProgressPart |
Eigenschaften
Die Fortschrittsnachricht.
ChatResponseReferencePart
Stellt einen Teil einer Chat-Antwort dar, der ein separater Verweis ist, getrennt vom Inhalt gerendert.
Konstruktoren
new ChatResponseReferencePart(value: Uri | Location, iconPath?: IconPath): ChatResponseReferencePart
Erstellt einen neuen ChatResponseReferencePart.
| Parameter | Beschreibung |
|---|---|
| value: Uri | Location | Eine URI oder ein Ort. |
| iconPath?: IconPath | Icon für den Verweis, der in der Benutzeroberfläche angezeigt wird. |
| Gibt zurück | Beschreibung |
| ChatResponseReferencePart |
Eigenschaften
iconPath?: IconPath
Das Symbol für den Verweis.
Das Ziel des Verweises.
ChatResponseStream
Der ChatResponseStream ist die Art und Weise, wie ein Teilnehmer Inhalte an die Chat-Ansicht zurückgeben kann. Er bietet mehrere Methoden zum Streamen verschiedener Inhaltstypen, die in der Chat-Ansicht entsprechend gerendert werden. Ein Teilnehmer kann die Hilfsmethode für den Inhaltstyp verwenden, den er zurückgeben möchte, oder er kann einen ChatResponsePart instanziieren und die generische Methode ChatResponseStream.push verwenden, um ihn zurückzugeben.
Methoden
anchor(value: Uri | Location, title?: string): void
Push einen Ankerteil an diesen Stream. Kurzerhand für push(new ChatResponseAnchorPart(value, title)). Ein Anker ist ein Inline-Verweis auf eine Art von Ressource.
button(command: Command): void
Push einen Befehlsschaltflächenteil an diesen Stream. Kurzerhand für push(new ChatResponseCommandButtonPart(value, title)).
| Parameter | Beschreibung |
|---|---|
| command: Command | Ein Befehl, der ausgeführt wird, wenn der Button geklickt wird. |
| Gibt zurück | Beschreibung |
| void |
filetree(value: ChatResponseFileTree[], baseUri: Uri): void
Push einen Dateibaumteil an diesen Stream. Kurzerhand für push(new ChatResponseFileTreePart(value)).
| Parameter | Beschreibung |
|---|---|
| value: ChatResponseFileTree[] | Dateibaumdaten. |
| baseUri: Uri | Die Basis-URI, auf die sich dieser Dateibaum bezieht. |
| Gibt zurück | Beschreibung |
| void |
markdown(value: string | MarkdownString): void
Push einen Markdown-Teil an diesen Stream. Kurzerhand für push(new ChatResponseMarkdownPart(value)).
Siehe auch ChatResponseStream.push.
| Parameter | Beschreibung |
|---|---|
| value: string | MarkdownString | Ein Markdown-String oder ein String, der als Markdown interpretiert werden soll. Die boolesche Form von MarkdownString.isTrusted wird NICHT unterstützt. |
| Gibt zurück | Beschreibung |
| void |
Push einen Fortschrittsteil an diesen Stream. Kurzerhand für push(new ChatResponseProgressPart(value)).
| Parameter | Beschreibung |
|---|---|
| value: string | Eine Fortschrittsnachricht. |
| Gibt zurück | Beschreibung |
| void |
push(part: ChatResponsePart): void
Pusht einen Teil an diesen Stream.
| Parameter | Beschreibung |
|---|---|
| part: ChatResponsePart | Ein Antwortteil, gerendert oder Metadaten. |
| Gibt zurück | Beschreibung |
| void |
reference(value: Uri | Location, iconPath?: IconPath): void
Push einen Verweis an diesen Stream. Kurzerhand für push(new ChatResponseReferencePart(value)).
Beachten Sie, dass der Verweis nicht inline mit der Antwort gerendert wird.
ChatResponseTurn
Stellt die Antwort eines Chat-Teilnehmers im Chat-Verlauf dar.
Eigenschaften
Der Name des Befehls, von dem diese Antwort stammt.
Die ID des Chat-Teilnehmers, von dem diese Antwort stammt.
response: ReadonlyArray<ChatResponseMarkdownPart | ChatResponseFileTreePart | ChatResponseAnchorPart | ChatResponseCommandButtonPart>
Der vom Chat-Teilnehmer empfangene Inhalt. Nur die Stream-Teile, die tatsächlichen Inhalt darstellen (keine Metadaten), werden dargestellt.
result: ChatResult
Das vom Chat-Teilnehmer empfangene Ergebnis.
ChatResult
Das Ergebnis einer Chat-Anfrage.
Eigenschaften
errorDetails?: ChatErrorDetails
Wenn die Anfrage zu einem Fehler geführt hat, definiert diese Eigenschaft die Fehlerdetails.
Beliebige Metadaten für dieses Ergebnis. Kann alles sein, muss aber JSON-stringifybar sein.
ChatResultFeedback
Stellt Benutzerfeedback für ein Ergebnis dar.
Eigenschaften
kind: ChatResultFeedbackKind
Die Art des empfangenen Feedbacks.
result: ChatResult
Das ChatResult, für das der Benutzer Feedback gibt. Dieses Objekt hat dieselben Eigenschaften wie das Ergebnis, das aus dem Rückruf des Teilnehmers zurückgegeben wurde, einschließlich metadata, ist aber nicht dieselbe Instanz.
ChatResultFeedbackKind
Stellt die Art des empfangenen Benutzerfeedbacks dar.
Enumerationselemente
Der Benutzer hat das Ergebnis als nicht hilfreich markiert.
Der Benutzer hat das Ergebnis als hilfreich markiert.
Clipboard
Die Zwischenablage bietet Lese- und Schreibzugriff auf die Zwischenablage des Systems.
Methoden
Liest den aktuellen Inhalt der Zwischenablage als Text.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| Thenable<string> | Ein Thenable, das zu einem String aufgelöst wird. |
writeText(value: string): Thenable<void>
Schreibt Text in die Zwischenablage.
| Parameter | Beschreibung |
|---|---|
| value: string | |
| Gibt zurück | Beschreibung |
| Thenable<void> | Ein Thenable, das aufgelöst wird, wenn das Schreiben erfolgt ist. |
CodeAction
Eine Code-Aktion repräsentiert eine Änderung, die im Code vorgenommen werden kann, z. B. zur Behebung eines Problems oder zur Refaktorierung von Code.
Eine CodeAction muss entweder edit und/oder einen command setzen. Wenn beides angegeben ist, wird zuerst die edit angewendet und dann der Befehl ausgeführt.
Konstruktoren
new CodeAction(title: string, kind?: CodeActionKind): CodeAction
Erstellt eine neue Code-Aktion.
Eine Code-Aktion muss mindestens einen title und edits und/oder einen command haben.
| Parameter | Beschreibung |
|---|---|
| title: string | Der Titel der Code-Aktion. |
| kind?: CodeActionKind | Die Art der Code-Aktion. |
| Gibt zurück | Beschreibung |
| CodeAction |
Eigenschaften
command?: Command
Ein Command, das diese Code-Aktion ausführt.
Wenn dieser Befehl eine Ausnahme auslöst, zeigt der Editor die Fehlermeldung den Benutzern am aktuellen Cursorposition im Editor an.
diagnostics?: Diagnostic[]
Diagnosen, die diese Code-Aktion auflöst.
Markiert, dass die Code-Aktion derzeit nicht angewendet werden kann.
Deaktivierte Code-Aktionen werden im automatischen Glühbirnen-Code-Aktion-Menü nicht angezeigt.
Deaktivierte Aktionen werden im Menü für Codeaktionen ausgegraut angezeigt, wenn der Benutzer einen spezifischeren Typ von Codeaktion anfordert, z. B. Refactorings.
Wenn der Benutzer eine Tastenkombination hat, die eine Codeaktion automatisch anwendet, und nur deaktivierte Codeaktionen zurückgegeben werden, zeigt der Editor dem Benutzer eine Fehlermeldung mit
reasonim Editor an.
| Parameter | Beschreibung |
|---|---|
| reason: string | Eine menschenlesbare Beschreibung, warum die Codeaktion derzeit deaktiviert ist. Dies wird in der Benutzeroberfläche für Codeaktionen angezeigt. |
edit?: WorkspaceEdit
Eine Workspace-Bearbeitung, die diese Codeaktion durchführt.
Kennzeichnet dies als bevorzugte Aktion. Bevorzugte Aktionen werden vom Befehl auto fix verwendet und können durch Tastenkombinationen gezielt angesprochen werden.
Eine schnelle Korrektur sollte als bevorzugt markiert werden, wenn sie den zugrunde liegenden Fehler ordnungsgemäß behebt. Ein Refactoring sollte als bevorzugt markiert werden, wenn es die vernünftigste Wahl unter den möglichen Aktionen ist.
kind?: CodeActionKind
Art der Codeaktion.
Wird zum Filtern von Codeaktionen verwendet.
Ein kurzer, menschenlesbarer Titel für diese Codeaktion.
CodeActionContext
Enthält zusätzliche Diagnoseinformationen über den Kontext, in dem eine Codeaktion ausgeführt wird.
Eigenschaften
diagnostics: readonly Diagnostic[]
Ein Array von Diagnosen.
only: CodeActionKind
Angeforderte Art von Aktionen, die zurückgegeben werden sollen.
Aktionen, die nicht dieser Art entsprechen, werden herausgefiltert, bevor sie von der Glühbirne angezeigt werden.
triggerKind: CodeActionTriggerKind
Der Grund, warum Codeaktionen angefordert wurden.
CodeActionKind
Art einer Codeaktion.
Arten sind eine hierarchische Liste von Bezeichnern, getrennt durch ., z. B. "refactor.extract.function".
CodeActionKinds werden vom Editor für UI-Elemente wie das Kontextmenü für Refactoring verwendet. Benutzer können Codeaktionen mit einer bestimmten Art auch über den Befehl editor.action.codeAction auslösen.
Statisch
Empty: CodeActionKind
Leere Art.
Notebook: CodeActionKind
Basisart für alle Codeaktionen, die für den gesamten Gültigkeitsbereich des Notebooks gelten. CodeActionKinds, die dies verwenden, sollten immer mit notebook. beginnen.
Dies erfordert, dass neue CodeActions dafür erstellt und über Erweiterungen beigesteuert werden. Vorhandene Arten können nicht einfach mit dem neuen Präfix notebook. versehen werden, da die Funktionalität für den Voll-Notebook-Bereich einzigartig ist.
Notebook CodeActionKinds können wie folgt initialisiert werden (beides führt zu notebook.source.xyz)
const newKind = CodeActionKind.Notebook.append(CodeActionKind.Source.append('xyz').value)const newKind = CodeActionKind.Notebook.append('source.xyz')
Beispiel Arten/Aktionen
notebook.source.organizeImports(kann alle Importe in eine neue Top-Zelle verschieben)notebook.source.normalizeVariableNames(kann alle Variablen in ein standardisiertes Groß-/Kleinschreibungformat umbenennen)
QuickFix: CodeActionKind
Basisart für Quickfix-Aktionen: quickfix.
Quickfix-Aktionen beheben ein Problem im Code und werden im normalen Kontextmenü für Codeaktionen angezeigt.
Refactor: CodeActionKind
Basisart für Refactoring-Aktionen: refactor
Refactoring-Aktionen werden im Kontextmenü für Refactoring angezeigt.
RefactorExtract: CodeActionKind
Basisart für Refactoring-Extraktionsaktionen: refactor.extract
Beispiel-Extraktionsaktionen
- Methode extrahieren
- Funktion extrahieren
- Variable extrahieren
- Interface aus Klasse extrahieren
- ...
RefactorInline: CodeActionKind
Basisart für Refactoring-Inline-Aktionen: refactor.inline
Beispiel-Inline-Aktionen
- Funktion inline
- Variable inline
- Konstante inline
- ...
RefactorMove: CodeActionKind
Basisart für Refactoring-Verschiebungsaktionen: refactor.move
Beispiel-Verschiebungsaktionen
- Eine Funktion in eine neue Datei verschieben
- Eine Eigenschaft zwischen Klassen verschieben
- Methode in Basisklasse verschieben
- ...
RefactorRewrite: CodeActionKind
Basisart für Refactoring-Rewrite-Aktionen: refactor.rewrite
Beispiel-Rewrite-Aktionen
- JavaScript-Funktion in Klasse konvertieren
- Parameter hinzufügen oder entfernen
- Feld kapseln
- Methode statisch machen
- ...
Source: CodeActionKind
Basisart für Quellaktionen: source
Source-Codeaktionen gelten für die gesamte Datei. Sie müssen explizit angefordert werden und werden nicht im normalen Glühbirnenmenü angezeigt. Source-Aktionen können beim Speichern mit editor.codeActionsOnSave ausgeführt werden und werden auch im Kontextmenü source angezeigt.
SourceFixAll: CodeActionKind
Basisart für automatische Korrektur von Source-Aktionen: source.fixAll.
Fix-All-Aktionen beheben automatisch Fehler, für die eine klare Korrektur ohne Benutzereingriff möglich ist. Sie sollten keine Fehler unterdrücken oder unsichere Korrekturen durchführen, wie z. B. das Generieren neuer Typen oder Klassen.
SourceOrganizeImports: CodeActionKind
Basisart für eine Organisieren-Import-Source-Aktion: source.organizeImports.
Konstruktoren
new CodeActionKind(value: string): CodeActionKind
Privater Konstruktor, verwenden Sie statische CodeActionKind.XYZ, um von einer bestehenden Codeaktion abzustammen.
| Parameter | Beschreibung |
|---|---|
| value: string | Der Wert der Art, z. B. |
| Gibt zurück | Beschreibung |
| CodeActionKind |
Eigenschaften
String-Wert der Art, z. B. "refactor.extract.function".
Methoden
append(parts: string): CodeActionKind
Erstellt eine neue Art, indem ein spezifischerer Selektor an die aktuelle Art angehängt wird.
Ändert die aktuelle Art nicht.
| Parameter | Beschreibung |
|---|---|
| parts: string | |
| Gibt zurück | Beschreibung |
| CodeActionKind |
contains(other: CodeActionKind): boolean
Prüft, ob other eine Unterart dieser CodeActionKind ist.
Die Art "refactor.extract" enthält beispielsweise "refactor.extract" und "refactor.extract.function", aber nicht "unicorn.refactor.extract" oder "refactor.extractAll" oder refactor.
| Parameter | Beschreibung |
|---|---|
| other: CodeActionKind | Zu prüfende Art. |
| Gibt zurück | Beschreibung |
| boolean |
intersects(other: CodeActionKind): boolean
Prüft, ob diese Codeaktion Art other schneidet.
Die Art "refactor.extract" schneidet beispielsweise refactor, "refactor.extract" und "refactor.extract.function", aber nicht "unicorn.refactor.extract" oder "refactor.extractAll".
| Parameter | Beschreibung |
|---|---|
| other: CodeActionKind | Zu prüfende Art. |
| Gibt zurück | Beschreibung |
| boolean |
CodeActionProvider<T>
Stellt kontextbezogene Aktionen für Code bereit. Codeaktionen beheben typischerweise entweder Probleme oder verschönern/refaktorisieren Code.
Codeaktionen werden den Benutzern auf verschiedene Weise präsentiert:
- Die Funktion Glühbirne, die eine Liste von Codeaktionen an der aktuellen Cursorposition anzeigt. Die Liste der Aktionen der Glühbirne enthält sowohl schnelle Korrekturen als auch Refactorings.
- Als Befehle, die Benutzer ausführen können, wie z. B.
Refactor. Benutzer können diese über die Befehlspalette oder mit Tastenkombinationen ausführen. - Als Quellaktionen, wie z. B.
Organize Imports. - Schnelle Korrekturen werden in der Problemansicht angezeigt.
- Beim Speichern durch die Einstellung
editor.codeActionsOnSaveangewendete Änderungen.
Methoden
provideCodeActions(document: TextDocument, range: Range | Selection, context: CodeActionContext, token: CancellationToken): ProviderResult<Array<Command | T>>
Codeaktionen für einen gegebenen Bereich in einem Dokument abrufen.
Geben Sie nur Codeaktionen zurück, die für den Benutzer im angeforderten Bereich relevant sind. Berücksichtigen Sie auch, wie die zurückgegebenen Codeaktionen in der Benutzeroberfläche angezeigt werden. Die Glühbirnen-Widget und die Befehle Refactor zeigen beispielsweise zurückgegebene Codeaktionen als Liste an, geben Sie also keine große Anzahl von Codeaktionen zurück, die den Benutzer überfordern.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| range: Range | Selection | Der Selektor oder Bereich, für den der Befehl aufgerufen wurde. Dies ist immer eine Auswahl, wenn die Aktionen im aktuell aktiven Editor angefordert werden. |
| context: CodeActionContext | Stellt zusätzliche Informationen darüber bereit, welche Codeaktionen angefordert werden. Sie können dies verwenden, um zu sehen, welche spezifische Art von Codeaktionen vom Editor angefordert wird, um relevantere Aktionen zurückzugeben und irrelevante Aktionen zu vermeiden, die vom Editor verworfen werden. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<Array<Command | T>> | Ein Array von Codeaktionen, wie z. B. schnelle Korrekturen oder Refactorings. Das Fehlen eines Ergebnisses kann durch Rückgabe von Aus historischen Gründen unterstützen wir auch die Rückgabe von |
resolveCodeAction(codeAction: T, token: CancellationToken): ProviderResult<T>
Füllt die edit-Eigenschaft einer Codeaktion aus. Änderungen an allen anderen Eigenschaften, wie dem Titel, werden ignoriert. Eine Codeaktion, die eine Bearbeitung hat, wird nicht aufgelöst.
Beachten Sie, dass ein Codeaktionsanbieter, der Befehle anstelle von Codeaktionen zurückgibt, diese Funktion nicht erfolgreich implementieren kann. Die Rückgabe von Befehlen ist veraltet und stattdessen sollten Codeaktionen zurückgegeben werden.
| Parameter | Beschreibung |
|---|---|
| codeAction: T | Eine Codeaktion. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T> | Die aufgelöste Codeaktion oder ein Thenable, der sich zu einer solchen auflöst. Es ist in Ordnung, das gegebene |
CodeActionProviderMetadata
Metadaten über die Art von Codeaktionen, die ein CodeActionProvider bereitstellt.
Eigenschaften
documentation?: ReadonlyArray<{command: Command, kind: CodeActionKind}>
Statische Dokumentation für eine Klasse von Codeaktionen.
Dokumentation vom Anbieter wird im Menü für Codeaktionen angezeigt, wenn entweder
Codeaktionen der
kindvom Editor angefordert werden. In diesem Fall zeigt der Editor die Dokumentation an, die der angeforderten Codeaktionsart am nächsten kommt. Wenn ein Anbieter beispielsweise Dokumentation fürRefactorundRefactorExtracthat, verwendet der Editor bei Anforderung von Codeaktionen fürRefactorExtractdie Dokumentation fürRefactorExtractanstelle der Dokumentation fürRefactor.Beliebige Codeaktionen der
kindvom Anbieter zurückgegeben werden.
Pro Anbieter wird höchstens ein Dokumentationseintrag angezeigt.
providedCodeActionKinds?: readonly CodeActionKind[]
Liste der CodeActionKinds, die ein CodeActionProvider zurückgeben kann.
Diese Liste wird verwendet, um zu bestimmen, ob ein bestimmter CodeActionProvider aufgerufen werden soll oder nicht. Um unnötige Berechnungen zu vermeiden, sollte jeder CodeActionProvider providedCodeActionKinds auflisten. Die Liste der Arten kann entweder generisch sein, wie z. B. [CodeActionKind.Refactor], oder jede bereitgestellte Art auflisten, wie z. B. [CodeActionKind.Refactor.Extract.append('function'), CodeActionKind.Refactor.Extract.append('constant'), ...].
CodeActionTriggerKind
Der Grund, warum Codeaktionen angefordert wurden.
Enumerationselemente
Codeaktionen wurden explizit vom Benutzer oder von einer Erweiterung angefordert.
Codeaktionen wurden automatisch angefordert.
Dies geschieht normalerweise, wenn sich die aktuelle Auswahl in einer Datei ändert, kann aber auch bei Änderungen des Dateiinhalts ausgelöst werden.
CodeLens
Ein Code-Lens repräsentiert einen Befehl, der zusammen mit Quelltext angezeigt werden soll, z. B. die Anzahl der Verweise, eine Möglichkeit zum Ausführen von Tests usw.
Ein Code-Lens ist nicht aufgelöst, wenn kein Befehl damit verknüpft ist. Aus Leistungsgründen sollten die Erstellung eines Code-Lenses und die Auflösung in zwei Stufen erfolgen.
Siehe auch
Konstruktoren
new CodeLens(range: Range, command?: Command): CodeLens
Erstellt ein neues Code-Lens-Objekt.
Eigenschaften
command?: Command
Der Befehl, den diese Code-Lens darstellt.
true, wenn ein Befehl zugeordnet ist.
range: Range
Der Bereich, in dem diese Code-Lens gültig ist. Sollte sich nur über eine Zeile erstrecken.
CodeLensProvider<T>
Ein Code-Lens-Anbieter fügt Befehle zu Quelltext hinzu. Die Befehle werden als dedizierte horizontale Zeilen zwischen dem Quelltext angezeigt.
Events
onDidChangeCodeLenses?: Event<void>
Ein optionales Ereignis, um zu signalisieren, dass sich die Code-Lenses dieses Anbieters geändert haben.
Methoden
provideCodeLenses(document: TextDocument, token: CancellationToken): ProviderResult<T[]>
Berechnet eine Liste von Lenses. Dieser Aufruf sollte so schnell wie möglich zurückkehren, und wenn die Berechnung der Befehle aufwendig ist, sollten Implementierer nur Code-Lens-Objekte mit gesetztem Bereich zurückgeben und resolve implementieren.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T[]> | Ein Array von Code-Lenses oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
resolveCodeLens(codeLens: T, token: CancellationToken): ProviderResult<T>
Diese Funktion wird für jede sichtbare Code-Lens aufgerufen, normalerweise beim Scrollen und nach Aufrufen von compute-Lenses.
| Parameter | Beschreibung |
|---|---|
| codeLens: T | Code-Lens, die aufgelöst werden muss. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T> | Die gegebene, aufgelöste Code-Lens oder ein Thenable, das sich zu einer solchen auflöst. Es ist in Ordnung, das gegebene |
Color
Stellt eine Farbe im RGBA-Raum dar.
Konstruktoren
new Color(red: number, green: number, blue: number, alpha: number): Color
Erstellt eine neue Farbinstanz.
| Parameter | Beschreibung |
|---|---|
| red: number | Die rote Komponente. |
| green: number | Die grüne Komponente. |
| blue: number | Die blaue Komponente. |
| alpha: number | Die Alpha-Komponente. |
| Gibt zurück | Beschreibung |
| Color |
Eigenschaften
Die Alpha-Komponente dieser Farbe im Bereich [0-1].
Die blaue Komponente dieser Farbe im Bereich [0-1].
Die grüne Komponente dieser Farbe im Bereich [0-1].
Die rote Komponente dieser Farbe im Bereich [0-1].
ColorInformation
Repräsentiert einen Farbbereich aus einem Dokument.
Konstruktoren
new ColorInformation(range: Range, color: Color): ColorInformation
Erstellt einen neuen Farbbereich.
| Parameter | Beschreibung |
|---|---|
| range: Range | Der Bereich, auf den sich die Farbe bezieht. Darf nicht leer sein. |
| color: Color | Der Wert der Farbe. |
| Gibt zurück | Beschreibung |
| ColorInformation |
Eigenschaften
color: Color
Der tatsächliche Farbwert für diesen Farbbereich.
range: Range
Der Bereich im Dokument, in dem diese Farbe vorkommt.
ColorPresentation
Ein Farbpräsentationsobjekt beschreibt, wie eine Farbe als Text dargestellt werden soll und welche Bearbeitungen erforderlich sind, um darauf aus dem Quellcode zu verweisen.
Für einige Sprachen kann eine Farbe mehrere Darstellungen haben, z. B. kann CSS die Farbe Rot mit der Konstante Red, dem Hex-Wert #ff0000 oder in RGBA- und HSLA-Formen darstellen. In C# gelten andere Darstellungen, z. B. System.Drawing.Color.Red.
Konstruktoren
new ColorPresentation(label: string): ColorPresentation
Erstellt eine neue Farbpräsentation.
| Parameter | Beschreibung |
|---|---|
| label: string | Die Beschriftung dieser Farbpräsentation. |
| Gibt zurück | Beschreibung |
| ColorPresentation |
Eigenschaften
additionalTextEdits?: TextEdit[]
Ein optionales Array von zusätzlichen Textbearbeitungen, die angewendet werden, wenn diese Farbpräsentation ausgewählt wird. Bearbeitungen dürfen sich nicht mit der Haupt-Bearbeitung oder untereinander überschneiden.
Die Beschriftung dieser Farbpräsentation. Sie wird in der Kopfzeile des Farbwählers angezeigt. Standardmäßig ist dies auch der Text, der beim Auswählen dieser Farbpräsentation eingefügt wird.
textEdit?: TextEdit
Eine Bearbeitung, die auf ein Dokument angewendet wird, wenn diese Präsentation für die Farbe ausgewählt wird. Wenn sie falsy ist, wird die Beschriftung verwendet.
ColorTheme
Repräsentiert ein Farbschema.
Eigenschaften
kind: ColorThemeKind
Die Art dieses Farbschemas: hell, dunkel, kontrastreich dunkel und kontrastreich hell.
ColorThemeKind
Repräsentiert eine Farbschema-Art.
Enumerationselemente
Ein helles Farbschema.
Ein dunkles Farbschema.
Ein dunkles, kontrastreiches Farbschema.
Ein helles, kontrastreiches Farbschema.
Command
Stellt einen Verweis auf einen Befehl dar. Bietet einen Titel, der zur Darstellung eines Befehls in der Benutzeroberfläche verwendet wird, und optional eine Liste von Argumenten, die an die Befehlshandlerfunktion übergeben werden, wenn dieser aufgerufen wird.
Eigenschaften
Argumente, mit denen der Befehlshandler aufgerufen werden soll.
Die Kennung des tatsächlichen Befehlshandlers.
Siehe auch commands.registerCommand
Titel des Befehls, z. B. save.
Ein Tooltip für den Befehl, wenn er in der Benutzeroberfläche dargestellt wird.
Comment
Ein Kommentar wird im Editor oder im Kommentarfenster angezeigt, je nachdem, wie er bereitgestellt wird.
Eigenschaften
author: CommentAuthorInformation
Die Autoreninformationen des Kommentars.
body: string | MarkdownString
Der für Menschen lesbare Kommentartext.
Der Kontextwert des Kommentars. Dieser kann verwendet werden, um kommentarsspezifische Aktionen bereitzustellen. Zum Beispiel erhält ein Kommentar den Kontextwert editable. Bei der Bereitstellung von Aktionen für comments/comment/title über den menus Extension Point können Sie den Kontextwert für den Schlüssel comment im when-Ausdruck wie comment == editable angeben.
"contributes": {
"menus": {
"comments/comment/title": [
{
"command": "extension.deleteComment",
"when": "comment == editable"
}
]
}
}
Dies zeigt die Aktion extension.deleteComment nur für Kommentare mit dem Kontextwert editable an.
Optionales Label, das den Kommentar beschreibt. Das Label wird neben dem Autorennamen gerendert, falls vorhanden.
mode: CommentMode
Der Kommentarmodus des Kommentars.
reactions?: CommentReaction[]
Optionale Reaktionen des Kommentars.
Optionaler Zeitstempel, der in Kommentaren angezeigt wird. Das Datum wird entsprechend den lokalen Einstellungen und Präferenzen des Benutzers formatiert.
CommentAuthorInformation
Autoreninformationen eines Kommentars.
Eigenschaften
iconPath?: Uri
Der optionale Icon-Pfad für den Autor.
Der Anzeigename des Autors des Kommentars.
CommentController
Ein Kommentar-Controller kann die Kommentarunterstützung für den Editor bereitstellen und Benutzern verschiedene Möglichkeiten zur Interaktion mit Kommentaren bieten.
Eigenschaften
commentingRangeProvider?: CommentingRangeProvider
Optionaler Anbieter für Kommentarbereiche. Stellt eine Liste von Bereichen bereit, die das Kommentieren für eine beliebige Ressource-URI unterstützen.
Wenn dies nicht bereitgestellt wird, können Benutzer keine Kommentare hinterlassen.
Die ID dieses Kommentar-Controllers.
Die menschenlesbare Bezeichnung dieses Kommentar-Controllers.
options?: CommentOptions
Optionen des Kommentar-Controllers.
reactionHandler?: (comment: Comment, reaction: CommentReaction) => Thenable<void>
Optionaler Reaktionshandler zum Erstellen und Löschen von Reaktionen auf einen Kommentar.
| Parameter | Beschreibung |
|---|---|
| comment: Comment | |
| reaction: CommentReaction | |
| Gibt zurück | Beschreibung |
| Thenable<void> |
Methoden
createCommentThread(uri: Uri, range: Range, comments: readonly Comment[]): CommentThread
Erstellt einen Kommentar-Thread. Der Kommentar-Thread wird in sichtbaren Texteditoren (wenn die Ressource übereinstimmt) und im Kommentarfenster angezeigt, sobald er erstellt wurde.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die URI des Dokuments, auf dem der Thread erstellt wurde. |
| range: Range | Der Bereich innerhalb des Dokuments, in dem sich der Kommentar-Thread befindet. |
| comments: readonly Comment[] | Die geordneten Kommentare des Threads. |
| Gibt zurück | Beschreibung |
| CommentThread |
Gibt diesen Kommentar-Controller frei.
Nach der Freigabe werden alle von diesem Kommentar-Controller erstellten Kommentar-Threads aus dem Editor und dem Kommentarfenster entfernt.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
CommentingRangeProvider
Anbieter für Kommentarbereiche für einen Kommentar-Controller.
Methoden
provideCommentingRanges(document: TextDocument, token: CancellationToken): ProviderResult<Range[] | CommentingRanges>
Stellt eine Liste von Bereichen bereit, die die Erstellung neuer Kommentar-Threads zulassen, oder null für ein gegebenes Dokument.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | |
| token: CancellationToken | |
| Gibt zurück | Beschreibung |
| ProviderResult<Range[] | CommentingRanges> |
CommentingRanges
Die Bereiche, auf denen ein CommentingRangeProvider das Kommentieren ermöglicht.
Eigenschaften
Aktiviert das Hinzufügen von Kommentaren zu einer Datei ohne einen bestimmten Bereich.
ranges?: Range[]
Die Bereiche, in denen die Erstellung neuer Kommentar-Threads zulässig ist.
CommentMode
Kommentarmodus eines Kommentars.
Enumerationselemente
Zeigt den Kommentar-Editor an.
Zeigt die Vorschau des Kommentars an.
CommentOptions
Repräsentiert die Optionen eines Kommentar-Controllers.
Eigenschaften
Ein optionaler Text, der als Platzhalter im Eingabefeld für Kommentare angezeigt wird, wenn es fokussiert ist.
Ein optionaler Text, der im Eingabefeld für Kommentare angezeigt wird, wenn es zusammengeklappt ist.
CommentReaction
Reaktionen eines Kommentars.
Eigenschaften
Gibt an, ob der Autor des Kommentars auf diese Reaktion reagiert hat.
Die Anzahl der Benutzer, die auf diese Reaktion reagiert haben.
iconPath: string | Uri
Icon für die Reaktion, das in der Benutzeroberfläche angezeigt wird.
Die menschenlesbare Bezeichnung für die Reaktion.
CommentReply
Argument für Befehle, die in comments/commentThread/context registriert sind.
Eigenschaften
Der Wert im Kommentar-Editor.
thread: CommentThread
Der aktive Kommentar-Thread.
CommentRule
Beschreibt, wie Kommentare für eine Sprache funktionieren.
Eigenschaften
blockComment?: CharacterPair
Das Zeichenpaar für Blockkommentare, z. B. /* block comment */.
Das Token für Zeilenkommentare, z. B. // dies ist ein Kommentar.
CommentThread
Eine Sammlung von Kommentaren, die eine Konversation an einem bestimmten Bereich in einem Dokument darstellen.
Eigenschaften
canReply: boolean | CommentAuthorInformation
Gibt an, ob der Thread Antworten unterstützt. Standardmäßig ist dies auf true gesetzt.
collapsibleState: CommentThreadCollapsibleState
Gibt an, ob der Thread beim Öffnen des Dokuments zusammengeklappt oder erweitert werden soll. Standardmäßig ist dies Collapsed.
comments: readonly Comment[]
Die geordneten Kommentare des Threads.
Der Kontextwert des Kommentar-Threads. Dieser kann verwendet werden, um Thread-spezifische Aktionen beizutragen. Zum Beispiel erhält ein Kommentar-Thread den Kontextwert editable. Bei der Bereitstellung von Aktionen für comments/commentThread/title über den menus Extension Point können Sie den Kontextwert für den Schlüssel commentThread im when-Ausdruck wie commentThread == editable angeben.
"contributes": {
"menus": {
"comments/commentThread/title": [
{
"command": "extension.deleteCommentThread",
"when": "commentThread == editable"
}
]
}
}
Dies zeigt die Aktion extension.deleteCommentThread nur für Kommentar-Threads mit dem Kontextwert editable an.
Die optionale, für Menschen lesbare Bezeichnung, die den Kommentar-Thread beschreibt.
range: Range
Der Bereich, in dem sich der Kommentar-Thread im Dokument befindet. Das Thread-Symbol wird in der letzten Zeile des Bereichs angezeigt. Wenn dieser auf undefiniert gesetzt ist, wird der Kommentar der Datei zugeordnet und nicht einem bestimmten Bereich.
state?: CommentThreadState
Der optionale Zustand eines Kommentar-Threads, der beeinflussen kann, wie der Kommentar angezeigt wird.
uri: Uri
Die URI des Dokuments, auf dem der Thread erstellt wurde.
Methoden
Gibt diesen Kommentar-Thread frei.
Nach der Freigabe wird dieser Kommentar-Thread gegebenenfalls aus sichtbaren Editoren und dem Kommentarfenster entfernt.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
CommentThreadCollapsibleState
Kollabierbarer Zustand eines Kommentar-Threads.
Enumerationselemente
Bestimmt, dass ein Element zusammengeklappt ist.
Bestimmt, dass ein Element erweitert ist.
CommentThreadState
Der Zustand eines Kommentar-Threads.
Enumerationselemente
Status "nicht gelöst" für einen Thread.
Status "gelöst" für einen Thread.
CompletionContext
Enthält zusätzliche Informationen über den Kontext, in dem der Vervollständigungsanbieter ausgelöst wird.
Eigenschaften
Das Zeichen, das den Vervollständigungsanbieter ausgelöst hat.
undefined, wenn der Anbieter nicht durch ein Zeichen ausgelöst wurde.
Das Auslösezeichen ist bereits im Dokument vorhanden, wenn der Vervollständigungsanbieter ausgelöst wird.
triggerKind: CompletionTriggerKind
Wie die Vervollständigung ausgelöst wurde.
CompletionItem
Ein Vervollständigungselement stellt einen Textausschnitt dar, der zur Vervollständigung des gerade eingegebenen Textes vorgeschlagen wird.
Es reicht aus, ein Vervollständigungselement nur aus einem Label zu erstellen. In diesem Fall ersetzt das Vervollständigungselement das Wort bis zum Cursor durch das gegebene Label oder den insertText. Andernfalls wird der gegebene Edit verwendet.
Beim Auswählen eines Vervollständigungselements im Editor werden dessen definierte oder synthetisierte Textbearbeitungen für *alle* Cursor/Auswahlen angewendet, während additionalTextEdits wie bereitgestellt angewendet werden.
Siehe auch
Konstruktoren
new CompletionItem(label: string | CompletionItemLabel, kind?: CompletionItemKind): CompletionItem
Erstellt ein neues Vervollständigungselement.
Vervollständigungselemente müssen mindestens ein Label haben, das dann als Einfügetext sowie zum Sortieren und Filtern verwendet wird.
| Parameter | Beschreibung |
|---|---|
| label: string | CompletionItemLabel | Das Label der Vervollständigung. |
| kind?: CompletionItemKind | Die Art der Vervollständigung. |
| Gibt zurück | Beschreibung |
| CompletionItem |
Eigenschaften
additionalTextEdits?: TextEdit[]
Ein optionales Array von zusätzlichen Textbearbeitungen, die beim Auswählen dieser Vervollständigung angewendet werden. Bearbeitungen dürfen nicht mit der Hauptbearbeitung textEdit oder untereinander überlappen.
command?: Command
Ein optionaler Befehl, der *nach* dem Einfügen dieser Vervollständigung ausgeführt wird. *Hinweis*: Zusätzliche Änderungen am aktuellen Dokument sollten mit der Eigenschaft additionalTextEdits beschrieben werden.
Eine optionale Menge von Zeichen, deren Eingabe, während diese Vervollständigung aktiv ist, diese zuerst akzeptiert und dann das Zeichen eingibt. *Hinweis*: Alle Commit-Zeichen sollten Länge=1 haben, und überflüssige Zeichen werden ignoriert.
Eine für Menschen lesbare Zeichenfolge mit zusätzlichen Informationen zu diesem Element, z. B. Typ- oder Symbolinformationen.
documentation?: string | MarkdownString
Eine für Menschen lesbare Zeichenfolge, die einen Dokumentationskommentar darstellt.
insertText?: string | SnippetString
Eine Zeichenfolge oder ein Snippet, das in ein Dokument eingefügt werden soll, wenn diese Vervollständigung ausgewählt wird. Wenn falsy, wird das Label verwendet.
Behält Leerzeichen des insertText bei. Standardmäßig passt der Editor die führenden Leerzeichen neuer Zeilen an die Einrückung der Zeile an, für die das Element akzeptiert wird. Wenn dies auf true gesetzt wird, wird dies verhindert.
kind?: CompletionItemKind
Die Art dieses Vervollständigungselements. Basierend auf der Art wird vom Editor ein Symbol ausgewählt.
label: string | CompletionItemLabel
Das Label dieses Vervollständigungselements. Standardmäßig ist dies auch der Text, der beim Auswählen dieser Vervollständigung eingefügt wird.
Wählt dieses Element beim Anzeigen aus. *Hinweis*: Es kann nur ein Vervollständigungselement ausgewählt werden, und der Editor entscheidet, welches Element dies ist. Die Regel ist, dass das *erste* Element derjenigen, die am besten passen, ausgewählt wird.
range?: Range | {inserting: Range, replacing: Range}
Ein Bereich oder ein Einfüge- und Ersatzbereich, der den Text auswählt, der durch dieses Vervollständigungselement ersetzt werden soll.
Wenn dies weggelassen wird, wird der Bereich des aktuellen Wortes als Ersatzbereich verwendet, und als Einfügebereich wird der Anfang des aktuellen Wortes bis zur aktuellen Position verwendet.
*Hinweis 1*: Ein Bereich muss eine einzelne Zeile sein und die Position, an der die Vervollständigung angefordert wurde, enthalten. *Hinweis 2*: Ein Einfügebereich muss ein Präfix eines Ersatzbereichs sein, d. h. er muss enthalten sein und an derselben Position beginnen.
Eine Zeichenfolge, die beim Vergleichen dieses Elements mit anderen Elementen verwendet werden sollte. Wenn falsy, wird das Label verwendet.
Beachten Sie, dass sortText nur für die anfängliche Sortierung von Vervollständigungselementen verwendet wird. Wenn ein führendes Wort (Präfix) vorhanden ist, basiert die Sortierung darauf, wie gut die Vervollständigungen mit diesem Präfix übereinstimmen, und die anfängliche Sortierung wird nur verwendet, wenn die Vervollständigungen gleich gut passen. Das Präfix wird durch die Eigenschaft range definiert und kann daher für jede Vervollständigung unterschiedlich sein.
tags?: readonly CompletionItemTag[]
Tags für dieses Vervollständigungselement.
textEdit?: TextEdit
- veraltet - Verwenden Sie stattdessen
CompletionItem.insertTextundCompletionItem.range.
Eine Bearbeitung, die beim Auswählen dieser Vervollständigung in ein Dokument angewendet wird. Wenn eine Bearbeitung bereitgestellt wird, wird der Wert von insertText ignoriert.
Der Bereich der Bearbeitung muss einzeilig sein und sich auf derselben Zeile befinden, auf der die Vervollständigungen angefordert wurden.
CompletionItemKind
Arten von Vervollständigungselementen.
Enumerationselemente
Die Art des Vervollständigungselements Text.
Die Art des Vervollständigungselements Method.
Die Art des Vervollständigungselements Function.
Die Art des Vervollständigungselements Constructor.
Die Art des Vervollständigungselements Field.
Die Art des Vervollständigungselements Variable.
Die Art des Vervollständigungselements Class.
Die Art des Vervollständigungselements Interface.
Die Art des Vervollständigungselements Module.
Die Art des Vervollständigungselements Property.
Die Art des Vervollständigungselements Unit.
Die Art des Vervollständigungselements Value.
Die Art des Vervollständigungselements Enum.
Der `Keyword`-Vervollständigungselementtyp.
Der `Snippet`-Vervollständigungselementtyp.
Der `Color`-Vervollständigungselementtyp.
Der `File`-Vervollständigungselementtyp.
Der `Reference`-Vervollständigungselementtyp.
Der `Folder`-Vervollständigungselementtyp.
Der `EnumMember`-Vervollständigungselementtyp.
Der `Constant`-Vervollständigungselementtyp.
Der `Struct`-Vervollständigungselementtyp.
Der `Event`-Vervollständigungselementtyp.
Der `Operator`-Vervollständigungselementtyp.
Der `TypeParameter`-Vervollständigungselementtyp.
Der `User`-Vervollständigungselementtyp.
Der `Issue`-Vervollständigungselementtyp.
CompletionItemLabel
Ein strukturiertes Label für ein Vervollständigungselement.
Eigenschaften
Eine optionale Zeichenkette, die weniger prominent nach CompletionItemLabel.detail gerendert wird. Sollte für vollständig qualifizierte Namen oder Dateipfade verwendet werden.
Eine optionale Zeichenkette, die weniger prominent direkt nach dem Label gerendert wird, ohne Abstände. Sollte für Funktionssignaturen oder Typannotationen verwendet werden.
Das Label dieses Vervollständigungselements.
Standardmäßig ist dies auch der Text, der eingefügt wird, wenn diese Vervollständigung ausgewählt wird.
CompletionItemProvider<T>
Die Schnittstelle `CompletionItemProvider` definiert den Vertrag zwischen Erweiterungen und IntelliSense.
Anbieter können die Berechnung der Eigenschaften detail und documentation verzögern, indem sie die Funktion resolveCompletionItem implementieren. Eigenschaften, die für die anfängliche Sortierung und Filterung benötigt werden, wie z. B. `sortText`, `filterText`, `insertText` und `range`, dürfen jedoch während der Auflösung nicht geändert werden.
Anbieter werden entweder explizit durch eine Benutzergeste oder – je nach Konfiguration – implizit beim Tippen von Wörtern oder Auslösezeichen nach Vervollständigungen gefragt.
Methoden
provideCompletionItems(document: TextDocument, position: Position, token: CancellationToken, context: CompletionContext): ProviderResult<CompletionList<T> | T[]>
Stellen Sie Vervollständigungselemente für die angegebene Position und das angegebene Dokument bereit.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| position: Position | Die Position, an der der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| context: CompletionContext | Wie die Vervollständigung ausgelöst wurde. |
| Gibt zurück | Beschreibung |
| ProviderResult<CompletionList<T> | T[]> | Ein Array von Vervollständigungen, eine Vervollständigungsliste oder ein dannable Wert, der sich zu einem davon auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von `undefined`, `null` oder einem leeren Array signalisiert werden. |
resolveCompletionItem(item: T, token: CancellationToken): ProviderResult<T>
Füllen Sie bei einem Vervollständigungselement weitere Daten aus, wie z. B. Doc-Kommentare oder Details.
Der Editor löst ein Vervollständigungselement nur einmal auf.
Hinweis: Diese Funktion wird aufgerufen, wenn Vervollständigungselemente bereits in der Benutzeroberfläche angezeigt werden oder wenn ein Element zur Einfügung ausgewählt wurde. Aus diesem Grund können keine Eigenschaften geändert werden, die die Darstellung (Label, Sortierung, Filterung usw.) oder das (primäre) Einfügeverhalten (insertText) beeinflussen.
Diese Funktion kann additionalTextEdits füllen. Das bedeutet jedoch, dass ein Element eingefügt werden könnte, *bevor* die Auflösung abgeschlossen ist, und in diesem Fall wird der Editor sein Bestes tun, um diese zusätzlichen Textbearbeitungen trotzdem anzuwenden.
| Parameter | Beschreibung |
|---|---|
| item: T | Ein Vervollständigungselement, das derzeit in der Benutzeroberfläche aktiv ist. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T> | Das aufgelöste Vervollständigungselement oder ein dannable Wert, der sich zu einem solchen auflöst. Es ist in Ordnung, das gegebene `item` zurückzugeben. Wenn kein Ergebnis zurückgegeben wird, wird das gegebene `item` verwendet. |
CompletionItemTag
Vervollständigungselement-Tags sind zusätzliche Anmerkungen, die das Rendering eines Vervollständigungselements verändern.
Enumerationselemente
Stellen Sie eine Vervollständigung als veraltet dar, normalerweise mit einem Durchstreichen.
CompletionList<T>
Stellt eine Sammlung von Vervollständigungselementen dar, die im Editor angezeigt werden sollen.
Konstruktoren
new CompletionList<T extends CompletionItem>(items?: T[], isIncomplete?: boolean): CompletionList<T>
Erstellt eine neue Vervollständigungsliste.
| Parameter | Beschreibung |
|---|---|
| items?: T[] | Die Vervollständigungselemente. |
| isIncomplete?: boolean | Die Liste ist nicht vollständig. |
| Gibt zurück | Beschreibung |
| CompletionList<T> |
Eigenschaften
Diese Liste ist nicht vollständig. Weiteres Tippen sollte zum erneuten Berechnen dieser Liste führen.
Die Vervollständigungselemente.
CompletionTriggerKind
Wie ein Vervollständigungsanbieter ausgelöst wurde
Enumerationselemente
Vervollständigung wurde normal ausgelöst.
Vervollständigung wurde durch ein Auslösezeichen ausgelöst.
TriggerForIncompleteCompletions: 2
Vervollständigung wurde erneut ausgelöst, da die aktuelle Vervollständigungsliste unvollständig ist
ConfigurationChangeEvent
Ein Ereignis, das die Änderung der Konfiguration beschreibt
Methoden
affectsConfiguration(section: string, scope?: ConfigurationScope): boolean
Prüft, ob sich der angegebene Abschnitt geändert hat. Wenn ein Geltungsbereich angegeben ist, wird geprüft, ob sich der Abschnitt für Ressourcen unter dem angegebenen Geltungsbereich geändert hat.
| Parameter | Beschreibung |
|---|---|
| section: string | Konfigurationsname, unterstützt *punktuelle* Namen. |
| scope?: ConfigurationScope | Ein Geltungsbereich, in dem geprüft werden soll. |
| Gibt zurück | Beschreibung |
| boolean |
|
ConfigurationScope
Der Konfigurationsbereich, der sein kann
- ein Uri, der eine Ressource darstellt
- ein TextDocument, der ein geöffnetes Textdokument darstellt
- ein WorkspaceFolder, der einen Arbeitsbereichsordner darstellt
- ein Objekt, das enthält
uri: ein optionaler Uri eines TextdokumentslanguageId: die Sprachkennung eines Textdokuments
ConfigurationScope: Uri | TextDocument | WorkspaceFolder | {languageId: string, uri: Uri}
ConfigurationTarget
Das Konfigurationsziel
Enumerationselemente
Globale Konfiguration
Arbeitsbereichskonfiguration
Arbeitsbereichsordnerkonfiguration
CustomDocument
Stellt ein benutzerdefiniertes Dokument dar, das von einem CustomEditorProvider verwendet wird.
Benutzerdefinierte Dokumente werden nur innerhalb eines bestimmten `CustomEditorProvider` verwendet. Der Lebenszyklus eines `CustomDocument` wird vom Editor verwaltet. Wenn keine Referenzen mehr zu einem `CustomDocument` vorhanden sind, wird es entsorgt.
Eigenschaften
uri: Uri
Die zugehörige URI für dieses Dokument.
Methoden
Entsorgen Sie das benutzerdefinierte Dokument.
Dies wird vom Editor aufgerufen, wenn keine Referenzen mehr zu einem bestimmten `CustomDocument` vorhanden sind (z. B. wenn alle zugehörigen Editoren geschlossen wurden).
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
CustomDocumentBackup
Ein Backup für ein CustomDocument.
Eigenschaften
Eindeutiger Bezeichner für das Backup.
Diese ID wird in `openCustomDocument` an Ihre Erweiterung zurückgegeben, wenn Sie einen benutzerdefinierten Editor aus einem Backup öffnen.
Methoden
Löschen Sie das aktuelle Backup.
Dies wird vom Editor aufgerufen, wenn klar ist, dass das aktuelle Backup nicht mehr benötigt wird, z. B. wenn ein neues Backup erstellt wird oder wenn die Datei gespeichert wird.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
CustomDocumentBackupContext
Zusätzliche Informationen zur Implementierung von CustomDocumentBackup.
Eigenschaften
destination: Uri
Vorgeschlagener Dateispeicherort zum Schreiben des neuen Backups.
Beachten Sie, dass Ihre Erweiterung dies frei ignorieren und ihre eigene Strategie für Backups verwenden kann.
Wenn der Editor für eine Ressource aus dem aktuellen Arbeitsbereich ist, zeigt `destination` auf eine Datei innerhalb von `ExtensionContext.storagePath`. Der übergeordnete Ordner von `destination` existiert möglicherweise nicht, stellen Sie also sicher, dass Sie ihn erstellen, bevor Sie das Backup an diesen Speicherort schreiben.
CustomDocumentContentChangeEvent<T>
Ereignis, das von Erweiterungen ausgelöst wird, um dem Editor zu signalisieren, dass sich der Inhalt eines CustomDocument geändert hat.
Siehe auch CustomEditorProvider.onDidChangeCustomDocument.
Eigenschaften
Das Dokument, für das die Änderung gilt.
CustomDocumentEditEvent<T>
Ereignis, das von Erweiterungen ausgelöst wird, um dem Editor zu signalisieren, dass eine Bearbeitung an einem CustomDocument stattgefunden hat.
Siehe auch CustomEditorProvider.onDidChangeCustomDocument.
Eigenschaften
Das Dokument, für das die Bearbeitung gilt.
Anzeigename, der die Bearbeitung beschreibt.
Dies wird den Benutzern in der Benutzeroberfläche für Rückgängig-/Wiederherstellen-Vorgänge angezeigt.
Methoden
Wiederholen Sie den Bearbeitungsvorgang.
Dies wird vom Editor aufgerufen, wenn der Benutzer diese Bearbeitung wiederholt. Um `redo` zu implementieren, sollte Ihre Erweiterung das Dokument und den Editor in den Zustand zurückversetzen, den sie hatten, kurz nachdem diese Bearbeitung durch `onDidChangeCustomDocument` in den internen Bearbeitungsstapel des Editors aufgenommen wurde.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void | Thenable<void> |
Machen Sie den Bearbeitungsvorgang rückgängig.
Dies wird vom Editor aufgerufen, wenn der Benutzer diese Bearbeitung rückgängig macht. Um `undo` zu implementieren, sollte Ihre Erweiterung das Dokument und den Editor in den Zustand zurückversetzen, den sie hatten, kurz bevor diese Bearbeitung durch `onDidChangeCustomDocument` in den internen Bearbeitungsstapel des Editors aufgenommen wurde.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void | Thenable<void> |
CustomDocumentOpenContext
Zusätzliche Informationen zum Öffnen eines benutzerdefinierten Dokuments.
Eigenschaften
Die ID des Backups, aus dem das Dokument wiederhergestellt werden soll, oder `undefined`, wenn kein Backup vorhanden ist.
Wenn dies angegeben ist, sollte Ihre Erweiterung den Editor aus dem Backup wiederherstellen, anstatt die Datei aus dem Arbeitsbereich des Benutzers zu lesen.
untitledDocumentData: Uint8Array
Wenn die URI eine unbenannte Datei ist, wird diese mit den Bytedaten dieser Datei gefüllt.
Wenn dies angegeben ist, sollte Ihre Erweiterung diese Bytedaten verwenden, anstatt FS-APIs auf der angegebenen URI auszuführen.
CustomEditorProvider<T>
Anbieter für bearbeitbare benutzerdefinierte Editoren, die ein benutzerdefiniertes Dokumentenmodell verwenden.
Benutzerdefinierte Editoren verwenden CustomDocument als Dokumentenmodell anstelle eines TextDocument. Dies gibt Erweiterungen die volle Kontrolle über Aktionen wie Bearbeiten, Speichern und Sichern.
Sie sollten diesen Typ von benutzerdefiniertem Editor verwenden, wenn Sie mit Binärdateien oder komplexeren Szenarien arbeiten. Für einfache textbasierte Dokumente verwenden Sie stattdessen CustomTextEditorProvider.
Events
onDidChangeCustomDocument: Event<CustomDocumentEditEvent<T>> | Event<CustomDocumentContentChangeEvent<T>>
Signalisiert, dass eine Bearbeitung in einem benutzerdefinierten Editor stattgefunden hat.
Dieses Ereignis muss von Ihrer Erweiterung ausgelöst werden, wann immer eine Bearbeitung in einem benutzerdefinierten Editor stattfindet. Eine Bearbeitung kann alles sein, vom Ändern von Text über das Zuschneiden eines Bildes bis hin zum Ändern der Reihenfolge einer Liste. Ihre Erweiterung kann frei definieren, was eine Bearbeitung ist und welche Daten bei jeder Bearbeitung gespeichert werden.
Das Auslösen von `onDidChange` markiert die Editoren als "dirty". Dies wird gelöscht, wenn der Benutzer die Datei entweder speichert oder verwirft.
Editoren, die Rückgängig/Wiederholen unterstützen, müssen ein `CustomDocumentEditEvent` auslösen, wann immer eine Bearbeitung stattfindet. Dies ermöglicht es Benutzern, die Bearbeitung mit den Standard-Tastenkombinationen des Editors rückgängig zu machen und zu wiederholen. Der Editor wird auch den Editor nicht mehr als "dirty" markieren, wenn der Benutzer alle Bearbeitungen bis zum letzten gespeicherten Zustand rückgängig macht.
Editoren, die Bearbeitungen unterstützen, aber nicht den Standard-Mechanismus zum Rückgängigmachen/Wiederholen des Editors verwenden können, müssen ein `CustomDocumentContentChangeEvent` auslösen. Der einzige Weg für einen Benutzer, den "dirty"-Status eines Editors, der keine Rückgängig-/Wiederholen-Funktion unterstützt, zu löschen, ist entweder das Speichern oder das Verwerfen der Datei.
Ein Editor sollte immer nur entweder `CustomDocumentEditEvent`-Ereignisse oder nur `CustomDocumentContentChangeEvent`-Ereignisse auslösen.
Methoden
backupCustomDocument(document: T, context: CustomDocumentBackupContext, cancellation: CancellationToken): Thenable<CustomDocumentBackup>
Sichern Sie ein schmutziges benutzerdefiniertes Dokument.
Backups werden für Hot-Exit und zur Verhinderung von Datenverlust verwendet. Ihre `backup`-Methode sollte die Ressource in ihrem aktuellen Zustand speichern, d.h. mit den angewendeten Bearbeitungen. Am häufigsten bedeutet dies, die Ressource im `ExtensionContext.storagePath` auf die Festplatte zu speichern. Wenn der Editor neu geladen wird und Ihr benutzerdefinierter Editor für eine Ressource geöffnet wird, sollte Ihre Erweiterung zunächst prüfen, ob Backups für die Ressource vorhanden sind. Wenn ein Backup vorhanden ist, sollte Ihre Erweiterung den Dateiinhalt von dort laden, anstatt von der Ressource im Arbeitsbereich.
``backup`` wird etwa eine Sekunde nach dem Aufhören der Bearbeitung des Dokuments durch den Benutzer ausgelöst. Wenn der Benutzer das Dokument schnell bearbeitet, wird `backup` erst aufgerufen, wenn die Bearbeitung beendet ist.
``backup`` wird nicht aufgerufen, wenn `automatisches Speichern` aktiviert ist (da automatisches Speichern die Ressource bereits speichert).
| Parameter | Beschreibung |
|---|---|
| document: T | Zu sicherndes Dokument. |
| context: CustomDocumentBackupContext | Informationen, die zur Sicherung des Dokuments verwendet werden können. |
| cancellation: CancellationToken | Token, das die aktuelle Sicherung signalisiert, da eine neue Sicherung kommt. Es liegt an Ihrer Erweiterung zu entscheiden, wie auf die Stornierung reagiert wird. Wenn Ihre Erweiterung beispielsweise eine große Datei in einer zeitaufwändigen Operation sichert, kann Ihre Erweiterung entscheiden, die laufende Sicherung abzuschließen, anstatt sie abzubrechen, um sicherzustellen, dass der Editor ein gültiges Backup hat. |
| Gibt zurück | Beschreibung |
| Thenable<CustomDocumentBackup> |
openCustomDocument(uri: Uri, openContext: CustomDocumentOpenContext, token: CancellationToken): T | Thenable<T>
Erstellen Sie ein neues Dokument für eine gegebene Ressource.
``openCustomDocument`` wird aufgerufen, wenn zum ersten Mal ein Editor für eine gegebene Ressource geöffnet wird. Das geöffnete Dokument wird dann an `resolveCustomEditor` übergeben, damit der Editor dem Benutzer angezeigt werden kann.
Bereits geöffnete `CustomDocument`-Objekte werden wiederverwendet, wenn der Benutzer weitere Editoren öffnet. Wenn alle Editoren für eine gegebene Ressource geschlossen werden, wird das `CustomDocument` entsorgt. Das Öffnen eines Editors zu diesem Zeitpunkt löst einen weiteren Aufruf von `openCustomDocument` aus.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | URI des zu öffnenden Dokuments. |
| openContext: CustomDocumentOpenContext | Zusätzliche Informationen zum Öffnen eines benutzerdefinierten Dokuments. |
| token: CancellationToken | Ein Abbruch-Token, das anzeigt, dass das Ergebnis nicht mehr benötigt wird. |
| Gibt zurück | Beschreibung |
| T | Thenable<T> | Das benutzerdefinierte Dokument. |
resolveCustomEditor(document: T, webviewPanel: WebviewPanel, token: CancellationToken): void | Thenable<void>
Lösen Sie einen benutzerdefinierten Editor für eine gegebene Ressource auf.
Dies wird aufgerufen, wann immer der Benutzer einen neuen Editor für diesen `CustomEditorProvider` öffnet.
| Parameter | Beschreibung |
|---|---|
| document: T | Dokument für die aufzulösende Ressource. |
| webviewPanel: WebviewPanel | Das Webview-Panel zur Anzeige der Editor-Oberfläche für diese Ressource. Während der Auflösung muss der Anbieter das anfängliche HTML für das Content-Webview-Panel ausfüllen und alle für ihn interessanten Ereignis-Listener daran anhängen. Der Anbieter kann auch das `WebviewPanel` aufbewahren, um es später z. B. für einen Befehl zu verwenden. Weitere Details finden Sie unter WebviewPanel. |
| token: CancellationToken | Ein Abbruch-Token, das anzeigt, dass das Ergebnis nicht mehr benötigt wird. |
| Gibt zurück | Beschreibung |
| void | Thenable<void> | Optionaler dannable Wert, der anzeigt, dass der benutzerdefinierte Editor aufgelöst wurde. |
revertCustomDocument(document: T, cancellation: CancellationToken): Thenable<void>
Verwerfen Sie ein benutzerdefiniertes Dokument auf seinen letzten gespeicherten Zustand zurück.
Diese Methode wird vom Editor aufgerufen, wenn der Benutzer `Datei: Datei verwerfen` in einem benutzerdefinierten Editor auslöst. (Beachten Sie, dass dies nur mit dem Befehl `Datei: Datei verwerfen` des Editors verwendet wird und nicht mit einem `git revert` der Datei).
Um `revert` zu implementieren, muss der Implementierer sicherstellen, dass alle Editor-Instanzen (Webviews) für `document` das Dokument im gespeicherten Zustand anzeigen. Dies bedeutet normalerweise das erneute Laden der Datei aus dem Arbeitsbereich.
| Parameter | Beschreibung |
|---|---|
| document: T | Zu verwerfendes Dokument. |
| cancellation: CancellationToken | Token, das signalisiert, dass die Rückgängigmachung nicht mehr erforderlich ist. |
| Gibt zurück | Beschreibung |
| Thenable<void> | Thenable, der signalisiert, dass die Änderung abgeschlossen ist. |
saveCustomDocument(document: T, cancellation: CancellationToken): Thenable<void>
Speichern Sie ein benutzerdefiniertes Dokument.
Diese Methode wird vom Editor aufgerufen, wenn der Benutzer einen benutzerdefinierten Editor speichert. Dies kann geschehen, wenn der Benutzer das Speichern auslöst, während der benutzerdefinierte Editor aktiv ist, durch Befehle wie `Alle speichern` oder durch automatisches Speichern, falls aktiviert.
Um `save` zu implementieren, muss der Implementierer den benutzerdefinierten Editor persistieren. Dies bedeutet normalerweise, die Dateidaten des benutzerdefinierten Dokuments auf die Festplatte zu schreiben. Nach Abschluss von `save` werden alle zugehörigen Editorinstanzen nicht mehr als "dirty" markiert.
| Parameter | Beschreibung |
|---|---|
| document: T | Zu speicherndes Dokument. |
| cancellation: CancellationToken | Token, das signalisiert, dass das Speichern nicht mehr erforderlich ist (z. B. wenn ein weiteres Speichern ausgelöst wurde). |
| Gibt zurück | Beschreibung |
| Thenable<void> | Thenable, der signalisiert, dass das Speichern abgeschlossen ist. |
saveCustomDocumentAs(document: T, destination: Uri, cancellation: CancellationToken): Thenable<void>
Speichern Sie ein benutzerdefiniertes Dokument an einem anderen Speicherort.
Diese Methode wird vom Editor aufgerufen, wenn der Benutzer `Speichern unter` für einen benutzerdefinierten Editor auslöst. Der Implementierer muss den benutzerdefinierten Editor unter `destination` persistieren.
Wenn der Benutzer "Speichern unter" akzeptiert, wird der aktuelle Editor durch einen nicht "dirty" Editor für die neu gespeicherte Datei ersetzt.
| Parameter | Beschreibung |
|---|---|
| document: T | Zu speicherndes Dokument. |
| destination: Uri | Speicherort. |
| cancellation: CancellationToken | Token, das signalisiert, dass das Speichern nicht mehr erforderlich ist. |
| Gibt zurück | Beschreibung |
| Thenable<void> | Thenable, der signalisiert, dass das Speichern abgeschlossen ist. |
CustomExecution
Klasse zur Ausführung eines Erweiterungs-Callbacks als Aufgabe.
Konstruktoren
new CustomExecution(callback: (resolvedDefinition: TaskDefinition) => Thenable<Pseudoterminal>): CustomExecution
Konstruiert ein `CustomExecution`-Aufgabepunkt. Der Callback wird ausgeführt, wenn die Aufgabe gestartet wird, woraufhin die Erweiterung das Pseudoterminal zurückgeben sollte, in dem sie "ausgeführt" wird. Die Aufgabe sollte mit weiterer Ausführung warten, bis `Pseudoterminal.open` aufgerufen wird. Die Aufgabestornierung sollte mit `Pseudoterminal.close` behandelt werden. Wenn die Aufgabe abgeschlossen ist, wird `Pseudoterminal.onDidClose` ausgelöst.
| Parameter | Beschreibung |
|---|---|
| callback: (resolvedDefinition: TaskDefinition) => Thenable<Pseudoterminal> | Der Callback, der aufgerufen wird, wenn die Aufgabe von einem Benutzer gestartet wird. Alle `${}`-ähnlichen Variablen, die in der Aufgabendefinition vorhanden waren, werden aufgelöst und als `resolvedDefinition` an den Callback übergeben. |
| Gibt zurück | Beschreibung |
| CustomExecution |
CustomReadonlyEditorProvider<T>
Anbieter für schreibgeschützte benutzerdefinierte Editoren, die ein benutzerdefiniertes Dokumentenmodell verwenden.
Benutzerdefinierte Editoren verwenden CustomDocument als Dokumentenmodell anstelle eines TextDocument.
Sie sollten diesen Typ von benutzerdefiniertem Editor verwenden, wenn Sie mit Binärdateien oder komplexeren Szenarien arbeiten. Für einfache textbasierte Dokumente verwenden Sie stattdessen CustomTextEditorProvider.
Methoden
openCustomDocument(uri: Uri, openContext: CustomDocumentOpenContext, token: CancellationToken): T | Thenable<T>
Erstellen Sie ein neues Dokument für eine gegebene Ressource.
``openCustomDocument`` wird aufgerufen, wenn zum ersten Mal ein Editor für eine gegebene Ressource geöffnet wird. Das geöffnete Dokument wird dann an `resolveCustomEditor` übergeben, damit der Editor dem Benutzer angezeigt werden kann.
Bereits geöffnete `CustomDocument`-Objekte werden wiederverwendet, wenn der Benutzer weitere Editoren öffnet. Wenn alle Editoren für eine gegebene Ressource geschlossen werden, wird das `CustomDocument` entsorgt. Das Öffnen eines Editors zu diesem Zeitpunkt löst einen weiteren Aufruf von `openCustomDocument` aus.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | URI des zu öffnenden Dokuments. |
| openContext: CustomDocumentOpenContext | Zusätzliche Informationen zum Öffnen eines benutzerdefinierten Dokuments. |
| token: CancellationToken | Ein Abbruch-Token, das anzeigt, dass das Ergebnis nicht mehr benötigt wird. |
| Gibt zurück | Beschreibung |
| T | Thenable<T> | Das benutzerdefinierte Dokument. |
resolveCustomEditor(document: T, webviewPanel: WebviewPanel, token: CancellationToken): void | Thenable<void>
Lösen Sie einen benutzerdefinierten Editor für eine gegebene Ressource auf.
Dies wird aufgerufen, wann immer der Benutzer einen neuen Editor für diesen `CustomEditorProvider` öffnet.
| Parameter | Beschreibung |
|---|---|
| document: T | Dokument für die aufzulösende Ressource. |
| webviewPanel: WebviewPanel | Das Webview-Panel zur Anzeige der Editor-Oberfläche für diese Ressource. Während der Auflösung muss der Anbieter das anfängliche HTML für das Content-Webview-Panel ausfüllen und alle für ihn interessanten Ereignis-Listener daran anhängen. Der Anbieter kann auch das `WebviewPanel` aufbewahren, um es später z. B. für einen Befehl zu verwenden. Weitere Details finden Sie unter WebviewPanel. |
| token: CancellationToken | Ein Abbruch-Token, das anzeigt, dass das Ergebnis nicht mehr benötigt wird. |
| Gibt zurück | Beschreibung |
| void | Thenable<void> | Optionaler dannable Wert, der anzeigt, dass der benutzerdefinierte Editor aufgelöst wurde. |
CustomTextEditorProvider
Anbieter für textbasierte benutzerdefinierte Editoren.
Textbasierte benutzerdefinierte Editoren verwenden ein TextDocument als Datenmodell. Dies vereinfacht die Implementierung eines benutzerdefinierten Editors erheblich, da der Editor viele gängige Operationen wie Rückgängigmachen und Sichern handhaben kann. Der Anbieter ist für die Synchronisierung von Textänderungen zwischen dem Webview und dem TextDocument verantwortlich.
Methoden
resolveCustomTextEditor(document: TextDocument, webviewPanel: WebviewPanel, token: CancellationToken): void | Thenable<void>
Löst einen benutzerdefinierten Editor für eine gegebene Textressource auf.
Dies wird aufgerufen, wenn ein Benutzer zum ersten Mal eine Ressource für einen CustomTextEditorProvider öffnet oder wenn er einen vorhandenen Editor mit diesem CustomTextEditorProvider wieder öffnet.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Dokument für die aufzulösende Ressource. |
| webviewPanel: WebviewPanel | Das Webview-Panel zur Anzeige der Editor-Oberfläche für diese Ressource. Während der Auflösung muss der Anbieter das anfängliche HTML für das Content-Webview-Panel ausfüllen und alle für ihn interessanten Ereignis-Listener daran anhängen. Der Anbieter kann auch das `WebviewPanel` aufbewahren, um es später z. B. für einen Befehl zu verwenden. Weitere Details finden Sie unter WebviewPanel. |
| token: CancellationToken | Ein Abbruch-Token, das anzeigt, dass das Ergebnis nicht mehr benötigt wird. |
| Gibt zurück | Beschreibung |
| void | Thenable<void> | Thenable, der angibt, dass der benutzerdefinierte Editor aufgelöst wurde. |
DataTransfer
Eine Zuordnung, die eine Abbildung des MIME-Typs der entsprechenden übertragenen Daten enthält.
Drag-and-Drop-Controller, die handleDrag implementieren, können zusätzliche MIME-Typen zur Datentransfer hinzufügen. Diese zusätzlichen MIME-Typen werden nur in handleDrop aufgenommen, wenn der Drag von einem Element im selben Drag-and-Drop-Controller initiiert wurde.
Konstruktoren
new DataTransfer(): DataTransfer
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| DataTransfer |
Methoden
[iterator](): IterableIterator<[mimeType: string, item: DataTransferItem]>
Einen neuen Iterator mit den [mime, item]-Paaren für jedes Element in diesem Datentransfer abrufen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| IterableIterator<[mimeType: string, item: DataTransferItem]> |
forEach(callbackfn: (item: DataTransferItem, mimeType: string, dataTransfer: DataTransfer) => void, thisArg?: any): void
Ermöglicht die Iteration durch die Datentransfer-Elemente.
| Parameter | Beschreibung |
|---|---|
| callbackfn: (item: DataTransferItem, mimeType: string, dataTransfer: DataTransfer) => void | Callback für die Iteration durch die Datentransfer-Elemente. |
| thisArg?: any | Der |
| Gibt zurück | Beschreibung |
| void |
get(mimeType: string): DataTransferItem
Ruft das Datentransfer-Element für einen gegebenen MIME-Typ ab.
| Parameter | Beschreibung |
|---|---|
| mimeType: string | Der MIME-Typ, für den das Datentransfer-Element abgerufen werden soll, z. B. Spezielle MIME-Typen
|
| Gibt zurück | Beschreibung |
| DataTransferItem |
set(mimeType: string, value: DataTransferItem): void
Setzt eine Abbildung von MIME-Typen auf Datentransfer-Elemente.
| Parameter | Beschreibung |
|---|---|
| mimeType: string | Der MIME-Typ, für den die Daten gesetzt werden sollen. MIME-Typen werden in Kleinbuchstaben gespeichert, mit nicht case-sensitiven Abfragen. |
| value: DataTransferItem | Das Datentransfer-Element für den gegebenen MIME-Typ. |
| Gibt zurück | Beschreibung |
| void |
DataTransferFile
Eine Datei, die mit einem DataTransferItem verknüpft ist.
Instanzen dieses Typs können nur vom Editor und nicht von Erweiterungen erstellt werden.
Eigenschaften
Der Name der Datei.
uri?: Uri
Der vollständige Dateipfad der Datei.
Kann unter undefined im Web sein.
Methoden
Der vollständige Dateiinhalt der Datei.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| Thenable<Uint8Array> |
DataTransferItem
Kapselt Daten, die während von Drag-and-Drop-Vorgängen übertragen werden.
Konstruktoren
new DataTransferItem(value: any): DataTransferItem
| Parameter | Beschreibung |
|---|---|
| value: any | Benutzerdefinierte Daten, die auf diesem Element gespeichert sind. Kann über DataTransferItem.value abgerufen werden. |
| Gibt zurück | Beschreibung |
| DataTransferItem |
Eigenschaften
Benutzerdefinierte Daten, die auf diesem Element gespeichert sind.
Sie können value verwenden, um Daten über Vorgänge hinweg zu teilen. Das ursprüngliche Objekt kann abgerufen werden, solange die Erweiterung, die DataTransferItem erstellt hat, im selben Erweiterungs-Host läuft.
Methoden
asFile(): DataTransferFile
Versuchen Sie, die mit diesem Datentransfer-Element verknüpfte Datei abzurufen.
Beachten Sie, dass das Datei-Objekt nur für den Geltungsbereich des Drag-and-Drop-Vorgangs gültig ist.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| DataTransferFile | Die Datei für den Datentransfer oder |
Eine String-Darstellung dieses Elements abrufen.
Wenn DataTransferItem.value ein Objekt ist, gibt dies das Ergebnis der JSON-Stringifizierung des DataTransferItem.value-Werts zurück.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| Thenable<string> |
DebugAdapter
Ein Debug-Adapter, der das Debug Adapter Protocol implementiert, kann beim Editor registriert werden, wenn er die DebugAdapter-Schnittstelle implementiert.
Events
onDidSendMessage: Event<DebugProtocolMessage>
Ein Ereignis, das ausgelöst wird, nachdem der Debug-Adapter eine Nachricht des Debug Adapter Protocols an den Editor gesendet hat. Nachrichten können Anfragen, Antworten oder Ereignisse sein.
Methoden
Dieses Objekt entsorgen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| any |
handleMessage(message: DebugProtocolMessage): void
Verarbeitet eine Nachricht des Debug Adapter Protocols. Nachrichten können Anfragen, Antworten oder Ereignisse sein. Ergebnisse oder Fehler werden über onSendMessage-Ereignisse zurückgegeben.
| Parameter | Beschreibung |
|---|---|
| message: DebugProtocolMessage | Eine Nachricht des Debug Adapter Protocols |
| Gibt zurück | Beschreibung |
| void |
DebugAdapterDescriptor
Repräsentiert die verschiedenen Arten von Debug-Adaptern
DebugAdapterDescriptor: DebugAdapterExecutable | DebugAdapterServer | DebugAdapterNamedPipeServer | DebugAdapterInlineImplementation
DebugAdapterDescriptorFactory
Eine Debug-Adapter-Factory, die Debug-Adapter-Deskriptoren erstellt.
Methoden
createDebugAdapterDescriptor(session: DebugSession, executable: DebugAdapterExecutable): ProviderResult<DebugAdapterDescriptor>
'createDebugAdapterDescriptor' wird zu Beginn einer Debug-Sitzung aufgerufen, um Details über den zu verwendenden Debug-Adapter bereitzustellen. Diese Details müssen als Objekte vom Typ DebugAdapterDescriptor zurückgegeben werden. Derzeit werden zwei Arten von Debug-Adaptern unterstützt:
- ein Debug-Adapter-Executable, das als Befehlspfad und Argumente angegeben ist (siehe DebugAdapterExecutable),
- ein Debug-Adapter-Server, der über einen Kommunikationsport erreichbar ist (siehe DebugAdapterServer). Wenn die Methode nicht implementiert ist, ist das Standardverhalten: createDebugAdapter(session: DebugSession, executable: DebugAdapterExecutable) { if (typeof session.configuration.debugServer === 'number') { return new DebugAdapterServer(session.configuration.debugServer); } return executable; }
| Parameter | Beschreibung |
|---|---|
| session: DebugSession | Die Debug-Sitzung, für die der Debug-Adapter verwendet wird. |
| executable: DebugAdapterExecutable | Die ausführbaren Informationen des Debug-Adapters, wie in package.json angegeben (oder undefined, wenn keine solchen Informationen vorhanden sind). |
| Gibt zurück | Beschreibung |
| ProviderResult<DebugAdapterDescriptor> | ein Debug-Adapter-Deskriptor oder undefined. |
DebugAdapterExecutable
Repräsentiert ein Debug-Adapter-Executable sowie optionale Argumente und Laufzeitoptionen, die an dieses übergeben werden.
Konstruktoren
new DebugAdapterExecutable(command: string, args?: string[], options?: DebugAdapterExecutableOptions): DebugAdapterExecutable
Erstellt eine Beschreibung für einen Debug-Adapter basierend auf einem ausführbaren Programm.
| Parameter | Beschreibung |
|---|---|
| command: string | Der Befehl oder Pfad der ausführbaren Datei, die den Debug-Adapter implementiert. |
| args?: string[] | Optionale Argumente, die an den Befehl oder die ausführbare Datei übergeben werden. |
| options?: DebugAdapterExecutableOptions | Optionale Optionen, die beim Starten des Befehls oder der ausführbaren Datei verwendet werden. |
| Gibt zurück | Beschreibung |
| DebugAdapterExecutable |
Eigenschaften
Die an das Debug-Adapter-Executable übergebenen Argumente. Standardmäßig ein leeres Array.
Der Befehl oder Pfad des Debug-Adapter-Executables. Ein Befehl muss entweder ein absoluter Pfad zu einer ausführbaren Datei oder der Name eines Befehls sein, der über die PATH-Umgebungsvariable gesucht wird. Der Sonderwert 'node' wird zur integrierten Node.js-Laufzeitumgebung des Editors zugeordnet.
options?: DebugAdapterExecutableOptions
Optionale Optionen, die beim Starten des Debug-Adapters verwendet werden. Standardmäßig undefined.
DebugAdapterExecutableOptions
Optionen für ein Debug-Adapter-Executable.
Eigenschaften
Das aktuelle Arbeitsverzeichnis für den ausgeführten Debug-Adapter.
Die zusätzliche Umgebung des ausgeführten Programms oder Shells. Wenn weggelassen, wird die Umgebung des Elternprozesses verwendet. Wenn angegeben, wird sie mit der Umgebung des Elternprozesses zusammengeführt.
DebugAdapterInlineImplementation
Ein Debug-Adapter-Deskriptor für eine Inline-Implementierung.
Konstruktoren
new DebugAdapterInlineImplementation(implementation: DebugAdapter): DebugAdapterInlineImplementation
Erstellt einen Deskriptor für eine Inline-Implementierung eines Debug-Adapters.
| Parameter | Beschreibung |
|---|---|
| implementation: DebugAdapter | |
| Gibt zurück | Beschreibung |
| DebugAdapterInlineImplementation |
DebugAdapterNamedPipeServer
Repräsentiert einen Debug-Adapter, der als Named Pipe (unter Windows)/UNIX Domain Socket (unter Nicht-Windows)-basierter Server läuft.
Konstruktoren
new DebugAdapterNamedPipeServer(path: string): DebugAdapterNamedPipeServer
Erstellt eine Beschreibung für einen Debug-Adapter, der als Named Pipe (unter Windows)/UNIX Domain Socket (unter Nicht-Windows)-basierter Server läuft.
| Parameter | Beschreibung |
|---|---|
| path: string | |
| Gibt zurück | Beschreibung |
| DebugAdapterNamedPipeServer |
Eigenschaften
Der Pfad zur Named Pipe/UNIX Domain Socket.
DebugAdapterServer
Repräsentiert einen Debug-Adapter, der als Socket-basierter Server läuft.
Konstruktoren
new DebugAdapterServer(port: number, host?: string): DebugAdapterServer
Erstellt eine Beschreibung für einen Debug-Adapter, der als Socket-basierter Server läuft.
| Parameter | Beschreibung |
|---|---|
| port: number | |
| host?: string | |
| Gibt zurück | Beschreibung |
| DebugAdapterServer |
Eigenschaften
Der Host.
Der Port.
DebugAdapterTracker
Ein Debug Adapter Tracker ist ein Mittel zur Verfolgung der Kommunikation zwischen dem Editor und einem Debug Adapter.
Events
onDidSendMessage(message: any): void
Der Debug-Adapter hat eine Nachricht des Debug Adapter Protocols an den Editor gesendet.
| Parameter | Beschreibung |
|---|---|
| message: any | |
| Gibt zurück | Beschreibung |
| void |
onWillReceiveMessage(message: any): void
Der Debug-Adapter wird bald eine Nachricht des Debug Adapter Protocols vom Editor empfangen.
| Parameter | Beschreibung |
|---|---|
| message: any | |
| Gibt zurück | Beschreibung |
| void |
Eine Sitzung mit dem Debug-Adapter wird bald gestartet.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Die Debug-Adapter-Sitzung wird bald beendet.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Methoden
Es ist ein Fehler mit dem Debug-Adapter aufgetreten.
| Parameter | Beschreibung |
|---|---|
| error: Error | |
| Gibt zurück | Beschreibung |
| void |
onExit(code: number, signal: string): void
Der Debug-Adapter wurde mit dem angegebenen Exit-Code oder Signal beendet.
| Parameter | Beschreibung |
|---|---|
| code: number | |
| signal: string | |
| Gibt zurück | Beschreibung |
| void |
DebugAdapterTrackerFactory
Eine Debug-Adapter-Factory, die Debug-Adapter-Tracker erstellt.
Methoden
createDebugAdapterTracker(session: DebugSession): ProviderResult<DebugAdapterTracker>
Die Methode 'createDebugAdapterTracker' wird zu Beginn einer Debug-Sitzung aufgerufen, um ein "Tracker"-Objekt zurückzugeben, das Lesezugriff auf die Kommunikation zwischen dem Editor und einem Debug-Adapter bietet.
| Parameter | Beschreibung |
|---|---|
| session: DebugSession | Die Debug-Sitzung, für die der Debug-Adapter-Tracker verwendet wird. |
| Gibt zurück | Beschreibung |
| ProviderResult<DebugAdapterTracker> | Ein Debug-Adapter-Tracker oder undefined. |
DebugConfiguration
Konfiguration für eine Debug-Sitzung.
Eigenschaften
Der Name der Debug-Sitzung.
Der Anfragetyp der Debug-Sitzung.
Der Typ der Debug-Sitzung.
DebugConfigurationProvider
Ein Debug-Konfigurationsanbieter ermöglicht das Hinzufügen von Debug-Konfigurationen zum Debug-Dienst und das Auflösen von Startkonfigurationen, bevor sie zum Starten einer Debug-Sitzung verwendet werden. Ein Debug-Konfigurationsanbieter wird über debug.registerDebugConfigurationProvider registriert.
Methoden
provideDebugConfigurations(folder: WorkspaceFolder, token?: CancellationToken): ProviderResult<DebugConfiguration[]>
Stellt Debug-Konfigurationen für den Debug-Dienst bereit. Wenn mehr als ein Debug-Konfigurationsanbieter für denselben Typ registriert ist, werden die Debug-Konfigurationen in beliebiger Reihenfolge zusammengeführt.
| Parameter | Beschreibung |
|---|---|
| folder: WorkspaceFolder | Der Arbeitsbereichsordner, für den die Konfigurationen verwendet werden, oder |
| token?: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<DebugConfiguration[]> | Ein Array von Debug-Konfigurationen. |
resolveDebugConfiguration(folder: WorkspaceFolder, debugConfiguration: DebugConfiguration, token?: CancellationToken): ProviderResult<DebugConfiguration>
Löst eine Debug-Konfiguration auf, indem fehlende Werte ergänzt oder Attribute hinzugefügt/geändert/entfernt werden. Wenn mehr als ein Debug-Konfigurationsanbieter für denselben Typ registriert ist, werden die Aufrufe von resolveDebugConfiguration in beliebiger Reihenfolge verkettet und die anfängliche Debug-Konfiguration wird durch die Kette geleitet. Die Rückgabe des Werts 'undefined' verhindert den Start der Debug-Sitzung. Die Rückgabe des Werts 'null' verhindert den Start der Debug-Sitzung und öffnet stattdessen die zugrunde liegende Debug-Konfiguration.
| Parameter | Beschreibung |
|---|---|
| folder: WorkspaceFolder | Der Arbeitsbereichsordner, aus dem die Konfiguration stammt, oder |
| debugConfiguration: DebugConfiguration | Die aufzulösende Debug-Konfiguration. |
| token?: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<DebugConfiguration> | Die aufgelöste Debug-Konfiguration oder undefined oder null. |
resolveDebugConfigurationWithSubstitutedVariables(folder: WorkspaceFolder, debugConfiguration: DebugConfiguration, token?: CancellationToken): ProviderResult<DebugConfiguration>
Dieser Hook wird direkt nach 'resolveDebugConfiguration' aufgerufen, jedoch mit allen ersetzten Variablen. Er kann verwendet werden, um eine Debug-Konfiguration aufzulösen oder zu überprüfen, indem fehlende Werte ergänzt oder Attribute hinzugefügt/geändert/entfernt werden. Wenn mehr als ein Debug-Konfigurationsanbieter für denselben Typ registriert ist, werden die Aufrufe von 'resolveDebugConfigurationWithSubstitutedVariables' in beliebiger Reihenfolge verkettet und die anfängliche Debug-Konfiguration wird durch die Kette geleitet. Die Rückgabe des Werts 'undefined' verhindert den Start der Debug-Sitzung. Die Rückgabe des Werts 'null' verhindert den Start der Debug-Sitzung und öffnet stattdessen die zugrunde liegende Debug-Konfiguration.
| Parameter | Beschreibung |
|---|---|
| folder: WorkspaceFolder | Der Arbeitsbereichsordner, aus dem die Konfiguration stammt, oder |
| debugConfiguration: DebugConfiguration | Die aufzulösende Debug-Konfiguration. |
| token?: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<DebugConfiguration> | Die aufgelöste Debug-Konfiguration oder undefined oder null. |
DebugConfigurationProviderTriggerKind
Ein DebugConfigurationProviderTriggerKind gibt an, wann die provideDebugConfigurations-Methode eines DebugConfigurationProvider ausgelöst wird. Derzeit gibt es zwei Situationen: zum Bereitstellen der anfänglichen Debug-Konfigurationen für ein neu erstelltes launch.json oder zum Bereitstellen dynamisch generierter Debug-Konfigurationen, wenn der Benutzer sie über die Benutzeroberfläche anfordert (z. B. über den Befehl "Debug-Sitzung auswählen und starten"). Eine Trigger-Art wird bei der Registrierung eines DebugConfigurationProvider mit debug.registerDebugConfigurationProvider verwendet.
Enumerationselemente
DebugConfigurationProvider.provideDebugConfigurations wird aufgerufen, um die anfänglichen Debug-Konfigurationen für ein neu erstelltes launch.json bereitzustellen.
DebugConfigurationProvider.provideDebugConfigurations wird aufgerufen, um dynamisch generierte Debug-Konfigurationen bereitzustellen, wenn der Benutzer sie über die Benutzeroberfläche anfordert (z. B. über den Befehl "Debug-Sitzung auswählen und starten").
DebugConsole
Repräsentiert die Debug-Konsole.
Methoden
Hängt den angegebenen Wert an die Debug-Konsole an.
| Parameter | Beschreibung |
|---|---|
| value: string | Ein String, falsche Werte werden nicht ausgegeben. |
| Gibt zurück | Beschreibung |
| void |
appendLine(value: string): void
Hängt den angegebenen Wert und ein Zeilenumbruchzeichen an die Debug-Konsole an.
| Parameter | Beschreibung |
|---|---|
| value: string | Ein String, falsche Werte werden ausgegeben. |
| Gibt zurück | Beschreibung |
| void |
DebugConsoleMode
Debug-Konsolenmodus, der von der Debug-Sitzung verwendet wird. Siehe options.
Enumerationselemente
Die Debug-Sitzung sollte eine separate Debug-Konsole haben.
Die Debug-Sitzung sollte die Debug-Konsole mit ihrer übergeordneten Sitzung teilen. Dieser Wert hat keine Auswirkung auf Sitzungen, die keine übergeordnete Sitzung haben.
DebugProtocolBreakpoint
Ein DebugProtocolBreakpoint ist ein undurchsichtiger Platzhaltertyp für den Typ Breakpoint, der im Debug Adapter Protocol definiert ist.
DebugProtocolMessage
Eine DebugProtocolMessage ist ein undurchsichtiger Platzhaltertyp für den Typ ProtocolMessage, der im Debug Adapter Protocol definiert ist.
DebugProtocolSource
Eine DebugProtocolSource ist ein undurchsichtiger Platzhaltertyp für den Typ Source, der im Debug Adapter Protocol definiert ist.
DebugSession
Eine Debug-Sitzung.
Eigenschaften
configuration: DebugConfiguration
Die "aufgelöste" Debug-Konfiguration dieser Sitzung. "Aufgelöst" bedeutet, dass
- alle Variablen ersetzt wurden und
- plattformspezifische Attributabschnitte für die passende Plattform "geglättet" und für nicht passende Plattformen entfernt wurden.
Die eindeutige ID dieser Debug-Sitzung.
Der Name der Debug-Sitzung wird ursprünglich aus der Debug-Konfiguration übernommen. Änderungen werden korrekt in der Benutzeroberfläche widergespiegelt.
parentSession?: DebugSession
Die übergeordnete Sitzung dieser Debug-Sitzung, falls sie als Kind erstellt wurde.
Siehe auch DebugSessionOptions.parentSession
Der Typ der Debug-Sitzung aus der Debug-Konfiguration.
workspaceFolder: WorkspaceFolder
Der Arbeitsbereichsordner dieser Sitzung oder undefined für eine ordnerlose Einrichtung.
Methoden
customRequest(command: string, args?: any): Thenable<any>
Sendet eine benutzerdefinierte Anfrage an den Debug-Adapter.
| Parameter | Beschreibung |
|---|---|
| command: string | |
| args?: any | |
| Gibt zurück | Beschreibung |
| Thenable<any> |
getDebugProtocolBreakpoint(breakpoint: Breakpoint): Thenable<DebugProtocolBreakpoint>
Ordnet einen Breakpoint im Editor dem entsprechenden Debug Adapter Protocol (DAP) Breakpoint zu, der vom Debug-Adapter der Debug-Sitzung verwaltet wird. Wenn kein DAP Breakpoint vorhanden ist (entweder weil der Editor Breakpoint noch nicht registriert wurde oder weil der Debug-Adapter an dem Breakpoint nicht interessiert ist), wird der Wert undefined zurückgegeben.
| Parameter | Beschreibung |
|---|---|
| breakpoint: Breakpoint | Ein Breakpoint im Editor. |
| Gibt zurück | Beschreibung |
| Thenable<DebugProtocolBreakpoint> | Ein Promise, der zu einem Haltepunkt des Debug Adapter Protocol oder |
DebugSessionCustomEvent
Ein benutzerdefiniertes Debug Adapter Protocol-Ereignis, das von einer Debug-Sitzung empfangen wird.
Eigenschaften
Ereignisspezifische Informationen.
Art des Ereignisses.
session: DebugSession
Die Debug-Sitzung, für die das benutzerdefinierte Ereignis empfangen wurde.
DebugSessionOptions
Optionen zum Starten einer Debug-Sitzung.
Eigenschaften
Steuert, ob die übergeordnete Sitzung der Debug-Sitzung in der Ansicht AUFRUFSTAPEL angezeigt wird, auch wenn sie nur ein einziges untergeordnetes Element hat. Standardmäßig wird die übergeordnete Sitzung der Debug-Sitzung niemals ausgeblendet. Wenn kompakt true ist, werden Debug-Sitzungen mit einem einzigen untergeordneten Element in der Ansicht AUFRUFSTAPEL ausgeblendet, um den Baum kompakter zu gestalten.
consoleMode?: DebugConsoleMode
Steuert, ob diese Sitzung eine separate Debug-Konsole haben soll oder ob sie mit der übergeordneten Sitzung geteilt werden soll. Hat keine Auswirkung für Sitzungen ohne übergeordnete Sitzung. Standardmäßig "Separate".
lifecycleManagedByParent?: boolean
Steuert, ob Lifecycle-Anfragen wie 'restart' an die neu erstellte Sitzung oder an ihre übergeordnete Sitzung gesendet werden. Standardmäßig (wenn die Eigenschaft false oder nicht vorhanden ist) werden Lifecycle-Anfragen an die neue Sitzung gesendet. Diese Eigenschaft wird ignoriert, wenn die Sitzung keine übergeordnete Sitzung hat.
Steuert, ob diese Sitzung ohne Debugging ausgeführt werden soll und somit Haltepunkte ignoriert werden. Wenn diese Eigenschaft nicht angegeben ist, wird der Wert der übergeordneten Sitzung (falls vorhanden) verwendet.
parentSession?: DebugSession
Wenn angegeben, wird die neu erstellte Debug-Sitzung als "Kind"-Sitzung dieser "Eltern"-Debug-Sitzung registriert.
suppressDebugStatusbar?: boolean
Wenn true, wird die Statusleiste des Fensters für diese Sitzung nicht eingefärbt.
suppressDebugToolbar?: boolean
Wenn true, wird die Debug-Symbolleiste für diese Sitzung nicht angezeigt.
Wenn true, wird die Debug-Ansicht für diese Sitzung nicht automatisch geöffnet.
suppressSaveBeforeStart?: boolean
Wenn true, wird vor dem Start einer Debug-Sitzung kein Speichern für offene Editoren ausgelöst, unabhängig vom Wert der Einstellung debug.saveBeforeStart.
testRun?: TestRun
Signalisiert dem Editor, dass die Debug-Sitzung aufgrund einer Testlaufanfrage gestartet wurde. Dies wird verwendet, um den Lebenszyklus der Debug-Sitzung und des Testlaufs bei UI-Aktionen zu verknüpfen.
DebugStackFrame
Stellt einen Stack-Frame in einer Debug-Sitzung dar.
Eigenschaften
ID des Stack-Frames im Debug-Protokoll.
session: DebugSession
Debug-Sitzung für Thread.
ID des zugehörigen Threads im Debug-Protokoll.
DebugThread
Stellt einen Thread in einer Debug-Sitzung dar.
Eigenschaften
session: DebugSession
Debug-Sitzung für Thread.
ID des zugehörigen Threads im Debug-Protokoll.
Declaration
Die Deklaration einer Symbolrepräsentation als ein oder mehrere Locations oder LocationLinks.
Declaration: Location | Location[] | LocationLink[]
DeclarationCoverage
Enthält Abdeckungsinformationen für eine Deklaration. Je nach Reporter und Sprache kann es sich hierbei um Typen wie Funktionen, Methoden oder Namespaces handeln.
Konstruktoren
new DeclarationCoverage(name: string, executed: number | boolean, location: Range | Position): DeclarationCoverage
| Parameter | Beschreibung |
|---|---|
| name: string | |
| executed: number | boolean | Die Anzahl der Ausführungen dieser Deklaration oder ein boolescher Wert, der angibt, ob sie ausgeführt wurde, wenn die genaue Anzahl unbekannt ist. Wenn null oder false, wird die Deklaration als nicht abgedeckt markiert. |
| location: Range | Position | Die Position der Deklaration. |
| Gibt zurück | Beschreibung |
| DeclarationCoverage |
Eigenschaften
Die Anzahl der Ausführungen dieser Deklaration oder ein boolescher Wert, der angibt, ob sie ausgeführt wurde, wenn die genaue Anzahl unbekannt ist. Wenn null oder false, wird die Deklaration als nicht abgedeckt markiert.
Speicherort der Deklaration.
Name der Deklaration.
DeclarationProvider
Die Schnittstelle `DeclarationProvider` definiert den Vertrag zwischen Erweiterungen und der Funktion "Gehe zur Deklaration".
Methoden
provideDeclaration(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Declaration>
Stellt die Deklaration des Symbols an der angegebenen Position und im Dokument bereit.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| position: Position | Die Position, an der der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<Declaration> | Eine Deklaration oder ein Thenable, das sich zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
DecorationInstanceRenderOptions
Stellt Renderoptionen für Dekorationsinstanzen dar. Siehe DecorationOptions.renderOptions.
Eigenschaften
after?: ThemableDecorationAttachmentRenderOptions
Definiert die Renderoptionen für den Anhang, der nach dem dekorierten Text eingefügt wird.
before?: ThemableDecorationAttachmentRenderOptions
Definiert die Renderoptionen für den Anhang, der vor dem dekorierten Text eingefügt wird.
dark?: ThemableDecorationInstanceRenderOptions
Überschreibt Optionen für dunkle Designs.
light?: ThemableDecorationInstanceRenderOptions
Überschreibt Optionen für helle Designs.
DecorationOptions
Stellt Optionen für eine bestimmte Dekoration in einem Dekorationssatz dar.
Eigenschaften
hoverMessage?: MarkdownString | MarkedString | Array<MarkdownString | MarkedString>
Eine Nachricht, die beim Überfahren der Dekoration mit der Maus angezeigt werden soll.
range: Range
Der Bereich, auf den diese Dekoration angewendet wird. Der Bereich darf nicht leer sein.
renderOptions?: DecorationInstanceRenderOptions
Renderoptionen, die auf die aktuelle Dekoration angewendet werden. Halten Sie aus Leistungsgründen die Anzahl der dekoration-spezifischen Optionen gering und verwenden Sie nach Möglichkeit Dekorationstypen.
DecorationRangeBehavior
Beschreibt das Verhalten von Dekorationen beim Tippen/Bearbeiten an ihren Rändern.
Enumerationselemente
Der Bereich der Dekoration erweitert sich, wenn Bearbeitungen am Anfang oder Ende erfolgen.
Der Bereich der Dekoration wird bei Bearbeitungen am Anfang oder Ende nicht erweitert.
Der Bereich der Dekoration wird bei Bearbeitungen am Anfang erweitert, aber nicht am Ende.
Der Bereich der Dekoration wird bei Bearbeitungen am Ende erweitert, aber nicht am Anfang.
DecorationRenderOptions
Stellt Renderstile für eine Texteditor-Dekoration dar.
Eigenschaften
after?: ThemableDecorationAttachmentRenderOptions
Definiert die Renderoptionen für den Anhang, der nach dem dekorierten Text eingefügt wird.
backgroundColor?: string | ThemeColor
Hintergrundfarbe der Dekoration. Verwenden Sie rgba() und definieren Sie transparente Hintergrundfarben, um mit anderen Dekorationen gut zu harmonieren. Alternativ kann eine Farbe aus der Farbregistrierung referenziert werden.
before?: ThemableDecorationAttachmentRenderOptions
Definiert die Renderoptionen für den Anhang, der vor dem dekorierten Text eingefügt wird.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
borderColor?: string | ThemeColor
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'border', um eine oder mehrere der einzelnen Bordüre-Eigenschaften einzustellen.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'border', um eine oder mehrere der einzelnen Bordüre-Eigenschaften einzustellen.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'border', um eine oder mehrere der einzelnen Bordüre-Eigenschaften einzustellen.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'border', um eine oder mehrere der einzelnen Bordüre-Eigenschaften einzustellen.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'border', um eine oder mehrere der einzelnen Bordüre-Eigenschaften einzustellen.
color?: string | ThemeColor
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
dark?: ThemableDecorationRenderOptions
Überschreibt Optionen für dunkle Designs.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
gutterIconPath?: string | Uri
Ein **absoluter Pfad** oder eine URI zu einem Bild, das in der Spalte gerendert werden soll.
Gibt die Größe des Spaltensymbols an. Verfügbare Werte sind 'auto', 'contain', 'cover' und jeder Prozentwert. Weitere Informationen finden Sie unter: https://msdn.microsoft.com/en-us/library/jj127316(v=vs.85).aspx
Soll die Dekoration auch auf den Leerraum nach dem Zeilentext angewendet werden. Standard ist false.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
light?: ThemableDecorationRenderOptions
Überschreibt Optionen für helle Designs.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
outlineColor?: string | ThemeColor
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'outline', um eine oder mehrere der einzelnen Outline-Eigenschaften einzustellen.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'outline', um eine oder mehrere der einzelnen Outline-Eigenschaften einzustellen.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'outline', um eine oder mehrere der einzelnen Outline-Eigenschaften einzustellen.
overviewRulerColor?: string | ThemeColor
Die Farbe der Dekoration in der Übersichtsleiste. Verwenden Sie rgba() und definieren Sie transparente Farben, um gut mit anderen Dekorationen zu harmonieren.
overviewRulerLane?: OverviewRulerLane
Die Position in der Übersichtsleiste, an der die Dekoration gerendert werden soll.
rangeBehavior?: DecorationRangeBehavior
Passen Sie das Wachstumsverhalten der Dekoration an, wenn Bearbeitungen an den Rändern des Dekorationsbereichs erfolgen. Standard ist DecorationRangeBehavior.OpenOpen.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
Definition
Die Definition eines Symbols, dargestellt als ein oder mehrere Locations. Für die meisten Programmiersprachen gibt es nur einen Ort, an dem ein Symbol definiert ist.
Definition: Location | Location[]
DefinitionLink
Informationen darüber, wo ein Symbol definiert ist.
Bietet zusätzliche Metadaten über normale Location-Definitionen, einschließlich des Bereichs des definierenden Symbols.
DefinitionLink: LocationLink
DefinitionProvider
Die Schnittstelle `DefinitionProvider` definiert den Vertrag zwischen Erweiterungen und den Funktionen Gehe zur Definition und Peek-Definition.
Methoden
provideDefinition(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>
Stellt die Definition des Symbols an der angegebenen Position und im Dokument bereit.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| position: Position | Die Position, an der der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<Definition | LocationLink[]> | Eine Definition oder ein Thenable, das sich zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
Diagnostic
Stellt eine Diagnose dar, z. B. einen Compilerfehler oder eine Warnung. Diagnoseobjekte sind nur im Gültigkeitsbereich einer Datei gültig.
Konstruktoren
new Diagnostic(range: Range, message: string, severity?: DiagnosticSeverity): Diagnostic
Erstellt ein neues Diagnoseobjekt.
| Parameter | Beschreibung |
|---|---|
| range: Range | Der Bereich, auf den sich diese Diagnose bezieht. |
| message: string | Die menschenlesbare Nachricht. |
| severity?: DiagnosticSeverity | Die Schweregrad, Standard ist Fehler. |
| Gibt zurück | Beschreibung |
| Diagnostic |
Eigenschaften
code?: string | number | {target: Uri, value: string | number}
Ein Code oder eine Kennung für diese Diagnose. Sollte für spätere Verarbeitungen verwendet werden, z. B. bei der Bereitstellung von Code-Aktionen.
Die menschenlesbare Nachricht.
range: Range
Der Bereich, auf den sich diese Diagnose bezieht.
relatedInformation?: DiagnosticRelatedInformation[]
Ein Array von zugehörigen Diagnoseinformationen, z. B. wenn Symbolnamen innerhalb eines Gültigkeitsbereichs kollidieren, können alle Definitionen über diese Eigenschaft markiert werden.
severity: DiagnosticSeverity
Die Schweregrad, Standard ist Fehler.
Eine menschenlesbare Zeichenkette, die die Quelle dieser Diagnose beschreibt, z. B. 'typescript' oder 'super lint'.
tags?: DiagnosticTag[]
Zusätzliche Metadaten zur Diagnose.
DiagnosticChangeEvent
Das Ereignis, das ausgelöst wird, wenn sich Diagnosen ändern.
Eigenschaften
uris: readonly Uri[]
Ein Array von Ressourcen, für die sich Diagnosen geändert haben.
DiagnosticCollection
Eine Diagnosesammlung ist ein Container, der eine Menge von Diagnosen verwaltet. Diagnosen sind immer an eine Diagnosesammlung und eine Ressource gebunden.
Um eine Instanz einer DiagnosticCollection zu erhalten, verwenden Sie createDiagnosticCollection.
Eigenschaften
Der Name dieser Diagnosesammlung, z. B. typescript. Jede Diagnose aus dieser Sammlung wird mit diesem Namen verknüpft. Das Task-Framework verwendet diesen Namen auch bei der Definition von Problem Matchers.
Methoden
Entfernt alle Diagnosen aus dieser Sammlung. Dies entspricht dem Aufruf von #set(undefined);
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
delete(uri: Uri): void
Entfernt alle Diagnosen aus dieser Sammlung, die zur angegebenen uri gehören. Dies entspricht #set(uri, undefined).
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine Ressourcenkennung. |
| Gibt zurück | Beschreibung |
| void |
Gibt die zugehörigen Ressourcen frei und gibt sie frei. Ruft clear auf.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
forEach(callback: (uri: Uri, diagnostics: readonly Diagnostic[], collection: DiagnosticCollection) => any, thisArg?: any): void
Iteriert über jeden Eintrag in dieser Sammlung.
| Parameter | Beschreibung |
|---|---|
| callback: (uri: Uri, diagnostics: readonly Diagnostic[], collection: DiagnosticCollection) => any | Funktion, die für jeden Eintrag ausgeführt werden soll. |
| thisArg?: any | Der |
| Gibt zurück | Beschreibung |
| void |
get(uri: Uri): readonly Diagnostic[]
Ruft die Diagnosen für eine gegebene Ressource ab. Hinweis: Sie können das von diesem Aufruf zurückgegebene Diagnosen-Array nicht ändern.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine Ressourcenkennung. |
| Gibt zurück | Beschreibung |
| readonly Diagnostic[] | Ein unveränderliches Array von Diagnosen oder |
has(uri: Uri): boolean
Prüft, ob diese Sammlung Diagnosen für eine gegebene Ressource enthält.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine Ressourcenkennung. |
| Gibt zurück | Beschreibung |
| boolean |
|
set(uri: Uri, diagnostics: readonly Diagnostic[]): void
Weist Diagnosen für eine gegebene Ressource zu. Ersetzt vorhandene Diagnosen für diese Ressource.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine Ressourcenkennung. |
| diagnostics: readonly Diagnostic[] | Array von Diagnosen oder |
| Gibt zurück | Beschreibung |
| void |
set(entries: ReadonlyArray<[Uri, readonly Diagnostic[]]>): void
Ersetzt Diagnosen für mehrere Ressourcen in dieser Sammlung.
Hinweis: Mehrere Tupel desselben URIs werden zusammengeführt, z. B. [[file1, [d1]], [file1, [d2]]] ist äquivalent zu [[file1, [d1, d2]]]. Wenn ein Diagnoseelement undefined ist, wie in [file1, undefined], werden alle vorherigen, aber nicht nachfolgenden Diagnosen entfernt.
| Parameter | Beschreibung |
|---|---|
| entries: ReadonlyArray<[Uri, readonly Diagnostic[]]> | Ein Array von Tupeln, wie z. B. |
| Gibt zurück | Beschreibung |
| void |
DiagnosticRelatedInformation
Stellt eine verwandte Nachricht und eine Quellcode-Position für eine Diagnose dar. Dies sollte verwendet werden, um auf Code-Positionen zu verweisen, die eine Diagnose verursachen oder mit ihr in Beziehung stehen, z. B. wenn Symbolnamen in einem Gültigkeitsbereich dupliziert werden.
Konstruktoren
new DiagnosticRelatedInformation(location: Location, message: string): DiagnosticRelatedInformation
Erstellt ein neues Objekt für zugehörige Diagnoseinformationen.
| Parameter | Beschreibung |
|---|---|
| location: Location | Der Speicherort. |
| message: string | Die Nachricht. |
| Gibt zurück | Beschreibung |
| DiagnosticRelatedInformation |
Eigenschaften
location: Location
Der Speicherort dieser zugehörigen Diagnoseinformationen.
Die Nachricht dieser zugehörigen Diagnoseinformationen.
DiagnosticSeverity
Stellt die Schweregrad von Diagnosen dar.
Enumerationselemente
Etwas, das nach den Regeln einer Sprache oder anderer Mittel nicht erlaubt ist.
Etwas Verdächtiges, aber Erlaubtes.
Etwas, worüber informiert werden soll, aber kein Problem darstellt.
Etwas, das auf einen besseren Weg zur Ausführung hinweist, z. B. ein Refactoring-Vorschlag.
DiagnosticTag
Zusätzliche Metadaten über den Typ einer Diagnose.
Enumerationselemente
Unbenutzter oder unnötiger Code.
Diagnosen mit diesem Tag werden ausgegraut dargestellt. Der Grad der Ausgrauung wird durch die "editorUnnecessaryCode.opacity"-Themenfarbe gesteuert. Zum Beispiel rendert "editorUnnecessaryCode.opacity": "#000000c0" den Code mit 75 % Deckkraft. Verwenden Sie für kontrastreiche Themen die "editorUnnecessaryCode.border"-Themenfarbe, um unnötigen Code zu unterstreichen, anstatt ihn auszugrauen.
Veralteter oder obsoletter Code.
Diagnosen mit diesem Tag werden durchgestrichen dargestellt.
Disposable
Stellt einen Typ dar, der Ressourcen freigeben kann, wie z. B. Ereignis-Listener oder einen Timer.
Statisch
from(...disposableLikes: Array<{dispose: () => any}>): Disposable
Kombinieren Sie mehrere Einwegobjekte zu einem. Sie können diese Methode verwenden, wenn Sie Objekte mit einer Dispose-Funktion haben, die keine Instanzen von Disposable sind.
| Parameter | Beschreibung |
|---|---|
| ...disposableLikes: Array<{dispose: () => any}> | Objekte, die mindestens ein |
| Gibt zurück | Beschreibung |
| Disposable | Gibt ein neues Disposable zurück, das beim Aufruf von dispose alle bereitgestellten Disposables aufruft. |
Konstruktoren
new Disposable(callOnDispose: () => any): Disposable
Erstellt ein neues Disposable, das die bereitgestellte Funktion bei Dispose aufruft.
Hinweis: Eine asynchrone Funktion wird nicht abgewartet.
| Parameter | Beschreibung |
|---|---|
| callOnDispose: () => any | Funktion, die etwas entsorgt. |
| Gibt zurück | Beschreibung |
| Disposable |
Methoden
Dieses Objekt entsorgen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| any |
DocumentColorProvider
Der DocumentColorProvider definiert den Vertrag zwischen Erweiterungen und der Funktion des Auswählens und Änderns von Farben im Editor.
Methoden
provideColorPresentations(color: Color, context: {document: TextDocument, range: Range}, token: CancellationToken): ProviderResult<ColorPresentation[]>
Stellt Darstellungen für eine Farbe bereit.
| Parameter | Beschreibung |
|---|---|
| color: Color | Die anzuzeigende und einzufügende Farbe. |
| context: {document: TextDocument, range: Range} | Ein Kontextobjekt mit zusätzlichen Informationen |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<ColorPresentation[]> | Ein Array von Farbpräsentationen oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch die Rückgabe von |
provideDocumentColors(document: TextDocument, token: CancellationToken): ProviderResult<ColorInformation[]>
Stellt Farben für das gegebene Dokument bereit.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<ColorInformation[]> | Ein Array von Farbinformationen oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch die Rückgabe von |
DocumentDropEdit
Eine Bearbeitungsoperation, die beim Ablegen angewendet wird.
Konstruktoren
new DocumentDropEdit(insertText: string | SnippetString, title?: string, kind?: DocumentDropOrPasteEditKind): DocumentDropEdit
| Parameter | Beschreibung |
|---|---|
| insertText: string | SnippetString | Der Text oder Snippet, der an der Drop-Position eingefügt werden soll. |
| title?: string | Für die Bearbeitung lesbare Bezeichnung, die die Bearbeitung beschreibt. |
| kind?: DocumentDropOrPasteEditKind | Art der Bearbeitung. |
| Gibt zurück | Beschreibung |
| DocumentDropEdit |
Eigenschaften
additionalEdit?: WorkspaceEdit
Eine optionale zusätzliche Bearbeitung, die beim Ablegen angewendet werden soll.
insertText: string | SnippetString
Der Text oder Snippet, der an der Drop-Position eingefügt werden soll.
kind?: DocumentDropOrPasteEditKind
Art der Bearbeitung.
Für die Bearbeitung lesbare Bezeichnung, die die Bearbeitung beschreibt.
yieldTo?: readonly DocumentDropOrPasteEditKind[]
Steuert die Reihenfolge mehrerer Bearbeitungen. Wenn dieser Anbieter an andere Anbieter weitergibt, wird er weiter unten in der Liste angezeigt.
DocumentDropEditProvider<T>
Anbieter, der das Ablegen von Ressourcen in einem Texteditor verarbeitet.
Dies ermöglicht es Benutzern, Ressourcen (einschließlich Ressourcen aus externen Apps) per Drag & Drop in den Editor zu ziehen. Beim Ziehen und Ablegen von Dateien können Benutzer die Umschalttaste gedrückt halten, um die Datei in den Editor abzulegen, anstatt sie zu öffnen. Erfordert, dass editor.dropIntoEditor.enabled aktiviert ist.
Methoden
provideDocumentDropEdits(document: TextDocument, position: Position, dataTransfer: DataTransfer, token: CancellationToken): ProviderResult<T | T[]>
Stellt Bearbeitungen bereit, die den gezogenen und fallengelassenen Inhalt in das Dokument einfügen.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Drop stattgefunden hat. |
| position: Position | Die Position im Dokument, an der der Drop stattgefunden hat. |
| dataTransfer: DataTransfer | Ein DataTransfer-Objekt, das Daten über das, was gezogen und abgelegt wird, enthält. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T | T[]> | Ein DocumentDropEdit oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch die Rückgabe von |
resolveDocumentDropEdit(edit: T, token: CancellationToken): ProviderResult<T>
Optionale Methode, die die DocumentDropEdit.additionalEdit auffüllt, bevor die Bearbeitung angewendet wird.
Dies wird einmal pro Bearbeitung aufgerufen und sollte verwendet werden, wenn die Generierung der vollständigen Bearbeitung lange dauern kann. Resolve kann nur zum Ändern von DocumentDropEdit.additionalEdit verwendet werden.
| Parameter | Beschreibung |
|---|---|
| edit: T | Die aufzulösende DocumentDropEdit. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T> | Die aufgelöste Bearbeitung oder ein Thenable, das sich zu einer solchen auflöst. Es ist in Ordnung, die gegebene |
DocumentDropEditProviderMetadata
Stellt zusätzliche Metadaten darüber bereit, wie ein DocumentDropEditProvider funktioniert.
Eigenschaften
dropMimeTypes: readonly string[]
Liste der DataTransfer-MIME-Typen, die der Anbieter verarbeiten kann.
Dies kann entweder ein exakter MIME-Typ sein, z. B. image/png, oder ein Wildcard-Muster, z. B. image/*.
Verwenden Sie text/uri-list für Ressourcen, die aus dem Explorer oder anderen Baumansichten in der Benutzeroberfläche abgelegt werden.
Verwenden Sie files, um anzugeben, dass der Anbieter aufgerufen werden soll, wenn Dateien im DataTransfer vorhanden sind. Beachten Sie, dass DataTransferFile-Einträge nur beim Ablegen von Inhalten von außerhalb des Editors, z. B. vom Betriebssystem, erstellt werden.
providedDropEditKinds?: readonly DocumentDropOrPasteEditKind[]
Liste der Arten, die der Anbieter in provideDocumentDropEdits zurückgeben kann.
Dies wird verwendet, um Anbieter herauszufiltern, wenn eine bestimmte Art von Bearbeitung angefordert wird.
DocumentDropOrPasteEditKind
Identifiziert eine DocumentDropEdit oder DocumentPasteEdit
Statisch
Empty: DocumentDropOrPasteEditKind
Text: DocumentDropOrPasteEditKind
Die Stammart für einfache Textbearbeitungen.
Diese Art sollte für Bearbeitungen verwendet werden, die einfachen Text in das Dokument einfügen. Ein gutes Beispiel hierfür ist eine Bearbeitung, die den Inhalt der Zwischenablage einfügt und gleichzeitig Importe in der Datei basierend auf dem eingefügten Text aktualisiert. Hierfür könnten wir eine Art wie text.updateImports.someLanguageId verwenden.
Obwohl die meisten Drop-/Paste-Bearbeitungen letztendlich Text einfügen, sollten Sie Text nicht als Stammart für jede Bearbeitung verwenden, da dies redundant ist. Stattdessen sollte eine spezifischere Art verwendet werden, die die Art des eingefügten Inhalts beschreibt. Wenn die Bearbeitung beispielsweise einen Markdown-Link hinzufügt, verwenden Sie markdown.link, da es zwar wichtig ist, dass der eingefügte Inhalt Text ist, aber wichtiger ist, dass die Bearbeitung Markdown-Syntax einfügt.
TextUpdateImports: DocumentDropOrPasteEditKind
Stammart für Bearbeitungen, die zusätzlich zum Einfügen von Text Importe in einem Dokument aktualisieren.
Konstruktoren
new DocumentDropOrPasteEditKind(value: string): DocumentDropOrPasteEditKind
Verwenden Sie stattdessen DocumentDropOrPasteEditKind.Empty.
| Parameter | Beschreibung |
|---|---|
| value: string | |
| Gibt zurück | Beschreibung |
| DocumentDropOrPasteEditKind |
Eigenschaften
Der rohe Zeichenkettenwert der Art.
Methoden
append(...parts: string[]): DocumentDropOrPasteEditKind
Erstellt eine neue Art, indem zusätzliche Bereiche an die aktuelle Art angehängt werden.
Ändert die aktuelle Art nicht.
| Parameter | Beschreibung |
|---|---|
| ...parts: string[] | |
| Gibt zurück | Beschreibung |
| DocumentDropOrPasteEditKind |
contains(other: DocumentDropOrPasteEditKind): boolean
Prüft, ob other eine Unterart dieser DocumentDropOrPasteEditKind ist.
Die Art "text.plain" enthält beispielsweise "text.plain" und "text.plain.list", aber nicht "text" oder "unicorn.text.plain".
| Parameter | Beschreibung |
|---|---|
| other: DocumentDropOrPasteEditKind | Zu prüfende Art. |
| Gibt zurück | Beschreibung |
| boolean |
intersects(other: DocumentDropOrPasteEditKind): boolean
Prüft, ob diese Art mit other schneidet.
Die Art "text.plain" schneidet beispielsweise mit text, "text.plain" und "text.plain.list", aber nicht mit "unicorn" oder "textUnicorn.plain".
| Parameter | Beschreibung |
|---|---|
| other: DocumentDropOrPasteEditKind | Zu prüfende Art. |
| Gibt zurück | Beschreibung |
| boolean |
DocumentFilter
Ein Dokumentfilter bezeichnet ein Dokument anhand verschiedener Eigenschaften wie der Sprache, dem Schema seiner Ressource oder einem Glob-Muster, das auf den Pfad angewendet wird.
Beispiel Ein Sprachfilter, der auf TypeScript-Dateien auf der Festplatte angewendet wird
{ language: 'typescript', scheme: 'file' }
Beispiel Ein Sprachfilter, der auf alle package.json-Pfade angewendet wird
{ language: 'json', pattern: '**/package.json' }
Eigenschaften
Eine Sprach-ID, z. B. typescript.
Der Typ eines Notebooks, z. B. jupyter-notebook. Dies ermöglicht die Eingrenzung auf den Typ eines Notebooks, zu dem ein Zellen-Dokument gehört.
Hinweis: Das Setzen der notebookType-Eigenschaft ändert, wie scheme und pattern interpretiert werden. Wenn sie gesetzt sind, werden sie gegen die Notebook-URI und nicht gegen die Dokument-URI ausgewertet.
Beispiel Übereinstimmung eines Python-Dokuments innerhalb eines Jupyter-Notebooks, das noch nicht gespeichert wurde (untitled)
{ language: 'python', notebookType: 'jupyter-notebook', scheme: 'untitled' }
pattern?: GlobPattern
Ein Glob-Muster, das auf den absoluten Pfad des Dokuments angewendet wird. Verwenden Sie ein relatives Muster, um Dokumente auf einen Arbeitsbereichsordner zu beschränken.
Ein Uri- Schema, z. B. file oder untitled.
DocumentFormattingEditProvider
Die DocumentFormattingProvider-Schnittstelle definiert den Vertrag zwischen Erweiterungen und der Formatierungsfunktion.
Methoden
provideDocumentFormattingEdits(document: TextDocument, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>
Stellt Formatierungs-Edits für ein gesamtes Dokument bereit.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| options: FormattingOptions | Optionen zur Steuerung der Formatierung. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<TextEdit[]> | Eine Reihe von Text-Edits oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch die Rückgabe von |
DocumentHighlight
Eine Dokumenthervorhebung ist ein Bereich innerhalb eines Textdokuments, der besondere Aufmerksamkeit verdient. Normalerweise wird eine Dokumenthervorhebung durch Ändern der Hintergrundfarbe ihres Bereichs visualisiert.
Konstruktoren
new DocumentHighlight(range: Range, kind?: DocumentHighlightKind): DocumentHighlight
Erstellt ein neues Dokumenthervorhebungsobjekt.
| Parameter | Beschreibung |
|---|---|
| range: Range | Der Bereich, für den die Hervorhebung gilt. |
| kind?: DocumentHighlightKind | Die Art der Hervorhebung, Standard ist Text. |
| Gibt zurück | Beschreibung |
| DocumentHighlight |
Eigenschaften
kind?: DocumentHighlightKind
Die Art der Hervorhebung, Standard ist Text.
range: Range
Der Bereich, für den diese Hervorhebung gilt.
DocumentHighlightKind
Eine Art der Dokumenthervorhebung.
Enumerationselemente
Ein textuelles Vorkommen.
Lesezugriff auf ein Symbol, z. B. das Lesen einer Variablen.
Schreibzugriff auf ein Symbol, z. B. das Schreiben in eine Variable.
DocumentHighlightProvider
Die DocumentHighlightProvider-Schnittstelle definiert den Vertrag zwischen Erweiterungen und der Wort-Hervorhebungsfunktion.
Methoden
provideDocumentHighlights(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<DocumentHighlight[]>
Stellt eine Reihe von Dokumenthervorhebungen bereit, z. B. alle Vorkommen einer Variablen oder alle Ausstiegspunkte einer Funktion.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| position: Position | Die Position, an der der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<DocumentHighlight[]> | Ein Array von Dokumenthervorhebungen oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch die Rückgabe von |
DocumentLink
Ein Dokumentlink ist ein Bereich in einem Textdokument, der zu einer internen oder externen Ressource verlinkt, wie z. B. einem anderen Textdokument oder einer Website.
Konstruktoren
new DocumentLink(range: Range, target?: Uri): DocumentLink
Erstellt einen neuen Dokumentlink.
| Parameter | Beschreibung |
|---|---|
| range: Range | Der Bereich, für den der Dokumentlink gilt. Darf nicht leer sein. |
| target?: Uri | Die URI, auf die der Dokumentlink zeigt. |
| Gibt zurück | Beschreibung |
| DocumentLink |
Eigenschaften
range: Range
Der Bereich, für den dieser Link gilt.
target?: Uri
Die URI, auf die dieser Link zeigt.
Der Tooltip-Text, wenn Sie mit der Maus über diesen Link fahren.
Wenn ein Tooltip bereitgestellt wird, wird er in einer Zeichenfolge angezeigt, die Anweisungen zum Auslösen des Links enthält, z. B. {0} (strg + klick). Die spezifischen Anweisungen variieren je nach Betriebssystem, Benutzereinstellungen und Lokalisierung.
DocumentLinkProvider<T>
Der DocumentLinkProvider definiert den Vertrag zwischen Erweiterungen und der Funktion des Anzeigens von Links im Editor.
Methoden
provideDocumentLinks(document: TextDocument, token: CancellationToken): ProviderResult<T[]>
Stellt Links für das gegebene Dokument bereit. Beachten Sie, dass der Editor mit einem Standardanbieter geliefert wird, der http(s)- und file-Links erkennt.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T[]> | Ein Array von Dokumentlinks oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch die Rückgabe von |
resolveDocumentLink(link: T, token: CancellationToken): ProviderResult<T>
Füllt bei einem Link dessen Ziel aus. Diese Methode wird aufgerufen, wenn ein unvollständiger Link in der Benutzeroberfläche ausgewählt wird. Anbieter können diese Methode implementieren und unvollständige Links (ohne Ziel) aus der provideDocumentLinks-Methode zurückgeben, was oft zur Leistungssteigerung beiträgt.
| Parameter | Beschreibung |
|---|---|
| link: T | Der aufzulösende Link. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T> |
DocumentPasteEdit
Eine Bearbeitung, die eine Einfügeoperation anwendet.
Konstruktoren
new DocumentPasteEdit(insertText: string | SnippetString, title: string, kind: DocumentDropOrPasteEditKind): DocumentPasteEdit
Erstellt eine neue Einfüge-Bearbeitung.
| Parameter | Beschreibung |
|---|---|
| insertText: string | SnippetString | Der Text oder Snippet, der an den eingefügten Positionen eingefügt werden soll. |
| title: string | Für die Bearbeitung lesbare Bezeichnung, die die Bearbeitung beschreibt. |
| kind: DocumentDropOrPasteEditKind | Art der Bearbeitung. |
| Gibt zurück | Beschreibung |
| DocumentPasteEdit |
Eigenschaften
additionalEdit?: WorkspaceEdit
Eine optionale zusätzliche Bearbeitung, die beim Einfügen angewendet werden soll.
insertText: string | SnippetString
Der Text oder Snippet, der an den eingefügten Positionen eingefügt werden soll.
Wenn Ihre Bearbeitung eine erweiterte Einfüge-Logik erfordert, setzen Sie dies auf eine leere Zeichenfolge und stellen Sie stattdessen eine zusätzliche Bearbeitung bereit.
kind: DocumentDropOrPasteEditKind
Art der Bearbeitung.
Für die Bearbeitung lesbare Bezeichnung, die die Bearbeitung beschreibt.
yieldTo?: readonly DocumentDropOrPasteEditKind[]
Steuert die Reihenfolge, wenn mehrere Einfüge-Bearbeitungen potenziell angewendet werden können.
Wenn diese Bearbeitung an eine andere weitergibt, wird sie weiter unten in der Liste der dem Benutzer angezeigten möglichen Einfüge-Bearbeitungen aufgeführt.
DocumentPasteEditContext
Zusätzliche Informationen über die Einfügeoperation.
Eigenschaften
only: DocumentDropOrPasteEditKind
Angefragte Art von Einfüge-Bearbeitungen, die zurückgegeben werden sollen.
Wenn eine explizite Art von PasteAs angefordert wird, werden Anbieter ermutigt, flexibler zu sein, wenn sie eine Bearbeitung der angeforderten Art generieren.
triggerKind: DocumentPasteTriggerKind
Der Grund, warum Einfüge-Bearbeitungen angefordert wurden.
DocumentPasteEditProvider<T>
Anbieter, der aufgerufen wird, wenn der Benutzer in einem TextDocument kopiert oder einfügt.
Methoden
prepareDocumentPaste(document: TextDocument, ranges: readonly Range[], dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>
Optionale Methode, die aufgerufen wird, nachdem der Benutzer aus einem Texteditor kopiert hat.
Dies ermöglicht dem Anbieter, Metadaten über den kopierten Text an den DataTransfer anzuhängen. Dieser Datenübertrag wird dann an Anbieter in provideDocumentPasteEdits zurückgegeben.
Beachten Sie, dass derzeit alle Änderungen am DataTransfer auf das aktuelle Editorfenster beschränkt sind. Das bedeutet, dass hinzugefügte Metadaten von anderen Editorfenstern oder anderen Anwendungen nicht gesehen werden können.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Textdokument, in dem die Kopie stattgefunden hat. |
| ranges: readonly Range[] | Bereiche, die im Dokument kopiert werden. |
| dataTransfer: DataTransfer | Der Datenübertrag, der mit der Kopie verbunden ist. Sie können hier zusätzliche Werte für die spätere Verwendung in provideDocumentPasteEdits speichern. Dieses Objekt ist nur für die Dauer dieser Methode gültig. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| void | Thenable<void> | Optionales Thenable, das sich auflöst, wenn alle Änderungen am |
provideDocumentPasteEdits(document: TextDocument, ranges: readonly Range[], dataTransfer: DataTransfer, context: DocumentPasteEditContext, token: CancellationToken): ProviderResult<T[]>
Wird aufgerufen, bevor der Benutzer in einen Texteditor einfügt.
Zurückgegebene Edits können das Standard-Einfügeverhalten überschreiben.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in das eingefügt wird |
| ranges: readonly Range[] | Bereich im document, in das eingefügt werden soll. |
| dataTransfer: DataTransfer | Die Datenübertragung, die mit dem Einfügen verbunden ist. Dieses Objekt ist nur für die Dauer des Einfügevorgangs gültig. |
| context: DocumentPasteEditContext | Zusätzlicher Kontext für das Einfügen. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T[]> | Menge potenzieller Edits, die das Einfügen anwenden können. Nur ein einzelner zurückgegebener DocumentPasteEdit wird zu einer Zeit angewendet. Wenn mehrere Edits von allen Anbietern zurückgegeben werden, wird der erste automatisch angewendet und ein Widget angezeigt, das es dem Benutzer ermöglicht, zu den anderen Edits zu wechseln. |
resolveDocumentPasteEdit(pasteEdit: T, token: CancellationToken): ProviderResult<T>
Optionale Methode, die das DocumentPasteEdit.additionalEdit vor dem Anwenden des Edits auffüllt.
Dies wird einmal pro Edit aufgerufen und sollte verwendet werden, wenn die Generierung des vollständigen Edits lange dauern kann. Resolve kann nur verwendet werden, um DocumentPasteEdit.insertText oder DocumentPasteEdit.additionalEdit zu ändern.
| Parameter | Beschreibung |
|---|---|
| pasteEdit: T | Der zu auflösende DocumentPasteEdit. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T> | Der aufgelöste Paste-Edit oder ein Thenable, das sich zu einem solchen auflöst. Es ist in Ordnung, den gegebenen |
DocumentPasteProviderMetadata
Stellt zusätzliche Metadaten darüber bereit, wie ein DocumentPasteEditProvider funktioniert.
Eigenschaften
copyMimeTypes?: readonly string[]
MIME-Typen, die prepareDocumentPaste beim Kopieren hinzufügen kann.
pasteMimeTypes?: readonly string[]
MIME-Typen, für die provideDocumentPasteEdits aufgerufen werden sollte.
Dies kann entweder ein exakter MIME-Typ sein, z. B. image/png, oder ein Wildcard-Muster, z. B. image/*.
Verwenden Sie text/uri-list für Ressourcen, die aus dem Explorer oder anderen Baumansichten in der Benutzeroberfläche abgelegt werden.
Verwenden Sie files, um anzugeben, dass der Anbieter aufgerufen werden soll, wenn Dateien im DataTransfer vorhanden sind. Beachten Sie, dass DataTransferFile-Einträge nur erstellt werden, wenn Inhalte außerhalb des Editors eingefügt werden, z. B. aus dem Betriebssystem.
providedPasteEditKinds: readonly DocumentDropOrPasteEditKind[]
Liste der Arten, die der Anbieter in provideDocumentPasteEdits zurückgeben kann.
Dies wird verwendet, um Anbieter herauszufiltern, wenn eine bestimmte Art von Bearbeitung angefordert wird.
DocumentPasteTriggerKind
Der Grund, warum Einfüge-Bearbeitungen angefordert wurden.
Enumerationselemente
Das Einfügen wurde als Teil eines normalen Einfügevorgangs angefordert.
Das Einfügen wurde vom Benutzer mit dem Befehl "Einfügen als" angefordert.
DocumentRangeFormattingEditProvider
Die DocumentFormattingProvider-Schnittstelle definiert den Vertrag zwischen Erweiterungen und der Formatierungsfunktion.
Methoden
provideDocumentRangeFormattingEdits(document: TextDocument, range: Range, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>
Formatierungs-Edits für einen Bereich in einem Dokument bereitstellen.
Der angegebene Bereich ist ein Hinweis, und Anbieter können entscheiden, einen kleineren oder größeren Bereich zu formatieren. Oft geschieht dies, indem der Anfang und das Ende des Bereichs auf vollständige Syntaxknoten angepasst werden.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| range: Range | Der zu formatierende Bereich. |
| options: FormattingOptions | Optionen zur Steuerung der Formatierung. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<TextEdit[]> | Eine Reihe von Text-Edits oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch die Rückgabe von |
provideDocumentRangesFormattingEdits(document: TextDocument, ranges: Range[], options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>
Formatierungs-Edits für mehrere Bereiche in einem Dokument bereitstellen.
Diese Funktion ist optional, ermöglicht es einem Formatierer jedoch, bei der Formatierung nur geänderter Bereiche oder bei der Formatierung einer großen Anzahl von Auswahlen schneller zu arbeiten.
Die angegebenen Bereiche sind Hinweise, und Anbieter können entscheiden, einen kleineren oder größeren Bereich zu formatieren. Oft geschieht dies, indem der Anfang und das Ende des Bereichs auf vollständige Syntaxknoten angepasst werden.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| ranges: Range[] | Die zu formatierenden Bereiche. |
| options: FormattingOptions | Optionen zur Steuerung der Formatierung. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<TextEdit[]> | Eine Reihe von Text-Edits oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch die Rückgabe von |
DocumentRangeSemanticTokensProvider
Die Schnittstelle DocumentRangeSemanticTokensProvider definiert den Vertrag zwischen Erweiterungen und semantischen Tokens.
Events
onDidChangeSemanticTokens?: Event<void>
Ein optionales Ereignis, das signalisiert, dass sich die semantischen Tokens dieses Anbieters geändert haben.
Methoden
provideDocumentRangeSemanticTokens(document: TextDocument, range: Range, token: CancellationToken): ProviderResult<SemanticTokens>
Siehe auch provideDocumentSemanticTokens.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | |
| range: Range | |
| token: CancellationToken | |
| Gibt zurück | Beschreibung |
| ProviderResult<SemanticTokens> |
DocumentSelector
Ein Sprachselektor ist die Kombination aus einer oder mehreren Sprach-IDs und Sprachfiltern.
Hinweis: Ein Dokumentselektor, der nur eine Sprachkennung ist, wählt *alle* Dokumente aus, auch solche, die nicht auf der Festplatte gespeichert sind. Verwenden Sie solche Selektoren nur, wenn eine Funktion ohne weiteren Kontext funktioniert, z. B. ohne dass verwandte 'Dateien' aufgelöst werden müssen.
Beispiel
let sel: DocumentSelector = { scheme: 'file', language: 'typescript' };
DocumentSelector: DocumentFilter | string | ReadonlyArray<DocumentFilter | string>
DocumentSemanticTokensProvider
Die Schnittstelle DocumentSemanticTokensProvider definiert den Vertrag zwischen Erweiterungen und semantischen Tokens.
Events
onDidChangeSemanticTokens?: Event<void>
Ein optionales Ereignis, das signalisiert, dass sich die semantischen Tokens dieses Anbieters geändert haben.
Methoden
provideDocumentSemanticTokens(document: TextDocument, token: CancellationToken): ProviderResult<SemanticTokens>
Tokens in einer Datei werden als Array von ganzen Zahlen dargestellt. Die Position jedes Tokens wird relativ zum vorherigen Token ausgedrückt, da die meisten Tokens bei Bearbeitungen in einer Datei stabil zueinander bleiben.
Kurz gesagt, jedes Token benötigt 5 ganze Zahlen zur Darstellung, sodass ein bestimmtes Token i in der Datei aus den folgenden Array-Indizes besteht
- Index
5*i-deltaLine: Zeilennummer des Tokens, relativ zum vorherigen Token - Index
5*i+1-deltaStart: Startzeichen des Tokens, relativ zum vorherigen Token (relativ zu 0 oder zum Start des vorherigen Tokens, wenn sie sich auf derselben Zeile befinden) - Index
5*i+2-length: die Länge des Tokens. Ein Token kann nicht mehrzeilig sein. - Index
5*i+3-tokenType: wird inSemanticTokensLegend.tokenTypesnachgeschlagen. Wir verlangen derzeit, dasstokenType< 65536 ist. - Index
5*i+4-tokenModifiers: Jedes gesetzte Bit wird inSemanticTokensLegend.tokenModifiersnachgeschlagen
Wie Tokens kodiert werden
Hier ist ein Beispiel für die Kodierung einer Datei mit 3 Tokens in einem uint32-Array
{ line: 2, startChar: 5, length: 3, tokenType: "property", tokenModifiers: ["private", "static"] },
{ line: 2, startChar: 10, length: 4, tokenType: "type", tokenModifiers: [] },
{ line: 5, startChar: 2, length: 7, tokenType: "class", tokenModifiers: [] }
- Zuerst muss eine Legende erstellt werden. Diese Legende muss im Voraus bereitgestellt werden und alle möglichen Token-Typen erfassen. Für dieses Beispiel wählen wir die folgende Legende, die bei der Registrierung des Anbieters übergeben werden muss
tokenTypes: ['property', 'type', 'class'],
tokenModifiers: ['private', 'static']
- Der erste Transformationsschritt besteht darin,
tokenTypeundtokenModifiersmithilfe der Legende als ganze Zahlen zu kodieren. Token-Typen werden nach Index nachgeschlagen, sodass eintokenType-Wert von1tokenTypes[1]bedeutet. Mehrere Token-Modifikatoren können durch Bit-Flags gesetzt werden. EintokenModifier-Wert von3wird zuerst als Binärzahl0b00000011betrachtet, was[tokenModifiers[0], tokenModifiers[1]]bedeutet, da die Bits 0 und 1 gesetzt sind. Mithilfe dieser Legende sind die Tokens nun
{ line: 2, startChar: 5, length: 3, tokenType: 0, tokenModifiers: 3 },
{ line: 2, startChar: 10, length: 4, tokenType: 1, tokenModifiers: 0 },
{ line: 5, startChar: 2, length: 7, tokenType: 2, tokenModifiers: 0 }
- Der nächste Schritt besteht darin, jedes Token relativ zum vorherigen Token in der Datei darzustellen. In diesem Fall befindet sich das zweite Token auf derselben Zeile wie das erste Token. Daher wird das
startChardes zweiten Tokens relativ zumstartChardes ersten Tokens gesetzt, sodass es10 - 5ist. Das dritte Token befindet sich auf einer anderen Zeile als das zweite Token, daher wird dasstartChardes dritten Tokens nicht geändert
{ deltaLine: 2, deltaStartChar: 5, length: 3, tokenType: 0, tokenModifiers: 3 },
{ deltaLine: 0, deltaStartChar: 5, length: 4, tokenType: 1, tokenModifiers: 0 },
{ deltaLine: 3, deltaStartChar: 2, length: 7, tokenType: 2, tokenModifiers: 0 }
- Schließlich werden im letzten Schritt jedes der 5 Felder für ein Token in einem einzigen Array zusammengeführt, was eine speichereffiziente Darstellung ist
// 1st token, 2nd token, 3rd token
[ 2,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ]
Siehe auch SemanticTokensBuilder als Hilfsmittel zur Kodierung von Tokens als ganze Zahlen. HINWEIS: Bei Edits ist es möglich, dass mehrere Edits auftreten, bis der Editor entscheidet, den Anbieter für semantische Tokens aufzurufen. HINWEIS: Wenn der Anbieter vorübergehend keine semantischen Tokens berechnen kann, kann er dies durch Auslösen eines Fehlers mit der Nachricht 'Busy' anzeigen.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | |
| token: CancellationToken | |
| Gibt zurück | Beschreibung |
| ProviderResult<SemanticTokens> |
provideDocumentSemanticTokensEdits(document: TextDocument, previousResultId: string, token: CancellationToken): ProviderResult<SemanticTokens | SemanticTokensEdits>
Anstatt immer alle Tokens in einer Datei zurückzugeben, kann ein DocumentSemanticTokensProvider diese Methode (provideDocumentSemanticTokensEdits) implementieren und dann inkrementelle Aktualisierungen der zuvor bereitgestellten semantischen Tokens zurückgeben.
Wie sich Tokens bei Änderungen des Dokuments ändern
Angenommen, provideDocumentSemanticTokens hat zuvor die folgenden semantischen Tokens zurückgegeben
// 1st token, 2nd token, 3rd token
[ 2,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ]
Angenommen, nach einigen Bearbeitungen sind die neuen semantischen Tokens in einer Datei
// 1st token, 2nd token, 3rd token
[ 3,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ]
Es ist möglich, diese neuen Tokens in Form eines Edits auszudrücken, der auf die vorherigen Tokens angewendet wird
[ 2,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ] // old tokens
[ 3,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ] // new tokens
edit: { start: 0, deleteCount: 1, data: [3] } // replace integer at offset 0 with 3
HINWEIS: Wenn der Anbieter keine SemanticTokensEdits berechnen kann, kann er "aufgeben" und alle Tokens im Dokument erneut zurückgeben. HINWEIS: Alle Edits in SemanticTokensEdits enthalten Indizes im alten Array von ganzen Zahlen und beziehen sich daher alle auf den vorherigen Ergebnisstatus.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | |
| previousResultId: string | |
| token: CancellationToken | |
| Gibt zurück | Beschreibung |
| ProviderResult<SemanticTokens | SemanticTokensEdits> |
DocumentSymbol
Repräsentiert Programmierkonstrukte wie Variablen, Klassen, Schnittstellen usw., die in einem Dokument vorkommen. Dokumentensymbole können hierarchisch sein und haben zwei Bereiche: einen, der ihre Definition umschließt, und einen, der auf ihren interessantesten Bereich verweist, z. B. den Bereich eines Bezeichners.
Konstruktoren
new DocumentSymbol(name: string, detail: string, kind: SymbolKind, range: Range, selectionRange: Range): DocumentSymbol
Erstellt ein neues Dokumentensymbol.
| Parameter | Beschreibung |
|---|---|
| name: string | Der Name des Symbols. |
| detail: string | Details für das Symbol. |
| kind: SymbolKind | Die Art des Symbols. |
| range: Range | Der vollständige Bereich des Symbols. |
| selectionRange: Range | Der aufzudeckende Bereich. |
| Gibt zurück | Beschreibung |
| DocumentSymbol |
Eigenschaften
children: DocumentSymbol[]
Kinder dieses Symbols, z. B. Eigenschaften einer Klasse.
Weitere Details für dieses Symbol, z. B. die Signatur einer Funktion.
kind: SymbolKind
Die Art dieses Symbols.
Der Name dieses Symbols.
range: Range
Der Bereich, der dieses Symbol umschließt, ohne führende/nachfolgende Leerzeichen, aber alles andere, z. B. Kommentare und Code.
selectionRange: Range
Der Bereich, der ausgewählt und aufgedeckt werden soll, wenn dieses Symbol ausgewählt wird, z. B. der Name einer Funktion. Muss im range enthalten sein.
tags?: readonly SymbolTag[]
Tags für dieses Symbol.
DocumentSymbolProvider
Die Schnittstelle DocumentSymbolProvider definiert den Vertrag zwischen Erweiterungen und der Funktion Gehe zu Symbol.
Methoden
provideDocumentSymbols(document: TextDocument, token: CancellationToken): ProviderResult<DocumentSymbol[] | SymbolInformation[]>
Symbolinformationen für das angegebene Dokument bereitstellen.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<DocumentSymbol[] | SymbolInformation[]> | Ein Array von Dokumenthervorhebungen oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch die Rückgabe von |
DocumentSymbolProviderMetadata
Metadaten zu einem Dokumentensymbol-Anbieter.
Eigenschaften
Eine menschenlesbare Zeichenkette, die angezeigt wird, wenn mehrere Gliederungsbäume für ein Dokument angezeigt werden.
EndOfLine
Stellt eine Zeilenende-Zeichenfolge in einem Dokument dar.
Enumerationselemente
Das Zeilenumbruchzeichen \n.
Die Wagenrücklauf-Zeilenumbruchsequenz \r\n.
EnterAction
Beschreibt, was beim Drücken von Enter zu tun ist.
Eigenschaften
Beschreibt Text, der nach der neuen Zeile und nach der Einrückung angehängt werden soll.
indentAction: IndentAction
Beschreibt, was mit der Einrückung zu tun ist.
Beschreibt die Anzahl der Zeichen, die von der Einrückung der neuen Zeile entfernt werden sollen.
EnvironmentVariableCollection
Eine Sammlung von Mutationen, die eine Erweiterung auf die Umgebung eines Prozesses anwenden kann.
Eigenschaften
description: string | MarkdownString
Eine Beschreibung für die Umgebungsvariablen-Sammlung, die verwendet wird, um die Änderungen in der Benutzeroberfläche zu beschreiben.
Ob die Sammlung für den Arbeitsbereich gespeichert und auf das Terminal über Fensterneuladungen angewendet werden soll. Wenn wahr, ist die Sammlung sofort aktiv, wie beim Neuladen des Fensters. Zusätzlich gibt diese API die gespeicherte Version zurück, wenn sie existiert. Die Sammlung wird ungültig, wenn die Erweiterung deinstalliert wird oder wenn die Sammlung gelöscht wird. Standardmäßig true.
Methoden
append(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
Hängt einen Wert an eine Umgebungsvariable an.
Beachten Sie, dass eine Erweiterung nur eine einzige Änderung an einer Variablen vornehmen kann. Dies überschreibt daher alle vorherigen Aufrufe von replace, append oder prepend.
| Parameter | Beschreibung |
|---|---|
| variable: string | Die Variable, an die angehängt werden soll. |
| value: string | Der Wert, der an die Variable angehängt werden soll. |
| options?: EnvironmentVariableMutatorOptions | Optionen, die auf den Mutator angewendet werden. Wenn keine Optionen angegeben werden, wird standardmäßig |
| Gibt zurück | Beschreibung |
| void |
Löscht alle Mutatoren aus dieser Sammlung.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
delete(variable: string): void
Löscht den Mutator dieser Sammlung für eine Variable.
| Parameter | Beschreibung |
|---|---|
| variable: string | Die Variable, für die der Mutator gelöscht werden soll. |
| Gibt zurück | Beschreibung |
| void |
forEach(callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any, thisArg?: any): void
Iteriert über jeden Mutator in dieser Sammlung.
| Parameter | Beschreibung |
|---|---|
| callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any | Funktion, die für jeden Eintrag ausgeführt werden soll. |
| thisArg?: any | Der |
| Gibt zurück | Beschreibung |
| void |
get(variable: string): EnvironmentVariableMutator
Ruft den Mutator ab, den diese Sammlung auf eine Variable anwendet, falls vorhanden.
| Parameter | Beschreibung |
|---|---|
| variable: string | Die Variable, für die der Mutator abgerufen werden soll. |
| Gibt zurück | Beschreibung |
| EnvironmentVariableMutator |
prepend(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
Stellt einen Wert voran eine Umgebungsvariable.
Beachten Sie, dass eine Erweiterung nur eine einzige Änderung an einer Variablen vornehmen kann. Dies überschreibt daher alle vorherigen Aufrufe von replace, append oder prepend.
| Parameter | Beschreibung |
|---|---|
| variable: string | Die Variable, der etwas vorangestellt werden soll. |
| value: string | Der Wert, der der Variablen vorangestellt werden soll. |
| options?: EnvironmentVariableMutatorOptions | Optionen, die auf den Mutator angewendet werden. Wenn keine Optionen angegeben werden, wird standardmäßig |
| Gibt zurück | Beschreibung |
| void |
replace(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
Ersetzt eine Umgebungsvariable durch einen Wert.
Beachten Sie, dass eine Erweiterung nur eine einzige Änderung an einer Variablen vornehmen kann. Dies überschreibt daher alle vorherigen Aufrufe von replace, append oder prepend.
| Parameter | Beschreibung |
|---|---|
| variable: string | Die zu ersetzende Variable. |
| value: string | Der Wert, durch den die Variable ersetzt werden soll. |
| options?: EnvironmentVariableMutatorOptions | Optionen, die auf den Mutator angewendet werden. Wenn keine Optionen angegeben werden, wird standardmäßig |
| Gibt zurück | Beschreibung |
| void |
EnvironmentVariableMutator
Eine Art der Mutation und ihr Wert, die auf eine Umgebungsvariable angewendet werden soll.
Eigenschaften
options: EnvironmentVariableMutatorOptions
Auf den Mutator angewendete Optionen.
type: EnvironmentVariableMutatorType
Die Art der Mutation, die an der Variable vorgenommen wird.
Der zu verwendende Wert für die Variable.
EnvironmentVariableMutatorOptions
Auf den Mutator angewendete Optionen.
Eigenschaften
applyAtProcessCreation?: boolean
Wird direkt vor der Prozesserstellung auf die Umgebung angewendet. Standardmäßig false.
applyAtShellIntegration?: boolean
Wird auf die Umgebung im Shell-Integrationsskript angewendet. Beachten Sie, dass der Mutator *nicht* angewendet wird, wenn die Shell-Integration deaktiviert ist oder aus irgendeinem Grund nicht funktioniert. Standardmäßig false.
EnvironmentVariableMutatorType
Eine Art von Mutation, die auf eine Umgebungsvariable angewendet werden kann.
Enumerationselemente
Ersetzt den vorhandenen Wert der Variablen.
Hängt an das Ende des vorhandenen Werts der Variablen an.
Stellt dem Anfang des vorhandenen Werts der Variablen etwas voran.
EnvironmentVariableScope
Das Scope-Objekt, auf das die Umgebungsvariablen-Sammlung angewendet wird.
Eigenschaften
workspaceFolder?: WorkspaceFolder
Ein bestimmter Arbeitsbereichsordner, für den die Sammlung abgerufen werden soll.
EvaluatableExpression
Ein EvaluatableExpression repräsentiert einen Ausdruck in einem Dokument, der von einem aktiven Debugger oder Runtime ausgewertet werden kann. Das Ergebnis dieser Auswertung wird in einem Tooltip-ähnlichen Widget angezeigt. Wenn nur ein Bereich angegeben ist, wird der Ausdruck aus dem zugrunde liegenden Dokument extrahiert. Ein optionaler Ausdruck kann verwendet werden, um den extrahierten Ausdruck zu überschreiben. In diesem Fall wird der Bereich immer noch verwendet, um den Bereich im Dokument hervorzuheben.
Konstruktoren
new EvaluatableExpression(range: Range, expression?: string): EvaluatableExpression
Erstellt ein neues evaluierbares Ausdrucksobjekt.
| Parameter | Beschreibung |
|---|---|
| range: Range | Der Bereich im zugrunde liegenden Dokument, aus dem der evaluierbare Ausdruck extrahiert wird. |
| expression?: string | Wenn angegeben, überschreibt den extrahierten Ausdruck. |
| Gibt zurück | Beschreibung |
| EvaluatableExpression |
Eigenschaften
Wenn angegeben, überschreibt der Ausdruck den extrahierten Ausdruck.
range: Range
Der Bereich wird verwendet, um den evaluierbaren Ausdruck aus dem zugrunde liegenden Dokument zu extrahieren und hervorzuheben.
EvaluatableExpressionProvider
Die Schnittstelle EvaluatableExpressionProvider definiert den Vertrag zwischen Erweiterungen und dem Debug-Hover. In diesem Vertrag gibt der Anbieter einen auswertbaren Ausdruck für eine gegebene Position in einem Dokument zurück, und der Editor wertet diesen Ausdruck in der aktiven Debug-Sitzung aus und zeigt das Ergebnis in einem Debug-Hover an.
Methoden
provideEvaluatableExpression(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<EvaluatableExpression>
Stellen Sie einen auswertbaren Ausdruck für das angegebene Dokument und die Position bereit. Der Editor wertet diesen Ausdruck in der aktiven Debug-Sitzung aus und zeigt das Ergebnis im Debug-Hover an. Der Ausdruck kann implizit durch den Bereich im zugrunde liegenden Dokument angegeben oder durch die explizite Rückgabe eines Ausdrucks angegeben werden.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, für das der Debug-Hover angezeigt werden soll. |
| position: Position | Die Zeilen- und Zeichenposition im Dokument, an der der Debug-Hover angezeigt werden soll. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<EvaluatableExpression> | Ein EvaluatableExpression oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
Event<T>
Repräsentiert ein typisiertes Ereignis.
Eine Funktion, die ein Ereignis darstellt, dem Sie abonnieren können, indem Sie sie mit einer Listener-Funktion als Argument aufrufen.
Beispiel
item.onDidChange(function(event) {
console.log('Event happened: ' + event);
});
(listener: (e: T) => any, thisArgs?: any, disposables?: Disposable[]): Disposable
Eine Funktion, die ein Ereignis darstellt, dem Sie abonnieren können, indem Sie sie mit einer Listener-Funktion als Argument aufrufen.
| Parameter | Beschreibung |
|---|---|
| listener: (e: T) => any | Die Listener-Funktion wird aufgerufen, wenn das Ereignis eintritt. |
| thisArgs?: any | Das |
| disposables?: Disposable[] | Ein Array, zu dem ein Disposable hinzugefügt wird. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das den Ereignis-Listener abmeldet. |
EventEmitter<T>
Ein EventEmitter kann verwendet werden, um ein Event für andere zum Abonnieren zu erstellen und zu verwalten. Ein EventEmitter besitzt immer ein Ereignis.
Verwenden Sie diese Klasse, wenn Sie Ereignisse aus Ihrer Erweiterung bereitstellen möchten, z. B. innerhalb eines TextDocumentContentProvider oder wenn Sie API für andere Erweiterungen bereitstellen.
Konstruktoren
new EventEmitter<T>(): EventEmitter<T>
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| EventEmitter<T> |
Eigenschaften
event: Event<T>
Die Ereignis-Listener können sich abonnieren.
Methoden
Dieses Objekt freigeben und Ressourcen bereinigen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Alle Abonnenten des Ereignisses benachrichtigen. Ein Fehler eines oder mehrerer Listener führt nicht zum Fehlschlagen dieses Funktionsaufrufs.
| Parameter | Beschreibung |
|---|---|
| data: T | Das Ereignisobjekt. |
| Gibt zurück | Beschreibung |
| void |
Extension<T>
Stellt eine Erweiterung dar.
Um eine Instanz einer Extension zu erhalten, verwenden Sie getExtension.
Eigenschaften
Die öffentliche API, die von dieser Erweiterung exportiert wird (Rückgabewert von activate). Es ist eine ungültige Aktion, auf dieses Feld zuzugreifen, bevor diese Erweiterung aktiviert wurde.
extensionKind: ExtensionKind
Die Art der Erweiterung gibt an, ob eine Erweiterung dort ausgeführt wird, wo die Benutzeroberfläche ausgeführt wird, oder ob eine Erweiterung im Remote-Erweiterungshost ausgeführt wird. Die Art der Erweiterung wird in der Datei package.json von Erweiterungen definiert, kann aber auch über die Einstellung remote.extensionKind verfeinert werden. Wenn kein Remote-Erweiterungshost vorhanden ist, ist der Wert ExtensionKind.UI.
Der absolute Dateipfad des Verzeichnisses, das diese Erweiterung enthält. Kurzschreibweise für Extension.extensionUri.fsPath (unabhängig vom URI-Schema).
extensionUri: Uri
Die URI des Verzeichnisses, das die Erweiterung enthält.
Die kanonische Erweiterungs-ID im Format: publisher.name.
true, wenn die Erweiterung aktiviert wurde.
Der geparste Inhalt der package.json der Erweiterung.
Methoden
Aktiviert diese Erweiterung und gibt ihre öffentliche API zurück.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| Thenable<T> | Ein Promise, das aufgelöst wird, wenn diese Erweiterung aktiviert wurde. |
ExtensionContext
Ein Erweiterungskontext ist eine Sammlung von Dienstprogrammen, die für eine Erweiterung privat sind.
Eine Instanz von ExtensionContext wird als erster Parameter an den activate-Aufruf einer Erweiterung übergeben.
Eigenschaften
environmentVariableCollection: GlobalEnvironmentVariableCollection
Ruft die globale Sammlung von Umgebungsvariablen der Erweiterung für diesen Arbeitsbereich ab, wodurch Änderungen an den Umgebungsvariablen des Terminals angewendet werden können.
extension: Extension<any>
Die aktuelle Extension-Instanz.
extensionMode: ExtensionMode
Der Modus, in dem die Erweiterung ausgeführt wird. Siehe ExtensionMode für mögliche Werte und Szenarien.
Der absolute Dateipfad des Verzeichnisses, das die Erweiterung enthält. Kurzschreibweise für ExtensionContext.extensionUri.fsPath (unabhängig vom URI-Schema).
extensionUri: Uri
Die URI des Verzeichnisses, das die Erweiterung enthält.
globalState: Memento & {setKeysForSync}
Ein Memento-Objekt, das Zustände speichert, die unabhängig vom aktuell geöffneten Arbeitsbereich sind.
Ein absoluter Dateipfad, in dem die Erweiterung globale Zustände speichern kann. Das Verzeichnis existiert möglicherweise nicht auf der Festplatte und die Erstellung obliegt der Erweiterung. Das Elternverzeichnis ist jedoch garantiert vorhanden.
Verwenden Sie globalState, um Schlüssel-Wert-Daten zu speichern.
- veraltet – Verwenden Sie stattdessen globalStorageUri.
globalStorageUri: Uri
Die URI eines Verzeichnisses, in dem die Erweiterung globale Zustände speichern kann. Das Verzeichnis existiert möglicherweise nicht auf der Festplatte und die Erstellung obliegt der Erweiterung. Das Elternverzeichnis ist jedoch garantiert vorhanden.
Verwenden Sie globalState, um Schlüssel-Wert-Daten zu speichern.
Siehe auch workspace.fs für Informationen zum Lesen und Schreiben von Dateien und Ordnern aus einer URI.
languageModelAccessInformation: LanguageModelAccessInformation
Ein Objekt, das Informationen darüber enthält, wie diese Erweiterung Sprachmodelle verwenden kann.
Siehe auch LanguageModelChat.sendRequest
Ein absoluter Dateipfad eines Verzeichnisses, in dem die Erweiterung Protokolldateien erstellen kann. Das Verzeichnis existiert möglicherweise nicht auf der Festplatte und die Erstellung obliegt der Erweiterung. Das Elternverzeichnis ist jedoch garantiert vorhanden.
- veraltet – Verwenden Sie stattdessen logUri.
logUri: Uri
Die URI eines Verzeichnisses, in dem die Erweiterung Protokolldateien erstellen kann. Das Verzeichnis existiert möglicherweise nicht auf der Festplatte und die Erstellung obliegt der Erweiterung. Das Elternverzeichnis ist jedoch garantiert vorhanden.
Siehe auch workspace.fs für Informationen zum Lesen und Schreiben von Dateien und Ordnern aus einer URI.
secrets: SecretStorage
Ein Geheimnis-Speicherobjekt, das Zustände speichert, die unabhängig vom aktuell geöffneten Arbeitsbereich sind.
Ein absoluter Dateipfad eines arbeitsbereichsspezifischen Verzeichnisses, in dem die Erweiterung private Zustände speichern kann. Das Verzeichnis existiert möglicherweise nicht auf der Festplatte und die Erstellung obliegt der Erweiterung. Das Elternverzeichnis ist jedoch garantiert vorhanden.
Verwenden Sie workspaceState oder globalState, um Schlüssel-Wert-Daten zu speichern.
- veraltet – Verwenden Sie stattdessen storageUri.
storageUri: Uri
Die URI eines arbeitsbereichsspezifischen Verzeichnisses, in dem die Erweiterung private Zustände speichern kann. Das Verzeichnis existiert möglicherweise nicht und die Erstellung obliegt der Erweiterung. Das Elternverzeichnis ist jedoch garantiert vorhanden. Der Wert ist undefined, wenn kein Arbeitsbereich oder Ordner geöffnet wurde.
Verwenden Sie workspaceState oder globalState, um Schlüssel-Wert-Daten zu speichern.
Siehe auch workspace.fs für Informationen zum Lesen und Schreiben von Dateien und Ordnern aus einer URI.
subscriptions: Array<{dispose}>
Ein Array, dem Disposables hinzugefügt werden können. Wenn diese Erweiterung deaktiviert wird, werden die Disposables freigegeben.
Hinweis: Asynchrone Dispose-Funktionen werden nicht abgewartet.
workspaceState: Memento
Ein Memento-Objekt, das Zustände im Kontext des aktuell geöffneten Arbeitsbereichs speichert.
Methoden
asAbsolutePath(relativePath: string): string
Ermittelt den absoluten Pfad einer Ressource, die in der Erweiterung enthalten ist.
Hinweis: Ein absoluter URI kann über Uri.joinPath und extensionUri konstruiert werden, z. B. vscode.Uri.joinPath(context.extensionUri, relativePath);
| Parameter | Beschreibung |
|---|---|
| relativePath: string | Ein relativer Pfad zu einer Ressource, die in der Erweiterung enthalten ist. |
| Gibt zurück | Beschreibung |
| string | Der absolute Pfad der Ressource. |
ExtensionKind
In einem Remote-Fenster gibt die Art der Erweiterung an, ob eine Erweiterung dort ausgeführt wird, wo die Benutzeroberfläche (Fenster) ausgeführt wird, oder ob eine Erweiterung remote ausgeführt wird.
Enumerationselemente
Erweiterung wird dort ausgeführt, wo die Benutzeroberfläche ausgeführt wird.
Erweiterung wird dort ausgeführt, wo der Remote-Erweiterungshost ausgeführt wird.
ExtensionMode
Der ExtensionMode wird im ExtensionContext bereitgestellt und gibt den Modus an, in dem die jeweilige Erweiterung ausgeführt wird.
Enumerationselemente
Die Erweiterung ist normal installiert (z. B. vom Marketplace oder als VSIX) im Editor.
Die Erweiterung wird von einem --extensionDevelopmentPath aus ausgeführt, der beim Starten des Editors bereitgestellt wird.
Die Erweiterung wird von einem --extensionTestsPath aus ausgeführt und der Erweiterungshost führt Unit-Tests aus.
ExtensionTerminalOptions
Ein Wertobjekt, das beschreibt, welche Optionen ein virtuelles Prozess-Terminal verwenden soll.
Eigenschaften
color?: ThemeColor
Die ThemeColor für das Icon des Terminals. Die Standard-terminal.ansi*-Themenschlüssel werden für den besten Kontrast und die Konsistenz über verschiedene Themes hinweg empfohlen.
iconPath?: IconPath
Der Icon-Pfad oder das ThemeIcon für das Terminal.
Deaktivieren der Standard-Terminalpersistenz bei Neustart und Neuladen. Dies wirkt sich nur aus, wenn terminal.integrated.enablePersistentSessions aktiviert ist.
location?: TerminalEditorLocationOptions | TerminalSplitLocationOptions | TerminalLocation
Der TerminalLocation oder TerminalEditorLocationOptions oder TerminalSplitLocationOptions für das Terminal.
Ein für Menschen lesbarer String, der zur Darstellung des Terminals in der Benutzeroberfläche verwendet wird.
pty: Pseudoterminal
Eine Implementierung von Pseudoterminal, die es einer Erweiterung ermöglicht, ein Terminal zu steuern.
shellIntegrationNonce?: string
Die Nonce, die verwendet wird, um zu überprüfen, ob Shell-Integrationssequenzen aus einer vertrauenswürdigen Quelle stammen. Eine Beispielwirkung auf die Benutzeroberfläche ist, dass die Befehlszeile, wenn sie mit einer Nonce gemeldet wird, nicht mit dem Benutzer überprüfen muss, ob die Befehlszeile korrekt ist, bevor sie über die Shell-Integrationsbefehldekoration erneut ausgeführt wird.
Dies sollte verwendet werden, wenn das Terminal benutzerdefinierte Shell-Integrationsunterstützung enthält. Es sollte auf eine zufällige GUID gesetzt werden. Innerhalb der Pseudoterminal-Implementierung kann dieser Wert in den entsprechenden Sequenzen weitergegeben werden, um sie vertrauenswürdig zu machen.
FileChangeEvent
Das Ereignis, das Dateisystemanbieter verwenden müssen, um eine Dateänderung zu signalisieren.
Eigenschaften
type: FileChangeType
Die Art der Änderung.
uri: Uri
Die URI der Datei, die sich geändert hat.
FileChangeType
Aufzählung von Dateänderungstypen.
Enumerationselemente
Der Inhalt oder die Metadaten einer Datei haben sich geändert.
Eine Datei wurde erstellt.
Eine Datei wurde gelöscht.
FileCoverage
Enthält Abdeckungsmetadaten für eine Datei.
Statisch
fromDetails(uri: Uri, details: readonly FileCoverageDetail[]): FileCoverage
Erstellt eine FileCoverage-Instanz mit Zählungen, die aus den Abdeckungsdetails gefüllt sind.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Abgedeckte Datei-URI |
| details: readonly FileCoverageDetail[] | Detaillierte Abdeckungsinformationen |
| Gibt zurück | Beschreibung |
| FileCoverage |
Konstruktoren
new FileCoverage(uri: Uri, statementCoverage: TestCoverageCount, branchCoverage?: TestCoverageCount, declarationCoverage?: TestCoverageCount, includesTests?: TestItem[]): FileCoverage
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Abgedeckte Datei-URI |
| statementCoverage: TestCoverageCount | Anweisungsabdeckungsinformationen. Wenn der Reporter keine Anweisungsabdeckungsinformationen bereitstellt, kann dies stattdessen verwendet werden, um Zeilenabdeckung darzustellen. |
| branchCoverage?: TestCoverageCount | Zweigabdeckungsinformationen |
| declarationCoverage?: TestCoverageCount | Deklarationsabdeckungsinformationen |
| includesTests?: TestItem[] | In diesem Abdeckungsbericht enthaltene Testfälle, siehe FileCoverage.includesTests |
| Gibt zurück | Beschreibung |
| FileCoverage |
Eigenschaften
branchCoverage?: TestCoverageCount
Zweigabdeckungsinformationen.
declarationCoverage?: TestCoverageCount
Deklarationsabdeckungsinformationen. Je nach Reporter und Sprache können dies Typen wie Funktionen, Methoden oder Namespaces sein.
includesTests?: TestItem[]
Eine Liste von Testfällen, die Abdeckung in dieser Datei generiert haben. Wenn gesetzt, sollte TestRunProfile.loadDetailedCoverageForTest ebenfalls definiert sein, um detaillierte Abdeckungsinformationen abzurufen.
statementCoverage: TestCoverageCount
Anweisungsabdeckungsinformationen. Wenn der Reporter keine Anweisungsabdeckungsinformationen bereitstellt, kann dies stattdessen verwendet werden, um Zeilenabdeckung darzustellen.
uri: Uri
Datei-URI.
FileCoverageDetail
Abdeckungsdetails, die von TestRunProfile.loadDetailedCoverage zurückgegeben werden.
FileCoverageDetail: StatementCoverage | DeclarationCoverage
FileCreateEvent
Ein Ereignis, das ausgelöst wird, nachdem Dateien erstellt wurden.
Eigenschaften
files: readonly Uri[]
Die Dateien, die erstellt wurden.
FileDecoration
Eine Dateidekoration repräsentiert Metadaten, die mit einer Datei gerendert werden können.
Konstruktoren
new FileDecoration(badge?: string, tooltip?: string, color?: ThemeColor): FileDecoration
Erstellt eine neue Dekoration.
| Parameter | Beschreibung |
|---|---|
| badge?: string | Ein Buchstabe, der die Dekoration darstellt. |
| tooltip?: string | Der Tooltip der Dekoration. |
| color?: ThemeColor | Die Farbe der Dekoration. |
| Gibt zurück | Beschreibung |
| FileDecoration |
Eigenschaften
Ein sehr kurzer String, der diese Dekoration darstellt.
color?: ThemeColor
Die Farbe dieser Dekoration.
Eine Flagge, die besagt, dass diese Dekoration an ihre Eltern weitergegeben werden soll.
Ein für Menschen lesbarer Tooltip für diese Dekoration.
FileDecorationProvider
Die Schnittstelle FileDecorationProvider definiert den Vertrag zwischen Erweiterungen und Dateidekorationen.
Events
onDidChangeFileDecorations?: Event<Uri | Uri[]>
Ein optionales Ereignis, um zu signalisieren, dass sich Dekorationen für eine oder mehrere Dateien geändert haben.
Hinweis: Dieses Ereignis sollte verwendet werden, um Informationen über Nachkommen weiterzugeben.
Siehe auch EventEmitter
Methoden
provideFileDecoration(uri: Uri, token: CancellationToken): ProviderResult<FileDecoration>
Dekorationen für eine gegebene URI bereitstellen.
Hinweis: Diese Funktion wird nur aufgerufen, wenn eine Datei in der Benutzeroberfläche gerendert wird. Das bedeutet, dass eine Dekoration von einem Nachkommen, die nach oben weitergegeben wird, über das Ereignis onDidChangeFileDecorations an den Editor signalisiert werden muss.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die URI der Datei, für die eine Dekoration bereitgestellt werden soll. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<FileDecoration> | Eine Dekoration oder ein Thenable, das sich zu einer solchen auflöst. |
FileDeleteEvent
Ein Ereignis, das ausgelöst wird, nachdem Dateien gelöscht wurden.
Eigenschaften
files: readonly Uri[]
Die Dateien, die gelöscht wurden.
FilePermission
Berechtigungen einer Datei.
Enumerationselemente
Die Datei ist schreibgeschützt.
Hinweis: Alle FileStat von einem FileSystemProvider, der mit der Option isReadonly: true registriert ist, werden implizit so behandelt, als ob FilePermission.Readonly gesetzt wäre. Infolgedessen ist es nicht möglich, einen schreibgeschützten Dateisystemanbieter zu registrieren, bei dem einige FileStat nicht schreibgeschützt sind.
FileRenameEvent
Ein Ereignis, das ausgelöst wird, nachdem Dateien umbenannt wurden.
Eigenschaften
files: ReadonlyArray<{newUri: Uri, oldUri: Uri}>
Die Dateien, die umbenannt wurden.
FileStat
Der FileStat-Typ repräsentiert Metadaten einer Datei.
Eigenschaften
Der Erstellungs-Zeitstempel in Millisekunden seit dem 1. Januar 1970, 00:00:00 UTC.
Der Änderungs-Zeitstempel in Millisekunden seit dem 1. Januar 1970, 00:00:00 UTC.
Hinweis: Wenn sich die Datei geändert hat, ist es wichtig, ein aktualisiertes mtime anzugeben, das vom vorherigen Wert fortgeschritten ist. Andernfalls können Optimierungen vorhanden sein, die die aktualisierten Dateiinhalte beispielsweise nicht in einem Editor anzeigen.
permissions?: FilePermission
Die Berechtigungen der Datei, z. B. ob die Datei schreibgeschützt ist.
Hinweis: Dieser Wert kann eine Bitmaske sein, z. B. FilePermission.Readonly | FilePermission.Other.
Die Größe in Bytes.
Hinweis: Wenn sich die Datei geändert hat, ist es wichtig, eine aktualisierte size anzugeben. Andernfalls können Optimierungen vorhanden sein, die die aktualisierten Dateiinhalte beispielsweise nicht in einem Editor anzeigen.
type: FileType
Die Art der Datei, z. B. ob es sich um eine reguläre Datei, ein Verzeichnis oder einen symbolischen Link zu einer Datei handelt.
Hinweis: Dieser Wert kann eine Bitmaske sein, z. B. FileType.File | FileType.SymbolicLink.
FileSystem
Die Dateisystem-Schnittstelle stellt die integrierten und beitragenden Dateisystemanbieter des Editors bereit. Sie ermöglicht es Erweiterungen, mit Dateien von der lokalen Festplatte sowie von Remote-Speicherorten, wie dem Remote-Erweiterungshost oder FTP-Servern, zu arbeiten.
Hinweis: Eine Instanz dieser Schnittstelle ist als workspace.fs verfügbar.
Methoden
copy(source: Uri, target: Uri, options?: {overwrite: boolean}): Thenable<void>
Dateien oder Ordner kopieren.
createDirectory(uri: Uri): Thenable<void>
Ein neues Verzeichnis erstellen (Hinweis: Neue Dateien werden über write-Aufrufe erstellt).
Hinweis: Fehlende Verzeichnisse werden automatisch erstellt, d. h. dieser Aufruf hat mkdirp-Semantik.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die URI des neuen Ordners. |
| Gibt zurück | Beschreibung |
| Thenable<void> |
delete(uri: Uri, options?: {recursive: boolean, useTrash: boolean}): Thenable<void>
Eine Datei löschen.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die zu löschende Ressource. |
| options?: {recursive: boolean, useTrash: boolean} | Definiert, ob der Papierkorb verwendet werden soll und ob das Löschen von Ordnern rekursiv ist. |
| Gibt zurück | Beschreibung |
| Thenable<void> |
isWritableFileSystem(scheme: string): boolean
Prüfen, ob ein gegebenes Dateisystem das Schreiben von Dateien unterstützt.
Beachten Sie, dass nur weil ein Dateisystem das Schreiben unterstützt, dies nicht bedeutet, dass Schreibvorgänge immer erfolgreich sind. Es können Berechtigungsprobleme oder andere Fehler auftreten, die das Schreiben einer Datei verhindern.
| Parameter | Beschreibung |
|---|---|
| scheme: string | Das Schema des Dateisystems, z. B. |
| Gibt zurück | Beschreibung |
| boolean |
|
readDirectory(uri: Uri): Thenable<Array<[string, FileType]>>
Alle Einträge eines Verzeichnisses abrufen.
readFile(uri: Uri): Thenable<Uint8Array>
Den gesamten Inhalt einer Datei lesen.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die URI der Datei. |
| Gibt zurück | Beschreibung |
| Thenable<Uint8Array> | Ein Array von Bytes oder ein Thenable, das sich zu einem solchen auflöst. |
rename(source: Uri, target: Uri, options?: {overwrite: boolean}): Thenable<void>
Eine Datei oder ein Ordner umbenennen.
stat(uri: Uri): Thenable<FileStat>
Metadaten einer Datei abrufen.
writeFile(uri: Uri, content: Uint8Array): Thenable<void>
Daten in eine Datei schreiben und deren gesamten Inhalt ersetzen.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die URI der Datei. |
| content: Uint8Array | Der neue Inhalt der Datei. |
| Gibt zurück | Beschreibung |
| Thenable<void> |
FileSystemError
Ein Typ, den Dateisystemanbieter zur Signalisierung von Fehlern verwenden sollten.
Diese Klasse verfügt über Factory-Methoden für gängige Fehlerfälle, wie z. B. FileNotFound, wenn eine Datei oder ein Ordner nicht existiert. Verwenden Sie sie wie folgt: throw vscode.FileSystemError.FileNotFound(someUri);
Statisch
FileExists(messageOrUri?: string | Uri): FileSystemError
Erstellt einen Fehler, um zu signalisieren, dass eine Datei oder ein Ordner bereits existiert, z. B. beim Erstellen, aber nicht Überschreiben einer Datei.
| Parameter | Beschreibung |
|---|---|
| messageOrUri?: string | Uri | Nachricht oder URI. |
| Gibt zurück | Beschreibung |
| FileSystemError |
FileIsADirectory(messageOrUri?: string | Uri): FileSystemError
Erstellt einen Fehler, um zu signalisieren, dass eine Datei ein Ordner ist.
| Parameter | Beschreibung |
|---|---|
| messageOrUri?: string | Uri | Nachricht oder URI. |
| Gibt zurück | Beschreibung |
| FileSystemError |
FileNotADirectory(messageOrUri?: string | Uri): FileSystemError
Erstellt einen Fehler, um zu signalisieren, dass eine Datei kein Ordner ist.
| Parameter | Beschreibung |
|---|---|
| messageOrUri?: string | Uri | Nachricht oder URI. |
| Gibt zurück | Beschreibung |
| FileSystemError |
FileNotFound(messageOrUri?: string | Uri): FileSystemError
Erstellt einen Fehler, um zu signalisieren, dass eine Datei oder ein Ordner nicht gefunden wurde.
| Parameter | Beschreibung |
|---|---|
| messageOrUri?: string | Uri | Nachricht oder URI. |
| Gibt zurück | Beschreibung |
| FileSystemError |
NoPermissions(messageOrUri?: string | Uri): FileSystemError
Erstellt einen Fehler, um zu signalisieren, dass einer Operation die erforderlichen Berechtigungen fehlen.
| Parameter | Beschreibung |
|---|---|
| messageOrUri?: string | Uri | Nachricht oder URI. |
| Gibt zurück | Beschreibung |
| FileSystemError |
Unavailable(messageOrUri?: string | Uri): FileSystemError
Erstellt einen Fehler, um zu signalisieren, dass das Dateisystem nicht verfügbar oder zu beschäftigt ist, um eine Anfrage abzuschließen.
| Parameter | Beschreibung |
|---|---|
| messageOrUri?: string | Uri | Nachricht oder URI. |
| Gibt zurück | Beschreibung |
| FileSystemError |
Konstruktoren
new FileSystemError(messageOrUri?: string | Uri): FileSystemError
Erstellt einen neuen Dateisystemfehler.
| Parameter | Beschreibung |
|---|---|
| messageOrUri?: string | Uri | Nachricht oder URI. |
| Gibt zurück | Beschreibung |
| FileSystemError |
Eigenschaften
Ein Code, der diesen Fehler identifiziert.
Mögliche Werte sind Fehlernamen, wie FileNotFound, oder Unknown für nicht spezifizierte Fehler.
FileSystemProvider
Der Dateisystemanbieter definiert, was der Editor zum Lesen, Schreiben, Erkunden und Verwalten von Dateien und Ordnern benötigt. Er ermöglicht es Erweiterungen, Dateien von entfernten Orten wie FTP-Servern bereitzustellen und diese nahtlos in den Editor zu integrieren.
- Hinweis 1: Die Dateisystemanbieter-API arbeitet mit URIs und geht von hierarchischen Pfaden aus, z. B. ist
foo:/my/pathein Kind vonfoo:/my/und ein Elternteil vonfoo:/my/path/deeper. - Hinweis 2: Es gibt ein Aktivierungsereignis
onFileSystem:<scheme>, das ausgelöst wird, wenn auf eine Datei oder einen Ordner zugegriffen wird. - Hinweis 3: Das Wort "Datei" wird oft verwendet, um alle Arten von Dateien zu bezeichnen, z. B. Ordner, symbolische Links und reguläre Dateien.
Events
onDidChangeFile: Event<FileChangeEvent[]>
Ein Ereignis, das signalisiert, dass eine Ressource erstellt, geändert oder gelöscht wurde. Dieses Ereignis sollte für Ressourcen ausgelöst werden, die von Clients dieses Anbieters beobachtet werden.
Hinweis: Es ist wichtig, dass die Metadaten der geänderten Datei eine aktualisierte mtime bereitstellen, die sich vom vorherigen Wert im Stat unterscheidet, und einen korrekten size-Wert. Andernfalls können Optimierungen vorhanden sein, die die Änderung beispielsweise nicht in einem Editor anzeigen.
Methoden
copy(source: Uri, destination: Uri, options: {overwrite: boolean}): void | Thenable<void>
Dateien oder Ordner kopieren. Die Implementierung dieser Funktion ist optional, beschleunigt jedoch den Kopiervorgang.
- wirft - FileNotFound, wenn
sourcenicht existiert.
- wirft - FileNotFound, wenn das Elternteil von
destinationnicht existiert, z. B. keine mkdirp-Logik erforderlich.
- wirft - FileExists, wenn
destinationexistiert und die Optionoverwritenicht auftruegesetzt ist.
- wirft - NoPermissions, wenn die Berechtigungen nicht ausreichen.
createDirectory(uri: Uri): void | Thenable<void>
Ein neues Verzeichnis erstellen (Hinweis: Neue Dateien werden über write-Aufrufe erstellt).
- wirft - FileNotFound, wenn das Elternteil von
urinicht existiert, z. B. keine mkdirp-Logik erforderlich.
- wirft - FileExists, wenn
uribereits existiert.
- wirft - NoPermissions, wenn die Berechtigungen nicht ausreichen.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die URI des neuen Ordners. |
| Gibt zurück | Beschreibung |
| void | Thenable<void> |
delete(uri: Uri, options: {recursive: boolean}): void | Thenable<void>
Eine Datei löschen.
- wirft - FileNotFound, wenn
urinicht existiert.
- wirft - NoPermissions, wenn die Berechtigungen nicht ausreichen.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die zu löschende Ressource. |
| options: {recursive: boolean} | Definiert, ob das Löschen von Ordnern rekursiv erfolgt. |
| Gibt zurück | Beschreibung |
| void | Thenable<void> |
readDirectory(uri: Uri): Array<[string, FileType]> | Thenable<Array<[string, FileType]>>
Alle Einträge eines Verzeichnisses abrufen.
- wirft - FileNotFound, wenn
urinicht existiert.
readFile(uri: Uri): Uint8Array | Thenable<Uint8Array>
Den gesamten Inhalt einer Datei lesen.
- wirft - FileNotFound, wenn
urinicht existiert.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die URI der Datei. |
| Gibt zurück | Beschreibung |
| Uint8Array | Thenable<Uint8Array> | Ein Array von Bytes oder ein Thenable, das sich zu einem solchen auflöst. |
rename(oldUri: Uri, newUri: Uri, options: {overwrite: boolean}): void | Thenable<void>
Eine Datei oder ein Ordner umbenennen.
- wirft - FileNotFound, wenn
oldUrinicht existiert.
- wirft - FileNotFound, wenn das Elternteil von
newUrinicht existiert, z. B. keine mkdirp-Logik erforderlich.
- wirft - FileExists, wenn
newUriexistiert und die Optionoverwritenicht auftruegesetzt ist.
- wirft - NoPermissions, wenn die Berechtigungen nicht ausreichen.
stat(uri: Uri): FileStat | Thenable<FileStat>
Metadaten einer Datei abrufen.
Beachten Sie, dass die Metadaten für symbolische Links die Metadaten der Datei sein sollten, auf die sie verweisen. Dennoch muss der Typ FileType.SymbolicLink zusätzlich zum tatsächlichen Typ verwendet werden, z. B. FileType.SymbolicLink | FileType.Directory.
- wirft - FileNotFound, wenn
urinicht existiert.
watch(uri: Uri, options: {excludes: readonly string[], recursive: boolean}): Disposable
Abonniert Dateiende-Ereignisse in der Datei oder dem Ordner, der durch uri bezeichnet wird. Für Ordner gibt die Option recursive an, ob Unterordner, Unterunterordner usw. ebenfalls auf Dateiänderungen überwacht werden sollen. Mit recursive: false sollten nur Änderungen an den Dateien, die direkte Kinder des Ordners sind, ein Ereignis auslösen.
Das Array excludes wird verwendet, um Pfade anzugeben, die von der Dateibeobachtung ausgeschlossen werden sollen. Es wird typischerweise aus der Einstellung files.watcherExclude abgeleitet, die vom Benutzer konfigurierbar ist. Jeder Eintrag kann sein
- der absolute Pfad, der ausgeschlossen werden soll
- ein relativer Pfad, der ausgeschlossen werden soll (z. B.
build/output) - ein einfaches Glob-Muster (z. B.
**/build,output/**)
Es liegt in der Verantwortung des Dateisystemanbieters, onDidChangeFile für jede Änderung gemäß diesen Regeln aufzurufen. Für Dateien, die mit einem der angegebenen Ausschlüsse übereinstimmen, sollte kein Ereignis ausgelöst werden.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die URI der zu beobachtenden Datei oder des zu beobachtenden Ordners. |
| options: {excludes: readonly string[], recursive: boolean} | Konfiguriert die Beobachtung. |
| Gibt zurück | Beschreibung |
| Disposable | Ein Disposable, das dem Anbieter mitteilt, die Beobachtung der |
writeFile(uri: Uri, content: Uint8Array, options: {create: boolean, overwrite: boolean}): void | Thenable<void>
Daten in eine Datei schreiben und deren gesamten Inhalt ersetzen.
- wirft - FileNotFound, wenn
urinicht existiert undcreatenicht gesetzt ist.
- wirft - FileNotFound, wenn das Elternteil von
urinicht existiert undcreategesetzt ist, z. B. keine mkdirp-Logik erforderlich.
- wirft - FileExists, wenn
uribereits existiert,creategesetzt ist, aberoverwritenicht gesetzt ist.
- wirft - NoPermissions, wenn die Berechtigungen nicht ausreichen.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die URI der Datei. |
| content: Uint8Array | Der neue Inhalt der Datei. |
| options: {create: boolean, overwrite: boolean} | Definiert, ob fehlende Dateien erstellt werden sollen oder müssen. |
| Gibt zurück | Beschreibung |
| void | Thenable<void> |
FileSystemWatcher
Ein Dateisystem-Watcher benachrichtigt über Änderungen an Dateien und Ordnern auf der Festplatte oder von anderen FileSystemProviders.
Um eine Instanz eines FileSystemWatcher zu erhalten, verwenden Sie createFileSystemWatcher.
Events
Ein Ereignis, das bei Datei-/Ordneränderungen ausgelöst wird.
Ein Ereignis, das bei der Erstellung von Dateien/Ordnern ausgelöst wird.
Ein Ereignis, das bei der Löschung von Dateien/Ordnern ausgelöst wird.
Eigenschaften
True, wenn dieser Dateisystem-Watcher so erstellt wurde, dass er Änderungsereignisse des Dateisystems ignoriert.
True, wenn dieser Dateisystem-Watcher so erstellt wurde, dass er Erstellungsereignisse des Dateisystems ignoriert.
True, wenn dieser Dateisystem-Watcher so erstellt wurde, dass er Löschereignisse des Dateisystems ignoriert.
Methoden
Dieses Objekt entsorgen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| any |
FileType
Aufzählung der Dateitypen. Die Typen File und Directory können auch symbolische Links sein, in diesem Fall verwenden Sie FileType.File | FileType.SymbolicLink und FileType.Directory | FileType.SymbolicLink.
Enumerationselemente
Der Dateityp ist unbekannt.
Eine reguläre Datei.
Ein Verzeichnis.
Ein symbolischer Link zu einer Datei.
FileWillCreateEvent
Ein Ereignis, das ausgelöst wird, wenn Dateien erstellt werden sollen.
Um Änderungen am Arbeitsbereich vorzunehmen, bevor die Dateien erstellt werden, rufen Sie die Funktion waitUntil mit einem Thenable auf, der sich zu einem WorkspaceEdit auflöst.
Eigenschaften
files: readonly Uri[]
Die Dateien, die erstellt werden sollen.
token: CancellationToken
Ein Abbruch-Token.
Methoden
waitUntil(thenable: Thenable<WorkspaceEdit>): void
Ermöglicht das Anhalten des Ereignisses und das Anwenden eines WorkspaceEdit.
Hinweis: Diese Funktion kann nur während der Ereignisverteilung aufgerufen werden und nicht asynchron.
workspace.onWillCreateFiles(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| Parameter | Beschreibung |
|---|---|
| thenable: Thenable<WorkspaceEdit> | Ein Thenable, der das Speichern verzögert. |
| Gibt zurück | Beschreibung |
| void |
waitUntil(thenable: Thenable<any>): void
Ermöglicht das Anhalten des Ereignisses, bis der bereitgestellte Thenable aufgelöst wird.
Hinweis: Diese Funktion kann nur während der Ereignisverteilung aufgerufen werden.
| Parameter | Beschreibung |
|---|---|
| thenable: Thenable<any> | Ein Thenable, der das Speichern verzögert. |
| Gibt zurück | Beschreibung |
| void |
FileWillDeleteEvent
Ein Ereignis, das ausgelöst wird, wenn Dateien gelöscht werden sollen.
Um Änderungen am Arbeitsbereich vorzunehmen, bevor die Dateien gelöscht werden, rufen Sie die Funktion waitUntil mit einem Thenable auf, der sich zu einem WorkspaceEdit auflöst.
Eigenschaften
files: readonly Uri[]
Die Dateien, die gelöscht werden sollen.
token: CancellationToken
Ein Abbruch-Token.
Methoden
waitUntil(thenable: Thenable<WorkspaceEdit>): void
Ermöglicht das Anhalten des Ereignisses und das Anwenden eines WorkspaceEdit.
Hinweis: Diese Funktion kann nur während der Ereignisverteilung aufgerufen werden und nicht asynchron.
workspace.onWillCreateFiles(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| Parameter | Beschreibung |
|---|---|
| thenable: Thenable<WorkspaceEdit> | Ein Thenable, der das Speichern verzögert. |
| Gibt zurück | Beschreibung |
| void |
waitUntil(thenable: Thenable<any>): void
Ermöglicht das Anhalten des Ereignisses, bis der bereitgestellte Thenable aufgelöst wird.
Hinweis: Diese Funktion kann nur während der Ereignisverteilung aufgerufen werden.
| Parameter | Beschreibung |
|---|---|
| thenable: Thenable<any> | Ein Thenable, der das Speichern verzögert. |
| Gibt zurück | Beschreibung |
| void |
FileWillRenameEvent
Ein Ereignis, das ausgelöst wird, wenn Dateien umbenannt werden sollen.
Um Änderungen am Arbeitsbereich vorzunehmen, bevor die Dateien umbenannt werden, rufen Sie die Funktion waitUntil mit einem Thenable auf, der sich zu einem WorkspaceEdit auflöst.
Eigenschaften
files: ReadonlyArray<{newUri: Uri, oldUri: Uri}>
Die Dateien, die umbenannt werden sollen.
token: CancellationToken
Ein Abbruch-Token.
Methoden
waitUntil(thenable: Thenable<WorkspaceEdit>): void
Ermöglicht das Anhalten des Ereignisses und das Anwenden eines WorkspaceEdit.
Hinweis: Diese Funktion kann nur während der Ereignisverteilung aufgerufen werden und nicht asynchron.
workspace.onWillCreateFiles(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| Parameter | Beschreibung |
|---|---|
| thenable: Thenable<WorkspaceEdit> | Ein Thenable, der das Speichern verzögert. |
| Gibt zurück | Beschreibung |
| void |
waitUntil(thenable: Thenable<any>): void
Ermöglicht das Anhalten des Ereignisses, bis der bereitgestellte Thenable aufgelöst wird.
Hinweis: Diese Funktion kann nur während der Ereignisverteilung aufgerufen werden.
| Parameter | Beschreibung |
|---|---|
| thenable: Thenable<any> | Ein Thenable, der das Speichern verzögert. |
| Gibt zurück | Beschreibung |
| void |
FoldingContext
Faltkontext (für zukünftige Verwendung)
FoldingRange
Ein zeilenbasierter Faltbereich. Um gültig zu sein, müssen die Start- und Endzeile größer als null und kleiner als die Anzahl der Zeilen im Dokument sein. Ungültige Bereiche werden ignoriert.
Konstruktoren
new FoldingRange(start: number, end: number, kind?: FoldingRangeKind): FoldingRange
Erstellt einen neuen Faltbereich.
| Parameter | Beschreibung |
|---|---|
| start: number | Die Startzeile des gefalteten Bereichs. |
| end: number | Die Endzeile des gefalteten Bereichs. |
| kind?: FoldingRangeKind | Die Art des Faltbereichs. |
| Gibt zurück | Beschreibung |
| FoldingRange |
Eigenschaften
Die nullbasierte Endzeile des zu faltenden Bereichs. Der gefaltete Bereich endet mit dem letzten Zeichen der Zeile. Um gültig zu sein, muss das Ende null oder größer und kleiner als die Anzahl der Zeilen im Dokument sein.
kind?: FoldingRangeKind
Beschreibt die Art des Faltbereichs, z. B. Kommentar oder Region. Die Art wird verwendet, um Faltbereiche zu kategorisieren und wird von Befehlen wie "Alle Kommentare falten" verwendet. Siehe FoldingRangeKind für eine Aufzählung aller Arten. Wenn nicht festgelegt, stammt der Bereich von einem Syntaxelement.
Die nullbasierte Startzeile des zu faltenden Bereichs. Der gefaltete Bereich beginnt nach dem letzten Zeichen der Zeile. Um gültig zu sein, muss das Ende null oder größer und kleiner als die Anzahl der Zeilen im Dokument sein.
FoldingRangeKind
Eine Aufzählung spezifischer Faltbereichsarten. Die Art ist ein optionales Feld eines FoldingRange und wird verwendet, um spezifische Faltbereiche zu unterscheiden, wie z. B. aus Kommentaren stammende Bereiche. Die Art wird von Befehlen wie Alle Kommentare falten oder Alle Regionen falten verwendet. Wenn die Art auf dem Bereich nicht festgelegt ist, stammt der Bereich von einem anderen Syntaxelement als Kommentare, Importe oder Regionsmarkierungen.
Enumerationselemente
Art für Faltbereich, der einen Kommentar darstellt.
Art für Faltbereich, der einen Import darstellt.
Art für Faltbereich, der Regionen darstellt, die aus Faltmarkierungen wie #region und #endregion stammen.
FoldingRangeProvider
Die Faltbereichsanbieter-Schnittstelle definiert den Vertrag zwischen Erweiterungen und Folding im Editor.
Events
onDidChangeFoldingRanges?: Event<void>
Ein optionales Ereignis, das signalisiert, dass die Faltbereiche dieses Anbieters geändert wurden.
Methoden
provideFoldingRanges(document: TextDocument, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>
Gibt eine Liste von Faltbereichen zurück oder null und undefiniert, wenn der Anbieter nicht teilnehmen möchte oder abgebrochen wurde.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| context: FoldingContext | Zusätzliche Kontextinformationen (für zukünftige Verwendung) |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<FoldingRange[]> |
FormattingOptions
Wertobjekt, das beschreibt, welche Optionen beim Formatieren verwendet werden sollen.
Eigenschaften
Leerzeichen gegenüber Tabs bevorzugen.
Größe eines Tabs in Leerzeichen.
FunctionBreakpoint
Ein Breakpoint, der durch einen Funktionsnamen angegeben wird.
Konstruktoren
new FunctionBreakpoint(functionName: string, enabled?: boolean, condition?: string, hitCondition?: string, logMessage?: string): FunctionBreakpoint
Erstellt einen neuen Funktions-Breakpoint.
| Parameter | Beschreibung |
|---|---|
| functionName: string | |
| enabled?: boolean | |
| condition?: string | |
| hitCondition?: string | |
| logMessage?: string | |
| Gibt zurück | Beschreibung |
| FunctionBreakpoint |
Eigenschaften
Ein optionaler Ausdruck für bedingte Breakpoints.
Ist der Breakpoint aktiviert.
Der Name der Funktion, an die dieser Breakpoint angehängt ist.
Ein optionaler Ausdruck, der steuert, wie viele Treffer des Breakpoints ignoriert werden.
Die eindeutige ID des Breakpoints.
Eine optionale Nachricht, die protokolliert wird, wenn dieser Breakpoint erreicht wird. Eingebettete Ausdrücke in geschweiften Klammern werden vom Debug-Adapter interpoliert.
GlobalEnvironmentVariableCollection
Eine Sammlung von Mutationen, die eine Erweiterung auf eine Prozessumgebung anwenden kann. Gilt für alle Bereiche.
Eigenschaften
description: string | MarkdownString
Eine Beschreibung für die Umgebungsvariablen-Sammlung, die verwendet wird, um die Änderungen in der Benutzeroberfläche zu beschreiben.
Ob die Sammlung für den Arbeitsbereich gespeichert und auf das Terminal über Fensterneuladungen angewendet werden soll. Wenn wahr, ist die Sammlung sofort aktiv, wie beim Neuladen des Fensters. Zusätzlich gibt diese API die gespeicherte Version zurück, wenn sie existiert. Die Sammlung wird ungültig, wenn die Erweiterung deinstalliert wird oder wenn die Sammlung gelöscht wird. Standardmäßig true.
Methoden
append(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
Hängt einen Wert an eine Umgebungsvariable an.
Beachten Sie, dass eine Erweiterung nur eine einzige Änderung an einer Variablen vornehmen kann. Dies überschreibt daher alle vorherigen Aufrufe von replace, append oder prepend.
| Parameter | Beschreibung |
|---|---|
| variable: string | Die Variable, an die angehängt werden soll. |
| value: string | Der Wert, der an die Variable angehängt werden soll. |
| options?: EnvironmentVariableMutatorOptions | Optionen, die auf den Mutator angewendet werden. Wenn keine Optionen angegeben werden, wird standardmäßig |
| Gibt zurück | Beschreibung |
| void |
Löscht alle Mutatoren aus dieser Sammlung.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
delete(variable: string): void
Löscht den Mutator dieser Sammlung für eine Variable.
| Parameter | Beschreibung |
|---|---|
| variable: string | Die Variable, für die der Mutator gelöscht werden soll. |
| Gibt zurück | Beschreibung |
| void |
forEach(callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any, thisArg?: any): void
Iteriert über jeden Mutator in dieser Sammlung.
| Parameter | Beschreibung |
|---|---|
| callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any | Funktion, die für jeden Eintrag ausgeführt werden soll. |
| thisArg?: any | Der |
| Gibt zurück | Beschreibung |
| void |
get(variable: string): EnvironmentVariableMutator
Ruft den Mutator ab, den diese Sammlung auf eine Variable anwendet, falls vorhanden.
| Parameter | Beschreibung |
|---|---|
| variable: string | Die Variable, für die der Mutator abgerufen werden soll. |
| Gibt zurück | Beschreibung |
| EnvironmentVariableMutator |
getScoped(scope: EnvironmentVariableScope): EnvironmentVariableCollection
Ruft die Scope-spezifische Umgebungsvariablensammlung für die Erweiterung ab. Dies ermöglicht die Änderung von Terminal-Umgebungsvariablen nur innerhalb des angegebenen Scopes und wird zusätzlich zur globalen Sammlung (und nach dieser) angewendet.
Jedes durch diese Methode erhaltene Objekt ist isoliert und beeinflusst keine Objekte für andere Scopes, einschließlich der globalen Sammlung.
| Parameter | Beschreibung |
|---|---|
| scope: EnvironmentVariableScope | Der Scope, für den die Umgebungsvariablensammlung gilt. Wenn ein Scope-Parameter weggelassen wird, wird die Sammlung zurückgegeben, die für alle relevanten Scopes für diesen Parameter gilt. Wenn beispielsweise der Parameter 'workspaceFolder' nicht angegeben ist, wird die Sammlung zurückgegeben, die für alle Arbeitsbereichsordner gilt. |
| Gibt zurück | Beschreibung |
| EnvironmentVariableCollection | Umgebungsvariablensammlung für den übergebenen Scope. |
prepend(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
Stellt einen Wert voran eine Umgebungsvariable.
Beachten Sie, dass eine Erweiterung nur eine einzige Änderung an einer Variablen vornehmen kann. Dies überschreibt daher alle vorherigen Aufrufe von replace, append oder prepend.
| Parameter | Beschreibung |
|---|---|
| variable: string | Die Variable, der etwas vorangestellt werden soll. |
| value: string | Der Wert, der der Variablen vorangestellt werden soll. |
| options?: EnvironmentVariableMutatorOptions | Optionen, die auf den Mutator angewendet werden. Wenn keine Optionen angegeben werden, wird standardmäßig |
| Gibt zurück | Beschreibung |
| void |
replace(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
Ersetzt eine Umgebungsvariable durch einen Wert.
Beachten Sie, dass eine Erweiterung nur eine einzige Änderung an einer Variablen vornehmen kann. Dies überschreibt daher alle vorherigen Aufrufe von replace, append oder prepend.
| Parameter | Beschreibung |
|---|---|
| variable: string | Die zu ersetzende Variable. |
| value: string | Der Wert, durch den die Variable ersetzt werden soll. |
| options?: EnvironmentVariableMutatorOptions | Optionen, die auf den Mutator angewendet werden. Wenn keine Optionen angegeben werden, wird standardmäßig |
| Gibt zurück | Beschreibung |
| void |
GlobPattern
Ein Glob-Muster für Dateien, um Dateipfade abzugleichen. Dies kann entweder ein Glob-Musterstring (wie **/*.{ts,js} oder *.{ts,js}) oder ein relatives Muster sein.
Glob-Muster können die folgende Syntax haben:
*um null oder mehr Zeichen in einem Pfadsegment abzugleichen?um ein einzelnes Zeichen in einem Pfadsegment abzugleichen**um eine beliebige Anzahl von Pfadsegmenten abzugleichen, auch null{}um Bedingungen zu gruppieren (z. B.**/*.{ts,js}gleicht alle TypeScript- und JavaScript-Dateien ab)[]um einen Bereich von Zeichen anzugeben, die in einem Pfadsegment abgeglichen werden sollen (z. B.example.[0-9]zum Abgleich vonexample.0,example.1, …)[!...]um einen Bereich von Zeichen in einem Pfadsegment zu negieren (z. B.example.[!0-9]zum Abgleich vonexample.a,example.b, aber nichtexample.0)
Hinweis: Ein Backslash (``) ist in einem Glob-Muster nicht gültig. Wenn Sie einen vorhandenen Dateipfad abgleichen müssen, sollten Sie die Unterstützung für relative Muster verwenden, die die Konvertierung von Backslashes in Schrägstriche übernimmt. Andernfalls stellen Sie sicher, dass Sie alle Backslashes in Schrägstriche konvertieren, wenn Sie das Glob-Muster erstellen.
GlobPattern: string | RelativePattern
Hover
Ein Hover stellt zusätzliche Informationen für ein Symbol oder Wort dar. Hoves werden in einem Tooltip-ähnlichen Widget gerendert.
Konstruktoren
new Hover(contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString>, range?: Range): Hover
Erstellt ein neues Hover-Objekt.
| Parameter | Beschreibung |
|---|---|
| contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString> | Der Inhalt des Hoves. |
| range?: Range | Der Bereich, für den der Hover gilt. |
| Gibt zurück | Beschreibung |
| Hover |
Eigenschaften
contents: Array<MarkdownString | MarkedString>
Der Inhalt dieses Hoves.
range?: Range
Der Bereich, für den dieser Hover gilt. Wenn er fehlt, verwendet der Editor den Bereich an der aktuellen Position oder die aktuelle Position selbst.
HoverProvider
Die HoverProvider-Schnittstelle definiert den Vertrag zwischen Erweiterungen und dem Hover-Feature.
Methoden
provideHover(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Hover>
Stellt einen Hover für die angegebene Position und das angegebene Dokument bereit. Mehrere Hoves an derselben Position werden vom Editor zusammengeführt. Ein Hover kann einen Bereich haben, der standardmäßig auf den Wortbereich an der Position gesetzt wird, wenn er weggelassen wird.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| position: Position | Die Position, an der der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<Hover> | Ein Hover oder ein Thenable, der zu einem solchen aufgelöst wird. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
IconPath
Stellt ein Symbol in der Benutzeroberfläche dar. Dies ist entweder eine URI, separate URIs für Licht- und Dunkelthemen oder ein Themensymbol.
IconPath: Uri | {dark: Uri, light: Uri} | ThemeIcon
ImplementationProvider
Die Schnittstelle ImplementationProvider definiert den Vertrag zwischen Erweiterungen und dem Feature "Gehe zu Implementierung".
Methoden
provideImplementation(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>
Stellt die Implementierungen des Symbols an der angegebenen Position und im angegebenen Dokument bereit.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| position: Position | Die Position, an der der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<Definition | LocationLink[]> | Eine Definition oder ein Thenable, das sich zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
IndentAction
Beschreibt, was beim Drücken von Enter mit der Einrückung geschehen soll.
Enumerationselemente
Fügt eine neue Zeile ein und kopiert die Einrückung der vorherigen Zeile.
Fügt eine neue Zeile ein und rückt sie einmal ein (relativ zur Einrückung der vorherigen Zeile).
Fügt zwei neue Zeilen ein
- die erste eingerückt, die den Cursor halten wird
- die zweite auf der gleichen Einrückungsebene
Fügt eine neue Zeile ein und rückt sie einmal aus (relativ zur Einrückung der vorherigen Zeile).
IndentationRule
Beschreibt Einrückungsregeln für eine Sprache.
Eigenschaften
Wenn eine Zeile diesem Muster entspricht, sollten alle folgenden Zeilen einmal ausgerückt werden (bis eine andere Regel zutrifft).
Wenn eine Zeile diesem Muster entspricht, sollten alle folgenden Zeilen einmal eingerückt werden (bis eine andere Regel zutrifft).
indentNextLinePattern?: RegExp
Wenn eine Zeile diesem Muster entspricht, sollte **nur die nächste Zeile** danach einmal eingerückt werden.
unIndentedLinePattern?: RegExp
Wenn eine Zeile diesem Muster entspricht, sollte ihre Einrückung nicht geändert werden und sie sollte nicht anhand der anderen Regeln ausgewertet werden.
InlayHint
Hinweisinformationen für Inlay-Elemente.
Konstruktoren
new InlayHint(position: Position, label: string | InlayHintLabelPart[], kind?: InlayHintKind): InlayHint
Erstellt einen neuen Inlay-Hinweis.
| Parameter | Beschreibung |
|---|---|
| position: Position | Die Position des Hinweises. |
| label: string | InlayHintLabelPart[] | Die Beschriftung des Hinweises. |
| kind?: InlayHintKind | Die Art des Hinweises. |
| Gibt zurück | Beschreibung |
| InlayHint |
Eigenschaften
kind?: InlayHintKind
Die Art dieses Hinweises. Die Inlay-Hinweisart bestimmt die Darstellung dieses Inlay-Hinweises.
label: string | InlayHintLabelPart[]
Die Beschriftung dieses Hinweises. Ein menschenlesbarer String oder ein Array von Beschriftungsteilen.
Hinweis, dass weder der String noch der Beschriftungsteil leer sein dürfen.
Füllt den Bereich vor dem Hinweis mit Polsterung auf. Die Polsterung verwendet die Hintergrundfarbe des Editors, nicht die Hintergrundfarbe des Hinweises selbst. Das bedeutet, dass Polsterung verwendet werden kann, um einen Inlay-Hinweis visuell auszurichten/zu trennen.
Füllt den Bereich nach dem Hinweis mit Polsterung auf. Die Polsterung verwendet die Hintergrundfarbe des Editors, nicht die Hintergrundfarbe des Hinweises selbst. Das bedeutet, dass Polsterung verwendet werden kann, um einen Inlay-Hinweis visuell auszurichten/zu trennen.
position: Position
Die Position dieses Hinweises.
textEdits?: TextEdit[]
Optionale Textänderungen, die beim Akzeptieren dieses Inlay-Hinweises vorgenommen werden. Die Standardaktion zum Akzeptieren eines Inlay-Hinweises ist der Doppelklick.
Hinweis, dass Änderungen erwartet werden, die das Dokument so verändern, dass der Inlay-Hinweis (oder seine nächste Variante) nun Teil des Dokuments ist und der Inlay-Hinweis selbst veraltet ist.
Hinweis, dass diese Eigenschaft spät während der Auflösung von Inlay-Hinweisen gesetzt werden kann.
tooltip?: string | MarkdownString
Der Tooltip-Text, wenn Sie mit der Maus über dieses Element fahren.
Hinweis, dass diese Eigenschaft spät während der Auflösung von Inlay-Hinweisen gesetzt werden kann.
InlayHintKind
Arten von Inlay-Hinweisen.
Die Art eines Inline-Hinweises bestimmt seine Darstellung, z. B. die entsprechenden Vordergrund- und Hintergrundfarben, die verwendet werden.
Enumerationselemente
Ein Inlay-Hinweis für eine Typannotation.
Ein Inlay-Hinweis für einen Parameter.
InlayHintLabelPart
Ein Inlay-Hinweis-Beschriftungsteil ermöglicht interaktive und zusammengesetzte Beschriftungen von Inlay-Hinweisen.
Konstruktoren
new InlayHintLabelPart(value: string): InlayHintLabelPart
Erstellt einen neuen Inlay-Hinweis-Beschriftungsteil.
| Parameter | Beschreibung |
|---|---|
| value: string | Der Wert des Teils. |
| Gibt zurück | Beschreibung |
| InlayHintLabelPart |
Eigenschaften
command?: Command
Ein optionaler Befehl für diesen Beschriftungsteil.
Der Editor rendert Teile mit Befehlen als klickbare Links. Der Befehl wird dem Kontextmenü hinzugefügt, wenn ein Beschriftungsteil location und command definiert.
Hinweis, dass diese Eigenschaft spät während der Auflösung von Inlay-Hinweisen gesetzt werden kann.
location?: Location
Ein optionaler Quellcode-Speicherort, der diesen Beschriftungsteil repräsentiert.
Der Editor verwendet diesen Speicherort für Hover- und Code-Navigationsfunktionen: Dieser Teil wird zu einem klickbaren Link, der zur Definition des Symbols am angegebenen Speicherort aufgelöst wird (nicht unbedingt der Speicherort selbst), er zeigt den Hover an, der an diesem Speicherort angezeigt wird, und er zeigt ein Kontextmenü mit weiteren Code-Navigationsbefehlen an.
Hinweis, dass diese Eigenschaft spät während der Auflösung von Inlay-Hinweisen gesetzt werden kann.
tooltip?: string | MarkdownString
Der Tooltip-Text, wenn Sie mit der Maus über diesen Beschriftungsteil fahren.
Hinweis, dass diese Eigenschaft spät während der Auflösung von Inlay-Hinweisen gesetzt werden kann.
Der Wert dieses Beschriftungsteils.
InlayHintsProvider<T>
Die InlayHintsProvider-Schnittstelle definiert den Vertrag zwischen Erweiterungen und dem Inlay-Hints-Feature.
Events
onDidChangeInlayHints?: Event<void>
Ein optionales Ereignis, das signalisiert, dass Inlay-Hinweise von diesem Anbieter geändert wurden.
Methoden
provideInlayHints(document: TextDocument, range: Range, token: CancellationToken): ProviderResult<T[]>
Stellt Inlay-Hinweise für den angegebenen Bereich und das angegebene Dokument bereit.
Hinweis, dass Inlay-Hinweise, die nicht von dem angegebenen Bereich umfasst werden, ignoriert werden.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| range: Range | Der Bereich, für den Inlay-Hinweise berechnet werden sollen. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T[]> | Ein Array von Inlay-Hinweisen oder ein Thenable, das zu einem solchen aufgelöst wird. |
resolveInlayHint(hint: T, token: CancellationToken): ProviderResult<T>
Füllt den Tooltip, die Textänderungen oder vervollständigt die Beschriftungsteile (LabelParts) für einen gegebenen Inlay-Hinweis.
Hinweis, dass der Editor einen Inlay-Hinweis höchstens einmal auflöst.
| Parameter | Beschreibung |
|---|---|
| hint: T | Ein Inlay-Hinweis. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T> | Der aufgelöste Inlay-Hinweis oder ein Thenable, der zu einem solchen aufgelöst wird. Es ist in Ordnung, das gegebene |
InlineCompletionContext
Stellt Informationen über den Kontext bereit, in dem eine Inline-Vervollständigung angefordert wurde.
Eigenschaften
selectedCompletionInfo: SelectedCompletionInfo
Stellt Informationen über das aktuell ausgewählte Element im Autovervollständigungsfenster bereit, wenn es sichtbar ist.
Wenn dies gesetzt ist, müssen die bereitgestellten Inline-Vervollständigungen den Text des ausgewählten Elements erweitern und denselben Bereich verwenden, andernfalls werden sie nicht als Vorschau angezeigt. Wenn der Dokumenttext beispielsweise console. ist und das ausgewählte Element .log ist, das den . im Dokument ersetzt, muss die Inline-Vervollständigung ebenfalls . ersetzen und mit .log beginnen, z. B. .log().
Inline-Vervollständigungsanbieter werden erneut angefordert, wenn sich das ausgewählte Element ändert.
triggerKind: InlineCompletionTriggerKind
Beschreibt, wie die Inline-Vervollständigung ausgelöst wurde.
InlineCompletionItem
Ein Inline-Vervollständigungselement stellt eine Text-Snippet dar, das inline vorgeschlagen wird, um den zu tippenden Text zu vervollständigen.
Siehe auch InlineCompletionItemProvider.provideInlineCompletionItems
Konstruktoren
new InlineCompletionItem(insertText: string | SnippetString, range?: Range, command?: Command): InlineCompletionItem
Erstellt ein neues Inline-Vervollständigungselement.
| Parameter | Beschreibung |
|---|---|
| insertText: string | SnippetString | Der Text, durch den der Bereich ersetzt werden soll. |
| range?: Range | Der zu ersetzende Bereich. Wenn nicht angegeben, wird das Wort an der angeforderten Position verwendet. |
| command?: Command | Ein optionaler Befehl, der ausgeführt wird, *nachdem* diese Vervollständigung eingefügt wurde. |
| Gibt zurück | Beschreibung |
| InlineCompletionItem |
Eigenschaften
command?: Command
Ein optionaler Befehl, der ausgeführt wird, *nachdem* diese Vervollständigung eingefügt wurde.
Ein Text, der verwendet wird, um zu entscheiden, ob diese Inline-Vervollständigung angezeigt werden soll. Wenn er falsy ist, wird der InlineCompletionItem.insertText verwendet.
Eine Inline-Vervollständigung wird angezeigt, wenn der zu ersetzende Text ein Präfix des Filtertextes ist.
insertText: string | SnippetString
Der Text, durch den der Bereich ersetzt werden soll. Muss gesetzt sein. Wird sowohl für die Vorschau als auch für den Akzeptierungsvorgang verwendet.
range?: Range
Der zu ersetzende Bereich. Muss auf derselben Zeile beginnen und enden.
Bevorzugen Sie Ersetzungen gegenüber Einfügungen, um eine bessere Benutzererfahrung zu erzielen, wenn der Benutzer getippten Text löscht.
InlineCompletionItemProvider
Die Schnittstelle InlineCompletionItemProvider definiert den Vertrag zwischen Erweiterungen und dem Inline-Vervollständigungs-Feature.
Anbieter werden entweder explizit durch eine Benutzeraktion oder implizit beim Tippen nach Vervollständigungen gefragt.
Methoden
provideInlineCompletionItems(document: TextDocument, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<InlineCompletionList | InlineCompletionItem[]>
Stellt Inline-Vervollständigungselemente für die angegebene Position und das angegebene Dokument bereit. Wenn Inline-Vervollständigungen aktiviert sind, wird diese Methode aufgerufen, wenn der Benutzer mit dem Tippen aufhört. Sie wird auch aufgerufen, wenn der Benutzer Inline-Vervollständigungen explizit auslöst oder explizit nach der nächsten oder vorherigen Inline-Vervollständigung fragt. In diesem Fall sollten alle verfügbaren Inline-Vervollständigungen zurückgegeben werden. context.triggerKind kann verwendet werden, um zwischen diesen Szenarien zu unterscheiden.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, für das Inline-Vervollständigungen angefordert werden. |
| position: Position | Die Position, für die Inline-Vervollständigungen angefordert werden. |
| context: InlineCompletionContext | Ein Kontextobjekt mit zusätzlichen Informationen. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<InlineCompletionList | InlineCompletionItem[]> | Ein Array von Vervollständigungselementen oder ein Thenable, das zu einem Array von Vervollständigungselementen aufgelöst wird. |
InlineCompletionList
Stellt eine Sammlung von Inline-Vervollständigungselementen dar, die im Editor angezeigt werden sollen.
Konstruktoren
new InlineCompletionList(items: InlineCompletionItem[]): InlineCompletionList
Erstellt eine neue Liste von Inline-Vervollständigungselementen.
| Parameter | Beschreibung |
|---|---|
| items: InlineCompletionItem[] | |
| Gibt zurück | Beschreibung |
| InlineCompletionList |
Eigenschaften
items: InlineCompletionItem[]
Die Inline-Vervollständigungselemente.
InlineCompletionTriggerKind
Beschreibt, wie ein Inline-Vervollständigungsanbieter ausgelöst wurde.
Enumerationselemente
Die Vervollständigung wurde explizit durch eine Benutzeraktion ausgelöst. Geben Sie mehrere Vervollständigungselemente zurück, um das Durchschalten zu ermöglichen.
Die Vervollständigung wurde automatisch während der Bearbeitung ausgelöst. Es reicht aus, in diesem Fall ein einzelnes Vervollständigungselement zurückzugeben.
InlineValue
Inline-Wertinformationen können auf verschiedene Weise bereitgestellt werden:
- direkt als Textwert (Klasse InlineValueText).
- als Name für eine Variablensuche (Klasse InlineValueVariableLookup)
- als auswertbarer Ausdruck (Klasse InlineValueEvaluatableExpression) Die InlineValue-Typen kombinieren alle Inline-Werttypen zu einem Typ.
InlineValue: InlineValueText | InlineValueVariableLookup | InlineValueEvaluatableExpression
InlineValueContext
Ein Wertobjekt, das kontextbezogene Informationen enthält, wenn Inline-Werte von einem InlineValuesProvider angefordert werden.
Eigenschaften
Der Stack-Frame (als DAP-ID), an dem die Ausführung gestoppt wurde.
stoppedLocation: Range
Der Dokumentbereich, in dem die Ausführung gestoppt wurde. Typischerweise bezeichnet die Endposition des Bereichs die Zeile, in der die Inline-Werte angezeigt werden.
InlineValueEvaluatableExpression
Stellt einen Inline-Wert über die Auswertung eines Ausdrucks bereit. Wenn nur ein Bereich angegeben wird, wird der Ausdruck aus dem zugrunde liegenden Dokument extrahiert. Ein optionaler Ausdruck kann verwendet werden, um den extrahierten Ausdruck zu überschreiben.
Konstruktoren
new InlineValueEvaluatableExpression(range: Range, expression?: string): InlineValueEvaluatableExpression
Erstellt ein neues InlineValueEvaluatableExpression-Objekt.
| Parameter | Beschreibung |
|---|---|
| range: Range | Der Bereich im zugrunde liegenden Dokument, aus dem der evaluierbare Ausdruck extrahiert wird. |
| expression?: string | Wenn angegeben, überschreibt den extrahierten Ausdruck. |
| Gibt zurück | Beschreibung |
| InlineValueEvaluatableExpression |
Eigenschaften
Wenn angegeben, überschreibt der Ausdruck den extrahierten Ausdruck.
range: Range
Der Dokumentbereich, für den der Inline-Wert gilt. Der Bereich wird verwendet, um den auswertbaren Ausdruck aus dem zugrunde liegenden Dokument zu extrahieren.
InlineValuesProvider
Die InlineValuesProvider-Schnittstelle definiert den Vertrag zwischen Erweiterungen und dem Inline-Werte-Feature des Debuggers des Editors. In diesem Vertrag gibt der Anbieter Inline-Wertinformationen für einen gegebenen Dokumentbereich zurück und der Editor zeigt diese Informationen im Editor am Ende von Zeilen an.
Events
onDidChangeInlineValues?: Event<void>
Ein optionales Ereignis, das signalisiert, dass Inline-Werte geändert wurden.
Siehe auch EventEmitter
Methoden
provideInlineValues(document: TextDocument, viewPort: Range, context: InlineValueContext, token: CancellationToken): ProviderResult<InlineValue[]>
Stellt "Inline-Wert"-Informationen für ein gegebenes Dokument und einen Bereich bereit. Der Editor ruft diese Methode auf, wenn das Debugging im gegebenen Dokument stoppt. Die zurückgegebenen Inline-Wertinformationen werden im Editor am Ende von Zeilen gerendert.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, für das die Inline-Wertinformationen benötigt werden. |
| viewPort: Range | Der sichtbare Dokumentbereich, für den Inline-Werte berechnet werden sollen. |
| context: InlineValueContext | Ein Behälter, der kontextbezogene Informationen wie den aktuellen Speicherort enthält. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<InlineValue[]> | Ein Array von InlineValueDescriptors oder ein Thenable, das zu einem solchen aufgelöst wird. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
InlineValueText
Stellt einen Inline-Wert als Text bereit.
Konstruktoren
new InlineValueText(range: Range, text: string): InlineValueText
Erstellt ein neues InlineValueText-Objekt.
| Parameter | Beschreibung |
|---|---|
| range: Range | Die Dokumentzeile, in der der Inline-Wert angezeigt werden soll. |
| text: string | Der anzuzeigende Wert für die Zeile. |
| Gibt zurück | Beschreibung |
| InlineValueText |
Eigenschaften
range: Range
Der Dokumentbereich, für den der Inline-Wert gilt.
Der Text des Inline-Werts.
InlineValueVariableLookup
Stellt Inline-Werte über eine Variablensuche bereit. Wenn nur ein Bereich angegeben ist, wird der Variablenname aus dem zugrunde liegenden Dokument extrahiert. Ein optionaler Variablenname kann verwendet werden, um den extrahierten Namen zu überschreiben.
Konstruktoren
new InlineValueVariableLookup(range: Range, variableName?: string, caseSensitiveLookup?: boolean): InlineValueVariableLookup
Erstellt ein neues InlineValueVariableLookup-Objekt.
| Parameter | Beschreibung |
|---|---|
| range: Range | Die Dokumentzeile, in der der Inline-Wert angezeigt werden soll. |
| variableName?: string | Der Name der zu suchenden Variablen. |
| caseSensitiveLookup?: boolean | Wie die Suche durchgeführt werden soll. Wenn nicht angegeben, ist die Suche Groß-/Kleinschreibung beachtend. |
| Gibt zurück | Beschreibung |
| InlineValueVariableLookup |
Eigenschaften
Wie die Suche durchgeführt werden soll.
range: Range
Der Dokumentbereich, für den der Inline-Wert gilt. Der Bereich wird verwendet, um den Variablennamen aus dem zugrunde liegenden Dokument zu extrahieren.
Falls angegeben, der Name der zu suchenden Variablen.
InputBox
Ein konkreter QuickInput, der dem Benutzer die Eingabe eines Textwerts ermöglicht.
Beachten Sie, dass in vielen Fällen die bequemere Methode window.showInputBox einfacher zu verwenden ist. window.createInputBox sollte verwendet werden, wenn window.showInputBox nicht die erforderliche Flexibilität bietet.
Events
onDidAccept: Event<void>
Ein Ereignis, das signalisiert, wenn der Benutzer die Eingabe akzeptiert hat.
onDidChangeValue: Event<string>
Ein Ereignis, das signalisiert, wenn sich der Wert geändert hat.
onDidHide: Event<void>
Ein Ereignis, das signalisiert, wenn diese Eingabe-UI ausgeblendet wird.
Es gibt mehrere Gründe, warum diese UI ausgeblendet werden muss und die Erweiterung wird über onDidHide benachrichtigt. Beispiele hierfür sind: ein expliziter Aufruf von hide, der Benutzer drückt Esc, eine andere Eingabe-UI wird geöffnet usw.
onDidTriggerButton: Event<QuickInputButton>
Ein Ereignis, das signalisiert, wenn ein Button ausgelöst wurde.
Eigenschaften
Legt fest, ob die Benutzeroberfläche eine Fortschrittsanzeige anzeigen soll. Standardwert ist false.
Ändern Sie dies auf true, zum Beispiel während des Ladens weiterer Daten oder der Validierung von Benutzereingaben.
buttons: readonly QuickInputButton[]
Buttons für Aktionen in der Benutzeroberfläche.
Legt fest, ob die Benutzeroberfläche Benutzereingaben zulassen soll. Standardwert ist true.
Ändern Sie dies auf false, zum Beispiel während der Validierung von Benutzereingaben oder dem Laden von Daten für den nächsten Schritt der Benutzereingabe.
Legt fest, ob die Benutzeroberfläche geöffnet bleiben soll, auch wenn der Fokus auf einen anderen Teil des Editors oder ein anderes Fenster wechselt. Standardwert ist false. Diese Einstellung wird auf dem iPad ignoriert und ist immer false.
Legt fest, ob der eingegebene Wert verborgen werden soll. Standardwert ist false.
Optionaler Platzhaltertext, der angezeigt wird, wenn noch kein Wert eingegeben wurde.
Ein optionaler Aufforderungstext, der dem Benutzer eine Anfrage oder Erklärung liefert.
Eine optionale aktuelle Schrittanzahl für mehrstufige Eingabeflüsse.
Ein optionaler Titel für die Eingabe-UI.
Eine optionale Gesamtzahl von Schritten für mehrstufige Eingabeflüsse.
validationMessage: string | InputBoxValidationMessage
Eine optionale Validierungsnachricht, die ein Problem mit dem aktuellen Eingabewert anzeigt.
Durch Setzen eines Strings verwendet die InputBox eine Standard InputBoxValidationSeverity von Error. Das Zurückgeben von undefined löscht die Validierungsnachricht.
Der aktuelle Eingabewert.
valueSelection: readonly [number, number]
Auswahlbereich des Eingabewerts.
Definiert als Tupel aus zwei Zahlen, wobei die erste der inklusive Startindex und die zweite der exklusive Endindex ist. Wenn undefined, wird der gesamte voreingestellte Wert ausgewählt, wenn leer (Start gleich Ende), wird nur der Cursor gesetzt, andernfalls wird der definierte Bereich ausgewählt.
Diese Eigenschaft wird nicht aktualisiert, wenn der Benutzer tippt oder eine Auswahl trifft, kann aber von der Erweiterung aktualisiert werden.
Methoden
Entsorgen Sie diese Eingabe-UI und alle zugehörigen Ressourcen.
Wenn sie noch sichtbar ist, wird sie zuerst ausgeblendet. Nach diesem Aufruf ist die Eingabe-UI nicht mehr funktionsfähig und es sollten keine weiteren Methoden oder Eigenschaften darauf zugegriffen werden. Stattdessen sollte eine neue Eingabe-UI erstellt werden.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Blendet diese Eingabe-UI aus.
Dadurch wird auch ein onDidHide-Ereignis ausgelöst.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Macht die Eingabe-UI in ihrer aktuellen Konfiguration sichtbar.
Jede andere Eingabe-UI löst zuerst ein onDidHide-Ereignis aus.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
InputBoxOptions
Optionen zur Konfiguration des Verhaltens der Eingabefeld-UI.
Eigenschaften
Setzen Sie auf true, um das Eingabefeld geöffnet zu lassen, wenn der Fokus auf einen anderen Teil des Editors oder ein anderes Fenster wechselt. Diese Einstellung wird auf dem iPad ignoriert und ist immer false.
Steuert, ob eine Passworteingabe angezeigt wird. Die Passworteingabe verbirgt den eingegebenen Text.
Eine optionale Zeichenkette, die als Platzhalter im Eingabefeld angezeigt wird, um den Benutzer bei der Eingabe zu unterstützen.
Der Text, der unterhalb des Eingabefeldes angezeigt wird.
Eine optionale Zeichenkette, die den Titel des Eingabefeldes darstellt.
Der Wert, mit dem das Eingabefeld voreingefüllt werden soll.
valueSelection?: [number, number]
Auswahl des voreingefüllten value. Definiert als Tupel aus zwei Zahlen, wobei die erste der inklusive Startindex und die zweite der exklusive Endindex ist. Wenn undefined, wird der gesamte voreingefüllte Wert ausgewählt, wenn leer (Start gleich Ende), wird nur der Cursor gesetzt, andernfalls wird der definierte Bereich ausgewählt.
Methoden
validateInput(value: string): string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage>
Eine optionale Funktion, die aufgerufen wird, um Eingaben zu validieren und dem Benutzer einen Hinweis zu geben.
| Parameter | Beschreibung |
|---|---|
| value: string | Der aktuelle Wert des Eingabefeldes. |
| Gibt zurück | Beschreibung |
| string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage> | Entweder eine für Menschen lesbare Zeichenkette, die als Fehlermeldung dargestellt wird, oder eine InputBoxValidationMessage, die eine spezifische Meldungsschweregrad bereitstellen kann. Geben Sie |
InputBoxValidationMessage
Stellt eine Validierungsnachricht für eine InputBox dar.
Eigenschaften
Die dem Benutzer anzuzeigende Validierungsnachricht.
severity: InputBoxValidationSeverity
Der Schweregrad der Validierungsnachricht.
Hinweis: Bei Verwendung von InputBoxValidationSeverity.Error kann der Benutzer die Eingabe nicht akzeptieren (z. B. durch Drücken von Enter). Info und Warnung Schweregrade erlauben weiterhin die Akzeptanz der Eingabe.
InputBoxValidationSeverity
Schweregradstufen für Validierungsnachrichten von Eingabefeldern.
Enumerationselemente
Zeigt eine Informationsmeldung an, die die Akzeptanz der Eingabe nicht verhindert.
Zeigt eine Warnmeldung an, die die Akzeptanz der Eingabe nicht verhindert.
Zeigt eine Fehlermeldung an, die den Benutzer daran hindert, die Eingabe zu akzeptieren.
LanguageConfiguration
Die Schnittstellen für die Sprachkonfiguration definieren den Vertrag zwischen Erweiterungen und verschiedenen Editorfunktionen wie automatischer Klammereinfügung, automatischem Einrücken usw.
Eigenschaften
__characterPairSupport?: {autoClosingPairs: Array<{close: string, notIn: string[], open: string}>}
Veraltet Nicht verwenden.
- veraltet - * Verwenden Sie stattdessen die Eigenschaft autoClosingPairs in der Sprachkonfigurationsdatei.
| Parameter | Beschreibung |
|---|---|
| autoClosingPairs: Array<{close: string, notIn: string[], open: string}> |
|
__electricCharacterSupport?: {brackets: any, docComment: {close: string, lineStart: string, open: string, scope: string}}
Veraltet Nicht verwenden.
- veraltet - Wird bald durch eine bessere API ersetzt.
| Parameter | Beschreibung |
|---|---|
| brackets: any | Diese Eigenschaft ist veraltet und wird vom Editor **ignoriert**.
|
| docComment: {close: string, lineStart: string, open: string, scope: string} | Diese Eigenschaft ist veraltet und wird vom Editor nicht mehr vollständig unterstützt (scope und lineStart werden ignoriert). Verwenden Sie stattdessen die Eigenschaft autoClosingPairs in der Sprachkonfigurationsdatei.
|
autoClosingPairs?: AutoClosingPair[]
Die automatischen Schließungspaare der Sprache.
brackets?: CharacterPair[]
Die Klammern der Sprache. Diese Konfiguration beeinflusst implizit das Drücken von Enter um diese Klammern herum.
comments?: CommentRule
Die Kommentar-Einstellungen der Sprache.
indentationRules?: IndentationRule
Die Einrückungs-Einstellungen der Sprache.
onEnterRules?: OnEnterRule[]
Die Regeln der Sprache, die beim Drücken von Enter ausgewertet werden.
Die Wortdefinition der Sprache. Wenn die Sprache Unicode-Identifikatoren unterstützt (z. B. JavaScript), ist es vorzuziehen, eine Wortdefinition anzugeben, die Ausschluss von bekannten Trennzeichen verwendet. Z. B.: Ein regulärer Ausdruck, der alles außer bekannten Trennzeichen abgleicht (und der Punkt darf in einer Fließkommazahl vorkommen).
/(-?\d*\.\d\w*)|([^\`\~\!\\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>/\?\s]+)/g
LanguageModelAccessInformation
Stellt erweiterungsspezifische Informationen über den Zugriff auf Sprachmodelle dar.
Events
onDidChange: Event<void>
Ein Ereignis, das ausgelöst wird, wenn sich die Zugriffsinformationen ändern.
Methoden
canSendRequest(chat: LanguageModelChat): boolean
Prüft, ob eine Anfrage an ein Sprachmodell gesendet werden kann.
Beachten Sie, dass der Aufruf dieser Funktion keine Zustimmungs-UI auslöst, sondern nur einen gespeicherten Zustand prüft.
| Parameter | Beschreibung |
|---|---|
| chat: LanguageModelChat | Ein Objekt für Sprachmodell-Chats. |
| Gibt zurück | Beschreibung |
| boolean |
|
LanguageModelChat
Stellt ein Sprachmodell für die Durchführung von Chat-Anfragen dar.
Siehe auch lm.selectChatModels
Eigenschaften
Opaquer Familienname des Sprachmodells. Werte können gpt-3.5-turbo, gpt4, phi2 oder llama sein, aber sie werden von Erweiterungen definiert, die Sprachen beitragen, und können sich ändern.
Opaque Bezeichner des Sprachmodells.
Die maximale Anzahl von Tokens, die in einer einzigen Anfrage an das Modell gesendet werden können.
Menschenlesbarer Name des Sprachmodells.
Ein bekannter Bezeichner des Anbieters des Sprachmodells. Ein Beispiel ist copilot, aber die Werte werden von Erweiterungen definiert, die Chat-Modelle beitragen, und müssen mit ihnen abgeglichen werden.
Opaque Versionszeichenfolge des Modells. Diese wird von der Erweiterung definiert, die das Sprachmodell beiträgt, und kann sich ändern.
Methoden
countTokens(text: string | LanguageModelChatMessage, token?: CancellationToken): Thenable<number>
Zählt die Anzahl der Tokens in einer Nachricht unter Verwendung der modellspezifischen Tokenizer-Logik.
| Parameter | Beschreibung |
|---|---|
| text: string | LanguageModelChatMessage | Eine Zeichenkette oder eine Nachrichteninstanz. |
| token?: CancellationToken | Optionales Abbruch-Token. Siehe CancellationTokenSource, wie man eines erstellt. |
| Gibt zurück | Beschreibung |
| Thenable<number> | Ein Thenable, der zu der Anzahl von Tokens auflöst. |
sendRequest(messages: LanguageModelChatMessage[], options?: LanguageModelChatRequestOptions, token?: CancellationToken): Thenable<LanguageModelChatResponse>
Sendet eine Chat-Anfrage mithilfe eines Sprachmodells.
Beachten Sie, dass die Nutzung von Sprachmodellen Zugriffsbeschränkungen und der Zustimmung des Benutzers unterliegen kann. Der Aufruf dieser Funktion zum ersten Mal (für eine Erweiterung) zeigt dem Benutzer einen Zustimmungsdialog an, und daher darf diese Funktion **nur als Reaktion auf eine Benutzeraktion** aufgerufen werden! Erweiterungen können LanguageModelAccessInformation.canSendRequest verwenden, um zu prüfen, ob sie über die erforderlichen Berechtigungen für eine Anfrage verfügen.
Diese Funktion gibt einen abgelehnten Promise zurück, wenn keine Anfrage an das Sprachmodell gestellt werden kann. Gründe dafür können sein:
- Benutzerzustimmung nicht erteilt, siehe
NoPermissions - Modell existiert nicht mehr, siehe
NotFound - Kontingentlimits überschritten, siehe
Blocked - andere Probleme, in diesem Fall muss die Erweiterung [LanguageModelError.cause
LanguageModelError.cause](#_LanguageModelError.causeLanguageModelError.cause) prüfen.
Eine Erweiterung kann Sprachmodell-Toolaufrufe nutzen, indem sie eine Reihe von Tools an LanguageModelChatRequestOptions.tools übergibt. Das Sprachmodell gibt einen LanguageModelToolCallPart zurück und die Erweiterung kann das Tool aufrufen und mit dem Ergebnis eine weitere Anfrage stellen.
| Parameter | Beschreibung |
|---|---|
| messages: LanguageModelChatMessage[] | Eine Array von Nachrichteninstanzen. |
| options?: LanguageModelChatRequestOptions | Optionen, die die Anfrage steuern. |
| token?: CancellationToken | Ein Abbruch-Token, das die Anfrage steuert. Siehe CancellationTokenSource, wie man eines erstellt. |
| Gibt zurück | Beschreibung |
| Thenable<LanguageModelChatResponse> | Ein Thenable, der zu einer LanguageModelChatResponse auflöst. Der Promise wird abgelehnt, wenn die Anfrage nicht gestellt werden konnte. |
LanguageModelChatCapabilities
Verschiedene Funktionen, die die LanguageModelChatInformation unterstützt, wie z. B. Tool-Aufrufe oder Bild-Eingaben.
Eigenschaften
Ob Bild-Eingaben vom Modell unterstützt werden. Üblicherweise unterstützte Bilder sind jpg und png, aber jedes Modell wird unterschiedliche unterstützte Mime-Typen haben.
toolCalling?: number | boolean
Ob Tool-Aufrufe vom Modell unterstützt werden. Wenn eine Zahl angegeben ist, ist dies die maximale Anzahl von Tools, die in einer Anfrage an das Modell übergeben werden können.
LanguageModelChatInformation
Stellt ein Sprachmodell dar, das von einem LanguageModelChatProvider bereitgestellt wird.
Eigenschaften
capabilities: LanguageModelChatCapabilities
Verschiedene Funktionen, die das Modell unterstützt, wie z. B. Tool-Aufrufe oder Bild-Eingaben.
Eine optionale, menschenlesbare Zeichenkette, die zusammen mit dem Modell gerendert wird. Nützlich zur Unterscheidung von Modellen mit demselben Namen in der Benutzeroberfläche.
Opaquer Familienname des Sprachmodells. Werte können gpt-3.5-turbo, gpt4, phi2 oder llama sein
Eindeutiger Bezeichner für das Sprachmodell. Muss pro Anbieter eindeutig sein, muss aber nicht global eindeutig sein.
Die maximale Anzahl von Tokens, die das Modell als Eingabe akzeptieren kann.
Die maximale Anzahl von Tokens, die das Modell erzeugen kann.
Menschenlesbarer Name des Sprachmodells.
Der Tooltip, der beim Hovern über das Modell gerendert wird. Dient zur Bereitstellung weiterer Informationen über das Modell.
Opaque Versionszeichenfolge des Modells. Diese wird als Suchwert in LanguageModelChatSelector.version verwendet. Ein Beispiel ist, wie GPT 4o mehrere Versionen wie 2024-11-20 und 2024-08-06 hat.
LanguageModelChatMessage
Stellt eine Nachricht in einem Chat dar. Kann verschiedene Rollen annehmen, wie z. B. Benutzer oder Assistent.
Statisch
Assistant(content: string | Array<LanguageModelTextPart | LanguageModelDataPart | LanguageModelToolCallPart>, name?: string): LanguageModelChatMessage
Dienstprogramm zum Erstellen einer neuen Assistenten-Nachricht.
| Parameter | Beschreibung |
|---|---|
| content: string | Array<LanguageModelTextPart | LanguageModelDataPart | LanguageModelToolCallPart> | Der Inhalt der Nachricht. |
| name?: string | Der optionale Name eines Benutzers für die Nachricht. |
| Gibt zurück | Beschreibung |
| LanguageModelChatMessage |
User(content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelDataPart>, name?: string): LanguageModelChatMessage
Dient zum Erstellen einer neuen Benutzernachricht.
| Parameter | Beschreibung |
|---|---|
| content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelDataPart> | Der Inhalt der Nachricht. |
| name?: string | Der optionale Name eines Benutzers für die Nachricht. |
| Gibt zurück | Beschreibung |
| LanguageModelChatMessage |
Konstruktoren
new LanguageModelChatMessage(role: LanguageModelChatMessageRole, content: string | LanguageModelInputPart[], name?: string): LanguageModelChatMessage
Erstellt eine neue Benutzernachricht.
| Parameter | Beschreibung |
|---|---|
| role: LanguageModelChatMessageRole | Die Rolle der Nachricht. |
| content: string | LanguageModelInputPart[] | Der Inhalt der Nachricht. |
| name?: string | Der optionale Name eines Benutzers für die Nachricht. |
| Gibt zurück | Beschreibung |
| LanguageModelChatMessage |
Eigenschaften
content: LanguageModelInputPart[]
Eine Zeichenkette oder ein heterogenes Array von Elementen, die eine Nachricht als Inhalt enthalten kann. Einige Teile können modellspezifisch sein.
Der optionale Name eines Benutzers für diese Nachricht.
role: LanguageModelChatMessageRole
Die Rolle dieser Nachricht.
LanguageModelChatMessageRole
Stellt die Rolle einer Chat-Nachricht dar. Dies ist entweder der Benutzer oder der Assistent.
Enumerationselemente
Die Benutzerrolle, z. B. der Mensch, der mit einem Sprachmodell interagiert.
Die Assistentenrolle, z. B. das Sprachmodell, das Antworten generiert.
LanguageModelChatProvider<T>
Ein LanguageModelChatProvider implementiert den Zugriff auf Sprachmodelle, die Benutzer dann über die Chat-Ansicht oder über die Erweiterungs-API durch Erwerb eines LanguageModelChat nutzen können. Ein Beispiel hierfür wäre ein OpenAI-Provider, der Modelle wie gpt-5, o3 usw. bereitstellt.
Events
onDidChangeLanguageModelChatInformation?: Event<void>
Ein optionales Ereignis, das ausgelöst wird, wenn sich die verfügbare Menge an Sprachmodellen ändert.
Methoden
provideLanguageModelChatInformation(options: PrepareLanguageModelChatModelOptions, token: CancellationToken): ProviderResult<T[]>
Ruft die Liste der von diesem Anbieter bereitgestellten verfügbaren Sprachmodelle ab.
| Parameter | Beschreibung |
|---|---|
| options: PrepareLanguageModelChatModelOptions | Optionen, die den aufrufenden Kontext dieser Funktion spezifizieren. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T[]> | Die Liste der verfügbaren Sprachmodelle. |
provideLanguageModelChatResponse(model: T, messages: readonly LanguageModelChatRequestMessage[], options: ProvideLanguageModelChatResponseOptions, progress: Progress<LanguageModelResponsePart>, token: CancellationToken): Thenable<void>
Gibt die Antwort auf eine Chat-Anfrage zurück und übergibt die Ergebnisse an den Fortschritts-Callback. Der LanguageModelChatProvider muss die Antwortteile an den Fortschritts-Callback senden, sobald sie vom Sprachmodell empfangen werden.
| Parameter | Beschreibung |
|---|---|
| model: T | Das zu verwendende Sprachmodell. |
| messages: readonly LanguageModelChatRequestMessage[] | Die in die Anfrage einzuschließenden Nachrichten. |
| options: ProvideLanguageModelChatResponseOptions | Optionen für die Anfrage. |
| progress: Progress<LanguageModelResponsePart> | Der Fortschritt, an den die gestreamten Antwortteile gesendet werden sollen. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| Thenable<void> | Ein Promise, das aufgelöst wird, wenn die Antwort abgeschlossen ist. Die Ergebnisse werden tatsächlich an den Fortschritts-Callback übergeben. |
provideTokenCount(model: T, text: string | LanguageModelChatRequestMessage, token: CancellationToken): Thenable<number>
Gibt die Anzahl der Tokens für einen gegebenen Text unter Verwendung der modellspezifischen Tokenizer-Logik zurück.
| Parameter | Beschreibung |
|---|---|
| model: T | Das zu verwendende Sprachmodell. |
| text: string | LanguageModelChatRequestMessage | Der Text, für den die Token gezählt werden sollen. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| Thenable<number> | Die Anzahl der Tokens. |
LanguageModelChatRequestMessage
Die Anbieterversion von LanguageModelChatMessage.
Eigenschaften
Ein heterogenes Array von Elementen, die eine Nachricht als Inhalt enthalten kann. Einige Teile können modellspezifisch sein.
Der optionale Name eines Benutzers für diese Nachricht.
role: LanguageModelChatMessageRole
Die Rolle dieser Nachricht.
LanguageModelChatRequestOptions
Optionen für die Durchführung einer Chat-Anfrage mit einem Sprachmodell.
Siehe auch LanguageModelChat.sendRequest
Eigenschaften
Eine für Menschen lesbare Nachricht, die erklärt, warum Zugriff auf ein Sprachmodell benötigt wird und welche Funktion dadurch aktiviert wird.
Eine Reihe von Optionen, die das Verhalten des Sprachmodells steuern. Diese Optionen sind modellspezifisch und müssen in der jeweiligen Dokumentation nachgeschlagen werden.
toolMode?: LanguageModelChatToolMode
Der zu verwendende Tool-Auswahlmodus. Standardmäßig LanguageModelChatToolMode.Auto.
tools?: LanguageModelChatTool[]
Eine optionale Liste von Tools, die dem Sprachmodell zur Verfügung stehen. Dies können registrierte Tools sein, die über lm.tools verfügbar sind, oder private Tools, die einfach innerhalb der aufrufenden Erweiterung implementiert sind.
Wenn die LLM die Verwendung eines dieser Tools anfordert, gibt sie einen LanguageModelToolCallPart in LanguageModelChatResponse.stream zurück. Es liegt in der Verantwortung des Aufrufers, das Tool aufzurufen. Wenn es sich um ein in lm.tools registriertes Tool handelt, bedeutet dies den Aufruf von lm.invokeTool.
Anschließend kann das Tool-Ergebnis an die LLM übergeben werden, indem eine Assistenten-Art von LanguageModelChatMessage mit einem LanguageModelToolCallPart erstellt wird, gefolgt von einer Benutzernachricht mit einem LanguageModelToolResultPart.
LanguageModelChatResponse
Stellt eine Antwort eines Sprachmodells dar.
Siehe auch ChatRequest
Eigenschaften
stream: AsyncIterable<unknown>
Ein asynchrones Iterable, das ein Stream von Text- und Tool-Aufruf-Teilen ist, die die gesamte Antwort bilden. Ein LanguageModelTextPart ist Teil der Antwort des Assistenten, die dem Benutzer angezeigt werden soll. Ein LanguageModelToolCallPart ist eine Aufforderung des Sprachmodells, ein Tool aufzurufen. Letzteres wird nur zurückgegeben, wenn Tools in der Anfrage über LanguageModelChatRequestOptions.tools übergeben wurden. Der Typ unknown wird als Platzhalter für zukünftige Teile verwendet, wie z. B. Bilddaten.
Hinweis: Dieser Stream löst einen Fehler aus, wenn während des Empfangs von Daten ein Fehler auftritt. Konsumenten des Streams sollten die Fehler entsprechend behandeln.
Um den Stream abzubrechen, kann der Konsument das für die Anfrage verwendete Token abbrechen oder die Schleife verlassen.
Beispiel
try {
// consume stream
for await (const chunk of response.stream) {
if (chunk instanceof LanguageModelTextPart) {
console.log('TEXT', chunk);
} else if (chunk instanceof LanguageModelToolCallPart) {
console.log('TOOL CALL', chunk);
}
}
} catch (e) {
// stream ended with an error
console.error(e);
}
Dies entspricht dem Filtern aller Teile außer Textteilen aus einem LanguageModelChatResponse.stream.
Siehe auch LanguageModelChatResponse.stream
LanguageModelChatSelector
Beschreibt, wie Sprachmodelle für Chat-Anfragen ausgewählt werden.
Siehe auch lm.selectChatModels
Eigenschaften
Eine Familie von Sprachmodellen.
Siehe auch LanguageModelChat.family
Die Kennung eines Sprachmodells.
Siehe auch LanguageModelChat.id
Ein Anbieter von Sprachmodellen.
Siehe auch LanguageModelChat.vendor
Die Version eines Sprachmodells.
Siehe auch LanguageModelChat.version
LanguageModelChatTool
Ein Tool, das über LanguageModelChatRequestOptions für das Sprachmodell verfügbar ist. Ein Sprachmodell verwendet alle Eigenschaften dieser Schnittstelle, um zu entscheiden, welches Tool aufgerufen und wie es aufgerufen werden soll.
Eigenschaften
Die Beschreibung des Tools.
Ein JSON-Schema für die Eingabe, die dieses Tool akzeptiert.
Der Name des Tools.
LanguageModelChatToolMode
Ein Modus zur Tool-Aufrufung, den das Sprachmodell verwenden soll.
Enumerationselemente
Das Sprachmodell kann wählen, ob es ein Tool aufrufen oder eine Nachricht generieren soll. Ist der Standard.
Das Sprachmodell muss eines der bereitgestellten Tools aufrufen. Beachten Sie, dass einige Modelle in diesem Modus nur ein einzelnes Tool unterstützen.
LanguageModelDataPart
Ein Teil einer Sprachmodellantwort, der beliebige Daten enthält. Kann in Antworten, Chatnachrichten, Tool-Ergebnissen und anderen Interaktionen mit Sprachmodellen verwendet werden.
Statisch
image(data: Uint8Array, mime: string): LanguageModelDataPart
Erstellt einen neuen LanguageModelDataPart für ein Bild.
| Parameter | Beschreibung |
|---|---|
| data: Uint8Array | Binäre Bilddaten. |
| mime: string | Der MIME-Typ des Bildes. Gängige Werte sind |
| Gibt zurück | Beschreibung |
| LanguageModelDataPart |
json(value: any, mime?: string): LanguageModelDataPart
Erstellt einen neuen LanguageModelDataPart für JSON.
Hinweis: Diese Funktion erwartet keine "als JSON formatierte Zeichenkette", sondern ein Objekt, das als JSON formatiert werden kann. Diese Funktion löst einen Fehler aus, wenn der übergebene Wert nicht als JSON formatiert werden kann.
| Parameter | Beschreibung |
|---|---|
| value: any | Ein JSON-formatierbarer Wert. |
| mime?: string | Optionaler MIME-Typ, standardmäßig |
| Gibt zurück | Beschreibung |
| LanguageModelDataPart |
text(value: string, mime?: string): LanguageModelDataPart
Erstellt einen neuen LanguageModelDataPart für Text.
Hinweis: Ein UTF-8-Encoder wird verwendet, um Bytes für die Zeichenkette zu erstellen.
| Parameter | Beschreibung |
|---|---|
| value: string | Textdaten. |
| mime?: string | Der MIME-Typ, falls vorhanden. Gängige Werte sind |
| Gibt zurück | Beschreibung |
| LanguageModelDataPart |
Konstruktoren
new LanguageModelDataPart(data: Uint8Array, mimeType: string): LanguageModelDataPart
Konstruiert ein generisches Daten-Teil mit dem gegebenen Inhalt.
| Parameter | Beschreibung |
|---|---|
| data: Uint8Array | Die Byte-Daten für dieses Teil. |
| mimeType: string | Der MIME-Typ der Daten. |
| Gibt zurück | Beschreibung |
| LanguageModelDataPart |
Eigenschaften
Die Byte-Daten für dieses Teil.
Der MIME-Typ, der bestimmt, wie das Daten-Property interpretiert wird.
LanguageModelError
Ein Fehlertyp für sprachmodellspezifische Fehler.
Konsumenten von Sprachmodellen sollten die Eigenschaft `code` überprüfen, um spezifische Fehlerursachen zu ermitteln, z. B. if(someError.code === vscode.LanguageModelError.NotFound.name) {...} für den Fall, dass auf ein unbekanntes Sprachmodell verwiesen wird. Bei nicht spezifizierten Fehlern enthält die Eigenschaft cause den tatsächlichen Fehler.
Statisch
Blocked(message?: string): LanguageModelError
Der Anfragende ist von der Nutzung dieses Sprachmodells blockiert.
| Parameter | Beschreibung |
|---|---|
| message?: string | |
| Gibt zurück | Beschreibung |
| LanguageModelError |
NoPermissions(message?: string): LanguageModelError
Der Anfragende hat keine Berechtigung zur Nutzung dieses Sprachmodells.
| Parameter | Beschreibung |
|---|---|
| message?: string | |
| Gibt zurück | Beschreibung |
| LanguageModelError |
NotFound(message?: string): LanguageModelError
Das Sprachmodell existiert nicht.
| Parameter | Beschreibung |
|---|---|
| message?: string | |
| Gibt zurück | Beschreibung |
| LanguageModelError |
Konstruktoren
new LanguageModelError(message?: string): LanguageModelError
| Parameter | Beschreibung |
|---|---|
| message?: string | |
| Gibt zurück | Beschreibung |
| LanguageModelError |
Eigenschaften
Ein Code, der diesen Fehler identifiziert.
Mögliche Werte sind Fehlernamen, wie NotFound, oder Unknown für nicht spezifizierte Fehler des Sprachmodells selbst. In letzterem Fall enthält die Eigenschaft cause den tatsächlichen Fehler.
LanguageModelInputPart
Die verschiedenen Nachrichtentypen, die über LanguageModelChat.sendRequest gesendet und von einem LanguageModelChatProvider verarbeitet werden können.
LanguageModelInputPart: LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelToolCallPart | LanguageModelDataPart
LanguageModelPromptTsxPart
Ein Teil einer Sprachmodellantwort, der ein PromptElementJSON aus vscode/prompt-tsx enthält.
Siehe auch LanguageModelToolResult
Konstruktoren
new LanguageModelPromptTsxPart(value: unknown): LanguageModelPromptTsxPart
Konstruiert ein Prompt-TSX-Teil mit dem gegebenen Inhalt.
| Parameter | Beschreibung |
|---|---|
| value: unknown | Der Wert des Teils, das Ergebnis von |
| Gibt zurück | Beschreibung |
| LanguageModelPromptTsxPart |
Eigenschaften
Der Wert des Teils.
LanguageModelResponsePart
Die verschiedenen Nachrichtentypen, die ein LanguageModelChatProvider im Chat-Antwort-Stream ausgeben kann.
LanguageModelResponsePart: LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelToolCallPart | LanguageModelDataPart
LanguageModelTextPart
Ein Teil einer Sprachmodellantwort, der einen Textteil enthält und von einer LanguageModelChatResponse zurückgegeben wird.
Konstruktoren
new LanguageModelTextPart(value: string): LanguageModelTextPart
Konstruiert ein Text-Teil mit dem gegebenen Inhalt.
| Parameter | Beschreibung |
|---|---|
| value: string | Der Textinhalt des Teils. |
| Gibt zurück | Beschreibung |
| LanguageModelTextPart |
Eigenschaften
Der Textinhalt des Teils.
LanguageModelTool<T>
Ein Tool, das durch einen Aufruf von LanguageModelChat aufgerufen werden kann.
Methoden
invoke(options: LanguageModelToolInvocationOptions<T>, token: CancellationToken): ProviderResult<LanguageModelToolResult>
Ruft das Tool mit der gegebenen Eingabe auf und gibt ein Ergebnis zurück.
Die bereitgestellten LanguageModelToolInvocationOptions.input wurden gegen das deklarierte Schema validiert.
| Parameter | Beschreibung |
|---|---|
| options: LanguageModelToolInvocationOptions<T> | |
| token: CancellationToken | |
| Gibt zurück | Beschreibung |
| ProviderResult<LanguageModelToolResult> |
prepareInvocation(options: LanguageModelToolInvocationPrepareOptions<T>, token: CancellationToken): ProviderResult<PreparedToolInvocation>
Wird einmal aufgerufen, bevor ein Tool aufgerufen wird. Es wird empfohlen, dies zu implementieren, um die Fortschrittsmeldung anzupassen, die während der Ausführung des Tools angezeigt wird, und um eine nützlichere Nachricht mit Kontext aus der Eingabe des Aufrufs bereitzustellen. Kann auch signalisieren, dass ein Tool vor der Ausführung eine Benutzerbestätigung benötigt, falls dies angemessen ist.
- Hinweis 1: Muss frei von Seiteneffekten sein.
- Hinweis 2: Ein Aufruf von
prepareInvocationwird nicht zwangsläufig von einem Aufruf voninvokegefolgt.
| Parameter | Beschreibung |
|---|---|
| options: LanguageModelToolInvocationPrepareOptions<T> | |
| token: CancellationToken | |
| Gibt zurück | Beschreibung |
| ProviderResult<PreparedToolInvocation> |
LanguageModelToolCallPart
Ein Teil einer Sprachmodellantwort, der einen Tool-Aufruf angibt, zurückgegeben von einer LanguageModelChatResponse, und der auch als Inhaltsteil auf einer LanguageModelChatMessage enthalten sein kann, um einen früheren Tool-Aufruf in einer Chat-Anfrage darzustellen.
Konstruktoren
new LanguageModelToolCallPart(callId: string, name: string, input: object): LanguageModelToolCallPart
Erstellt einen neuen LanguageModelToolCallPart.
| Parameter | Beschreibung |
|---|---|
| callId: string | Die ID des Tool-Aufrufs. |
| name: string | Der Name des aufzurufenden Tools. |
| input: object | Die Eingabe, mit der das Tool aufgerufen werden soll. |
| Gibt zurück | Beschreibung |
| LanguageModelToolCallPart |
Eigenschaften
Die ID des Tool-Aufrufs. Dies ist eine eindeutige Kennung für den Tool-Aufruf innerhalb der Chat-Anfrage.
Die Eingabe, mit der das Tool aufgerufen werden soll.
Der Name des aufzurufenden Tools.
LanguageModelToolConfirmationMessages
Wenn dies in PreparedToolInvocation zurückgegeben wird, wird der Benutzer aufgefordert, die Ausführung des Tools zu bestätigen. Diese Nachrichten werden mit den Schaltflächen "Fortfahren" und "Abbrechen" angezeigt.
Eigenschaften
message: string | MarkdownString
Der Inhalt der Bestätigungsnachricht.
Der Titel der Bestätigungsnachricht.
LanguageModelToolInformation
Informationen über ein registriertes Tool, das in lm.tools verfügbar ist.
Eigenschaften
Eine Beschreibung dieses Tools, die an ein Sprachmodell übergeben werden kann.
Ein JSON-Schema für die Eingabe, die dieses Tool akzeptiert.
Ein eindeutiger Name für das Tool.
Eine Reihe von Tags, die vom Tool deklariert wurden und grob die Fähigkeiten des Tools beschreiben. Ein Tool-Benutzer kann diese verwenden, um die Menge der Tools auf diejenigen zu filtern, die für die aktuelle Aufgabe relevant sind.
LanguageModelToolInvocationOptions<T>
Optionen, die für die Tool-Aufrufung bereitgestellt werden.
Eigenschaften
Die Eingabe, mit der das Tool aufgerufen wird. Die Eingabe muss mit dem Schema übereinstimmen, das in LanguageModelToolInformation.inputSchema definiert ist.
tokenizationOptions?: LanguageModelToolTokenizationOptions
Optionen, um Hinweise darauf zu geben, wie viele Tokens das Tool in seiner Antwort zurückgeben soll, und um das Tool in die Lage zu versetzen, Tokens genau zu zählen.
toolInvocationToken: undefined
Ein undurchsichtiges Objekt, das eine Tool-Aufrufung mit einer Chat-Anfrage eines Chat-Teilnehmers verknüpft.
Der einzige Weg, ein gültiges Tool-Aufrufungstoken zu erhalten, ist die Verwendung des bereitgestellten toolInvocationToken aus einer Chat-Anfrage. In diesem Fall wird eine Fortschrittsanzeige für die Tool-Aufrufung in der Chat-Antwortansicht automatisch angezeigt, und wenn das Tool eine Benutzerbestätigung erfordert, wird diese inline in der Chatansicht angezeigt.
Wenn das Tool außerhalb einer Chat-Anfrage aufgerufen wird, sollte stattdessen undefined übergeben werden, und es wird keine spezielle Benutzeroberfläche außer Bestätigungen angezeigt.
Hinweis: Ein Tool, das während seiner Aufrufung ein anderes Tool aufruft, kann das erhaltene toolInvocationToken weitergeben.
LanguageModelToolInvocationPrepareOptions<T>
Optionen für LanguageModelTool.prepareInvocation.
Eigenschaften
Die Eingabe, mit der das Tool aufgerufen wird.
LanguageModelToolResult
Ein Ergebnis, das von einer Tool-Aufrufung zurückgegeben wurde. Bei Verwendung von vscode/prompt-tsx kann dieses Ergebnis mit einem ToolResult gerendert werden.
Konstruktoren
new LanguageModelToolResult(content: unknown[]): LanguageModelToolResult
Erzeugt ein LanguageModelToolResult.
| Parameter | Beschreibung |
|---|---|
| content: unknown[] | Eine Liste von Inhaltsbestandteilen des Tool-Ergebnisses. |
| Gibt zurück | Beschreibung |
| LanguageModelToolResult |
Eigenschaften
Eine Liste von Inhaltsbestandteilen des Tool-Ergebnisses. Enthält unknown, da diese Liste zukünftig mit neuen Inhaltstypen erweitert werden kann.
Siehe auch lm.invokeTool.
LanguageModelToolResultPart
Das Ergebnis eines Tool-Aufrufs. Dies ist das Gegenstück zu einem Tool-Aufruf und kann nur im Inhalt einer Benutzernachricht enthalten sein.
Konstruktoren
new LanguageModelToolResultPart(callId: string, content: unknown[]): LanguageModelToolResultPart
| Parameter | Beschreibung |
|---|---|
| callId: string | Die ID des Tool-Aufrufs. |
| content: unknown[] | Der Inhalt des Tool-Ergebnisses. |
| Gibt zurück | Beschreibung |
| LanguageModelToolResultPart |
Eigenschaften
Die ID des Tool-Aufrufs.
Hinweis: Dies sollte mit dem callId eines Tool-Aufruf-Teils übereinstimmen.
Der Wert des Tool-Ergebnisses.
LanguageModelToolTokenizationOptions
Optionen im Zusammenhang mit der Tokenisierung für eine Tool-Aufrufung.
Eigenschaften
Wenn bekannt, die maximale Anzahl von Tokens, die das Tool in seinem Ergebnis ausgeben soll.
Methoden
countTokens(text: string, token?: CancellationToken): Thenable<number>
Zählt die Anzahl der Tokens in einer Nachricht unter Verwendung der modellspezifischen Tokenizer-Logik.
| Parameter | Beschreibung |
|---|---|
| text: string | Eine Zeichenkette. |
| token?: CancellationToken | Optionales Abbruch-Token. Siehe CancellationTokenSource, wie man eines erstellt. |
| Gibt zurück | Beschreibung |
| Thenable<number> | Ein Thenable, der zu der Anzahl von Tokens auflöst. |
LanguageStatusItem
Ein Sprachstatus-Element ist die bevorzugte Methode, um Sprachstatusberichte für die aktiven Texteditoren darzustellen, z. B. den ausgewählten Linter oder Benachrichtigungen über ein Konfigurationsproblem.
Eigenschaften
accessibilityInformation?: AccessibilityInformation
Barrierefreiheitsinformationen, die verwendet werden, wenn ein Screenreader mit diesem Element interagiert.
Steuert, ob das Element als "beschäftigt" angezeigt wird. Standardwert ist false.
command: Command
Ein Befehl für dieses Element.
Optionale, menschenlesbare Details für dieses Element.
Die Kennung dieses Elements.
Der kurze Name dieses Elements, z. B. 'Java Language Status' usw.
selector: DocumentSelector
Ein Selektor, der definiert, für welche Editoren dieses Element angezeigt wird.
severity: LanguageStatusSeverity
Die Schwere dieses Elements.
Standardmäßig Information. Sie können diese Eigenschaft verwenden, um Benutzer auf ein Problem aufmerksam zu machen, das Aufmerksamkeit erfordert, wie z. B. eine fehlende ausführbare Datei oder eine ungültige Konfiguration.
Der anzuzeigende Text für den Eintrag. Sie können Symbole im Text einbetten, indem Sie die Syntax verwenden
Mein Text $(icon-name) enthält Symbole wie $(icon-name) dieses hier.
Dabei wird der Icon-Name aus dem ThemeIcon Iconsatz entnommen, z. B. light-bulb, thumbsup, zap usw.
Methoden
Ressourcen freigeben und zugehörige Ressourcen bereinigen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
LanguageStatusSeverity
Stellt die Schweregradstufe eines Sprachstatus dar.
Enumerationselemente
Informationsschweregradstufe.
Warnungsschweregradstufe.
Fehlerschweregradstufe.
LinkedEditingRangeProvider
Die Schnittstelle LinkedEditingRangeProvider definiert den Vertrag zwischen Erweiterungen und der Linked-Editing-Funktion.
Methoden
provideLinkedEditingRanges(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<LinkedEditingRanges>
Gibt für eine gegebene Position in einem Dokument den Bereich des Symbols an der Position und alle Bereiche zurück, die denselben Inhalt haben. Eine Änderung an einem der Bereiche kann auf alle anderen Bereiche angewendet werden, wenn der neue Inhalt gültig ist. Ein optionales Wortmuster kann mit dem Ergebnis zurückgegeben werden, um gültige Inhalte zu beschreiben. Wenn kein ergebnisspezifisches Wortmuster angegeben wird, wird das Wortmuster aus der Sprachkonfiguration verwendet.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Anbieter aufgerufen wurde. |
| position: Position | Die Position, an der der Anbieter aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<LinkedEditingRanges> | Eine Liste von Bereichen, die gemeinsam bearbeitet werden können. |
LinkedEditingRanges
Stellt eine Liste von Bereichen dar, die zusammen bearbeitet werden können, zusammen mit einem Wortmuster zur Beschreibung gültiger Bereichsinhalte.
Konstruktoren
new LinkedEditingRanges(ranges: Range[], wordPattern?: RegExp): LinkedEditingRanges
Erstellt ein neues Objekt für verknüpfte Bearbeitungsbereiche.
| Parameter | Beschreibung |
|---|---|
| ranges: Range[] | Eine Liste von Bereichen, die gemeinsam bearbeitet werden können. |
| wordPattern?: RegExp | Ein optionales Wortmuster, das gültige Inhalte für die gegebenen Bereiche beschreibt. |
| Gibt zurück | Beschreibung |
| LinkedEditingRanges |
Eigenschaften
ranges: Range[]
Eine Liste von Bereichen, die zusammen bearbeitet werden können. Die Bereiche müssen identische Länge und Textinhalt haben. Die Bereiche dürfen sich nicht überschneiden.
Ein optionales Wortmuster, das gültige Inhalte für die gegebenen Bereiche beschreibt. Wenn kein Muster angegeben wird, wird das Wortmuster der Sprachkonfiguration verwendet.
Location
Stellt einen Speicherort innerhalb einer Ressource dar, z. B. eine Zeile in einer Textdatei.
Konstruktoren
new Location(uri: Uri, rangeOrPosition: Range | Position): Location
Erstellt ein neues Location-Objekt.
Eigenschaften
range: Range
Der Dokumentbereich dieses Speicherorts.
uri: Uri
Die Ressourcen-Kennung dieses Speicherorts.
LocationLink
Stellt die Verbindung zweier Speicherorte dar. Bietet zusätzliche Metadaten über normale Speicherorte, einschließlich eines Ursprungsbereichs.
Eigenschaften
originSelectionRange?: Range
Bereich des Ursprungs dieses Links.
Wird als unterstrichener Bereich für die Mauszeiger-Definitionsanzeige verwendet. Standardmäßig der Wortbereich an der Definitionsstelle.
targetRange: Range
Der gesamte Zielbereich dieses Links.
targetSelectionRange?: Range
Der Bereich dieses Links.
targetUri: Uri
Die Zielressourcen-Kennung dieses Links.
LogLevel
Protokollierungsstufen.
Enumerationselemente
Keine Nachrichten werden mit dieser Stufe protokolliert.
Alle Nachrichten werden mit dieser Stufe protokolliert.
Nachrichten mit Debug- und höherer Protokollierungsstufe werden mit dieser Stufe protokolliert.
Nachrichten mit Info- und höherer Protokollierungsstufe werden mit dieser Stufe protokolliert.
Nachrichten mit Warnung und höherer Protokollierungsstufe werden mit dieser Stufe protokolliert.
Nur Fehlermeldungen werden mit dieser Stufe protokolliert.
LogOutputChannel
Ein Kanal zur Aufnahme von Protokollausgaben.
Um eine Instanz eines LogOutputChannel zu erhalten, verwenden Sie createOutputChannel.
Events
onDidChangeLogLevel: Event<LogLevel>
Ein Ereignis, das ausgelöst wird, wenn sich die Protokollierungsstufe des Kanals ändert.
Eigenschaften
logLevel: LogLevel
Die aktuelle Protokollierungsstufe des Kanals. Standardmäßig die Protokollierungsstufe des Editors.
Der menschenlesbare Name dieses Ausgabekanals.
Methoden
Hängt den gegebenen Wert an den Kanal an.
| Parameter | Beschreibung |
|---|---|
| value: string | Ein String, falsche Werte werden nicht ausgegeben. |
| Gibt zurück | Beschreibung |
| void |
appendLine(value: string): void
Hängt den gegebenen Wert und ein Zeilenumbruchzeichen an den Kanal an.
| Parameter | Beschreibung |
|---|---|
| value: string | Ein String, falsche Werte werden ausgegeben. |
| Gibt zurück | Beschreibung |
| void |
Entfernt alle Ausgaben aus dem Kanal.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
debug(message: string, ...args: any[]): void
Gibt die gegebene Debug-Nachricht an den Kanal aus.
Die Nachricht wird nur dann protokolliert, wenn der Kanal so konfiguriert ist, dass er die Protokollierungsstufe Debug oder niedriger anzeigt.
| Parameter | Beschreibung |
|---|---|
| message: string | Debug-Nachricht zum Protokollieren. |
| ...args: any[] | |
| Gibt zurück | Beschreibung |
| void |
Ressourcen freigeben und zugehörige Ressourcen bereinigen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
error(error: string | Error, ...args: any[]): void
Gibt die gegebene Fehler- oder Fehlermeldung an den Kanal aus.
Die Nachricht wird nur dann protokolliert, wenn der Kanal so konfiguriert ist, dass er die Protokollierungsstufe Error oder niedriger anzeigt.
| Parameter | Beschreibung |
|---|---|
| error: string | Error | Fehler oder Fehlermeldung zum Protokollieren. |
| ...args: any[] | |
| Gibt zurück | Beschreibung |
| void |
Blendet diesen Kanal in der Benutzeroberfläche aus.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
info(message: string, ...args: any[]): void
Gibt die gegebene Informationsmeldung an den Kanal aus.
Die Nachricht wird nur dann protokolliert, wenn der Kanal so konfiguriert ist, dass er die Protokollierungsstufe Info oder niedriger anzeigt.
| Parameter | Beschreibung |
|---|---|
| message: string | Informationsmeldung zum Protokollieren. |
| ...args: any[] | |
| Gibt zurück | Beschreibung |
| void |
Ersetzt alle Ausgaben des Kanals durch den gegebenen Wert.
| Parameter | Beschreibung |
|---|---|
| value: string | Ein String, falsche Werte werden nicht ausgegeben. |
| Gibt zurück | Beschreibung |
| void |
show(preserveFocus?: boolean): void
Zeigt diesen Kanal in der Benutzeroberfläche an.
| Parameter | Beschreibung |
|---|---|
| preserveFocus?: boolean | Wenn |
| Gibt zurück | Beschreibung |
| void |
show(column?: ViewColumn, preserveFocus?: boolean): void
Zeigt diesen Kanal in der Benutzeroberfläche an.
- veraltet - Verwenden Sie die Überladung mit nur einem Parameter (
show(preserveFocus?: boolean): void).
| Parameter | Beschreibung |
|---|---|
| column?: ViewColumn | Dieses Argument ist veraltet und wird ignoriert. |
| preserveFocus?: boolean | Wenn |
| Gibt zurück | Beschreibung |
| void |
trace(message: string, ...args: any[]): void
Gibt die gegebene Trace-Nachricht an den Kanal aus. Verwenden Sie diese Methode, um ausführliche Informationen zu protokollieren.
Die Nachricht wird nur dann protokolliert, wenn der Kanal so konfiguriert ist, dass er die Protokollierungsstufe Trace anzeigt.
| Parameter | Beschreibung |
|---|---|
| message: string | Trace-Nachricht zum Protokollieren. |
| ...args: any[] | |
| Gibt zurück | Beschreibung |
| void |
warn(message: string, ...args: any[]): void
Gibt die gegebene Warnmeldung an den Kanal aus.
Die Nachricht wird nur dann protokolliert, wenn der Kanal so konfiguriert ist, dass er die Protokollierungsstufe Warnung oder niedriger anzeigt.
| Parameter | Beschreibung |
|---|---|
| message: string | Warnmeldung zum Protokollieren. |
| ...args: any[] | |
| Gibt zurück | Beschreibung |
| void |
MarkdownString
Menschenlesbarer Text, der die Formatierung über die Markdown-Syntax unterstützt.
Das Rendern von Theme-Symbolen über die $(<name>)-Syntax wird unterstützt, wenn supportThemeIcons auf true gesetzt ist.
Das Rendern von eingebettetem HTML wird unterstützt, wenn supportHtml auf true gesetzt ist.
Konstruktoren
new MarkdownString(value?: string, supportThemeIcons?: boolean): MarkdownString
Erstellt eine neue Markdown-Zeichenkette mit dem gegebenen Wert.
| Parameter | Beschreibung |
|---|---|
| value?: string | Optionaler, anfänglicher Wert. |
| supportThemeIcons?: boolean | Optional, gibt an, ob ThemeIcons innerhalb des MarkdownString unterstützt werden. |
| Gibt zurück | Beschreibung |
| MarkdownString |
Eigenschaften
baseUri?: Uri
URI, relativ zu dem relative Pfade aufgelöst werden.
Wenn die baseUri mit / endet, wird sie als Verzeichnis betrachtet und relative Pfade im Markdown werden relativ zu diesem Verzeichnis aufgelöst.
const md = new vscode.MarkdownString(`[link](./file.js)`);
md.baseUri = vscode.Uri.file('/path/to/dir/');
// Here 'link' in the rendered markdown resolves to '/path/to/dir/file.js'
Wenn die baseUri eine Datei ist, werden relative Pfade im Markdown relativ zum übergeordneten Verzeichnis dieser Datei aufgelöst.
const md = new vscode.MarkdownString(`[link](./file.js)`);
md.baseUri = vscode.Uri.file('/path/to/otherFile.js');
// Here 'link' in the rendered markdown resolves to '/path/to/file.js'
isTrusted?: boolean | {enabledCommands: readonly string[]}
Zeigt an, dass diese Markdown-Zeichenkette aus einer vertrauenswürdigen Quelle stammt. Nur vertrauenswürdiges Markdown unterstützt Links, die Befehle ausführen, z. B. [Run it](command:myCommandId).
Standardwert ist false (Befehle sind deaktiviert).
Gibt an, dass diese Markdown-Zeichenkette rohe HTML-Tags enthalten kann. Standardwert ist false.
Wenn supportHtml falsch ist, entfernt der Markdown-Renderer alle rohen HTML-Tags, die im Markdown-Text vorkommen. Das bedeutet, dass Sie nur die Markdown-Syntax zur Darstellung verwenden können.
Wenn supportHtml wahr ist, erlaubt der Markdown-Renderer auch eine sichere Teilmenge von HTML-Tags und Attributen zur Darstellung. Siehe https://github.com/microsoft/vscode/blob/6d2920473c6f13759c978dd89104c4270a83422d/src/vs/base/browser/markdownRenderer.ts#L296 für eine Liste aller unterstützten Tags und Attribute.
Gibt an, dass diese Markdown-Zeichenkette ThemeIcons enthalten kann, z. B. $(zap).
Die Markdown-Zeichenkette.
Methoden
appendCodeblock(value: string, language?: string): MarkdownString
Hängt die gegebene Zeichenkette als Codeblock unter Verwendung der bereitgestellten Sprache an.
| Parameter | Beschreibung |
|---|---|
| value: string | Ein Code-Snippet. |
| sprache?: string | Ein optionaler Sprachidentifikator. |
| Gibt zurück | Beschreibung |
| MarkdownString |
appendMarkdown(wert: string): MarkdownString
Hängt den gegebenen String 'wie er ist' an diese Markdown-Zeichenfolge an. Wenn supportThemeIcons auf true gesetzt ist, werden ThemeIcons im wert als Symbole dargestellt.
| Parameter | Beschreibung |
|---|---|
| value: string | Markdown-Zeichenfolge. |
| Gibt zurück | Beschreibung |
| MarkdownString |
appendText(wert: string): MarkdownString
Hängt den gegebenen String an diese Markdown-Zeichenfolge an und maskiert ihn.
| Parameter | Beschreibung |
|---|---|
| value: string | Klartext. |
| Gibt zurück | Beschreibung |
| MarkdownString |
MarkedString
MarkedString kann verwendet werden, um für Menschen lesbaren Text zu rendern. Es handelt sich entweder um eine Markdown-Zeichenfolge oder einen Code-Block, der eine Sprache und einen Code-Snippet bereitstellt. Beachten Sie, dass Markdown-Zeichenfolgen bereinigt werden, d. h. HTML wird maskiert.
- veraltet - Dieser Typ ist veraltet. Verwenden Sie stattdessen MarkdownString.
MarkedString: string | {sprache: string, wert: string}
McpHttpServerDefinition
McpHttpServerDefinition repräsentiert einen MCP-Server, der über den Streamable HTTP-Transport verfügbar ist.
Konstruktoren
new McpHttpServerDefinition(label: string, uri: Uri, headers?: Record<string, string>, version?: string): McpHttpServerDefinition
| Parameter | Beschreibung |
|---|---|
| label: string | Der für Menschen lesbare Name des Servers. |
| uri: Uri | Die URI des Servers. |
| headers?: Record<string, string> | Optionale zusätzliche Header, die mit jeder Anfrage an den Server gesendet werden. |
| version?: string | |
| Gibt zurück | Beschreibung |
| McpHttpServerDefinition |
Eigenschaften
headers: Record<string, string>
Optionale zusätzliche Header, die mit jeder Anfrage an den Server gesendet werden.
Der für Menschen lesbare Name des Servers.
uri: Uri
Die URI des Servers. Der Editor stellt eine POST-Anfrage an diese URI, um jede Sitzung zu starten.
Optionale Versionsidentifikation für den Server. Wenn sich diese ändert, zeigt der Editor an, dass sich die Tools geändert haben und fordert zum Aktualisieren auf.
McpServerDefinition
Definitionen, die verschiedene Arten von Model Context Protocol-Servern beschreiben und von McpServerDefinitionProvider zurückgegeben werden können.
McpServerDefinition: McpStdioServerDefinition | McpHttpServerDefinition
McpServerDefinitionProvider<T>
Ein Typ, der Model Context Protocol-Serverdefinitionen bereitstellen kann. Dies sollte während der Aktivierung der Erweiterung mit lm.registerMcpServerDefinitionProvider registriert werden.
Events
onDidChangeMcpServerDefinitions?: Event<void>
Optionales Ereignis, das ausgelöst wird, um zu signalisieren, dass sich die Menge der verfügbaren Server geändert hat.
Methoden
provideMcpServerDefinitions(token: CancellationToken): ProviderResult<T[]>
Stellt verfügbare MCP-Server bereit. Der Editor ruft diese Methode eifrig auf, um die Verfügbarkeit von Servern für das Sprachmodell sicherzustellen. Daher sollten Erweiterungen keine Aktionen ausführen, die eine Benutzerinteraktion erfordern, wie z. B. die Authentifizierung.
| Parameter | Beschreibung |
|---|---|
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T[]> | Ein Array von verfügbaren MCP-Servern. |
resolveMcpServerDefinition(server: T, token: CancellationToken): ProviderResult<T>
Diese Funktion wird aufgerufen, wenn der Editor einen MCP-Server starten muss. Zu diesem Zeitpunkt kann die Erweiterung alle Aktionen ausführen, die eine Benutzerinteraktion erfordern, wie z. B. die Authentifizierung. Jede nicht-readonly Eigenschaft des Servers kann geändert werden, und die Erweiterung sollte den aufgelösten Server zurückgeben.
Die Erweiterung kann undefined zurückgeben, um anzuzeigen, dass der Server nicht gestartet werden soll, oder einen Fehler auslösen. Wenn ein Tool-Aufruf aussteht, wird dieser vom Editor abgebrochen und eine Fehlermeldung an das Sprachmodell zurückgegeben.
| Parameter | Beschreibung |
|---|---|
| server: T | Der aufzulösende MCP-Server. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T> | Der aufgelöste Server oder ein Thenable, der zu einem solchen aufgelöst wird. Dies kann die angegebene |
McpStdioServerDefinition
McpStdioServerDefinition repräsentiert einen MCP-Server, der durch Ausführen eines lokalen Prozesses und Betrieb seiner stdin- und stdout-Streams verfügbar ist. Der Prozess wird als Kindprozess des Erweiterungshosts gestartet und läuft standardmäßig nicht in einer Shell-Umgebung.
Konstruktoren
new McpStdioServerDefinition(label: string, command: string, args?: string[], env?: Record<string, string | number>, version?: string): McpStdioServerDefinition
| Parameter | Beschreibung |
|---|---|
| label: string | Der für Menschen lesbare Name des Servers. |
| command: string | Der Befehl zum Starten des Servers. |
| args?: string[] | Zusätzliche Befehlszeilenargumente, die an den Server übergeben werden. |
| env?: Record<string, string | number> | Optionale zusätzliche Umgebungsinformationen für den Server. |
| version?: string | Optionale Versionsidentifikation für den Server. |
| Gibt zurück | Beschreibung |
| McpStdioServerDefinition |
Eigenschaften
Zusätzliche Befehlszeilenargumente, die an den Server übergeben werden.
Der Befehl zum Starten des Servers. Node.js-basierte Server können process.execPath verwenden, um die Version von Node.js des Editors zum Ausführen des Skripts zu verwenden.
cwd?: Uri
Das Arbeitsverzeichnis, das zum Starten des Servers verwendet wird.
env: Record<string, string | number>
Optionale zusätzliche Umgebungsinformationen für den Server. Variablen in dieser Umgebung überschreiben oder entfernen (wenn null) die Standardumgebungsvariablen des Extension Hosts des Editors.
Der für Menschen lesbare Name des Servers.
Optionale Versionsidentifikation für den Server. Wenn sich diese ändert, zeigt der Editor an, dass sich die Tools geändert haben und fordert zum Aktualisieren auf.
Memento
Ein Memento stellt ein Speicherdienstprogramm dar. Es kann Werte speichern und abrufen.
Methoden
Gibt einen Wert zurück.
| Parameter | Beschreibung |
|---|---|
| schluessel: string | Eine Zeichenkette. |
| Gibt zurück | Beschreibung |
| T | Der gespeicherte Wert oder |
get<T>(schluessel: string, standardwert: T): T
Gibt einen Wert zurück.
| Parameter | Beschreibung |
|---|---|
| schluessel: string | Eine Zeichenkette. |
| standardwert: T | Ein Wert, der zurückgegeben werden soll, wenn kein Wert ( |
| Gibt zurück | Beschreibung |
| T | Der gespeicherte Wert oder der Standardwert. |
Gibt die gespeicherten Schlüssel zurück.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| readonly string[] | Die gespeicherten Schlüssel. |
update(schluessel: string, wert: any): Thenable<void>
Speichert einen Wert. Der Wert muss JSON-serialisierbar sein.
Hinweis: Die Verwendung von undefined als Wert entfernt den Schlüssel aus dem zugrunde liegenden Speicher.
| Parameter | Beschreibung |
|---|---|
| schluessel: string | Eine Zeichenkette. |
| value: any | Ein Wert. DARF KEINE zyklischen Referenzen enthalten. |
| Gibt zurück | Beschreibung |
| Thenable<void> |
MessageItem
Stellt eine Aktion dar, die mit einer Informations-, Warn- oder Fehlermeldung angezeigt wird.
Siehe auch
Eigenschaften
Ein Hinweis für modale Dialoge, dass das Element ausgelöst werden soll, wenn der Benutzer den Dialog abbricht (z. B. durch Drücken der ESC-Taste).
Hinweis: Diese Option wird für nicht-modale Meldungen ignoriert.
Ein kurzer Titel wie 'Erneut versuchen', 'Protokoll öffnen' usw.
MessageOptions
Optionen zur Konfiguration des Meldungsverhaltens.
Siehe auch
Eigenschaften
Eine für Menschen lesbare Detailmeldung, die weniger prominent dargestellt wird. Hinweis: Details werden nur für modale Meldungen angezeigt.
Gibt an, dass diese Meldung modal sein soll.
NotebookCell
Stellt eine Zelle eines Notebooks dar, entweder eine Code-Zelle oder eine Markup-Zelle.
NotebookCell-Instanzen sind unveränderlich und werden so lange synchron gehalten, wie sie Teil ihres Notebooks sind.
Eigenschaften
document: TextDocument
Der Text dieser Zelle, dargestellt als Textdokument.
executionSummary: NotebookCellExecutionSummary
Die jüngste Ausführungszusammenfassung für diese Zelle.
Der Index dieser Zelle in ihrem enthaltenden Notebook. Der Index wird aktualisiert, wenn eine Zelle innerhalb ihres Notebooks verschoben wird. Der Index ist -1, wenn die Zelle aus ihrem Notebook entfernt wurde.
kind: NotebookCellKind
Die Art dieser Zelle.
Die Metadaten dieser Zelle. Kann alles sein, muss aber JSON-serialisierbar sein.
notebook: NotebookDocument
Das Notebook, das diese Zelle enthält.
outputs: readonly NotebookCellOutput[]
Die Ausgaben dieser Zelle.
NotebookCellData
NotebookCellData ist die Rohdarstellung von Notebook-Zellen. Sie ist Teil von NotebookData.
Konstruktoren
new NotebookCellData(art: NotebookCellKind, wert: string, spracheId: string): NotebookCellData
Erstellt neue Zellendaten. Minimale Zellendaten geben ihre Art, ihren Quellwert und den Sprachidentifikator ihres Quellcodes an.
| Parameter | Beschreibung |
|---|---|
| art: NotebookCellKind | Die Art. |
| value: string | Der Quellwert. |
| languageId: string | Der Sprachidentifikator des Quellwerts. |
| Gibt zurück | Beschreibung |
| NotebookCellData |
Eigenschaften
executionSummary?: NotebookCellExecutionSummary
Die Ausführungszusammenfassung dieser Zellendaten.
kind: NotebookCellKind
Die Art dieser Zellendaten.
Der Sprachidentifikator des Quellwerts dieser Zellendaten. Jede Sprache aus getLanguages ist möglich.
Beliebige Metadaten dieser Zellendaten. Kann alles sein, muss aber JSON-serialisierbar sein.
outputs?: NotebookCellOutput[]
Die Ausgaben dieser Zellendaten.
Der Quellwert dieser Zellendaten – entweder Quellcode oder formatierter Text.
NotebookCellExecution
Eine NotebookCellExecution ist, wie Notebook-Controller eine Notebook-Zelle während der Ausführung modifizieren.
Wenn ein Zellenausführungsobjekt erstellt wird, wechselt die Zelle in den Zustand [NotebookCellExecutionState.Pending Pending](#_NotebookCellExecutionState.Pending Pending). Wenn start(...) auf der Ausführungsaufgabe aufgerufen wird, wechselt sie in den Zustand [NotebookCellExecutionState.Executing Executing](#_NotebookCellExecutionState.Executing Executing). Wenn end(...) aufgerufen wird, wechselt sie in den Zustand [NotebookCellExecutionState.Idle Idle](#_NotebookCellExecutionState.Idle Idle).
Eigenschaften
cell: NotebookCell
Die Zelle, für die diese Ausführung erstellt wurde.
Setzt und unset die Reihenfolge dieser Zellenausführung.
token: CancellationToken
Ein Abbruch-Token, das ausgelöst wird, wenn die Zellenausführung über die Benutzeroberfläche abgebrochen wird.
Hinweis: Das Abbruch-Token wird nicht ausgelöst, wenn der Controller, der diese Ausführung erstellt hat, einen Interrupt-Handler verwendet.
Methoden
appendOutput(out: NotebookCellOutput | readonly NotebookCellOutput[], cell?: NotebookCell): Thenable<void>
Hängt die Ausgabe der ausgeführten Zelle oder einer anderen von dieser Ausführung betroffenen Zelle an.
| Parameter | Beschreibung |
|---|---|
| out: NotebookCellOutput | readonly NotebookCellOutput[] | Ausgabe, die an die aktuelle Ausgabe angehängt wird. |
| cell?: NotebookCell | Zelle, für die die Ausgabe gelöscht wird. Standardmäßig die Zelle dieser Ausführung. |
| Gibt zurück | Beschreibung |
| Thenable<void> | Ein Thenable, der aufgelöst wird, wenn die Operation abgeschlossen ist. |
appendOutputItems(items: NotebookCellOutputItem | readonly NotebookCellOutputItem[], output: NotebookCellOutput): Thenable<void>
Hängt Ausgabeelemente an eine vorhandene Zellenausgabe an.
| Parameter | Beschreibung |
|---|---|
| items: NotebookCellOutputItem | readonly NotebookCellOutputItem[] | Ausgabeelemente, die an die vorhandene Ausgabe angehängt werden. |
| output: NotebookCellOutput | Ausgabeobjekt, das bereits vorhanden ist. |
| Gibt zurück | Beschreibung |
| Thenable<void> | Ein Thenable, der aufgelöst wird, wenn die Operation abgeschlossen ist. |
clearOutput(cell?: NotebookCell): Thenable<void>
Löscht die Ausgabe der ausgeführten Zelle oder einer anderen von dieser Ausführung betroffenen Zelle.
| Parameter | Beschreibung |
|---|---|
| cell?: NotebookCell | Zelle, für die die Ausgabe gelöscht wird. Standardmäßig die Zelle dieser Ausführung. |
| Gibt zurück | Beschreibung |
| Thenable<void> | Ein Thenable, der aufgelöst wird, wenn die Operation abgeschlossen ist. |
end(success: boolean, endTime?: number): void
Signalisiert, dass die Ausführung beendet wurde.
| Parameter | Beschreibung |
|---|---|
| success: boolean | Wenn |
| endTime?: number | Die Zeit, zu der die Ausführung beendet wurde, in Millisekunden der Unix-Epoche. |
| Gibt zurück | Beschreibung |
| void |
replaceOutput(out: NotebookCellOutput | readonly NotebookCellOutput[], cell?: NotebookCell): Thenable<void>
Ersetzt die Ausgabe der ausgeführten Zelle oder einer anderen von dieser Ausführung betroffenen Zelle.
| Parameter | Beschreibung |
|---|---|
| out: NotebookCellOutput | readonly NotebookCellOutput[] | Ausgabe, die die aktuelle Ausgabe ersetzt. |
| cell?: NotebookCell | Zelle, für die die Ausgabe gelöscht wird. Standardmäßig die Zelle dieser Ausführung. |
| Gibt zurück | Beschreibung |
| Thenable<void> | Ein Thenable, der aufgelöst wird, wenn die Operation abgeschlossen ist. |
replaceOutputItems(items: NotebookCellOutputItem | readonly NotebookCellOutputItem[], output: NotebookCellOutput): Thenable<void>
Ersetzt alle Ausgabeelemente einer vorhandenen Zellenausgabe.
| Parameter | Beschreibung |
|---|---|
| items: NotebookCellOutputItem | readonly NotebookCellOutputItem[] | Ausgabeelemente, die die Elemente der vorhandenen Ausgabe ersetzen. |
| output: NotebookCellOutput | Ausgabeobjekt, das bereits vorhanden ist. |
| Gibt zurück | Beschreibung |
| Thenable<void> | Ein Thenable, der aufgelöst wird, wenn die Operation abgeschlossen ist. |
start(startTime?: number): void
Signalisiert, dass die Ausführung begonnen hat.
| Parameter | Beschreibung |
|---|---|
| startTime?: number | Die Zeit, zu der die Ausführung begonnen hat, in Millisekunden der Unix-Epoche. Wird verwendet, um die Uhr anzutreiben, die anzeigt, wie lange eine Zelle bereits ausgeführt wird. Wenn nicht angegeben, wird die Uhr nicht angezeigt. |
| Gibt zurück | Beschreibung |
| void |
NotebookCellExecutionSummary
Die Zusammenfassung einer Notebook-Zellenausführung.
Eigenschaften
Die Reihenfolge, in der die Ausführung stattfand.
Wenn die Ausführung erfolgreich abgeschlossen wurde.
timing?: {endTime: number, startTime: number}
Die Zeitpunkte, zu denen die Ausführung begann und endete, als Unix-Zeitstempel.
| Parameter | Beschreibung |
|---|---|
| endTime: number | Endzeit der Ausführung. |
| startTime: number | Startzeit der Ausführung. |
NotebookCellKind
Eine Art von Notebook-Zelle.
Enumerationselemente
Eine Markup-Zelle ist formatierter Quellcode, der zur Anzeige verwendet wird.
Eine Code-Zelle ist Quellcode, der ausgeführt werden kann und Ausgabe erzeugt.
NotebookCellOutput
Notebook-Zellenausgabe stellt ein Ergebnis der Ausführung einer Zelle dar. Es ist ein Container-Typ für mehrere Ausgabeelemente, wobei die enthaltenen Elemente dasselbe Ergebnis darstellen, aber unterschiedliche MIME-Typen verwenden.
Konstruktoren
new NotebookCellOutput(items: NotebookCellOutputItem[], metadata?: ): NotebookCellOutput
Erstellt eine neue Notebook-Ausgabe.
| Parameter | Beschreibung |
|---|---|
| items: NotebookCellOutputItem[] | Notebook-Ausgabeelemente. |
| metadata?: | Optionale Metadaten. |
| Gibt zurück | Beschreibung |
| NotebookCellOutput |
Eigenschaften
items: NotebookCellOutputItem[]
Die Ausgabeelemente dieser Ausgabe. Jedes Element muss dasselbe Ergebnis darstellen. Hinweis: Wiederholte MIME-Typen pro Ausgabe sind ungültig, und der Editor wählt nur einen davon aus.
new vscode.NotebookCellOutput([
vscode.NotebookCellOutputItem.text('Hello', 'text/plain'),
vscode.NotebookCellOutputItem.text('<i>Hello</i>', 'text/html'),
vscode.NotebookCellOutputItem.text('_Hello_', 'text/markdown'),
vscode.NotebookCellOutputItem.text('Hey', 'text/plain') // INVALID: repeated type, editor will pick just one
]);
Beliebige Metadaten für diese Zellenausgabe. Kann alles sein, muss aber JSON-serialisierbar sein.
NotebookCellOutputItem
Eine Darstellung einer Notebook-Ausgabe, definiert durch MIME-Typ und Daten.
Statisch
error(wert: Error): NotebookCellOutputItem
Factory-Funktion zur Erstellung eines NotebookCellOutputItem, das den MIME-Typ application/vnd.code.notebook.error verwendet.
| Parameter | Beschreibung |
|---|---|
| wert: Error | Ein Fehlerobjekt. |
| Gibt zurück | Beschreibung |
| NotebookCellOutputItem | Ein neues Ausgabeobjekt. |
json(wert: any, mime?: string): NotebookCellOutputItem
Factory-Funktion zur Erstellung eines NotebookCellOutputItem aus einem JSON-Objekt.
Hinweis: Diese Funktion erwartet keine "als JSON formatierte Zeichenkette", sondern ein Objekt, das als JSON formatiert werden kann. Diese Funktion löst einen Fehler aus, wenn der übergebene Wert nicht als JSON formatiert werden kann.
| Parameter | Beschreibung |
|---|---|
| value: any | Ein JSON-formatierbarer Wert. |
| mime?: string | Optionaler MIME-Typ, standardmäßig |
| Gibt zurück | Beschreibung |
| NotebookCellOutputItem | Ein neues Ausgabeobjekt. |
stderr(wert: string): NotebookCellOutputItem
Factory-Funktion zur Erstellung eines NotebookCellOutputItem, das den MIME-Typ application/vnd.code.notebook.stderr verwendet.
| Parameter | Beschreibung |
|---|---|
| value: string | Eine Zeichenkette. |
| Gibt zurück | Beschreibung |
| NotebookCellOutputItem | Ein neues Ausgabeobjekt. |
stdout(wert: string): NotebookCellOutputItem
Factory-Funktion zur Erstellung eines NotebookCellOutputItem, das den MIME-Typ application/vnd.code.notebook.stdout verwendet.
| Parameter | Beschreibung |
|---|---|
| value: string | Eine Zeichenkette. |
| Gibt zurück | Beschreibung |
| NotebookCellOutputItem | Ein neues Ausgabeobjekt. |
text(wert: string, mime?: string): NotebookCellOutputItem
Factory-Funktion zur Erstellung eines NotebookCellOutputItem aus einer Zeichenfolge.
Hinweis: Ein UTF-8-Encoder wird verwendet, um Bytes für die Zeichenkette zu erstellen.
| Parameter | Beschreibung |
|---|---|
| value: string | Eine Zeichenkette. |
| mime?: string | Optionaler MIME-Typ, standardmäßig |
| Gibt zurück | Beschreibung |
| NotebookCellOutputItem | Ein neues Ausgabeobjekt. |
Konstruktoren
new NotebookCellOutputItem(daten: Uint8Array, mime: string): NotebookCellOutputItem
Erstellt ein neues Notebook-Zellenausgabeelement.
| Parameter | Beschreibung |
|---|---|
| data: Uint8Array | Der Wert des Ausgabeelements. |
| mime: string | Der MIME-Typ des Ausgabeelements. |
| Gibt zurück | Beschreibung |
| NotebookCellOutputItem |
Eigenschaften
Die Daten dieses Ausgabeelements. Muss immer ein Array von vorzeichenlosen 8-Bit-Integern sein.
Der MIME-Typ, der bestimmt, wie die data-Eigenschaft interpretiert wird.
Notebooks haben integrierte Unterstützung für bestimmte MIME-Typen; Erweiterungen können Unterstützung für neue Typen hinzufügen und vorhandene überschreiben.
NotebookCellStatusBarAlignment
Stellt die Ausrichtung von Statusleistenelementen dar.
Enumerationselemente
Links ausgerichtet.
Rechts ausgerichtet.
NotebookCellStatusBarItem
Ein Beitrag zur Statusleiste einer Zelle
Konstruktoren
new NotebookCellStatusBarItem(text: string, alignment: NotebookCellStatusBarAlignment): NotebookCellStatusBarItem
Erstellt ein neues NotebookCellStatusBarItem.
| Parameter | Beschreibung |
|---|---|
| text: string | Der anzuzeigende Text für das Element. |
| alignment: NotebookCellStatusBarAlignment | Ob das Element links oder rechts ausgerichtet ist. |
| Gibt zurück | Beschreibung |
| NotebookCellStatusBarItem |
Eigenschaften
accessibilityInformation?: AccessibilityInformation
Barrierefreiheitsinformationen, die verwendet werden, wenn ein Screenreader mit diesem Element interagiert.
alignment: NotebookCellStatusBarAlignment
Ob das Element links oder rechts ausgerichtet ist.
command?: string | Command
Ein optionaler Befehl oder die Kennung eines auszuführenden Befehls beim Klicken.
Der Befehl muss bekannt sein.
Beachten Sie, dass wenn dies ein Command-Objekt ist, nur der command und die arguments vom Editor verwendet werden.
Die Priorität des Elements. Ein Element mit höherem Wert wird weiter links angezeigt.
Der anzuzeigende Text für das Element.
Ein Tooltip, der bei Hover über das Element angezeigt wird.
NotebookCellStatusBarItemProvider
Ein Anbieter, der Elemente zur Statusleiste beitragen kann, die unter dem Editor einer Zelle angezeigt wird.
Events
onDidChangeCellStatusBarItems?: Event<void>
Ein optionales Ereignis, um zu signalisieren, dass sich Statusleistenelemente geändert haben. Die Methode `provide` wird erneut aufgerufen.
Methoden
provideCellStatusBarItems(cell: NotebookCell, token: CancellationToken): ProviderResult<NotebookCellStatusBarItem | NotebookCellStatusBarItem[]>
Der Anbieter wird aufgerufen, wenn die Zelle in den Ansichtsbereich scrollt, wenn sich ihr Inhalt, ihre Ausgaben, ihre Sprache oder ihre Metadaten ändern und wenn sich ihr Ausführungsstatus ändert.
| Parameter | Beschreibung |
|---|---|
| cell: NotebookCell | Die Zelle, für die Elemente zurückgegeben werden sollen. |
| token: CancellationToken | Ein Token, das ausgelöst wird, wenn diese Anfrage abgebrochen werden soll. |
| Gibt zurück | Beschreibung |
| ProviderResult<NotebookCellStatusBarItem | NotebookCellStatusBarItem[]> | Ein oder mehrere Zellen-Statusleistenelemente |
NotebookController
Ein Notebook-Controller repräsentiert eine Entität, die Notebook-Zellen ausführen kann. Dies wird oft als Kernel bezeichnet.
Es kann mehrere Controller geben und der Editor lässt Benutzer wählen, welcher Controller für ein bestimmtes Notebook verwendet werden soll. Die Eigenschaft notebookType definiert, für welche Art von Notebooks ein Controller zuständig ist, und die Funktion updateNotebookAffinity ermöglicht es Controllern, eine Präferenz für bestimmte Notebook-Dokumente festzulegen. Wenn ein Controller ausgewählt wurde, wird sein Ereignis onDidChangeSelectedNotebooks ausgelöst.
Wenn eine Zelle ausgeführt wird, ruft der Editor den executeHandler auf und ein Controller wird erwartet, eine Notebook-Zellenausführung zu erstellen und abzuschließen. Controller können jedoch auch selbst Ausführungen erstellen.
Events
onDidChangeSelectedNotebooks: Event<{notebook: NotebookDocument, selected: boolean}>
Ein Ereignis, das ausgelöst wird, wenn ein Controller für ein Notebook-Dokument ausgewählt oder abgewählt wurde.
Es kann mehrere Controller für ein Notebook geben. In diesem Fall muss ein Controller *ausgewählt* werden. Dies ist eine Benutzergeste und geschieht entweder explizit oder implizit, wenn mit einem Notebook interagiert wird, für das ein Controller *vorgeschlagen* wurde. Wenn möglich, schlägt der Editor einen Controller vor, der am wahrscheinlichsten *ausgewählt* wird.
*Hinweis*, dass die Auswahl des Controllers gespeichert (durch die id des Controllers) und wiederhergestellt wird, sobald ein Controller neu erstellt wird oder ein Notebook geöffnet wird.
Eigenschaften
Die menschenlesbare Beschreibung, die weniger prominent dargestellt wird.
Das menschenlesbare Detail, das weniger prominent dargestellt wird.
executeHandler: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => void | Thenable<void>
Der `executeHandler` wird aufgerufen, wenn die Ausführungsgesten in der Benutzeroberfläche ausgewählt werden, z. B. `Run Cell`, `Run All`, `Run Selection` usw. Der `executeHandler` ist verantwortlich für die Erstellung und Verwaltung von Ausführungsobjekten.
| Parameter | Beschreibung |
|---|---|
| cells: NotebookCell[] | |
| notebook: NotebookDocument | |
| controller: NotebookController | |
| Gibt zurück | Beschreibung |
| void | Thenable<void> |
Die Kennung dieses Notebook-Controllers.
*Hinweis*, dass Controller anhand ihrer Kennung gespeichert werden und Erweiterungen stabile Kennungen über Sitzungen hinweg verwenden sollten.
interruptHandler?: (notebook: NotebookDocument) => void | Thenable<void>
Optionaler Unterbrechungs-Handler.
Standardmäßig wird die Ausführung von Zellen über Tokens abgebrochen. Abbruch-Tokens erfordern, dass ein Controller seine Ausführung verfolgen kann, um eine bestimmte Ausführung zu einem späteren Zeitpunkt abzubrechen. Nicht alle Szenarien erlauben dies, z. B. REPL-ähnliche Controller arbeiten oft, indem sie das aktuell Ausgeführte unterbrechen. Für diese Fälle gibt es den `interruptHandler` – er kann als Äquivalent zu SIGINT oder Control+C in Terminals betrachtet werden.
*Hinweis*, dass die Unterstützung von Abbruch-Tokens bevorzugt wird und `interruptHandler` nur verwendet werden sollte, wenn Tokens nicht unterstützt werden können.
| Parameter | Beschreibung |
|---|---|
| notebook: NotebookDocument | |
| Gibt zurück | Beschreibung |
| void | Thenable<void> |
Die menschenlesbare Beschriftung dieses Notebook-Controllers.
Der Notebook-Typ, für den dieser Controller zuständig ist.
Ein Array von Sprach-IDs, die von diesem Controller unterstützt werden. Jede Sprach-ID von getLanguages ist möglich. Wenn falsch, werden alle Sprachen unterstützt.
Beispiele
// support JavaScript and TypeScript
myController.supportedLanguages = ['javascript', 'typescript'];
// support all languages
myController.supportedLanguages = undefined; // falsy
myController.supportedLanguages = []; // falsy
supportsExecutionOrder?: boolean
Ob dieser Controller die Ausführungsreihenfolge unterstützt, sodass der Editor Platzhalter dafür rendern kann.
Methoden
createNotebookCellExecution(cell: NotebookCell): NotebookCellExecution
Erstellt eine Aufgaben-Ausführung für eine Zelle.
*Hinweis*, dass pro Zelle nur eine Ausführung gleichzeitig aktiv sein kann und ein Fehler ausgelöst wird, wenn eine Zellenausführung erstellt wird, während eine andere noch aktiv ist.
Dies sollte als Reaktion auf den Aufruf des Ausführungshandlers oder wenn die Ausführung einer Zelle von anderswo gestartet wurde, z. B. wenn eine Zelle bereits ausgeführt wurde oder die Ausführung einer Zelle von einer anderen Quelle ausgelöst wurde.
| Parameter | Beschreibung |
|---|---|
| cell: NotebookCell | Die Notebook-Zelle, für die die Ausführung erstellt werden soll. |
| Gibt zurück | Beschreibung |
| NotebookCellExecution | Eine Notebook-Zellenausführung. |
Ressourcen freigeben und zugehörige Ressourcen bereinigen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
updateNotebookAffinity(notebook: NotebookDocument, affinity: NotebookControllerAffinity): void
Ein Controller kann Affinitäten für bestimmte Notebook-Dokumente festlegen. Dies ermöglicht es, einen Controller für bestimmte Notebooks prominenter anzuzeigen.
| Parameter | Beschreibung |
|---|---|
| notebook: NotebookDocument | Das Notebook, für das eine Priorität festgelegt wird. |
| affinity: NotebookControllerAffinity | Eine Controller-Affinität. |
| Gibt zurück | Beschreibung |
| void |
NotebookControllerAffinity
Notebook-Controller-Affinität für Notebook-Dokumente.
Siehe auch NotebookController.updateNotebookAffinity
Enumerationselemente
Standard-Affinität.
Ein Controller wird für ein Notebook bevorzugt.
NotebookData
Rohe Darstellung eines Notebooks.
Erweiterungen sind dafür verantwortlich, NotebookData zu erstellen, damit der Editor ein NotebookDocument erstellen kann.
Siehe auch NotebookSerializer
Konstruktoren
new NotebookData(cells: NotebookCellData[]): NotebookData
Neue Notebook-Daten erstellen.
| Parameter | Beschreibung |
|---|---|
| cells: NotebookCellData[] | Ein Array von Zellendaten. |
| Gibt zurück | Beschreibung |
| NotebookData |
Eigenschaften
cells: NotebookCellData[]
Die Zellendaten dieser Notebook-Daten.
Beliebige Metadaten von Notebook-Daten.
NotebookDocument
Stellt ein Notebook dar, das selbst eine Sequenz von Code- oder Markup-Zellen ist. Notebook-Dokumente werden aus Notebook-Daten erstellt.
Eigenschaften
Die Anzahl der Zellen im Notebook.
true, wenn das Notebook geschlossen wurde. Ein geschlossenes Notebook wird nicht mehr synchronisiert und nicht wiederverwendet, wenn dieselbe Ressource erneut geöffnet wird.
true, wenn es ungespeicherte Änderungen gibt.
Stellt dieses Notebook eine unbenannte Datei dar, die noch nicht gespeichert wurde.
Beliebige Metadaten für dieses Notebook. Kann alles sein, muss aber JSON-serialisierbar sein.
Der Typ des Notebooks.
uri: Uri
Die zugehörige URI für dieses Notebook.
*Hinweis*, dass die meisten Notebooks das Schema file verwenden, was bedeutet, dass sie Dateien auf der Festplatte sind. Allerdings sind **nicht** alle Notebooks auf der Festplatte gespeichert, daher muss das scheme überprüft werden, bevor versucht wird, auf die zugrunde liegende Datei oder Geschwister auf der Festplatte zuzugreifen.
Siehe auch FileSystemProvider
Die Versionsnummer dieses Notebooks (sie wird nach jeder Änderung, einschließlich Rückgängigmachen/Wiederherstellen, strikt erhöht).
Methoden
cellAt(index: number): NotebookCell
Gibt die Zelle am angegebenen Index zurück. Der Index wird an das Notebook angepasst.
| Parameter | Beschreibung |
|---|---|
| index: number | Der Index der abzurufenden Zelle. |
| Gibt zurück | Beschreibung |
| NotebookCell | Eine Zelle. |
getCells(range?: NotebookRange): NotebookCell[]
Ruft die Zellen dieses Notebooks ab. Ein Teilbereich kann durch Angabe eines Bereichs abgerufen werden. Der Bereich wird an das Notebook angepasst.
| Parameter | Beschreibung |
|---|---|
| range?: NotebookRange | Ein Notebook-Bereich. |
| Gibt zurück | Beschreibung |
| NotebookCell[] | Die Zellen, die vom Bereich oder allen Zellen abgedeckt werden. |
Speichert das Dokument. Das Speichern wird vom entsprechenden Serializer übernommen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| Thenable<boolean> | Ein Promise, der mit |
NotebookDocumentCellChange
Beschreibt eine Änderung an einer Notebook-Zelle.
Siehe auch NotebookDocumentChangeEvent
Eigenschaften
cell: NotebookCell
Die betroffene Zelle.
document: TextDocument
Das Dokument der Zelle oder undefined, wenn es sich nicht geändert hat.
*Hinweis*, dass Sie das Ereignis onDidChangeTextDocument für detaillierte Änderungsinformationen, wie z. B. welche Bearbeitungen durchgeführt wurden, verwenden sollten.
executionSummary: NotebookCellExecutionSummary
Die neue Ausführungszusammenfassung der Zelle oder undefined, wenn sie sich nicht geändert hat.
Die neuen Metadaten der Zelle oder undefined, wenn sie sich nicht geändert haben.
outputs: readonly NotebookCellOutput[]
Die neuen Ausgaben der Zelle oder undefined, wenn sie sich nicht geändert haben.
NotebookDocumentChangeEvent
Ein Ereignis, das eine transaktionale Änderung eines Notebooks beschreibt.
Eigenschaften
cellChanges: readonly NotebookDocumentCellChange[]
Ein Array von Zellenänderungen.
contentChanges: readonly NotebookDocumentContentChange[]
Ein Array von Inhaltsänderungen, die hinzugefügte oder entfernte Zellen beschreiben.
Die neuen Metadaten des Notebooks oder undefined, wenn sie sich nicht geändert haben.
notebook: NotebookDocument
Das betroffene Notebook.
NotebookDocumentContentChange
Beschreibt eine strukturelle Änderung an einem Notebook-Dokument, z. B. neu hinzugefügte und entfernte Zellen.
Siehe auch NotebookDocumentChangeEvent
Eigenschaften
addedCells: readonly NotebookCell[]
Zellen, die dem Dokument hinzugefügt wurden.
range: NotebookRange
removedCells: readonly NotebookCell[]
Zellen, die aus dem Dokument entfernt wurden.
NotebookDocumentContentOptions
Notebook-Inhaltsoptionen definieren, welche Teile eines Notebooks gespeichert werden. Beachten Sie,
Zum Beispiel kann ein Notebook-Serializer die Speicherung von Ausgaben ausschließen, und in diesem Fall markiert der Editor ein Notebook nicht als schmutzig, wenn sich seine Ausgabe geändert hat.
Eigenschaften
Steuert, ob ein Änderungereignis für eine Zelle-Metadaten-Eigenschaft Änderungereignisse des Notebook-Dokument-Inhalts auslöst und ob es im Diff-Editor verwendet wird, standardmäßig false. Wenn der Inhaltsanbieter eine Metadaten-Eigenschaft nicht im Dokument speichert, sollte sie auf true gesetzt werden.
Steuert, ob ein Änderungereignis für eine Dokumenten-Metadaten-Eigenschaft ein Änderungereignis des Notebook-Dokument-Inhalts auslöst und ob es im Diff-Editor verwendet wird, standardmäßig false. Wenn der Inhaltsanbieter eine Metadaten-Eigenschaft nicht im Dokument speichert, sollte sie auf true gesetzt werden.
Steuert, ob Ausgabeänderungsereignisse Änderungereignisse des Notebook-Dokument-Inhalts auslösen und ob sie im Diff-Editor verwendet werden, standardmäßig false. Wenn der Inhaltsanbieter die Ausgaben nicht im Dokument speichert, sollte dies auf true gesetzt werden.
NotebookDocumentShowOptions
Repräsentiert Optionen zur Konfiguration des Verhaltens beim Anzeigen eines Notebook-Dokuments in einem Notebook-Editor.
Eigenschaften
Ein optionales Flag, das, wenn es true ist, verhindert, dass der Notebook-Editor den Fokus erhält.
Ein optionales Flag, das steuert, ob ein Notebook-Editor-Tab als Vorschau angezeigt wird. Vorschau-Tabs werden ersetzt und wiederverwendet, bis sie als "bleibend" markiert werden – entweder explizit oder durch Bearbeitung. Das Standardverhalten hängt von der Einstellung workbench.editor.enablePreview ab.
selections?: readonly NotebookRange[]
Eine optionale Auswahl, die für das Dokument im Notebook-Editor angewendet werden soll.
viewColumn?: ViewColumn
Eine optionale Ansichtsspalte, in der der Notebook-Editor angezeigt werden soll. Der Standard ist die aktive Spalte. Spalten, die nicht existieren, werden bis zum Maximum von ViewColumn.Nine erstellt. Verwenden Sie ViewColumn.Beside, um den Editor neben dem aktuell aktiven zu öffnen.
NotebookDocumentWillSaveEvent
Ein Ereignis, das ausgelöst wird, wenn ein Notebook-Dokument gespeichert werden soll.
Um Änderungen am Dokument vorzunehmen, bevor es gespeichert wird, rufen Sie die Funktion waitUntil mit einem Thenable auf, der zu einem WorkspaceEdit aufgelöst wird.
Eigenschaften
notebook: NotebookDocument
Das Notebook-Dokument, das gespeichert werden soll.
reason: TextDocumentSaveReason
Der Grund, warum das Speichern ausgelöst wurde.
token: CancellationToken
Ein Abbruch-Token.
Methoden
waitUntil(thenable: Thenable<WorkspaceEdit>): void
Ermöglicht das Anhalten der Ereignisschleife und das Anwenden von Workspace-Bearbeitungen. Bearbeitungen aus nachfolgenden Aufrufen dieser Funktion werden nacheinander angewendet. Die Bearbeitungen werden *ignoriert*, wenn gleichzeitig Modifikationen am Notebook-Dokument vorgenommen wurden.
Hinweis: Diese Funktion kann nur während der Ereignisverteilung aufgerufen werden und nicht asynchron.
workspace.onWillSaveNotebookDocument(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| Parameter | Beschreibung |
|---|---|
| thenable: Thenable<WorkspaceEdit> | Ein Thenable, das zu einem WorkspaceEdit aufgelöst wird. |
| Gibt zurück | Beschreibung |
| void |
waitUntil(thenable: Thenable<any>): void
Ermöglicht das Anhalten der Ereignisschleife, bis das bereitgestellte Thenable aufgelöst wird.
Hinweis: Diese Funktion kann nur während der Ereignisverteilung aufgerufen werden.
| Parameter | Beschreibung |
|---|---|
| thenable: Thenable<any> | Ein Thenable, der das Speichern verzögert. |
| Gibt zurück | Beschreibung |
| void |
NotebookEdit
Eine Notebook-Bearbeitung repräsentiert Bearbeitungen, die auf den Inhalt eines Notebooks angewendet werden sollen.
Statisch
deleteCells(range: NotebookRange): NotebookEdit
Hilfsmittel zum Erstellen einer Bearbeitung zum Löschen von Zellen in einem Notebook.
| Parameter | Beschreibung |
|---|---|
| range: NotebookRange | Der Bereich der zu löschenden Zellen. |
| Gibt zurück | Beschreibung |
| NotebookEdit |
insertCells(index: number, newCells: NotebookCellData[]): NotebookEdit
Hilfsprogramm zum Erstellen einer Änderung, die Zellen in einem Notebook ersetzt.
| Parameter | Beschreibung |
|---|---|
| index: number | Der Index, an dem Zellen eingefügt werden. |
| newCells: NotebookCellData[] | Die neuen Notebook-Zellen. |
| Gibt zurück | Beschreibung |
| NotebookEdit |
replaceCells(range: NotebookRange, newCells: NotebookCellData[]): NotebookEdit
Hilfsprogramm zum Erstellen einer Änderung, die Zellen in einem Notebook ersetzt.
| Parameter | Beschreibung |
|---|---|
| range: NotebookRange | Der Bereich der zu ersetzenden Zellen |
| newCells: NotebookCellData[] | Die neuen Notebook-Zellen. |
| Gibt zurück | Beschreibung |
| NotebookEdit |
updateCellMetadata(index: number, newCellMetadata: ): NotebookEdit
Hilfsprogramm zum Erstellen einer Änderung, die Metadaten einer Zelle aktualisiert.
| Parameter | Beschreibung |
|---|---|
| index: number | Der Index der zu aktualisierenden Zelle. |
| newCellMetadata: | Die neuen Metadaten für die Zelle. |
| Gibt zurück | Beschreibung |
| NotebookEdit |
updateNotebookMetadata(newNotebookMetadata: ): NotebookEdit
Hilfsprogramm zum Erstellen einer Änderung, die die Metadaten des Notebooks aktualisiert.
| Parameter | Beschreibung |
|---|---|
| newNotebookMetadata: | Die neuen Metadaten für das Notebook. |
| Gibt zurück | Beschreibung |
| NotebookEdit |
Konstruktoren
new NotebookEdit(range: NotebookRange, newCells: NotebookCellData[]): NotebookEdit
Erstellt eine neue Notebook-Änderung.
| Parameter | Beschreibung |
|---|---|
| range: NotebookRange | Ein Notebook-Bereich. |
| newCells: NotebookCellData[] | Ein Array neuer Zellendaten. |
| Gibt zurück | Beschreibung |
| NotebookEdit |
Eigenschaften
Optionale neue Metadaten für die Zellen.
newCells: NotebookCellData[]
Neu eingefügte Zellen. Kann leer sein.
Optionale neue Metadaten für das Notebook.
range: NotebookRange
Bereich der bearbeiteten Zellen. Kann leer sein.
NotebookEditor
Stellt einen Notebook-Editor dar, der an ein Notebook angehängt ist. Zusätzliche Eigenschaften des NotebookEditors sind in der vorgeschlagenen API verfügbar, die später finalisiert wird.
Eigenschaften
notebook: NotebookDocument
Das Notebook-Dokument, das diesem Notebook-Editor zugeordnet ist.
selection: NotebookRange
Die primäre Auswahl in diesem Notebook-Editor.
selections: readonly NotebookRange[]
Alle Auswahlen in diesem Notebook-Editor.
Die primäre Auswahl (oder der fokussierte Bereich) ist selections[0]. Wenn das Dokument keine Zellen hat, ist die primäre Auswahl leer { start: 0, end: 0 };
viewColumn?: ViewColumn
Die Spalte, in der dieser Editor angezeigt wird.
visibleRanges: readonly NotebookRange[]
Die aktuell sichtbaren Bereiche im Editor (vertikal).
Methoden
revealRange(range: NotebookRange, revealType?: NotebookEditorRevealType): void
Scrolle wie von revealType angegeben, um den angegebenen Bereich sichtbar zu machen.
| Parameter | Beschreibung |
|---|---|
| range: NotebookRange | Ein Bereich. |
| revealType?: NotebookEditorRevealType | Die Scrollstrategie zum Sichtbarmachen von |
| Gibt zurück | Beschreibung |
| void |
NotebookEditorRevealType
Stellt einen Notebook-Editor dar, der an ein Notebook angehängt ist.
Enumerationselemente
Der Bereich wird mit so wenig Scrollen wie möglich sichtbar gemacht.
Der Bereich wird immer in der Mitte des Ansichtsfensters sichtbar gemacht.
Wenn der Bereich außerhalb des Ansichtsfensters liegt, wird er in der Mitte des Ansichtsfensters sichtbar gemacht. Andernfalls wird er mit so wenig Scrollen wie möglich sichtbar gemacht.
Der Bereich wird immer am oberen Rand des Ansichtsfensters sichtbar gemacht.
NotebookEditorSelectionChangeEvent
Stellt ein Ereignis dar, das die Änderung der Auswahlen eines Notebook-Editors beschreibt.
Eigenschaften
notebookEditor: NotebookEditor
Der Notebook-Editor, für den sich die Auswahlen geändert haben.
selections: readonly NotebookRange[]
Der neue Wert für die Auswahlen des Notebook-Editors.
NotebookEditorVisibleRangesChangeEvent
Stellt ein Ereignis dar, das die Änderung der sichtbaren Bereiche eines Notebook-Editors beschreibt.
Eigenschaften
notebookEditor: NotebookEditor
Der Notebook-Editor, für den sich die sichtbaren Bereiche geändert haben.
visibleRanges: readonly NotebookRange[]
Der neue Wert für die sichtbaren Bereiche des Notebook-Editors.
NotebookRange
Ein Notebook-Bereich repräsentiert ein geordnetes Paar von zwei Zellindizes. Es ist garantiert, dass start kleiner oder gleich end ist.
Konstruktoren
new NotebookRange(start: number, end: number): NotebookRange
Erstellt einen neuen Notebook-Bereich. Wenn start nicht kleiner oder gleich end ist, werden die Werte vertauscht.
| Parameter | Beschreibung |
|---|---|
| start: number | Startindex |
| end: number | Endindex. |
| Gibt zurück | Beschreibung |
| NotebookRange |
Eigenschaften
Der exklusive Endindex dieses Bereichs (nullbasiert).
true, wenn start und end gleich sind.
Der nullbasierte Startindex dieses Bereichs.
Methoden
with(change: {end: number, start: number}): NotebookRange
Leitet einen neuen Bereich von diesem Bereich ab.
| Parameter | Beschreibung |
|---|---|
| change: {end: number, start: number} | Ein Objekt, das eine Änderung an diesem Bereich beschreibt. |
| Gibt zurück | Beschreibung |
| NotebookRange | Ein Bereich, der die angegebene Änderung widerspiegelt. Gibt |
NotebookRendererMessaging
Renderer-Messaging wird verwendet, um mit einem einzelnen Renderer zu kommunizieren. Es wird von notebooks.createRendererMessaging zurückgegeben.
Events
onDidReceiveMessage: Event<{editor: NotebookEditor, message: any}>
Ein Ereignis, das ausgelöst wird, wenn eine Nachricht von einem Renderer empfangen wird.
Methoden
postMessage(message: any, editor?: NotebookEditor): Thenable<boolean>
Sendet eine Nachricht an einen oder alle Renderer.
| Parameter | Beschreibung |
|---|---|
| message: any | Zu sendende Nachricht |
| editor?: NotebookEditor | Der Editor, an den die Nachricht gerichtet ist. Wenn nicht angegeben, wird die Nachricht an alle Renderer gesendet. |
| Gibt zurück | Beschreibung |
| Thenable<boolean> | Ein boolescher Wert, der angibt, ob die Nachricht erfolgreich an einen Renderer geliefert wurde. |
NotebookSerializer
Der Notebook-Serializer ermöglicht es dem Editor, Notebook-Dateien zu öffnen.
Im Grunde kennt der Editor nur eine Notebook-Datenstruktur, aber nicht, wie diese Datenstruktur in eine Datei geschrieben oder aus ihr gelesen wird. Der Notebook-Serializer überbrückt diese Lücke, indem er Bytes in Notebook-Daten deserialisiert und umgekehrt.
Methoden
deserializeNotebook(content: Uint8Array, token: CancellationToken): NotebookData | Thenable<NotebookData>
Deserialisiert den Inhalt einer Notebook-Datei in die Notebook-Datenstruktur.
| Parameter | Beschreibung |
|---|---|
| content: Uint8Array | Inhalt einer Notebook-Datei. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| NotebookData | Thenable<NotebookData> | Notebook-Daten oder ein Thenable, der sich zu solchen auflöst. |
serializeNotebook(data: NotebookData, token: CancellationToken): Uint8Array | Thenable<Uint8Array>
Serialisiert Notebook-Daten in Datei-Inhalt.
| Parameter | Beschreibung |
|---|---|
| data: NotebookData | Eine Notebook-Datenstruktur. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| Uint8Array | Thenable<Uint8Array> | Ein Array von Bytes oder ein Thenable, das sich zu einem solchen auflöst. |
OnEnterRule
Beschreibt eine Regel, die beim Drücken von Enter ausgewertet wird.
Eigenschaften
action: EnterAction
Die auszuführende Aktion.
Diese Regel wird nur ausgeführt, wenn der Text nach dem Cursor diesem regulären Ausdruck entspricht.
Diese Regel wird nur ausgeführt, wenn der Text vor dem Cursor diesem regulären Ausdruck entspricht.
Diese Regel wird nur ausgeführt, wenn der Text oberhalb der aktuellen Zeile diesem regulären Ausdruck entspricht.
OnTypeFormattingEditProvider
Die DocumentFormattingProvider-Schnittstelle definiert den Vertrag zwischen Erweiterungen und der Formatierungsfunktion.
Methoden
provideOnTypeFormattingEdits(document: TextDocument, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>
Bietet Formatierungs-Edits, nachdem ein Zeichen eingegeben wurde.
Die angegebene Position und das Zeichen sollten dem Anbieter Hinweise geben, auf welchen Bereich die Position erweitert werden soll, z. B. das passende { finden, wenn } eingegeben wurde.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| position: Position | Die Position, an der der Befehl aufgerufen wurde. |
| ch: string | Das eingegebene Zeichen. |
| options: FormattingOptions | Optionen zur Steuerung der Formatierung. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<TextEdit[]> | Eine Reihe von Text-Edits oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch die Rückgabe von |
OpenDialogOptions
Optionen zur Konfiguration des Verhaltens eines Datei-Öffnen-Dialogs.
- Hinweis 1: Unter Windows und Linux kann ein Dateidialog weder ein Dateiauswähler noch ein Ordnerauswähler sein. Wenn Sie also unter diesen Plattformen sowohl
canSelectFilesals auchcanSelectFoldersauftruesetzen, wird ein Ordnerauswähler angezeigt. - Hinweis 2: Das explizite Setzen von
canSelectFilesundcanSelectFoldersauffalseist nutzlos und der Editor passt die Optionen dann stillschweigend an, um Dateien auszuwählen.
Eigenschaften
Erlaubt die Auswahl von Dateien, Standard ist true.
Erlaubt die Auswahl von Ordnern, Standard ist false.
Erlaubt die Auswahl mehrerer Dateien oder Ordner.
defaultUri?: Uri
Die Ressource, die der Dialog beim Öffnen anzeigt.
Eine Reihe von Dateifiltern, die vom Dialog verwendet werden. Jeder Eintrag ist eine menschenlesbare Bezeichnung, wie z. B. "TypeScript", und ein Array von Erweiterungen, zum Beispiel
{
'Images': ['png', 'jpg'],
'TypeScript': ['ts', 'tsx']
}
Eine menschenlesbare Zeichenkette für die Schaltfläche "Öffnen".
Dialogtitel.
Dieser Parameter kann ignoriert werden, da nicht alle Betriebssysteme einen Titel für Öffnungsdialoge anzeigen (z. B. macOS).
OutputChannel
Ein Ausgabekanal ist ein Behälter für schreibgeschützte Textinformationen.
Um eine Instanz eines OutputChannel zu erhalten, verwenden Sie createOutputChannel.
Eigenschaften
Der menschenlesbare Name dieses Ausgabekanals.
Methoden
Hängt den gegebenen Wert an den Kanal an.
| Parameter | Beschreibung |
|---|---|
| value: string | Ein String, falsche Werte werden nicht ausgegeben. |
| Gibt zurück | Beschreibung |
| void |
appendLine(value: string): void
Hängt den gegebenen Wert und ein Zeilenumbruchzeichen an den Kanal an.
| Parameter | Beschreibung |
|---|---|
| value: string | Ein String, falsche Werte werden ausgegeben. |
| Gibt zurück | Beschreibung |
| void |
Entfernt alle Ausgaben aus dem Kanal.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Ressourcen freigeben und zugehörige Ressourcen bereinigen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Blendet diesen Kanal in der Benutzeroberfläche aus.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Ersetzt alle Ausgaben des Kanals durch den gegebenen Wert.
| Parameter | Beschreibung |
|---|---|
| value: string | Ein String, falsche Werte werden nicht ausgegeben. |
| Gibt zurück | Beschreibung |
| void |
show(preserveFocus?: boolean): void
Zeigt diesen Kanal in der Benutzeroberfläche an.
| Parameter | Beschreibung |
|---|---|
| preserveFocus?: boolean | Wenn |
| Gibt zurück | Beschreibung |
| void |
show(column?: ViewColumn, preserveFocus?: boolean): void
Zeigt diesen Kanal in der Benutzeroberfläche an.
- veraltet - Verwenden Sie die Überladung mit nur einem Parameter (
show(preserveFocus?: boolean): void).
| Parameter | Beschreibung |
|---|---|
| column?: ViewColumn | Dieses Argument ist veraltet und wird ignoriert. |
| preserveFocus?: boolean | Wenn |
| Gibt zurück | Beschreibung |
| void |
OverviewRulerLane
Stellt verschiedene Positionen für die Darstellung einer Dekoration in einer Übersichtslineal-Spur dar. Das Übersichtslineal unterstützt drei Spuren.
Enumerationselemente
Die linke Spur des Übersichtslineals.
Die mittlere Spur des Übersichtslineals.
Die rechte Spur des Übersichtslineals.
Alle Spuren des Übersichtslineals.
ParameterInformation
Stellt einen Parameter einer aufrufbaren Signatur dar. Ein Parameter kann eine Bezeichnung und eine Dokumentationskommentar haben.
Konstruktoren
new ParameterInformation(label: string | [number, number], documentation?: string | MarkdownString): ParameterInformation
Erstellt ein neues Parameterinformationsobjekt.
| Parameter | Beschreibung |
|---|---|
| label: string | [number, number] | Eine Beschriftungszeichenkette oder inklusive Start- und exklusive Endpunkte innerhalb der Beschriftung der enthaltenden Signatur. |
| documentation?: string | MarkdownString | Ein Dokumentationsstring. |
| Gibt zurück | Beschreibung |
| ParameterInformation |
Eigenschaften
documentation?: string | MarkdownString
Der menschenlesbare Dokumentationskommentar dieser Signatur. Wird in der Benutzeroberfläche angezeigt, kann aber weggelassen werden.
label: string | [number, number]
Die Beschriftung dieser Signatur.
Entweder eine Zeichenkette oder inklusive Start- und exklusive Endpunkte innerhalb der Beschriftung der enthaltenden Signatur. Hinweis: Eine Beschriftung vom Typ Zeichenkette muss ein Teilstring der Beschriftung der enthaltenden Signaturinformation sein.
Position
Stellt eine Zeilen- und Zeichenposition dar, z. B. die Cursorposition.
Positionsobjekte sind unveränderlich. Verwenden Sie die Methoden with oder translate, um neue Positionen aus einer bestehenden Position abzuleiten.
Konstruktoren
new Position(line: number, character: number): Position
| Parameter | Beschreibung |
|---|---|
| line: number | Ein nullbasierter Zeilenwert. |
| character: number | Ein nullbasierter Zeichenwert. |
| Gibt zurück | Beschreibung |
| Position |
Eigenschaften
Der nullbasierte Zeichenwert.
Zeichenoffsets werden mithilfe von UTF-16 Code Units ausgedrückt.
Der nullbasierte Zeilenwert.
Methoden
compareTo(other: Position): number
Vergleicht diese Position mit other.
| Parameter | Beschreibung |
|---|---|
| other: Position | Eine Position. |
| Gibt zurück | Beschreibung |
| number | Eine Zahl kleiner als Null, wenn diese Position vor der angegebenen Position liegt, eine Zahl größer als Null, wenn diese Position nach der angegebenen Position liegt, oder Null, wenn diese und die angegebene Position gleich sind. |
isAfter(other: Position): boolean
Prüft, ob diese Position nach other liegt.
| Parameter | Beschreibung |
|---|---|
| other: Position | Eine Position. |
| Gibt zurück | Beschreibung |
| boolean |
|
isAfterOrEqual(other: Position): boolean
Prüft, ob diese Position nach oder gleich other liegt.
| Parameter | Beschreibung |
|---|---|
| other: Position | Eine Position. |
| Gibt zurück | Beschreibung |
| boolean |
|
isBefore(other: Position): boolean
Prüft, ob diese Position vor other liegt.
| Parameter | Beschreibung |
|---|---|
| other: Position | Eine Position. |
| Gibt zurück | Beschreibung |
| boolean |
|
isBeforeOrEqual(other: Position): boolean
Prüft, ob diese Position vor oder gleich other liegt.
| Parameter | Beschreibung |
|---|---|
| other: Position | Eine Position. |
| Gibt zurück | Beschreibung |
| boolean |
|
isEqual(other: Position): boolean
Prüft, ob diese Position gleich other ist.
| Parameter | Beschreibung |
|---|---|
| other: Position | Eine Position. |
| Gibt zurück | Beschreibung |
| boolean |
|
translate(lineDelta?: number, characterDelta?: number): Position
Erstellt eine neue Position relativ zu dieser Position.
| Parameter | Beschreibung |
|---|---|
| lineDelta?: number | Delta-Wert für den Zeilenwert, Standard ist |
| characterDelta?: number | Delta-Wert für den Zeichenwert, Standard ist |
| Gibt zurück | Beschreibung |
| Position | Eine Position, deren Zeile und Zeichen die Summe der aktuellen Zeile und des aktuellen Zeichens sowie der entsprechenden Deltas ist. |
translate(change: {characterDelta: number, lineDelta: number}): Position
Leitet eine neue Position relativ zu dieser Position ab.
| Parameter | Beschreibung |
|---|---|
| change: {characterDelta: number, lineDelta: number} | Ein Objekt, das eine Änderung dieser Position beschreibt. |
| Gibt zurück | Beschreibung |
| Position | Eine Position, die die angegebene Änderung widerspiegelt. Gibt |
with(line?: number, character?: number): Position
Erstellt eine neue Position, die von dieser Position abgeleitet ist.
| Parameter | Beschreibung |
|---|---|
| line?: number | Der Wert, der als Zeilenwert verwendet werden soll, Standard ist der bestehende Wert |
| character?: number | Der Wert, der als Zeichenwert verwendet werden soll, Standard ist der bestehende Wert |
| Gibt zurück | Beschreibung |
| Position | Eine Position, bei der Zeile und Zeichen durch die angegebenen Werte ersetzt werden. |
with(change: {character: number, line: number}): Position
Leitet eine neue Position von dieser Position ab.
| Parameter | Beschreibung |
|---|---|
| change: {character: number, line: number} | Ein Objekt, das eine Änderung dieser Position beschreibt. |
| Gibt zurück | Beschreibung |
| Position | Eine Position, die die angegebene Änderung widerspiegelt. Gibt |
PreparedToolInvocation
Das Ergebnis eines Aufrufs von LanguageModelTool.prepareInvocation.
Eigenschaften
confirmationMessages?: LanguageModelToolConfirmationMessages
Das Vorhandensein dieser Eigenschaft zeigt an, dass der Benutzer um Bestätigung gebeten werden sollte, bevor das Tool ausgeführt wird. Der Benutzer sollte um Bestätigung für jedes Tool gebeten werden, das Nebenwirkungen hat oder potenziell gefährlich sein könnte.
invocationMessage?: string | MarkdownString
Eine benutzerdefinierte Fortschrittsnachricht, die während der Ausführung des Tools angezeigt wird.
PrepareLanguageModelChatModelOptions
Die Liste der Optionen, die an LanguageModelChatProvider.provideLanguageModelChatInformation übergeben werden
Eigenschaften
Ob der Benutzer über einen Benutzeroberflächenfluss aufgefordert werden soll oder ob Modelle stillschweigend aufgelöst werden sollen. Wenn silent true ist, werden möglicherweise nicht alle Modelle aufgelöst, da Informationen wie API-Schlüssel fehlen.
ProcessExecution
Die Ausführung einer Aufgabe erfolgt als externer Prozess ohne Shell-Interaktion.
Konstruktoren
new ProcessExecution(process: string, options?: ProcessExecutionOptions): ProcessExecution
Erstellt eine Prozessausführung.
| Parameter | Beschreibung |
|---|---|
| process: string | Der zu startende Prozess. |
| options?: ProcessExecutionOptions | Optionale Optionen für den gestarteten Prozess. |
| Gibt zurück | Beschreibung |
| ProcessExecution |
new ProcessExecution(process: string, args: string[], options?: ProcessExecutionOptions): ProcessExecution
Erstellt eine Prozessausführung.
| Parameter | Beschreibung |
|---|---|
| process: string | Der zu startende Prozess. |
| args: string[] | Argumente, die an den Prozess übergeben werden sollen. |
| options?: ProcessExecutionOptions | Optionale Optionen für den gestarteten Prozess. |
| Gibt zurück | Beschreibung |
| ProcessExecution |
Eigenschaften
Die an den Prozess übergebenen Argumente. Standardmäßig ein leeres Array.
options?: ProcessExecutionOptions
Die Prozessoptionen, die bei der Ausführung des Prozesses verwendet werden. Standardmäßig undefiniert.
Der auszuführende Prozess.
ProcessExecutionOptions
Optionen für eine Prozessausführung
Eigenschaften
Das aktuelle Arbeitsverzeichnis des ausgeführten Programms oder der Shell. Wenn weggelassen, wird die aktuelle Arbeitsbereichswurzel des Tools verwendet.
Die zusätzliche Umgebung des ausgeführten Programms oder Shells. Wenn weggelassen, wird die Umgebung des Elternprozesses verwendet. Wenn angegeben, wird sie mit der Umgebung des Elternprozesses zusammengeführt.
Progress<T>
Definiert eine verallgemeinerte Methode zur Meldung von Fortschrittsaktualisierungen.
Methoden
Meldet eine Fortschrittsaktualisierung.
| Parameter | Beschreibung |
|---|---|
| value: T | Ein Fortschrittselement, z. B. eine Meldung und/oder ein Bericht darüber, wie viel Arbeit abgeschlossen wurde |
| Gibt zurück | Beschreibung |
| void |
ProgressLocation
Ein Ort im Editor, an dem Fortschrittsinformationen angezeigt werden können. Abhängig vom Ort, wie der Fortschritt visuell dargestellt wird.
Enumerationselemente
Fortschritt für die Source-Control-Ansicht anzeigen, als Overlay für das Symbol und als Fortschrittsbalken innerhalb der Ansicht (wenn sichtbar). Weder Abbruch noch diskreter Fortschritt oder eine Beschriftung zur Beschreibung der Operation werden unterstützt.
Fortschritt in der Statusleiste des Editors anzeigen. Weder Abbruch noch diskreter Fortschritt werden unterstützt. Unterstützung für die Darstellung von Theme-Icons über die $(<name>)-Syntax in der Fortschrittsbeschriftung.
Fortschritt als Benachrichtigung mit einer optionalen Abbrechen-Schaltfläche anzeigen. Unterstützt die Anzeige von unendlich und diskret, unterstützt jedoch nicht die Darstellung von Symbolen.
ProgressOptions
Wertobjekt, das beschreibt, wo und wie der Fortschritt angezeigt werden soll.
Eigenschaften
Steuert, ob eine Abbrechen-Schaltfläche angezeigt werden soll, damit der Benutzer den lang andauernden Vorgang abbrechen kann. Beachten Sie, dass derzeit nur ProgressLocation.Notification das Anzeigen einer Abbrechen-Schaltfläche unterstützt.
location: ProgressLocation | {viewId: string}
Der Ort, an dem der Fortschritt angezeigt werden soll.
Eine für Menschen lesbare Zeichenkette, die zur Beschreibung des Vorgangs verwendet wird.
ProvideLanguageModelChatResponseOptions
Die Anbieterversion von LanguageModelChatRequestOptions
Eigenschaften
Eine Reihe von Optionen, die das Verhalten des Sprachmodells steuern. Diese Optionen sind spezifisch für das Sprachmodell.
toolMode: LanguageModelChatToolMode
Der zu verwendende Tool-Auswahlmodus. Der Anbieter muss dies berücksichtigen.
tools?: readonly LanguageModelChatTool[]
Eine optionale Liste von Tools, die dem Sprachmodell zur Verfügung stehen. Dies können registrierte Tools sein, die über lm.tools verfügbar sind, oder private Tools, die einfach innerhalb der aufrufenden Erweiterung implementiert sind.
Wenn die LLM die Verwendung eines dieser Tools anfordert, gibt sie einen LanguageModelToolCallPart in LanguageModelChatResponse.stream zurück. Es liegt in der Verantwortung des Aufrufers, das Tool aufzurufen. Wenn es sich um ein in lm.tools registriertes Tool handelt, bedeutet dies den Aufruf von lm.invokeTool.
Anschließend kann das Tool-Ergebnis an die LLM übergeben werden, indem eine Assistenten-Art von LanguageModelChatMessage mit einem LanguageModelToolCallPart erstellt wird, gefolgt von einer Benutzernachricht mit einem LanguageModelToolResultPart.
ProviderResult<T>
Ein Anbieterergebnis repräsentiert die Werte, die ein Anbieter, wie z. B. der HoverProvider, zurückgeben kann. Manchmal ist dies der tatsächliche Ergebnistyp T, wie z. B. Hover, oder ein Thenable, der zu diesem Typ T aufgelöst wird. Zusätzlich können null und undefined zurückgegeben werden – entweder direkt oder von einem Thenable.
Die untenstehenden Snippets sind alle gültige Implementierungen des HoverProvider
let a: HoverProvider = {
provideHover(doc, pos, token): ProviderResult<Hover> {
return new Hover('Hello World');
}
};
let b: HoverProvider = {
provideHover(doc, pos, token): ProviderResult<Hover> {
return new Promise(resolve => {
resolve(new Hover('Hello World'));
});
}
};
let c: HoverProvider = {
provideHover(doc, pos, token): ProviderResult<Hover> {
return; // undefined
}
};
ProviderResult: T | undefined | null | Thenable<T | undefined | null>
Pseudoterminal
Definiert die Schnittstelle eines Terminal-PTYs, die es Erweiterungen ermöglicht, ein Terminal zu steuern.
Events
onDidChangeName?: Event<string>
Ein Ereignis, das beim Auslösen die Änderung des Namens des Terminals ermöglicht.
Ereignisse, die vor dem Aufruf von Pseudoterminal.open ausgelöst werden, werden ignoriert.
Beispiel: Ändern des Terminalnamens in "Mein neues Terminal".
const writeEmitter = new vscode.EventEmitter<string>();
const changeNameEmitter = new vscode.EventEmitter<string>();
const pty: vscode.Pseudoterminal = {
onDidWrite: writeEmitter.event,
onDidChangeName: changeNameEmitter.event,
open: () => changeNameEmitter.fire('My new terminal'),
close: () => {}
};
vscode.window.createTerminal({ name: 'My terminal', pty });
onDidClose?: Event<number | void>
Ein Ereignis, das beim Auslösen signalisiert, dass das PTY geschlossen ist und das Terminal verworfen werden soll.
Ereignisse, die vor dem Aufruf von Pseudoterminal.open ausgelöst werden, werden ignoriert.
Eine Zahl kann verwendet werden, um einen Exit-Code für das Terminal bereitzustellen. Exit-Codes müssen positiv sein und ein nicht-null Exit-Code signalisiert einen Fehler, der eine Benachrichtigung für ein reguläres Terminal anzeigt und abhängigen Aufgaben die Fortsetzung ermöglicht, wenn er mit der CustomExecution-API verwendet wird.
Beispiel: Beenden des Terminals, wenn "y" gedrückt wird, andernfalls eine Benachrichtigung anzeigen.
const writeEmitter = new vscode.EventEmitter<string>();
const closeEmitter = new vscode.EventEmitter<void>();
const pty: vscode.Pseudoterminal = {
onDidWrite: writeEmitter.event,
onDidClose: closeEmitter.event,
open: () => writeEmitter.fire('Press y to exit successfully'),
close: () => {},
handleInput: data => {
if (data !== 'y') {
vscode.window.showInformationMessage('Something went wrong');
}
closeEmitter.fire();
}
};
const terminal = vscode.window.createTerminal({ name: 'Exit example', pty });
terminal.show(true);
onDidOverrideDimensions?: Event<TerminalDimensions>
Ein Ereignis, das beim Auslösen das Überschreiben der Dimensionen des Terminals ermöglicht. Beachten Sie, dass bei Einstellung die überschriebenen Dimensionen nur wirksam werden, wenn sie kleiner als die tatsächlichen Dimensionen des Terminals sind (d. h. es wird nie eine Bildlaufleiste geben). Setzen Sie auf undefined, damit das Terminal zu den regulären Dimensionen zurückkehrt (passend zur Größe des Panels).
Ereignisse, die vor dem Aufruf von Pseudoterminal.open ausgelöst werden, werden ignoriert.
Beispiel: Überschreiben der Dimensionen eines Terminals auf 20 Spalten und 10 Zeilen
const dimensionsEmitter = new vscode.EventEmitter<vscode.TerminalDimensions>();
const pty: vscode.Pseudoterminal = {
onDidWrite: writeEmitter.event,
onDidOverrideDimensions: dimensionsEmitter.event,
open: () => {
dimensionsEmitter.fire({
columns: 20,
rows: 10
});
},
close: () => {}
};
vscode.window.createTerminal({ name: 'My terminal', pty });
onDidWrite: Event<string>
Ein Ereignis, das beim Auslösen Daten in das Terminal schreibt. Im Gegensatz zu Terminal.sendText, das Text an das zugrunde liegende Pseudo-Gerät des Kindes (das Kind) sendet, schreibt dies den Text an das übergeordnete Pseudo-Gerät (das Terminal selbst).
Hinweis: Das Schreiben von \n verschiebt den Cursor nur um eine Zeile nach unten. Sie müssen auch \r schreiben, um den Cursor in die linke Zelle zu bewegen.
Ereignisse, die vor dem Aufruf von Pseudoterminal.open ausgelöst werden, werden ignoriert.
Beispiel: Rote Text in das Terminal schreiben
const writeEmitter = new vscode.EventEmitter<string>();
const pty: vscode.Pseudoterminal = {
onDidWrite: writeEmitter.event,
open: () => writeEmitter.fire('\x1b[31mHello world\x1b[0m'),
close: () => {}
};
vscode.window.createTerminal({ name: 'My terminal', pty });
Beispiel: Cursor zur 10. Zeile und 20. Spalte bewegen und ein Sternchen schreiben
writeEmitter.fire('\x1b[10;20H*');
Methoden
Implementieren Sie, um zu verarbeiten, wann das Terminal durch eine Benutzeraktion geschlossen wird.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
handleInput(data: string): void
Implementieren Sie, um eingehende Tastatureingaben im Terminal zu verarbeiten oder wenn eine Erweiterung Terminal.sendText aufruft. data enthält die Tastatureingaben/den Text, serialisiert in seine entsprechende VT-Sequenzdarstellung.
| Parameter | Beschreibung |
|---|---|
| data: string | Die eingehenden Daten. Beispiel: Eingabe im Terminal spiegeln. Die Sequenz für Enter (
|
| Gibt zurück | Beschreibung |
| void |
open(initialDimensions: TerminalDimensions): void
Implementieren Sie, um zu verarbeiten, wann das PTY geöffnet und bereit ist, Ereignisse auszulösen.
| Parameter | Beschreibung |
|---|---|
| initialDimensions: TerminalDimensions | Die Dimensionen des Terminals, dies ist undefiniert, wenn das Terminalpanel vor diesem Aufruf noch nicht geöffnet wurde. |
| Gibt zurück | Beschreibung |
| void |
setDimensions(dimensions: TerminalDimensions): void
Implementieren Sie, um zu verarbeiten, wenn sich die Anzahl der Zeilen und Spalten, die in das Terminalpanel passen, ändert, z. B. wenn sich die Schriftgröße ändert oder wenn das Panel neu dimensioniert wird. Der anfängliche Zustand der Terminaldimensionen sollte als undefined behandelt werden, bis dies ausgelöst wird, da die Größe eines Terminals erst bekannt ist, wenn es in der Benutzeroberfläche angezeigt wird.
Wenn Dimensionen durch onDidOverrideDimensions überschrieben werden, wird setDimensions weiterhin mit den regulären Paneldimensionen aufgerufen, sodass die Erweiterung weiterhin auf Dimensionsänderungen reagieren kann.
| Parameter | Beschreibung |
|---|---|
| dimensions: TerminalDimensions | Die neuen Dimensionen. |
| Gibt zurück | Beschreibung |
| void |
QuickDiffProvider
Ein Quick-Diff-Anbieter stellt eine Uri des ursprünglichen Zustands einer geänderten Ressource bereit. Der Editor verwendet diese Informationen, um Ad-hoc-Diffs innerhalb des Textes darzustellen.
Methoden
provideOriginalResource(uri: Uri, token: CancellationToken): ProviderResult<Uri>
Stellt eine Uri der ursprünglichen Ressource für eine gegebene Ressourcen-URI bereit.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die URI der im Texteditor geöffneten Ressource. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<Uri> | Ein Thenable, das zur URI der übereinstimmenden ursprünglichen Ressource aufgelöst wird. |
QuickInput
Die Basis-Schnittstelle für alle Quick-Input-Typen.
Quick-Input bietet eine einheitliche Möglichkeit für Erweiterungen, mit Benutzern über einfache UI-Elemente zu interagieren. Eine Quick-Input-Benutzeroberfläche ist zunächst nicht sichtbar. Nach der Konfiguration über ihre Eigenschaften kann die Erweiterung sie sichtbar machen, indem sie show aufruft.
Es gibt mehrere Gründe, warum diese UI ausgeblendet werden muss und die Erweiterung wird über onDidHide benachrichtigt. Beispiele hierfür sind: ein expliziter Aufruf von hide, der Benutzer drückt Esc, eine andere Eingabe-UI wird geöffnet usw.
Ein Benutzer, der Enter drückt oder eine andere Geste, die die Annahme des aktuellen Zustands impliziert, verbirgt diese UI-Komponente nicht automatisch. Es liegt an der Erweiterung zu entscheiden, ob die Eingabe des Benutzers akzeptiert werden soll und ob die UI tatsächlich durch einen Aufruf von hide ausgeblendet werden soll.
Wenn die Erweiterung diese Eingabe-UI nicht mehr benötigt, sollte sie diese dispose, um alle damit verbundenen Ressourcen freizugeben.
Events
onDidHide: Event<void>
Ein Ereignis, das signalisiert, wenn diese Eingabe-UI ausgeblendet wird.
Es gibt mehrere Gründe, warum diese UI ausgeblendet werden muss und die Erweiterung wird über onDidHide benachrichtigt. Beispiele hierfür sind: ein expliziter Aufruf von hide, der Benutzer drückt Esc, eine andere Eingabe-UI wird geöffnet usw.
Eigenschaften
Legt fest, ob die Benutzeroberfläche eine Fortschrittsanzeige anzeigen soll. Standardwert ist false.
Ändern Sie dies auf true, zum Beispiel während des Ladens weiterer Daten oder der Validierung von Benutzereingaben.
Legt fest, ob die Benutzeroberfläche Benutzereingaben zulassen soll. Standardwert ist true.
Ändern Sie dies auf false, zum Beispiel während der Validierung von Benutzereingaben oder dem Laden von Daten für den nächsten Schritt der Benutzereingabe.
Legt fest, ob die Benutzeroberfläche geöffnet bleiben soll, auch wenn der Fokus auf einen anderen Teil des Editors oder ein anderes Fenster wechselt. Standardwert ist false. Diese Einstellung wird auf dem iPad ignoriert und ist immer false.
Eine optionale aktuelle Schrittanzahl für mehrstufige Eingabeflüsse.
Ein optionaler Titel für die Eingabe-UI.
Eine optionale Gesamtzahl von Schritten für mehrstufige Eingabeflüsse.
Methoden
Entsorgen Sie diese Eingabe-UI und alle zugehörigen Ressourcen.
Wenn sie noch sichtbar ist, wird sie zuerst ausgeblendet. Nach diesem Aufruf ist die Eingabe-UI nicht mehr funktionsfähig und es sollten keine weiteren Methoden oder Eigenschaften darauf zugegriffen werden. Stattdessen sollte eine neue Eingabe-UI erstellt werden.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Blendet diese Eingabe-UI aus.
Dadurch wird auch ein onDidHide-Ereignis ausgelöst.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Macht die Eingabe-UI in ihrer aktuellen Konfiguration sichtbar.
Jede andere Eingabe-UI löst zuerst ein onDidHide-Ereignis aus.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
QuickInputButton
Eigenschaften
iconPath: IconPath
Das Symbol für die Schaltfläche.
Ein optionaler Tooltip, der beim Überfahren der Schaltfläche mit der Maus angezeigt wird.
QuickInputButtons
Statisch
Back: QuickInputButton
QuickPick<T>
Ein konkretes QuickInput, mit dem der Benutzer ein Element aus einer Liste von Elementen des Typs T auswählen kann.
Die Elemente können durch ein Filtertextfeld gefiltert werden und es gibt eine Option canSelectMany, die die Auswahl mehrerer Elemente ermöglicht.
Beachten Sie, dass in vielen Fällen die bequemere Methode window.showQuickPick einfacher zu verwenden ist. window.createQuickPick sollte verwendet werden, wenn window.showQuickPick nicht die erforderliche Flexibilität bietet.
Events
onDidAccept: Event<void>
Ein Ereignis, das signalisiert, wann der Benutzer die Annahme der ausgewählten Element(e) angezeigt hat.
onDidChangeActive: Event<readonly T[]>
Ein Ereignis, das signalisiert, wenn sich die aktiven Elemente geändert haben.
onDidChangeSelection: Event<readonly T[]>
Ein Ereignis, das signalisiert, wenn sich die ausgewählten Elemente geändert haben.
onDidChangeValue: Event<string>
Ein Ereignis, das signalisiert, wenn sich der Wert des Filtertextes geändert hat.
onDidHide: Event<void>
Ein Ereignis, das signalisiert, wenn diese Eingabe-UI ausgeblendet wird.
Es gibt mehrere Gründe, warum diese UI ausgeblendet werden muss und die Erweiterung wird über onDidHide benachrichtigt. Beispiele hierfür sind: ein expliziter Aufruf von hide, der Benutzer drückt Esc, eine andere Eingabe-UI wird geöffnet usw.
onDidTriggerButton: Event<QuickInputButton>
onDidTriggerItemButton: Event<QuickPickItemButtonEvent<T>>
Ein Ereignis, das signalisiert, wenn eine Schaltfläche in einem bestimmten QuickPickItem ausgelöst wurde.
Dieses Ereignis wird nicht für Schaltflächen in der Titelleiste ausgelöst, die Teil von buttons sind.
Eigenschaften
Aktive Elemente. Dies kann von der Erweiterung gelesen und aktualisiert werden.
Legt fest, ob die Benutzeroberfläche eine Fortschrittsanzeige anzeigen soll. Standardwert ist false.
Ändern Sie dies auf true, zum Beispiel während des Ladens weiterer Daten oder der Validierung von Benutzereingaben.
buttons: readonly QuickInputButton[]
Buttons für Aktionen in der Benutzeroberfläche.
Bestimmt, ob mehrere Elemente gleichzeitig ausgewählt werden können. Standard ist false.
Legt fest, ob die Benutzeroberfläche Benutzereingaben zulassen soll. Standardwert ist true.
Ändern Sie dies auf false, zum Beispiel während der Validierung von Benutzereingaben oder dem Laden von Daten für den nächsten Schritt der Benutzereingabe.
Legt fest, ob die Benutzeroberfläche geöffnet bleiben soll, auch wenn der Fokus auf einen anderen Teil des Editors oder ein anderes Fenster wechselt. Standardwert ist false. Diese Einstellung wird auf dem iPad ignoriert und ist immer false.
Auswählbare Elemente. Dies kann von der Erweiterung gelesen und aktualisiert werden.
Bestimmt, ob die Scroll-Position beibehalten wird, wenn die Quick-Pick-Elemente aktualisiert werden. Standard ist false.
Bestimmt, ob der Filtertext auch mit der Beschreibung der Elemente abgeglichen werden soll. Standard ist false.
Bestimmt, ob der Filtertext auch mit den Details der Elemente abgeglichen werden soll. Standard ist false.
Optionaler Platzhaltertext, der im Filtertextfeld angezeigt wird, wenn kein Wert eingegeben wurde.
Ausgewählte Elemente. Dies kann von der Erweiterung gelesen und aktualisiert werden.
Eine optionale aktuelle Schrittanzahl für mehrstufige Eingabeflüsse.
Ein optionaler Titel für die Eingabe-UI.
Eine optionale Gesamtzahl von Schritten für mehrstufige Eingabeflüsse.
Der aktuelle Wert des Filtertextes.
Methoden
Entsorgen Sie diese Eingabe-UI und alle zugehörigen Ressourcen.
Wenn sie noch sichtbar ist, wird sie zuerst ausgeblendet. Nach diesem Aufruf ist die Eingabe-UI nicht mehr funktionsfähig und es sollten keine weiteren Methoden oder Eigenschaften darauf zugegriffen werden. Stattdessen sollte eine neue Eingabe-UI erstellt werden.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Blendet diese Eingabe-UI aus.
Dadurch wird auch ein onDidHide-Ereignis ausgelöst.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Macht die Eingabe-UI in ihrer aktuellen Konfiguration sichtbar.
Jede andere Eingabe-UI löst zuerst ein onDidHide-Ereignis aus.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
QuickPickItem
Stellt ein Element dar, das aus einer Liste von Elementen ausgewählt werden kann.
Eigenschaften
Bestimmt, ob dieses Element immer angezeigt wird, auch wenn es vom Benutzer eingegeben wird.
Hinweis: Diese Eigenschaft wird ignoriert, wenn kind auf QuickPickItemKind.Separator gesetzt ist.
buttons?: readonly QuickInputButton[]
Optionale Schaltflächen, die auf diesem bestimmten Element gerendert werden.
Diese Schaltflächen lösen ein QuickPickItemButtonEvent aus, wenn sie gedrückt werden. Schaltflächen werden nur gerendert, wenn ein Quick Pick verwendet wird, der von der createQuickPick API erstellt wurde. Schaltflächen werden nicht gerendert, wenn die showQuickPick API verwendet wird.
Hinweis: Diese Eigenschaft wird ignoriert, wenn kind auf QuickPickItemKind.Separator gesetzt ist.
Eine für Menschen lesbare Zeichenkette, die weniger prominent in derselben Zeile gerendert wird.
Unterstützt die Darstellung von Theme-Icons über die $(<name>)-Syntax.
Hinweis: Diese Eigenschaft wird ignoriert, wenn kind auf QuickPickItemKind.Separator gesetzt ist.
Eine für Menschen lesbare Zeichenkette, die weniger prominent in einer separaten Zeile gerendert wird.
Unterstützt die Darstellung von Theme-Icons über die $(<name>)-Syntax.
Hinweis: Diese Eigenschaft wird ignoriert, wenn kind auf QuickPickItemKind.Separator gesetzt ist.
iconPath?: IconPath
Das Symbol für das Element.
kind?: QuickPickItemKind
Die Art dieses Elements, die bestimmt, wie es im Quick Pick gerendert wird.
Wenn nicht angegeben, ist der Standardwert QuickPickItemKind.Default.
Eine für Menschen lesbare Zeichenkette, die prominent gerendert wird.
Unterstützt die Darstellung von Theme-Icons über die $(<name>)-Syntax.
Hinweis: Wenn kind auf QuickPickItemKind.Default gesetzt ist (also ein reguläres Element anstelle eines Trennzeichens), unterstützt es die Darstellung von Theme-Icons über die $(<name>)-Syntax.
Optionales Flag, das angibt, ob dieses Element initial ausgewählt ist.
Dies wird nur berücksichtigt, wenn die showQuickPick API verwendet wird. Um dasselbe mit der createQuickPick API zu tun, setzen Sie einfach die selectedItems auf die Elemente, die Sie initial auswählen möchten.
Hinweis: Dies wird nur berücksichtigt, wenn der Picker die Auswahl mehrerer Elemente zulässt.
Siehe auch QuickPickOptions.canPickMany
Hinweis: Diese Eigenschaft wird ignoriert, wenn kind auf QuickPickItemKind.Separator gesetzt ist.
QuickPickItemButtonEvent<T>
Ein Ereignis, das eine Schaltfläche beschreibt, die auf einem QuickPickItem gedrückt wurde.
Eigenschaften
button: QuickInputButton
Die gedrückte Schaltfläche.
Das Element, zu dem die Schaltfläche gehört.
QuickPickItemKind
Definiert die Art eines QuickPick-Elements.
Enumerationselemente
Ein Trennelement, das eine visuelle Gruppierung bietet.
Wenn ein QuickPickItem den Typ Separator hat, ist das Element lediglich ein visueller Trenner und stellt kein auswählbares Element dar. Die einzige anwendbare Eigenschaft ist label. Alle anderen Eigenschaften von QuickPickItem werden ignoriert und haben keine Auswirkung.
Die Standardart für ein Element, das in der Quick Pick ausgewählt werden kann.
QuickPickOptions
Optionen zur Konfiguration des Verhaltens der Quick Pick UI.
Events
onDidSelectItem(item: string | QuickPickItem): any
Eine optionale Funktion, die aufgerufen wird, wenn ein Element ausgewählt wird.
| Parameter | Beschreibung |
|---|---|
| item: string | QuickPickItem | |
| Gibt zurück | Beschreibung |
| any |
Eigenschaften
Bestimmt, ob der Picker mehrere Auswahlen zulässt. Wenn true, ist das Ergebnis ein Array von Auswahlen.
Setzen Sie auf true, um den Picker geöffnet zu halten, wenn der Fokus auf einen anderen Teil des Editors oder ein anderes Fenster wechselt. Diese Einstellung wird auf iPads ignoriert und ist immer false.
Bestimmt, ob die description beim Filtern von Elementen berücksichtigt werden soll. Standardmäßig false.
Bestimmt, ob die detail beim Filtern von Elementen berücksichtigt werden soll. Standardmäßig false.
Eine optionale Zeichenkette, die als Platzhalter im Eingabefeld angezeigt wird, um den Benutzer zu leiten.
Ein optionaler Titel für die Quick Pick.
Range
Ein Bereich (Range) repräsentiert ein geordnetes Paar von zwei Positionen. Es ist garantiert, dass start.isBeforeOrEqual(end)
Bereichsobjekte sind unveränderlich. Verwenden Sie die Methoden with, intersection oder union, um neue Bereiche von einem bestehenden Bereich abzuleiten.
Konstruktoren
new Range(start: Position, end: Position): Range
Erstellt einen neuen Bereich aus zwei Positionen. Wenn start nicht vor oder gleich end ist, werden die Werte vertauscht.
new Range(startLine: number, startCharacter: number, endLine: number, endCharacter: number): Range
Erstellt einen neuen Bereich aus numerischen Koordinaten. Dies ist eine kürzere Entsprechung zu new Range(new Position(startLine, startCharacter), new Position(endLine, endCharacter))
| Parameter | Beschreibung |
|---|---|
| startLine: number | Ein nullbasierter Zeilenwert. |
| startCharacter: number | Ein nullbasierter Zeichenwert. |
| endLine: number | Ein nullbasierter Zeilenwert. |
| endCharacter: number | Ein nullbasierter Zeichenwert. |
| Gibt zurück | Beschreibung |
| Bereich |
Eigenschaften
end: Position
Die Endposition. Sie liegt nach oder gleich start.
true, wenn start und end gleich sind.
true, wenn start.line und end.line gleich sind.
start: Position
Die Startposition. Sie liegt vor oder gleich end.
Methoden
contains(positionOrRange: Range | Position): boolean
Prüft, ob eine Position oder ein Bereich in diesem Bereich enthalten ist.
intersection(range: Range): Range
Schneidet range mit diesem Bereich und gibt einen neuen Bereich zurück oder undefined, wenn die Bereiche keine Überlappung haben.
isEqual(other: Range): boolean
Prüft, ob other diesem Bereich entspricht.
Berechnet die Vereinigung von other mit diesem Bereich.
with(start?: Position, end?: Position): Range
Leitet einen neuen Bereich von diesem Bereich ab.
| Parameter | Beschreibung |
|---|---|
| start?: Position | Eine Position, die als Start verwendet werden soll. Der Standardwert ist der aktuelle Start. |
| end?: Position | Eine Position, die als Ende verwendet werden soll. Der Standardwert ist das aktuelle Ende. |
| Gibt zurück | Beschreibung |
| Bereich | Ein von diesem Bereich abgeleiteter Bereich mit der angegebenen Start- und Endposition. Wenn Start und Ende nicht unterschiedlich sind, wird |
with(change: {end: Position, start: Position}): Range
Leitet einen neuen Bereich von diesem Bereich ab.
ReferenceContext
Wertobjekt, das zusätzliche Informationen bei der Anforderung von Referenzen enthält.
Eigenschaften
Schließt die Deklaration des aktuellen Symbols ein.
ReferenceProvider
Die Schnittstelle des Referenzanbieters definiert den Vertrag zwischen Erweiterungen und der Referenzen finden-Funktion.
Methoden
provideReferences(document: TextDocument, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>
Stellt eine Reihe von projektweiten Referenzen für die angegebene Position und das angegebene Dokument bereit.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| position: Position | Die Position, an der der Befehl aufgerufen wurde. |
| context: ReferenceContext | Zusätzliche Informationen zur Referenzanfrage. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<Location[]> | Ein Array von Orten oder ein Thenable, das zu einem solchen aufgelöst wird. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
RelativePattern
Ein relatives Muster ist ein Helfer zum Erstellen von Glob-Mustern, die relativ zu einem Basisdateipfad abgeglichen werden. Der Basispfad kann entweder ein absoluter Dateipfad als Zeichenkette oder URI oder ein Workspace-Ordner sein, was der bevorzugte Weg zur Erstellung des relativen Musters ist.
Konstruktoren
new RelativePattern(base: string | Uri | WorkspaceFolder, pattern: string): RelativePattern
Erstellt ein neues relatives Musterobjekt mit einem Basispfad und einem Muster zum Abgleichen. Dieses Muster wird auf Dateipfade angewendet, die relativ zur Basis sind.
Beispiel
const folder = vscode.workspace.workspaceFolders?.[0];
if (folder) {
// Match any TypeScript file in the root of this workspace folder
const pattern1 = new vscode.RelativePattern(folder, '*.ts');
// Match any TypeScript file in `someFolder` inside this workspace folder
const pattern2 = new vscode.RelativePattern(folder, 'someFolder/*.ts');
}
| Parameter | Beschreibung |
|---|---|
| base: string | Uri | WorkspaceFolder | Eine Basis, gegen die dieses Muster relativ abgeglichen wird. Es wird empfohlen, einen Workspace-Ordner anzugeben, wenn das Muster innerhalb des Workspaces abgeglichen werden soll. Andernfalls sollte eine URI oder eine Zeichenkette nur dann verwendet werden, wenn das Muster für einen Dateipfad außerhalb des Workspaces bestimmt ist. |
| pattern: string | Ein Dateiglob-Muster wie |
| Gibt zurück | Beschreibung |
| RelativePattern |
Eigenschaften
Ein Basispfad, gegen den dieses Muster relativ abgeglichen wird.
Dies entspricht dem fsPath-Wert von RelativePattern.baseUri.
Hinweis: Das Aktualisieren dieses Werts aktualisiert auch RelativePattern.baseUri zu einer URI mit dem Schema file.
- veraltet - Diese Eigenschaft ist veraltet. Verwenden Sie stattdessen RelativePattern.baseUri.
baseUri: Uri
Ein Basispfad, gegen den dieses Muster relativ abgeglichen wird. Der Dateipfad muss absolut sein, keine nachgestellten Pfadtrennzeichen haben und keine relativen Segmente (. oder ..) enthalten.
Ein Dateiglob-Muster wie *.{ts,js}, das auf Dateipfade relativ zum Basispfad angewendet wird.
Beispiel: Angenommen, die Basis ist /home/work/folder und der Dateipfad ist /home/work/folder/index.js, dann wird das Dateiglob-Muster auf index.js angewendet.
RenameProvider
Die Schnittstelle des Umbenennungsanbieters definiert den Vertrag zwischen Erweiterungen und der Umbennenung-Funktion.
Methoden
prepareRename(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Range | {placeholder: string, range: Range}>
Optionale Funktion zum Auflösen und Validieren einer Position, bevor die Umbenennung ausgeführt wird. Das Ergebnis kann ein Bereich oder ein Bereich mit einem Platzhaltertext sein. Der Platzhaltertext sollte der Bezeichner des umzubenennenden Symbols sein - wenn er weggelassen wird, wird der Text im zurückgegebenen Bereich verwendet.
Hinweis: Diese Funktion sollte eine Ausnahme auslösen oder ein abgelehntes Thenable zurückgeben, wenn die angegebene Position keine Umbenennung zulässt.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem die Umbenennung aufgerufen wird. |
| position: Position | Die Position, an der die Umbenennung aufgerufen wird. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<Range | {placeholder: string, range: Range}> | Der Bereich oder Bereich und Platzhaltertext des umzubenennenden Bezeichners. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
provideRenameEdits(document: TextDocument, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit>
Stellt eine Änderung bereit, die beschreibt, welche Änderungen an einer oder mehreren Ressourcen vorgenommen werden müssen, um ein Symbol in einen anderen Namen umzubenennen.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| position: Position | Die Position, an der der Befehl aufgerufen wurde. |
| newName: string | Der neue Name des Symbols. Wenn der angegebene Name ungültig ist, muss der Anbieter ein abgelehntes Promise zurückgeben. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<WorkspaceEdit> | Eine Workspace-Änderung oder ein Thenable, das zu einer solchen aufgelöst wird. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
RunOptions
Ausführungsoptionen für eine Aufgabe.
Eigenschaften
Steuert, ob Task-Variablen bei erneuter Ausführung neu ausgewertet werden.
SaveDialogOptions
Optionen zur Konfiguration des Verhaltens eines Dateispeicherdialogs.
Eigenschaften
defaultUri?: Uri
Die Ressource, die der Dialog beim Öffnen anzeigt.
Eine Reihe von Dateifiltern, die vom Dialog verwendet werden. Jeder Eintrag ist eine menschenlesbare Bezeichnung, wie z. B. "TypeScript", und ein Array von Erweiterungen, zum Beispiel
{
'Images': ['png', 'jpg'],
'TypeScript': ['ts', 'tsx']
}
Eine für Menschen lesbare Zeichenkette für die Speicher-Schaltfläche.
Dialogtitel.
Dieser Parameter kann ignoriert werden, da nicht alle Betriebssysteme einen Titel für Speicherdialoge anzeigen (z. B. macOS).
SecretStorage
Stellt ein Speicherdienstprogramm für Geheimnisse (oder sensible Informationen) dar, die verschlüsselt gespeichert werden. Die Implementierung des Geheimnisspeichers unterscheidet sich je nach Plattform, und die Geheimnisse werden nicht über Maschinen hinweg synchronisiert.
Events
onDidChange: Event<SecretStorageChangeEvent>
Wird ausgelöst, wenn ein Geheimnis gespeichert oder gelöscht wird.
Methoden
delete(key: string): Thenable<void>
Entfernt ein Geheimnis aus dem Speicher.
| Parameter | Beschreibung |
|---|---|
| schluessel: string | Der Schlüssel, unter dem das Geheimnis gespeichert wurde. |
| Gibt zurück | Beschreibung |
| Thenable<void> |
get(key: string): Thenable<string>
Ruft ein unter dem Schlüssel gespeichertes Geheimnis ab. Gibt undefined zurück, wenn kein Passwort zu diesem Schlüssel passt.
| Parameter | Beschreibung |
|---|---|
| schluessel: string | Der Schlüssel, unter dem das Geheimnis gespeichert wurde. |
| Gibt zurück | Beschreibung |
| Thenable<string> | Der gespeicherte Wert oder |
Ruft die Schlüssel aller von dieser Erweiterung gespeicherten Geheimnisse ab.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| Thenable<string[]> |
store(key: string, value: string): Thenable<void>
Speichert ein Geheimnis unter einem gegebenen Schlüssel.
| Parameter | Beschreibung |
|---|---|
| schluessel: string | Der Schlüssel, unter dem das Geheimnis gespeichert werden soll. |
| value: string | Das Geheimnis. |
| Gibt zurück | Beschreibung |
| Thenable<void> |
SecretStorageChangeEvent
Die Ereignisdaten, die beim Hinzufügen oder Entfernen eines Geheimnisses ausgelöst werden.
Eigenschaften
Der Schlüssel des Geheimnisses, das sich geändert hat.
SelectedCompletionInfo
Beschreibt das aktuell ausgewählte Vervollständigungselement.
Eigenschaften
range: Range
Der Bereich, der ersetzt wird, wenn dieses Vervollständigungselement akzeptiert wird.
Der Text, mit dem der Bereich ersetzt wird, wenn diese Vervollständigung akzeptiert wird.
Selection
Stellt eine Textauswahl in einem Editor dar.
Konstruktoren
new Selection(anchor: Position, active: Position): Selection
Erstellt eine Auswahl aus zwei Positionen.
new Selection(anchorLine: number, anchorCharacter: number, activeLine: number, activeCharacter: number): Selection
Erstellt eine Auswahl aus vier Koordinaten.
| Parameter | Beschreibung |
|---|---|
| anchorLine: number | Ein nullbasierter Zeilenwert. |
| anchorCharacter: number | Ein nullbasierter Zeichenwert. |
| activeLine: number | Ein nullbasierter Zeilenwert. |
| activeCharacter: number | Ein nullbasierter Zeichenwert. |
| Gibt zurück | Beschreibung |
| Auswahl |
Eigenschaften
active: Position
Die Cursorposition. Diese Position kann vor oder nach anchor liegen.
anchor: Position
Die Position, an der die Auswahl beginnt. Diese Position kann vor oder nach active liegen.
end: Position
Die Endposition. Sie liegt nach oder gleich start.
true, wenn start und end gleich sind.
true, wenn start.line und end.line gleich sind.
start: Position
Die Startposition. Sie liegt vor oder gleich end.
Methoden
contains(positionOrRange: Range | Position): boolean
Prüft, ob eine Position oder ein Bereich in diesem Bereich enthalten ist.
intersection(range: Range): Range
Schneidet range mit diesem Bereich und gibt einen neuen Bereich zurück oder undefined, wenn die Bereiche keine Überlappung haben.
isEqual(other: Range): boolean
Prüft, ob other diesem Bereich entspricht.
Berechnet die Vereinigung von other mit diesem Bereich.
with(start?: Position, end?: Position): Range
Leitet einen neuen Bereich von diesem Bereich ab.
| Parameter | Beschreibung |
|---|---|
| start?: Position | Eine Position, die als Start verwendet werden soll. Der Standardwert ist der aktuelle Start. |
| end?: Position | Eine Position, die als Ende verwendet werden soll. Der Standardwert ist das aktuelle Ende. |
| Gibt zurück | Beschreibung |
| Bereich | Ein von diesem Bereich abgeleiteter Bereich mit der angegebenen Start- und Endposition. Wenn Start und Ende nicht unterschiedlich sind, wird |
with(change: {end: Position, start: Position}): Range
Leitet einen neuen Bereich von diesem Bereich ab.
SelectionRange
Ein Auswahlbereich repräsentiert einen Teil einer Auswahlhierarchie. Ein Auswahlbereich kann einen übergeordneten Auswahlbereich haben, der ihn enthält.
Konstruktoren
new SelectionRange(range: Range, parent?: SelectionRange): SelectionRange
Erstellt einen neuen Auswahlbereich.
| Parameter | Beschreibung |
|---|---|
| range: Range | Der Bereich des Auswahlbereichs. |
| parent?: SelectionRange | Das übergeordnete Element des Auswahlbereichs. |
| Gibt zurück | Beschreibung |
| SelectionRange |
Eigenschaften
parent?: SelectionRange
Der übergeordnete Auswahlbereich, der diesen Bereich enthält.
range: Range
Der Range dieses Auswahlbereichs.
SelectionRangeProvider
Die Schnittstelle des Selektionsbereichsanbieters definiert den Vertrag zwischen Erweiterungen und der Funktion "Auswahl erweitern und verkleinern".
Methoden
provideSelectionRanges(document: TextDocument, positions: readonly Position[], token: CancellationToken): ProviderResult<SelectionRange[]>
Selektionsbereiche für die angegebenen Positionen bereitstellen.
Selektionsbereiche sollten individuell und unabhängig für jede Position berechnet werden. Der Editor wird Bereiche zusammenführen und deduplizieren, aber Anbieter müssen Hierarchien von Selektionsbereichen zurückgeben, so dass ein Bereich von seinem übergeordneten Element enthalten wird.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| positions: readonly Position[] | Die Positionen, an denen der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<SelectionRange[]> | Selektionsbereiche oder ein Thenable, das zu einem solchen aufgelöst wird. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
SemanticTokens
Repräsentiert semantische Token, entweder in einem Bereich oder in einem gesamten Dokument.
Siehe auch
- provideDocumentSemanticTokens für eine Erklärung des Formats.
- SemanticTokensBuilder für eine Hilfestellung zur Erstellung einer Instanz.
Konstruktoren
new SemanticTokens(data: Uint32Array, resultId?: string): SemanticTokens
Erstellt neue semantische Token.
| Parameter | Beschreibung |
|---|---|
| data: Uint32Array | Token-Daten. |
| resultId?: string | Ergebnis-ID. |
| Gibt zurück | Beschreibung |
| SemanticTokens |
Eigenschaften
Die eigentlichen Token-Daten.
Siehe auch provideDocumentSemanticTokens für eine Erklärung des Formats.
Die Ergebnis-ID der Token.
Dies ist die ID, die an DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits (falls implementiert) übergeben wird.
SemanticTokensBuilder
Ein SemanticTokensBuilder kann beim Erstellen einer SemanticTokens-Instanz helfen, die delta-kodierte semantische Token enthält.
Konstruktoren
new SemanticTokensBuilder(legend?: SemanticTokensLegend): SemanticTokensBuilder
Erstellt einen SemanticTokensBuilder.
| Parameter | Beschreibung |
|---|---|
| legend?: SemanticTokensLegend | Eine semantische Token-Legende. |
| Gibt zurück | Beschreibung |
| SemanticTokensBuilder |
Methoden
build(resultId?: string): SemanticTokens
Fertigstellen und eine SemanticTokens-Instanz erstellen.
| Parameter | Beschreibung |
|---|---|
| resultId?: string | |
| Gibt zurück | Beschreibung |
| SemanticTokens |
push(line: number, char: number, length: number, tokenType: number, tokenModifiers?: number): void
Einen weiteren Token hinzufügen.
| Parameter | Beschreibung |
|---|---|
| line: number | Die Startzeilennummer des Tokens (absoluter Wert). |
| char: number | Das Startzeichen des Tokens (absoluter Wert). |
| length: number | Die Tokenlänge in Zeichen. |
| tokenType: number | Der kodierte Token-Typ. |
| tokenModifiers?: number | Die kodierten Token-Modifikatoren. |
| Gibt zurück | Beschreibung |
| void |
push(range: Range, tokenType: string, tokenModifiers?: readonly string[]): void
Einen weiteren Token hinzufügen. Nur verwenden, wenn eine Legende bereitgestellt wird.
| Parameter | Beschreibung |
|---|---|
| range: Range | Der Bereich des Tokens. Muss eine einzelne Zeile sein. |
| tokenType: string | Der Token-Typ. |
| tokenModifiers?: readonly string[] | Die Token-Modifikatoren. |
| Gibt zurück | Beschreibung |
| void |
SemanticTokensEdit
Repräsentiert eine Änderung an semantischen Token.
Siehe auch provideDocumentSemanticTokensEdits für eine Erklärung des Formats.
Konstruktoren
new SemanticTokensEdit(start: number, deleteCount: number, data?: Uint32Array): SemanticTokensEdit
Erstellt eine semantische Token-Änderung.
| Parameter | Beschreibung |
|---|---|
| start: number | Start-Offset |
| deleteCount: number | Anzahl der zu entfernenden Elemente. |
| data?: Uint32Array | Einzufügende Elemente |
| Gibt zurück | Beschreibung |
| SemanticTokensEdit |
Eigenschaften
Die einzufügenden Elemente.
Die Anzahl der zu entfernenden Elemente.
Der Start-Offset der Änderung.
SemanticTokensEdits
Repräsentiert Änderungen an semantischen Token.
Siehe auch provideDocumentSemanticTokensEdits für eine Erklärung des Formats.
Konstruktoren
new SemanticTokensEdits(edits: SemanticTokensEdit[], resultId?: string): SemanticTokensEdits
Erstellt neue semantische Token-Änderungen.
| Parameter | Beschreibung |
|---|---|
| edits: SemanticTokensEdit[] | Ein Array von semantischen Token-Änderungen |
| resultId?: string | Ergebnis-ID. |
| Gibt zurück | Beschreibung |
| SemanticTokensEdits |
Eigenschaften
edits: SemanticTokensEdit[]
Die Änderungen an den Token-Daten. Alle Änderungen beziehen sich auf den ursprünglichen Datenzustand.
Die Ergebnis-ID der Token.
Dies ist die ID, die an DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits (falls implementiert) übergeben wird.
SemanticTokensLegend
Eine semantische Token-Legende enthält die benötigten Informationen, um die ganzzahlige kodierte Darstellung semantischer Token zu entschlüsseln.
Konstruktoren
new SemanticTokensLegend(tokenTypes: string[], tokenModifiers?: string[]): SemanticTokensLegend
Erstellt eine semantische Token-Legende.
| Parameter | Beschreibung |
|---|---|
| tokenTypes: string[] | Ein Array von Token-Typen. |
| tokenModifiers?: string[] | Ein Array von Token-Modifikatoren. |
| Gibt zurück | Beschreibung |
| SemanticTokensLegend |
Eigenschaften
Die möglichen Token-Modifikatoren.
Die möglichen Token-Typen.
ShellExecution
Repräsentiert die Ausführung eines Tasks in einer Shell.
Konstruktoren
new ShellExecution(commandLine: string, options?: ShellExecutionOptions): ShellExecution
Erstellt eine Shell-Ausführung mit einer vollständigen Kommandozeile.
| Parameter | Beschreibung |
|---|---|
| commandLine: string | Die auszuführende Kommandozeile. |
| options?: ShellExecutionOptions | Optionale Optionen für den Start der Shell. |
| Gibt zurück | Beschreibung |
| ShellExecution |
new ShellExecution(command: string | ShellQuotedString, args: Array<string | ShellQuotedString>, options?: ShellExecutionOptions): ShellExecution
Erstellt eine Shell-Ausführung mit einem Befehl und Argumenten. Für die eigentliche Ausführung konstruiert der Editor eine Kommandozeile aus dem Befehl und den Argumenten. Dies unterliegt der Interpretation, insbesondere bei der Anführungszeichensetzung. Wenn die vollständige Kontrolle über die Kommandozeile benötigt wird, verwenden Sie den Konstruktor, der eine ShellExecution mit der vollständigen Kommandozeile erstellt.
| Parameter | Beschreibung |
|---|---|
| command: string | ShellQuotedString | Der auszuführende Befehl. |
| args: Array<string | ShellQuotedString> | Die Befehlsargumente. |
| options?: ShellExecutionOptions | Optionale Optionen für den Start der Shell. |
| Gibt zurück | Beschreibung |
| ShellExecution |
Eigenschaften
args: Array<string | ShellQuotedString>
Die Shell-Argumente. Ist undefined, wenn mit einer vollständigen Kommandozeile erstellt.
command: string | ShellQuotedString
Der Shell-Befehl. Ist undefined, wenn mit einem Befehl und Argumenten erstellt.
Die Shell-Kommandozeile. Ist undefined, wenn mit einem Befehl und Argumenten erstellt.
options?: ShellExecutionOptions
Die Shell-Optionen, die beim Ausführen der Kommandozeile in einer Shell verwendet werden. Standardmäßig undefined.
ShellExecutionOptions
Optionen für eine Shell-Ausführung
Eigenschaften
Das aktuelle Arbeitsverzeichnis der ausgeführten Shell. Wenn weggelassen, wird der aktuelle Arbeitsbereichs-Root des Tools verwendet.
Die zusätzlichen Umgebungsvariablen der ausgeführten Shell. Wenn weggelassen, wird die Umgebung des übergeordneten Prozesses verwendet. Wenn angegeben, wird sie mit der Umgebung des übergeordneten Prozesses zusammengeführt.
Das Shell-Executable.
Die Argumente, die an das Shell-Executable übergeben werden, um den Task auszuführen. Die meisten Shells erfordern spezielle Argumente, um einen Befehl auszuführen. Zum Beispiel benötigt bash das Argument -c, um einen Befehl auszuführen, PowerShell benötigt -Command und cmd benötigt sowohl /d als auch /c.
shellQuoting?: ShellQuotingOptions
Die von dieser Shell unterstützten Anführungszeichen für die Shell.
ShellQuotedString
Ein String, der je nach verwendeter Shell in Anführungszeichen gesetzt wird.
Eigenschaften
quoting: ShellQuoting
Der zu verwendende Anführungszeichenstil.
Der tatsächliche Stringwert.
ShellQuoting
Definiert, wie ein Argument in Anführungszeichen gesetzt werden soll, wenn es Leerzeichen oder nicht unterstützte Zeichen enthält.
Enumerationselemente
Zeichen-Escaping soll verwendet werden. Dies verwendet zum Beispiel \ bei bash und ` bei PowerShell.
Starke Zeichenketten-Anführungszeichen sollen verwendet werden. Dies verwendet zum Beispiel " für Windows cmd und ' für bash und PowerShell. Starke Anführungszeichen behandeln Argumente als literale Zeichenketten. Unter PowerShell gibt echo 'The value is $(2 * 3)' The value is $(2 * 3) aus.
Schwache Zeichenketten-Anführungszeichen sollen verwendet werden. Dies verwendet zum Beispiel " für Windows cmd, bash und PowerShell. Schwache Anführungszeichen führen dennoch eine Art von Auswertung innerhalb der Anführungszeichen durch. Unter PowerShell gibt echo "The value is $(2 * 3)" The value is 6 aus.
ShellQuotingOptions
Die Anführungszeichenoptionen der Shell.
Eigenschaften
escape?: string | {charsToEscape: string, escapeChar: string}
Das Zeichen, das zum Escaping von Zeichen verwendet wird. Wenn ein String angegeben wird, werden nur Leerzeichen escaped. Wenn ein { escapeChar, charsToEscape } Literal angegeben wird, werden alle Zeichen in charsToEscape mit dem escapeChar escaped.
Das Zeichen, das für starke Anführungszeichen verwendet wird. Die Länge des Strings muss 1 sein.
Das Zeichen, das für schwache Anführungszeichen verwendet wird. Die Länge des Strings muss 1 sein.
SignatureHelp
Signature Help repräsentiert die Signatur von etwas Aufrufbarem. Es kann mehrere Signaturen geben, aber nur eine aktive und nur einen aktiven Parameter.
Konstruktoren
new SignatureHelp(): SignatureHelp
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| SignatureHelp |
Eigenschaften
Der aktive Parameter der aktiven Signatur.
Die aktive Signatur.
signatures: SignatureInformation[]
Eine oder mehrere Signaturen.
SignatureHelpContext
Zusätzliche Informationen über den Kontext, in dem ein SignatureHelpProvider ausgelöst wurde.
Eigenschaften
activeSignatureHelp: SignatureHelp
Die aktuell aktive SignatureHelp.
Die activeSignatureHelp hat ihr Feld activeSignature basierend auf der Benutzerbewegung mit den Pfeiltasten durch die verfügbaren Signaturen aktualisiert.
true, wenn Signature Help bereits angezeigt wurde, als sie ausgelöst wurde.
Neuauslösungen treten auf, wenn die Signature Help bereits aktiv ist, und können durch Aktionen wie das Eingeben eines Auslösezeichens, eine Cursorbewegung oder Änderungen des Dokumentinhalts verursacht werden.
Zeichen, das die Signature Help ausgelöst hat.
Dies ist undefined, wenn die Signature Help nicht durch Eingabe ausgelöst wurde, z. B. durch manuelles Aufrufen der Signature Help oder durch Cursorbewegungen.
triggerKind: SignatureHelpTriggerKind
Aktion, die die Signature Help ausgelöst hat.
SignatureHelpProvider
Die Schnittstelle SignatureHelpProvider definiert den Vertrag zwischen Erweiterungen und dem Feature Parameterhinweise.
Methoden
provideSignatureHelp(document: TextDocument, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult<SignatureHelp>
Hilfe für die Signatur an der angegebenen Position und im Dokument bereitstellen.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| position: Position | Die Position, an der der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| context: SignatureHelpContext | Informationen darüber, wie Signature Help ausgelöst wurde. |
| Gibt zurück | Beschreibung |
| ProviderResult<SignatureHelp> | Signature Help oder ein Thenable, das zu einem solchen aufgelöst wird. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
SignatureHelpProviderMetadata
Metadaten zu einem registrierten SignatureHelpProvider.
Eigenschaften
retriggerCharacters: readonly string[]
Liste der Zeichen, die Signature Help erneut auslösen.
Diese Auslösezeichen sind nur aktiv, wenn Signature Help bereits angezeigt wird. Alle Auslösezeichen werden auch als Neuauslösezeichen gezählt.
triggerCharacters: readonly string[]
Liste der Zeichen, die Signature Help auslösen.
SignatureHelpTriggerKind
Wie ein SignatureHelpProvider ausgelöst wurde.
Enumerationselemente
Signature Help wurde manuell vom Benutzer oder über einen Befehl aufgerufen.
Signature Help wurde durch ein Auslösezeichen ausgelöst.
Signature Help wurde durch eine Cursorbewegung oder eine Änderung des Dokumentinhalts ausgelöst.
SignatureInformation
Repräsentiert die Signatur von etwas Aufrufbarem. Eine Signatur kann eine Bezeichnung (wie ein Funktionsname), eine Dokumentations-Kommentar und eine Reihe von Parametern haben.
Konstruktoren
new SignatureInformation(label: string, documentation?: string | MarkdownString): SignatureInformation
Erstellt ein neues Signaturinformationsobjekt.
| Parameter | Beschreibung |
|---|---|
| label: string | Ein Beschriftungs-String. |
| documentation?: string | MarkdownString | Ein Dokumentationsstring. |
| Gibt zurück | Beschreibung |
| SignatureInformation |
Eigenschaften
Der Index des aktiven Parameters.
Wenn angegeben, wird dies anstelle von SignatureHelp.activeParameter verwendet.
documentation?: string | MarkdownString
Der menschenlesbare Dokumentationskommentar dieser Signatur. Wird in der Benutzeroberfläche angezeigt, kann aber weggelassen werden.
Die Bezeichnung dieser Signatur. Wird in der Benutzeroberfläche angezeigt.
parameters: ParameterInformation[]
Die Parameter dieser Signatur.
SnippetString
Ein Snippet-String ist eine Vorlage, die das Einfügen von Text ermöglicht und die Cursorposition beim Einfügen steuert.
Ein Snippet kann Tabulatorstopps und Platzhalter mit $1, $2 und ${3:foo} definieren. $0 definiert den endgültigen Tabulatorstopp, er ist standardmäßig das Ende des Snippets. Variablen werden mit $name und ${name:default value} definiert. Siehe auch die vollständige Snippet-Syntax.
Konstruktoren
new SnippetString(value?: string): SnippetString
Erstellt einen neuen Snippet-String.
| Parameter | Beschreibung |
|---|---|
| value?: string | Ein Snippet-String. |
| Gibt zurück | Beschreibung |
| SnippetString |
Eigenschaften
Der Snippet-String.
Methoden
appendChoice(values: readonly string[], number?: number): SnippetString
Builder-Funktion, die eine Auswahl (${1|a,b,c|}) an den Wert dieses Snippet-Strings anhängt.
| Parameter | Beschreibung |
|---|---|
| values: readonly string[] | Die Werte für die Auswahl - das Array von Strings |
| number?: number | Die Nummer dieses Tabulatorstopps, standardmäßig ein automatisch inkrementierender Wert ab 1. |
| Gibt zurück | Beschreibung |
| SnippetString | Dieser Snippet-String. |
appendPlaceholder(value: string | (snippet: SnippetString) => any, number?: number): SnippetString
Builder-Funktion, die einen Platzhalter (${1:value}) an den Wert dieses Snippet-Strings anhängt.
| Parameter | Beschreibung |
|---|---|
| value: string | (snippet: SnippetString) => any | Der Wert dieses Platzhalters - entweder ein String oder eine Funktion, mit der ein verschachtelter Snippet erstellt werden kann. |
| number?: number | Die Nummer dieses Tabulatorstopps, standardmäßig ein automatisch inkrementierender Wert ab 1. |
| Gibt zurück | Beschreibung |
| SnippetString | Dieser Snippet-String. |
appendTabstop(number?: number): SnippetString
Builder-Funktion, die einen Tabulatorstopp ($1, $2 usw.) an den Wert dieses Snippet-Strings anhängt.
| Parameter | Beschreibung |
|---|---|
| number?: number | Die Nummer dieses Tabulatorstopps, standardmäßig ein automatisch inkrementierender Wert ab 1. |
| Gibt zurück | Beschreibung |
| SnippetString | Dieser Snippet-String. |
appendText(string: string): SnippetString
Builder-Funktion, die den angegebenen String an den Wert dieses Snippet-Strings anhängt.
| Parameter | Beschreibung |
|---|---|
| string: string | Ein Wert, der "wie gegeben" angehängt werden soll. Der String wird escaped. |
| Gibt zurück | Beschreibung |
| SnippetString | Dieser Snippet-String. |
appendVariable(name: string, defaultValue: string | (snippet: SnippetString) => any): SnippetString
Builder-Funktion, die eine Variable (${VAR}) an den Wert dieses Snippet-Strings anhängt.
| Parameter | Beschreibung |
|---|---|
| name: string | Der Name der Variable - ohne das |
| defaultValue: string | (snippet: SnippetString) => any | Der Standardwert, der verwendet wird, wenn der Variablenname nicht aufgelöst werden kann - entweder ein String oder eine Funktion, mit der ein verschachtelter Snippet erstellt werden kann. |
| Gibt zurück | Beschreibung |
| SnippetString | Dieser Snippet-String. |
SnippetTextEdit
Ein Snippet-Edit repräsentiert eine interaktive Bearbeitung, die vom Editor durchgeführt wird.
Hinweis: Ein Snippet-Edit kann immer als normales Text-Edit ausgeführt werden. Dies geschieht, wenn kein passender Editor geöffnet ist oder wenn ein Workspace-Edit Snippet-Edits für mehrere Dateien enthält. In diesem Fall werden nur die, die dem aktiven Editor entsprechen, als Snippet-Edits und die anderen als normale Text-Edits ausgeführt.
Statisch
insert(position: Position, snippet: SnippetString): SnippetTextEdit
Hilfsmittel zur Erstellung eines Einfüge-Snippet-Edits.
| Parameter | Beschreibung |
|---|---|
| position: Position | Eine Position, die zu einem leeren Bereich wird. |
| snippet: SnippetString | Ein Snippet-String. |
| Gibt zurück | Beschreibung |
| SnippetTextEdit | Ein neues Snippet-Edit-Objekt. |
replace(range: Range, snippet: SnippetString): SnippetTextEdit
Hilfsmittel zur Erstellung eines Ersetzungs-Snippet-Edits.
| Parameter | Beschreibung |
|---|---|
| range: Range | Ein Bereich. |
| snippet: SnippetString | Ein Snippet-String. |
| Gibt zurück | Beschreibung |
| SnippetTextEdit | Ein neues Snippet-Edit-Objekt. |
Konstruktoren
new SnippetTextEdit(range: Range, snippet: SnippetString): SnippetTextEdit
Erstellt ein neues Snippet-Edit.
| Parameter | Beschreibung |
|---|---|
| range: Range | Ein Bereich. |
| snippet: SnippetString | Ein Snippet-String. |
| Gibt zurück | Beschreibung |
| SnippetTextEdit |
Eigenschaften
Ob das Snippet-Edit mit beibehaltener vorhandener Leerraum angewendet werden soll.
range: Range
Der Bereich, auf den sich diese Bearbeitung bezieht.
snippet: SnippetString
Das Snippet, das diese Bearbeitung durchführen wird.
SourceBreakpoint
Ein Haltepunkt, der durch eine Quellcode-Position spezifiziert wird.
Konstruktoren
new SourceBreakpoint(location: Location, enabled?: boolean, condition?: string, hitCondition?: string, logMessage?: string): SourceBreakpoint
Erstellt einen neuen Haltepunkt für eine Quellcode-Position.
| Parameter | Beschreibung |
|---|---|
| location: Location | |
| enabled?: boolean | |
| condition?: string | |
| hitCondition?: string | |
| logMessage?: string | |
| Gibt zurück | Beschreibung |
| SourceBreakpoint |
Eigenschaften
Ein optionaler Ausdruck für bedingte Breakpoints.
Ist der Breakpoint aktiviert.
Ein optionaler Ausdruck, der steuert, wie viele Treffer des Breakpoints ignoriert werden.
Die eindeutige ID des Breakpoints.
location: Location
Die Quell- und Zeilenposition dieses Breakpoints.
Eine optionale Nachricht, die protokolliert wird, wenn dieser Breakpoint erreicht wird. Eingebettete Ausdrücke in geschweiften Klammern werden vom Debug-Adapter interpoliert.
SourceControl
Ein Quellcode-Kontrollsystem ist in der Lage, Ressourcenzustände für den Editor bereitzustellen und auf verschiedene weise mit dem Editor in Bezug auf Quellcode-Kontrolle zu interagieren.
Eigenschaften
acceptInputCommand?: Command
Optionaler Befehl zum Akzeptieren der Eingabe.
Dieser Befehl wird aufgerufen, wenn der Benutzer den Wert in der Eingabe des Quellcode-Kontrollsystems akzeptiert.
Optionaler Commit-Vorlagen-String.
Die Quellcode-Kontrollansicht füllt die Eingabe des Quellcode-Kontrollsystems mit diesem Wert, wenn dies angebracht ist.
Die für die Benutzeroberfläche sichtbare Anzahl von Ressourcenzuständen dieser Quellcode-Kontrolle.
Wenn undefiniert, zeigt diese Quellcode-Kontrolle
- seine sichtbare Anzahl als Null an und
- trägt die Anzahl seiner Ressourcenzustände zur sichtbaren aggregierten Anzahl aller Quellcode-Kontrollen bei.
Die ID dieser Quellcode-Kontrolle.
inputBox: SourceControlInputBox
Das Eingabefeld für diese Quellcode-Kontrolle.
Die lesbare Beschriftung dieser Quellcode-Kontrolle.
quickDiffProvider?: QuickDiffProvider
Ein optionaler Schnelldifferenzanbieter.
rootUri: Uri
Die (optionale) URI der Wurzel dieser Quellcode-Kontrolle.
statusBarCommands?: Command[]
Optionale Statusleistenbefehle.
Diese Befehle werden in der Statusleiste des Editors angezeigt.
Methoden
createResourceGroup(id: string, label: string): SourceControlResourceGroup
Erstellt eine neue Ressourcengruppe.
| Parameter | Beschreibung |
|---|---|
| id: string | |
| label: string | |
| Gibt zurück | Beschreibung |
| SourceControlResourceGroup |
Diese Quellcode-Kontrolle verwerfen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
SourceControlInputBox
Stellt die Eingabefelder in der Quellcode-Kontrollansicht dar.
Eigenschaften
Steuert, ob das Eingabefeld aktiviert ist (Standard ist true).
Ein String, der als Platzhalter im Eingabefeld angezeigt wird, um den Benutzer zu leiten.
Setter und Getter für den Inhalt des Eingabefeldes.
Steuert, ob das Eingabefeld sichtbar ist (Standard ist true).
SourceControlResourceDecorations
Die Dekorationen für einen Ressourcenzustand der Quellcode-Kontrolle. Können unabhängig für helle und dunkle Designs angegeben werden.
Eigenschaften
dark?: SourceControlResourceThemableDecorations
Die Dekorationen für dunkle Designs.
Ob der Ressourcenzustand der Quellcode-Kontrolle in der Benutzeroberfläche ausgegraut werden soll.
iconPath?: string | Uri | ThemeIcon
Der Pfad zum Symbol für einen bestimmten Ressourcenzustand der Quellcode-Kontrolle.
light?: SourceControlResourceThemableDecorations
Die Dekorationen für helle Designs.
Ob der Ressourcenzustand der Quellcode-Kontrolle in der Benutzeroberfläche durchgestrichen werden soll.
Der Titel für einen bestimmten Ressourcenzustand der Quellcode-Kontrolle.
SourceControlResourceGroup
Eine Ressourcengruppe der Quellcode-Kontrolle ist eine Sammlung von Ressourcenzuständen der Quellcode-Kontrolle.
Eigenschaften
Kontextwert der Ressourcengruppe. Dies kann verwendet werden, um spezifische Aktionen für die Ressourcengruppe beizutragen. Zum Beispiel, wenn einer Ressourcengruppe der Kontextwert exportable zugewiesen wird, können Sie beim Beitragen von Aktionen zum scm/resourceGroup/context Erweiterungspunkt menus den Kontextwert für den Schlüssel scmResourceGroupState in when-Ausdrücken angeben, wie z. B. scmResourceGroupState == exportable.
"contributes": {
"menus": {
"scm/resourceGroup/context": [
{
"command": "extension.export",
"when": "scmResourceGroupState == exportable"
}
]
}
}
Dadurch wird die Aktion extension.export nur für Ressourcengruppen mit einem contextValue von exportable angezeigt.
Ob diese Ressourcengruppe der Quellcode-Kontrolle ausgeblendet wird, wenn sie keine Ressourcenzustände der Quellcode-Kontrolle enthält.
Die ID dieser Ressourcengruppe der Quellcode-Kontrolle.
Die Beschriftung dieser Ressourcengruppe der Quellcode-Kontrolle.
resourceStates: SourceControlResourceState[]
Die Sammlung der Ressourcenzustände der Quellcode-Kontrolle dieser Gruppe.
Methoden
Diese Ressourcengruppe der Quellcode-Kontrolle verwerfen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
SourceControlResourceState
Ein Ressourcenzustand der Quellcode-Kontrolle stellt den Zustand einer zugrundeliegenden Arbeitsbereichsressource innerhalb einer bestimmten Ressourcengruppe der Quellcode-Kontrolle dar.
Eigenschaften
command?: Command
Der Befehl, der ausgeführt werden soll, wenn der Ressourcenzustand in der Quellcode-Kontrollansicht geöffnet wird.
Kontextwert des Ressourcenzustands. Dies kann verwendet werden, um ressourcenspezifische Aktionen beizutragen. Zum Beispiel, wenn einer Ressource der Kontextwert diffable zugewiesen wird. Beim Beitragen von Aktionen zum scm/resourceState/context Erweiterungspunkt menus können Sie den Kontextwert für den Schlüssel scmResourceState in when-Ausdrücken angeben, wie z. B. scmResourceState == diffable.
"contributes": {
"menus": {
"scm/resourceState/context": [
{
"command": "extension.diff",
"when": "scmResourceState == diffable"
}
]
}
}
Dadurch wird die Aktion extension.diff nur für Ressourcen mit contextValue gleich diffable angezeigt.
decorations?: SourceControlResourceDecorations
Die Dekorationen für diesen Ressourcenzustand der Quellcode-Kontrolle.
resourceUri: Uri
Die URI der zugrundeliegenden Ressource innerhalb des Arbeitsbereichs.
SourceControlResourceThemableDecorations
Die themenabhängigen Dekorationen für einen Ressourcenzustand der Quellcode-Kontrolle.
Eigenschaften
iconPath?: string | Uri | ThemeIcon
Der Pfad zum Symbol für einen bestimmten Ressourcenzustand der Quellcode-Kontrolle.
StatementCoverage
Enthält Informationen zur Abdeckung für eine einzelne Anweisung oder Zeile.
Konstruktoren
new StatementCoverage(executed: number | boolean, location: Range | Position, branches?: BranchCoverage[]): StatementCoverage
| Parameter | Beschreibung |
|---|---|
| executed: number | boolean | Die Anzahl, wie oft diese Anweisung ausgeführt wurde, oder ein boolescher Wert, der angibt, ob sie ausgeführt wurde, wenn die genaue Anzahl unbekannt ist. Wenn null oder false, wird die Anweisung als nicht abgedeckt markiert. |
| location: Range | Position | Die Position der Anweisung. |
| branches?: BranchCoverage[] | Abdeckung durch Verzweigungen dieser Zeile. Wenn es sich nicht um eine Bedingung handelt, sollte dies weggelassen werden. |
| Gibt zurück | Beschreibung |
| StatementCoverage |
Eigenschaften
branches: BranchCoverage[]
Abdeckung durch Verzweigungen dieser Zeile oder Anweisung. Wenn es sich nicht um eine Bedingung handelt, ist dies leer.
Die Anzahl, wie oft diese Anweisung ausgeführt wurde, oder ein boolescher Wert, der angibt, ob sie ausgeführt wurde, wenn die genaue Anzahl unbekannt ist. Wenn null oder false, wird die Anweisung als nicht abgedeckt markiert.
Standort der Anweisung.
StatusBarAlignment
Stellt die Ausrichtung von Statusleistenelementen dar.
Enumerationselemente
Links ausgerichtet.
Rechts ausgerichtet.
StatusBarItem
Ein Statusleistenelement ist ein Beitrag zur Statusleiste, der Text und Symbole anzeigen und beim Klicken einen Befehl ausführen kann.
Eigenschaften
accessibilityInformation: AccessibilityInformation
Barrierefreiheitsinformationen, die von einem Screenreader bei der Interaktion mit diesem Statusleistenelement verwendet werden.
alignment: StatusBarAlignment
Die Ausrichtung dieses Elements.
backgroundColor: ThemeColor
Die Hintergrundfarbe für diesen Eintrag.
Hinweis: Nur die folgenden Farben werden unterstützt.
new ThemeColor('statusBarItem.errorBackground')new ThemeColor('statusBarItem.warningBackground')
Zukünftig könnten weitere Hintergrundfarben unterstützt werden.
Hinweis: Wenn eine Hintergrundfarbe gesetzt ist, kann die Statusleiste die Wahl von color überschreiben, um sicherzustellen, dass der Eintrag in allen Designs lesbar ist.
color: string | ThemeColor
Die Vordergrundfarbe für diesen Eintrag.
command: string | Command
Der Befehl oder die Kennung eines auszuführenden Befehls beim Klicken.
Der Befehl muss bekannt sein.
Beachten Sie, dass wenn dies ein Command-Objekt ist, nur der command und die arguments vom Editor verwendet werden.
Die Kennung dieses Elements.
Hinweis: Wenn keine Kennung durch die Methode window.createStatusBarItem bereitgestellt wurde, entspricht die Kennung der Erweiterungskennung.
Der Name des Eintrags, wie z. B. 'Python Language Indicator', 'Git Status' usw. Versuchen Sie, die Länge des Namens kurz zu halten und dennoch beschreibend genug, damit Benutzer verstehen können, worum es bei dem Statusleistenelement geht.
Die Priorität dieses Elements. Ein höherer Wert bedeutet, dass das Element weiter links angezeigt werden sollte.
Der anzuzeigende Text für den Eintrag. Sie können Symbole im Text einbetten, indem Sie die Syntax verwenden
Mein Text $(icon-name) enthält Symbole wie $(icon-name) dieses hier.
Dabei wird der Icon-Name aus dem ThemeIcon Iconsatz entnommen, z. B. light-bulb, thumbsup, zap usw.
tooltip: string | MarkdownString
Der Tooltip-Text, wenn Sie mit der Maus über diesen Eintrag fahren.
Methoden
Zugehörige Ressourcen verwerfen und freigeben. hide aufrufen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Das Element in der Statusleiste ausblenden.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Das Element in der Statusleiste anzeigen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
SymbolInformation
Stellt Informationen über Programmierkonstrukte wie Variablen, Klassen, Schnittstellen usw. dar.
Konstruktoren
new SymbolInformation(name: string, kind: SymbolKind, containerName: string, location: Location): SymbolInformation
Erstellt ein neues Symbolinformations-Objekt.
| Parameter | Beschreibung |
|---|---|
| name: string | Der Name des Symbols. |
| kind: SymbolKind | Die Art des Symbols. |
| containerName: string | Der Name des Symbols, das das Symbol enthält. |
| location: Location | Die Position des Symbols. |
| Gibt zurück | Beschreibung |
| SymbolInformation |
new SymbolInformation(name: string, kind: SymbolKind, range: Range, uri?: Uri, containerName?: string): SymbolInformation
Erstellt ein neues Symbolinformations-Objekt.
- veraltet - Bitte verwenden Sie den Konstruktor mit einem Location-Objekt.
| Parameter | Beschreibung |
|---|---|
| name: string | Der Name des Symbols. |
| kind: SymbolKind | Die Art des Symbols. |
| range: Range | Der Bereich der Position des Symbols. |
| uri?: Uri | Die Ressource der Position des Symbols, standardmäßig das aktuelle Dokument. |
| containerName?: string | Der Name des Symbols, das das Symbol enthält. |
| Gibt zurück | Beschreibung |
| SymbolInformation |
Eigenschaften
Der Name des Symbols, das dieses Symbol enthält.
kind: SymbolKind
Die Art dieses Symbols.
location: Location
Die Position dieses Symbols.
Der Name dieses Symbols.
tags?: readonly SymbolTag[]
Tags für dieses Symbol.
SymbolKind
Eine Symbolart.
Enumerationselemente
Die Symbolart File.
Die Symbolart Module.
Die Symbolart Namespace.
Die Symbolart Package.
Die Symbolart Class.
Die Symbolart Method.
Die Symbolart Property.
Die Symbolart Field.
Die Symbolart Constructor.
Die Symbolart Enum.
Die Symbolart Interface.
Die Symbolart Function.
Die Symbolart Variable.
Die Symbolart Constant.
Die Symbolart String.
Die Symbolart Number.
Die Symbolart Boolean.
Die Symbolart Array.
Die Symbolart Object.
Die Symbolart Key.
Die Symbolart Null.
Die Symbolart EnumMember.
Die Symbolart Struct.
Die Symbolart Event.
Die Symbolart Operator.
Die Symbolart TypeParameter.
SymbolTag
Symbol-Tags sind zusätzliche Anmerkungen, die das Rendering eines Symbols anpassen.
Enumerationselemente
Ein Symbol als veraltet rendern, normalerweise mit einem Durchstreichen.
SyntaxTokenType
Aufzählung von häufig vorkommenden Syntax-Token-Typen.
Enumerationselemente
Alles außer Tokens, die Teil von Kommentaren, Zeichenkettenliteralen und regulären Ausdrücken sind.
Ein Kommentar.
Ein Zeichenkettenliteral.
Ein regulärer Ausdruck.
Tab
Stellt einen Tab in einer Tab-Gruppe dar. Tabs sind lediglich die grafische Darstellung im Editor-Bereich. Ein zugrunde liegender Editor ist keine Garantie.
Eigenschaften
group: TabGroup
Die Gruppe, zu der der Tab gehört.
Definiert die Struktur des Tabs, d.h. Text, Notebook, Custom usw. Ressourcen und andere nützliche Eigenschaften sind auf der Tab-Art definiert.
Ob der Tab gerade aktiv ist oder nicht. Dies wird dadurch bestimmt, dass er der ausgewählte Tab in der Gruppe ist.
Ob die "Dirty"-Anzeige auf dem Tab vorhanden ist oder nicht.
Ob der Tab angeheftet ist (Anheft-Symbol vorhanden) oder nicht.
Ob der Tab im Vorschau-Modus ist oder nicht.
Der Text, der auf dem Tab angezeigt wird.
TabChangeEvent
Ein Ereignis, das Änderungen an Tabs beschreibt.
Eigenschaften
changed: readonly Tab[]
Tabs, die sich geändert haben, z.B. ihren aktiven Zustand geändert haben.
closed: readonly Tab[]
Die Tabs, die geschlossen wurden.
opened: readonly Tab[]
Die Tabs, die geöffnet wurden.
TabGroup
Stellt eine Gruppe von Tabs dar. Eine Tab-Gruppe besteht selbst aus mehreren Tabs.
Eigenschaften
activeTab: Tab
Der aktive Tab in der Gruppe. Dies ist der Tab, dessen Inhalt gerade gerendert wird.
Hinweis, dass es pro Gruppe einen aktiven Tab geben kann, aber nur eine aktive Gruppe.
Ob die Gruppe gerade aktiv ist oder nicht.
Hinweis, dass zu einem Zeitpunkt nur eine Tab-Gruppe aktiv ist, aber mehrere Tab-Gruppen einen aktiven Tab haben können.
Siehe auch Tab.isActive
tabs: readonly Tab[]
Die Liste der Tabs, die in der Gruppe enthalten sind. Diese kann leer sein, wenn die Gruppe keine offenen Tabs hat.
viewColumn: ViewColumn
Die Ansichtsspalte der Gruppe.
TabGroupChangeEvent
Ein Ereignis, das Änderungen an Tab-Gruppen beschreibt.
Eigenschaften
changed: readonly TabGroup[]
Geänderte Tab-Gruppen, z.B. die ihren aktiven Zustand geändert haben.
closed: readonly TabGroup[]
Geschlossene Tab-Gruppen.
opened: readonly TabGroup[]
Geöffnete Tab-Gruppen.
TabGroups
Stellt den Haupteditorbereich dar, der aus mehreren Gruppen besteht, die Tabs enthalten.
Events
onDidChangeTabGroups: Event<TabGroupChangeEvent>
Ein Ereignis, das ausgelöst wird, wenn sich Tab-Gruppen geändert haben.
onDidChangeTabs: Event<TabChangeEvent>
Eigenschaften
activeTabGroup: TabGroup
Die aktuell aktive Gruppe.
all: readonly TabGroup[]
Alle Gruppen im Gruppencontainer.
Methoden
close(tab: Tab | readonly Tab[], preserveFocus?: boolean): Thenable<boolean>
Schließt den Tab. Dies macht das Tab-Objekt ungültig und der Tab sollte nicht mehr für weitere Aktionen verwendet werden. Hinweis: Im Falle eines "dirty" Tabs wird ein Bestätigungsdialog angezeigt, der abgebrochen werden kann. Wenn abgebrochen, ist der Tab immer noch gültig.
| Parameter | Beschreibung |
|---|---|
| tab: Tab | readonly Tab[] | Der zu schließende Tab. |
| preserveFocus?: boolean | Wenn |
| Gibt zurück | Beschreibung |
| Thenable<boolean> | Ein Promise, das mit |
close(tabGroup: TabGroup | readonly TabGroup[], preserveFocus?: boolean): Thenable<boolean>
Schließt die Tab-Gruppe. Dies macht das Tab-Gruppen-Objekt ungültig und die Tab-Gruppe sollte nicht mehr für weitere Aktionen verwendet werden.
TabInputCustom
Der Tab stellt einen benutzerdefinierten Editor dar.
Konstruktoren
new TabInputCustom(uri: Uri, viewType: string): TabInputCustom
Erstellt eine benutzerdefinierte Tab-Eingabe.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die URI des Tabs. |
| viewType: string | Der Viewtyp des benutzerdefinierten Editors. |
| Gibt zurück | Beschreibung |
| TabInputCustom |
Eigenschaften
uri: Uri
Die URI, die der Tab darstellt.
Der Typ des benutzerdefinierten Editors.
TabInputNotebook
Der Tab stellt ein Notebook dar.
Konstruktoren
new TabInputNotebook(uri: Uri, notebookType: string): TabInputNotebook
Erstellt eine neue Tab-Eingabe für ein Notebook.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die URI des Notebooks. |
| notebookType: string | Der Typ des Notebooks. Entspricht NotebookDocuments's notebookType |
| Gibt zurück | Beschreibung |
| TabInputNotebook |
Eigenschaften
Der Typ des Notebooks. Entspricht NotebookDocuments's notebookType
uri: Uri
Die URI, die der Tab darstellt.
TabInputNotebookDiff
Die Tabs stellen zwei Notebooks in einer Diff-Konfiguration dar.
Konstruktoren
new TabInputNotebookDiff(original: Uri, modified: Uri, notebookType: string): TabInputNotebookDiff
Erstellt eine Notebook-Diff-Tab-Eingabe.
| Parameter | Beschreibung |
|---|---|
| original: Uri | Die URI des ursprünglichen, unveränderten Notebooks. |
| modified: Uri | Die URI des geänderten Notebooks. |
| notebookType: string | Der Typ des Notebooks. Entspricht NotebookDocuments's notebookType |
| Gibt zurück | Beschreibung |
| TabInputNotebookDiff |
Eigenschaften
modified: Uri
Die URI des geänderten Notebooks.
Der Typ des Notebooks. Entspricht NotebookDocuments's notebookType
original: Uri
Die URI des ursprünglichen Notebooks.
TabInputTerminal
Der Tab stellt ein Terminal im Editorbereich dar.
Konstruktoren
new TabInputTerminal(): TabInputTerminal
Erstellt eine Terminal-Tab-Eingabe.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| TabInputTerminal |
TabInputText
Der Tab stellt eine einzelne textbasierte Ressource dar.
Konstruktoren
new TabInputText(uri: Uri): TabInputText
Erstellt eine Text-Tab-Eingabe mit der angegebenen URI.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Die URI des Tabs. |
| Gibt zurück | Beschreibung |
| TabInputText |
Eigenschaften
uri: Uri
Die von dem Tab dargestellte URI.
TabInputTextDiff
Der Tab stellt zwei textbasierte Ressourcen dar, die als Diff gerendert werden.
Konstruktoren
new TabInputTextDiff(original: Uri, modified: Uri): TabInputTextDiff
Erstellt eine neue Text-Diff-Tab-Eingabe mit den angegebenen URIs.
| Parameter | Beschreibung |
|---|---|
| original: Uri | Die URI der ursprünglichen Textressource. |
| modified: Uri | Die URI der geänderten Textressource. |
| Gibt zurück | Beschreibung |
| TabInputTextDiff |
Eigenschaften
modified: Uri
Die URI der geänderten Textressource.
original: Uri
Die URI der ursprünglichen Textressource.
TabInputWebview
Der Tab stellt eine Webview dar.
Konstruktoren
new TabInputWebview(viewType: string): TabInputWebview
Erstellt eine Webview-Tab-Eingabe mit dem angegebenen Viewtyp.
| Parameter | Beschreibung |
|---|---|
| viewType: string | Der Typ der Webview. Entspricht WebviewPanel's viewType |
| Gibt zurück | Beschreibung |
| TabInputWebview |
Eigenschaften
Der Typ der Webview. Entspricht WebviewPanel's viewType
Task
Eine auszuführende Aufgabe.
Konstruktoren
new Task(taskDefinition: TaskDefinition, scope: WorkspaceFolder | Global | Workspace, name: string, source: string, execution?: ProcessExecution | ShellExecution | CustomExecution, problemMatchers?: string | string[]): Task
Erstellt eine neue Aufgabe.
| Parameter | Beschreibung |
|---|---|
| taskDefinition: TaskDefinition | Die Aufgaben-Definition, wie im `taskDefinitions`-Erweiterungspunkt definiert. |
| scope: WorkspaceFolder | Global | Workspace | Gibt den Geltungsbereich der Aufgabe an. Es handelt sich entweder um eine globale Aufgabe, eine Aufgaben-Definition für den Arbeitsbereich oder eine Aufgabe für einen bestimmten Arbeitsbereichsordner. Globale Aufgaben werden derzeit nicht unterstützt. |
| name: string | Der Name der Aufgabe. Wird in der Benutzeroberfläche angezeigt. |
| source: string | Die Quelle der Aufgabe (z. B. 'gulp', 'npm', ...). Wird in der Benutzeroberfläche angezeigt. |
| execution?: ProcessExecution | ShellExecution | CustomExecution | Die Prozess- oder Shell-Ausführung. |
| problemMatchers?: string | string[] | Die zu verwendenden Namen von Problem-Matchern, wie '$tsc' oder '$eslint'. Problem-Matcher können von einer Erweiterung über den `problemMatchers`-Erweiterungspunkt beigesteuert werden. |
| Gibt zurück | Beschreibung |
| Task |
new Task(taskDefinition: TaskDefinition, name: string, source: string, execution?: ProcessExecution | ShellExecution, problemMatchers?: string | string[]): Task
Erstellt eine neue Aufgabe.
- veraltet - Verwenden Sie die neuen Konstruktoren, die die Angabe eines Geltungsbereichs für die Aufgabe ermöglichen.
| Parameter | Beschreibung |
|---|---|
| taskDefinition: TaskDefinition | Die Aufgaben-Definition, wie im `taskDefinitions`-Erweiterungspunkt definiert. |
| name: string | Der Name der Aufgabe. Wird in der Benutzeroberfläche angezeigt. |
| source: string | Die Quelle der Aufgabe (z. B. 'gulp', 'npm', ...). Wird in der Benutzeroberfläche angezeigt. |
| execution?: ProcessExecution | ShellExecution | Die Prozess- oder Shell-Ausführung. |
| problemMatchers?: string | string[] | Die zu verwendenden Namen von Problem-Matchern, wie '$tsc' oder '$eslint'. Problem-Matcher können von einer Erweiterung über den `problemMatchers`-Erweiterungspunkt beigesteuert werden. |
| Gibt zurück | Beschreibung |
| Task |
Eigenschaften
definition: TaskDefinition
Die Definition der Aufgabe.
Eine menschenlesbare Zeichenkette, die weniger prominent auf einer separaten Zeile angezeigt wird, wo der Name der Aufgabe angezeigt wird. Unterstützt die Darstellung von Themensymbolen über die $(<name>)-Syntax.
execution?: ProcessExecution | ShellExecution | CustomExecution
Die Ausführungs-Engine der Aufgabe.
group?: TaskGroup
Die Aufgaben-Gruppe, zu der diese Aufgabe gehört. Siehe TaskGroup für eine vordefinierte Menge verfügbarer Gruppen. Standardmäßig undefined, was bedeutet, dass die Aufgabe zu keiner besonderen Gruppe gehört.
Ob die Aufgabe eine Hintergrundaufgabe ist oder nicht.
Der Name der Aufgabe.
presentationOptions: TaskPresentationOptions
Die Präsentationsoptionen. Standardmäßig ein leeres Literal.
Die der Aufgabe zugeordneten Problem-Matcher. Standardmäßig ein leeres Array.
runOptions: RunOptions
Ausführungsoptionen für die Aufgabe.
scope: WorkspaceFolder | Global | Workspace
Der Geltungsbereich der Aufgabe.
Eine menschenlesbare Zeichenkette, die die Quelle dieser Shell-Aufgabe beschreibt, z.B. 'gulp' oder 'npm'. Unterstützt die Darstellung von Themensymbolen über die $(<name>)-Syntax.
TaskDefinition
Eine Struktur, die eine Aufgabenart im System definiert. Der Wert muss JSON-stringifyable sein.
Eigenschaften
Die Aufgaben-Definition, die die von einer Erweiterung bereitgestellte Aufgabe beschreibt. Normalerweise definiert ein Aufgaben-Provider weitere Eigenschaften zur Identifizierung einer Aufgabe. Diese müssen in der `package.json` der Erweiterung unter dem `taskDefinitions`-Erweiterungspunkt definiert werden. Die npm-Aufgaben-Definition sieht zum Beispiel so aus:
interface NpmTaskDefinition extends TaskDefinition {
script: string;
}
Beachten Sie, dass Typbezeichner, die mit '$' beginnen, für die interne Verwendung reserviert sind und nicht von Erweiterungen verwendet werden sollten.
TaskEndEvent
Ein Ereignis, das das Ende einer ausgeführten Aufgabe signalisiert.
Diese Schnittstelle ist nicht zur Implementierung vorgesehen.
Eigenschaften
execution: TaskExecution
Das Aufgaben-Objekt, das die beendete Aufgabe darstellt.
TaskExecution
Ein Objekt, das eine ausgeführte Aufgabe darstellt. Es kann verwendet werden, um eine Aufgabe zu beenden.
Diese Schnittstelle ist nicht zur Implementierung vorgesehen.
Eigenschaften
task: Task
Die gestartete Aufgabe.
Methoden
Beendet die Aufgaben-Ausführung.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
TaskFilter
Ein Aufgabenfilter bezeichnet Aufgaben anhand ihrer Version und ihrer Typen.
Eigenschaften
Der zurückzugebende Aufgabentyp.
Die Aufgabenversion, wie sie in der `tasks.json`-Datei verwendet wird. Die Zeichenkette unterstützt die semver-Notation der `package.json`.
TaskGroup
Eine Gruppierung für Aufgaben. Der Editor unterstützt standardmäßig die Gruppen 'Clean', 'Build', 'RebuildAll' und 'Test'.
Statisch
Build: TaskGroup
Die Build-Aufgaben-Gruppe.
Clean: TaskGroup
Die Clean-Aufgaben-Gruppe.
Rebuild: TaskGroup
Die Rebuild-All-Aufgaben-Gruppe.
Test: TaskGroup
Die Test-All-Aufgaben-Gruppe.
Konstruktoren
new TaskGroup(id: string, label: string): TaskGroup
Privater Konstruktor.
| Parameter | Beschreibung |
|---|---|
| id: string | Identifikator einer Aufgaben-Gruppe. |
| label: string | Der menschenlesbare Name einer Aufgaben-Gruppe. |
| Gibt zurück | Beschreibung |
| TaskGroup |
Eigenschaften
Die ID der Aufgaben-Gruppe. Ist entweder TaskGroup.Clean.id, TaskGroup.Build.id, TaskGroup.Rebuild.id oder TaskGroup.Test.id.
Ob die Aufgabe, die Teil dieser Gruppe ist, die Standardaufgabe für die Gruppe ist. Diese Eigenschaft kann nicht über die API gesetzt werden und wird durch die Aufgabenkonfigurationen eines Benutzers gesteuert.
TaskPanelKind
Steuert, wie der Aufgabenkanal zwischen Aufgaben verwendet wird.
Enumerationselemente
Teilt ein Panel mit anderen Aufgaben. Dies ist der Standard.
Verwendet ein dediziertes Panel für diese Aufgaben. Das Panel wird nicht mit anderen Aufgaben geteilt.
Erstellt bei jeder Ausführung dieser Aufgabe ein neues Panel.
TaskPresentationOptions
Steuert, wie die Aufgabe in der Benutzeroberfläche dargestellt wird.
Eigenschaften
Steuert, ob das Terminal vor der Ausführung der Aufgabe gelöscht wird.
Steuert, ob das Terminal nach der Ausführung der Aufgabe geschlossen wird.
Steuert, ob der mit der Aufgabe verbundene Befehl in der Benutzeroberfläche angezeigt wird.
Steuert, ob das Panel, das die Ausgabe der Aufgabe anzeigt, den Fokus erhält.
panel?: TaskPanelKind
Steuert, ob das Aufgabenfenster ausschließlich für diese Aufgabe verwendet wird (dediziert), zwischen Aufgaben geteilt wird (geteilt) oder ob bei jeder Aufgabenausführung ein neues Fenster erstellt wird (neu). Standardmäßig TaskInstanceKind.Shared
reveal?: TaskRevealKind
Steuert, ob die Aufgabenausgabe in der Benutzeroberfläche angezeigt wird. Standardmäßig RevealKind.Always.
Steuert, ob die Meldung „Das Terminal wird von Aufgaben wiederverwendet, drücken Sie eine beliebige Taste, um es zu schließen“ angezeigt werden soll.
TaskProcessEndEvent
Ein Ereignis, das das Ende der Ausführung eines Prozesses signalisiert, der durch eine Aufgabe ausgelöst wurde.
Eigenschaften
execution: TaskExecution
Die Aufgabeninstanz, für die der Prozess gestartet wurde.
Der Exit-Code des Prozesses. Ist undefined, wenn die Aufgabe beendet wurde.
TaskProcessStartEvent
Ein Ereignis, das den Start der Ausführung eines Prozesses signalisiert, der durch eine Aufgabe ausgelöst wurde.
Eigenschaften
execution: TaskExecution
Die Aufgabeninstanz, für die der Prozess gestartet wurde.
Die zugrunde liegende Prozess-ID.
TaskProvider<T>
Ein Aufgabenanbieter ermöglicht das Hinzufügen von Aufgaben zum Aufgabendienst. Ein Aufgabenanbieter wird über tasks.registerTaskProvider registriert.
Methoden
provideTasks(token: CancellationToken): ProviderResult<T[]>
Bietet Aufgaben an.
| Parameter | Beschreibung |
|---|---|
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T[]> | Ein Array von Aufgaben |
resolveTask(task: T, token: CancellationToken): ProviderResult<T>
Löst eine Aufgabe auf, bei der keine execution festgelegt ist. Aufgaben werden oft aus Informationen erstellt, die in der tasks.json-Datei gefunden werden. Solche Aufgaben enthalten keine Informationen darüber, wie sie ausgeführt werden sollen, und ein Aufgabenanbieter muss die fehlenden Informationen in der resolveTask-Methode ergänzen. Diese Methode wird nicht für Aufgaben aufgerufen, die von der oben genannten provideTasks-Methode zurückgegeben werden, da diese Aufgaben immer vollständig aufgelöst sind. Eine gültige Standardimplementierung für die resolveTask-Methode ist die Rückgabe von undefined.
Beachten Sie, dass bei der Ausfüllung der Eigenschaften von task Sie exakt dieselbe TaskDefinition verwenden müssen und keine neue erstellen dürfen. Andere Eigenschaften können geändert werden.
| Parameter | Beschreibung |
|---|---|
| task: T | Die aufzulösende Aufgabe. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T> | Die aufgelöste Aufgabe |
TaskRevealKind
Steuert das Verhalten der Sichtbarkeit des Terminals.
Enumerationselemente
Holt das Terminal immer in den Vordergrund, wenn die Aufgabe ausgeführt wird.
Holt das Terminal nur dann in den Vordergrund, wenn beim Ausführen der Aufgabe ein Problem erkannt wird (z. B. die Aufgabe konnte nicht gestartet werden).
Das Terminal kommt beim Ausführen der Aufgabe nie in den Vordergrund.
TaskScope
Der Geltungsbereich einer Aufgabe.
Enumerationselemente
Die Aufgabe ist eine globale Aufgabe. Globale Aufgaben werden derzeit nicht unterstützt.
Die Aufgabe ist eine Arbeitsbereichsaufgabe.
TaskStartEvent
Ein Ereignis, das den Start der Ausführung einer Aufgabe signalisiert.
Diese Schnittstelle ist nicht zur Implementierung vorgesehen.
Eigenschaften
execution: TaskExecution
Das Aufgabenobjekt, das die gestartete Aufgabe darstellt.
TelemetryLogger
Ein Telemetrie-Logger, der von Erweiterungen zur Protokollierung von Nutzungs- und Fehlertelenmetrie verwendet werden kann.
Ein Logger, der einen Sender umschließt, aber garantiert, dass
- Benutzereinstellungen zum Deaktivieren oder Anpassen der Telemetrie berücksichtigt werden und dass
- potenziell sensible Daten entfernt werden
Er aktiviert auch eine „Echo-Benutzeroberfläche“, die alle gesendeten Daten ausgibt und es dem Editor ermöglicht, unbehandelte Fehler an die jeweiligen Erweiterungen weiterzuleiten.
Um eine Instanz eines TelemetryLogger zu erhalten, verwenden Sie createTelemetryLogger.
Events
onDidChangeEnableStates: Event<TelemetryLogger>
Ein Ereignis, das ausgelöst wird, wenn sich der Aktivierungsstatus der Nutzungs- oder Fehlertelenmetrie ändert.
Eigenschaften
Ob Fehlertelenmetrie für diesen Logger aktiviert ist.
Ob Nutzungstelemetrie für diesen Logger aktiviert ist.
Methoden
Dieses Objekt freigeben und Ressourcen bereinigen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
logError(eventName: string, data?: Record<string, any>): void
Protokolliert ein Fehlerereignis.
Nach Abschluss der Bereinigung, der Überprüfung der Telemetrieeinstellungen und der Einbindung von Daten wird TelemetrySender.sendEventData aufgerufen, um das Ereignis zu protokollieren. Unterscheidet sich von logUsage dadurch, dass das Ereignis protokolliert wird, wenn die Telemetrieeinstellung Fehler+ ist. Unterstützt automatisch die Ausgabe auf den Telemetrie-Ausgabekanal der Erweiterung.
| Parameter | Beschreibung |
|---|---|
| eventName: string | Der zu protokollierende Ereignisname |
| data?: Record<string, any> | Die zu protokollierenden Daten |
| Gibt zurück | Beschreibung |
| void |
logError(error: Error, data?: Record<string, any>): void
Protokolliert ein Fehlerereignis.
Ruft TelemetrySender.sendErrorData auf. Führt Bereinigung, Telemetrieüberprüfungen und Datenkombination durch. Unterstützt automatisch die Ausgabe auf den Telemetrie-Ausgabekanal der Erweiterung. Protokolliert außerdem automatisch alle Ausnahmen, die im Prozess der Erweiterung auftreten.
| Parameter | Beschreibung |
|---|---|
| error: Error | Das Fehlerobjekt, das den bereinigten Stacktrace von PII enthält |
| data?: Record<string, any> | Zusätzliche Daten, die neben dem Stacktrace protokolliert werden sollen |
| Gibt zurück | Beschreibung |
| void |
logUsage(eventName: string, data?: Record<string, any>): void
Protokolliert ein Nutzungsereignis.
Nach Abschluss der Bereinigung, der Überprüfung der Telemetrieeinstellungen und der Einbindung von Daten wird TelemetrySender.sendEventData aufgerufen, um das Ereignis zu protokollieren. Unterstützt automatisch die Ausgabe auf den Telemetrie-Ausgabekanal der Erweiterung.
| Parameter | Beschreibung |
|---|---|
| eventName: string | Der zu protokollierende Ereignisname |
| data?: Record<string, any> | Die zu protokollierenden Daten |
| Gibt zurück | Beschreibung |
| void |
TelemetryLoggerOptions
Optionen zum Erstellen eines TelemetryLogger
Eigenschaften
additionalCommonProperties?: Record<string, any>
Zusätzliche allgemeine Eigenschaften, die in das Datenobjekt eingefügt werden sollen.
ignoreBuiltInCommonProperties?: boolean
Ob die integrierten allgemeinen Eigenschaften (wie Betriebssystem, Erweiterungsname usw.) in das Datenobjekt eingefügt werden sollen. Standardmäßig false, wenn nicht definiert.
ignoreUnhandledErrors?: boolean
Ob unbehandelte Fehler im Erweiterungshost, die durch Ihre Erweiterung verursacht werden, an Ihren Sender gesendet werden sollen. Standardmäßig false, wenn nicht definiert.
TelemetrySender
Der Telemetrie-Sender ist der Vertrag zwischen einem Telemetrie-Logger und einem Telemetrie-Dienst. Hinweis: Erweiterungen dürfen die Methoden ihres Senders NICHT direkt aufrufen, da der Logger zusätzliche Schutzmaßnahmen und Bereinigungen bietet.
const sender: vscode.TelemetrySender = {...};
const logger = vscode.env.createTelemetryLogger(sender);
// GOOD - uses the logger
logger.logUsage('myEvent', { myData: 'myValue' });
// BAD - uses the sender directly: no data cleansing, ignores user settings, no echoing to the telemetry output channel etc
sender.logEvent('myEvent', { myData: 'myValue' });
Methoden
flush(): void | Thenable<void>
Optionale Flush-Funktion, die diesem Sender die Möglichkeit gibt, alle verbleibenden Ereignisse zu senden, während sein TelemetryLogger geschlossen wird.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void | Thenable<void> |
sendErrorData(error: Error, data?: Record<string, any>): void
Funktion zum Senden eines Fehlers. Wird innerhalb eines TelemetryLogger verwendet.
| Parameter | Beschreibung |
|---|---|
| error: Error | Der zu protokollierende Fehler |
| data?: Record<string, any> | Zusätzliche Daten, die mit der Ausnahme gesammelt werden sollen |
| Gibt zurück | Beschreibung |
| void |
sendEventData(eventName: string, data?: Record<string, any>): void
Funktion zum Senden von Ereignisdaten ohne Stacktrace. Wird innerhalb eines TelemetryLogger verwendet.
| Parameter | Beschreibung |
|---|---|
| eventName: string | Der Name des Ereignisses, das Sie protokollieren |
| data?: Record<string, any> | Ein serialisierbares Schlüssel-Wert-Paar, das protokolliert wird |
| Gibt zurück | Beschreibung |
| void |
TelemetryTrustedValue<T>
Ein spezieller Wert-Wrapper, der einen Wert bezeichnet, der sicher nicht bereinigt werden muss. Dies ist zu verwenden, wenn Sie garantieren können, dass der Wert keine identifizierbaren Informationen enthält und die Bereinigung ihn fälschlicherweise ausradiert.
Konstruktoren
new TelemetryTrustedValue<T>(value: T): TelemetryTrustedValue<T>
Erstellt einen neuen Telemetrie-vertrauenswürdigen Wert.
| Parameter | Beschreibung |
|---|---|
| value: T | Ein zu vertrauender Wert |
| Gibt zurück | Beschreibung |
| TelemetryTrustedValue<T> |
Eigenschaften
Der Wert, dem vertraut wird, dass er keine PII enthält.
Terminal
Eine einzelne Terminalinstanz innerhalb des integrierten Terminals.
Eigenschaften
creationOptions: Readonly<TerminalOptions | ExtensionTerminalOptions>
Das zur Initialisierung des Terminals verwendete Objekt. Dies ist beispielsweise nützlich, um den Shell-Typ zu erkennen, wenn das Terminal nicht von dieser Erweiterung gestartet wurde, oder um zu erkennen, in welchem Ordner die Shell gestartet wurde.
exitStatus: TerminalExitStatus
Der Exit-Status des Terminals. Dieser ist undefiniert, während das Terminal aktiv ist.
Beispiel: Benachrichtigung mit dem Exit-Code anzeigen, wenn das Terminal mit einem nicht-null Exit-Code beendet wird.
window.onDidCloseTerminal(t => {
if (t.exitStatus && t.exitStatus.code) {
vscode.window.showInformationMessage(`Exit code: ${t.exitStatus.code}`);
}
});
Der Name des Terminals.
processId: TaskExecution
Die Prozess-ID der Shell.
shellIntegration: TerminalShellIntegration
Ein Objekt, das Funktionen für die Shell-Integration für das Terminal enthält. Dieses ist unmittelbar nach der Erstellung des Terminals immer undefined. Hören Sie auf window.onDidChangeTerminalShellIntegration, um benachrichtigt zu werden, wenn die Shell-Integration für ein Terminal aktiviert wird.
Beachten Sie, dass dieses Objekt undefiniert bleiben kann, wenn die Shell-Integration niemals aktiviert wird. Beispielsweise unterstützt die Eingabeaufforderung (Command Prompt) keine Shell-Integration, und die Shell-Konfiguration eines Benutzers könnte mit der automatischen Aktivierung der Shell-Integration in Konflikt geraten.
state: TerminalState
Der aktuelle Zustand des Terminals.
Methoden
Ressourcen freigeben und zugehörige Ressourcen bereinigen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Blendet das Terminalfenster aus, wenn dieses Terminal gerade angezeigt wird.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
sendText(text: string, shouldExecute?: boolean): void
Sendet Text an das Terminal. Der Text wird in die Standardeingabe des zugrunde liegenden PTY-Prozesses (Shell) des Terminals geschrieben.
| Parameter | Beschreibung |
|---|---|
| text: string | Der zu sendende Text. |
| shouldExecute?: boolean | Gibt an, dass der gesendete Text ausgeführt werden soll, anstatt nur im Terminal eingefügt zu werden. Die hinzugefügten Zeichen sind |
| Gibt zurück | Beschreibung |
| void |
show(preserveFocus?: boolean): void
Zeigt das Terminalfenster an und macht dieses Terminal in der Benutzeroberfläche sichtbar.
| Parameter | Beschreibung |
|---|---|
| preserveFocus?: boolean | Wenn |
| Gibt zurück | Beschreibung |
| void |
TerminalDimensions
Stellt die Abmessungen eines Terminals dar.
Eigenschaften
Die Anzahl der Spalten im Terminal.
Die Anzahl der Zeilen im Terminal.
TerminalEditorLocationOptions
Geht von einem TerminalLocation vom Typ Editor aus und ermöglicht die Angabe einer ViewColumn und einer preserveFocus-Eigenschaft.
Eigenschaften
Ein optionales Flag, das, wenn true, verhindert, dass das Terminal den Fokus übernimmt.
viewColumn: ViewColumn
Eine Ansichtspalte, in der das Terminal im Editorbereich angezeigt werden soll. Standardmäßig ist dies die aktive Spalte. Nicht vorhandene Spalten werden bei Bedarf erstellt, bis zum Maximum von ViewColumn.Nine. Verwenden Sie ViewColumn.Beside, um den Editor neben dem aktuell aktiven zu öffnen.
TerminalExitReason
Art des Terminal-Exit-Grundes.
Enumerationselemente
Unbekannter Grund.
Das Fenster wurde geschlossen/neu geladen.
Der Shell-Prozess wurde beendet.
Der Benutzer hat das Terminal geschlossen.
Eine Erweiterung hat das Terminal freigegeben.
TerminalExitStatus
Stellt dar, wie ein Terminal beendet wurde.
Eigenschaften
Der Exit-Code, mit dem ein Terminal beendet wurde. Dieser kann folgende Werte annehmen:
- Null: Der Terminalprozess oder die benutzerdefinierte Ausführung war erfolgreich.
- Nicht-null: Der Terminalprozess oder die benutzerdefinierte Ausführung ist fehlgeschlagen.
undefined: Der Benutzer hat das Terminal zwangsweise geschlossen oder eine benutzerdefinierte Ausführung wurde ohne Angabe eines Exit-Codes beendet.
reason: TerminalExitReason
Der Grund, der zum Beenden eines Terminals geführt hat.
TerminalLink
Ein Link in einer Terminalzeile.
Konstruktoren
new TerminalLink(startIndex: number, length: number, tooltip?: string): TerminalLink
Erstellt einen neuen Terminal-Link.
| Parameter | Beschreibung |
|---|---|
| startIndex: number | Der Startindex des Links in der TerminalLinkContext.line. |
| length: number | Die Länge des Links in der TerminalLinkContext.line. |
| tooltip?: string | Der Tooltip-Text, wenn Sie mit der Maus über diesen Link fahren. Wenn ein Tooltip bereitgestellt wird, wird er in einer Zeichenfolge angezeigt, die Anweisungen zum Auslösen des Links enthält, z. B. |
| Gibt zurück | Beschreibung |
| TerminalLink |
Eigenschaften
Die Länge des Links in der TerminalLinkContext.line.
Der Startindex des Links in der TerminalLinkContext.line.
Der Tooltip-Text, wenn Sie mit der Maus über diesen Link fahren.
Wenn ein Tooltip bereitgestellt wird, wird er in einer Zeichenfolge angezeigt, die Anweisungen zum Auslösen des Links enthält, z. B. {0} (strg + klick). Die spezifischen Anweisungen variieren je nach Betriebssystem, Benutzereinstellungen und Lokalisierung.
TerminalLinkContext
Stellt Informationen zu einer Zeile in einem Terminal bereit, um Links dafür zu definieren.
Eigenschaften
Dies ist der Text aus der entpackten Zeile im Terminal.
terminal: Terminal
Das Terminal, zu dem der Link gehört.
TerminalLinkProvider<T>
Ein Anbieter, der die Erkennung und Handhabung von Links in Terminals ermöglicht.
Methoden
handleTerminalLink(link: T): ProviderResult<void>
Behandelt einen aktivierten Terminal-Link.
| Parameter | Beschreibung |
|---|---|
| link: T | Der zu behandelnde Link. |
| Gibt zurück | Beschreibung |
| ProviderResult<void> |
provideTerminalLinks(context: TerminalLinkContext, token: CancellationToken): ProviderResult<T[]>
Stellt Terminal-Links für den gegebenen Kontext bereit. Beachten Sie, dass dies mehrmals aufgerufen werden kann, auch bevor frühere Aufrufe aufgelöst werden. Stellen Sie sicher, dass keine globalen Objekte (z. B. RegExp) gemeinsam genutzt werden, die bei überlappender asynchroner Verwendung Probleme verursachen könnten.
| Parameter | Beschreibung |
|---|---|
| context: TerminalLinkContext | Informationen darüber, für was Links bereitgestellt werden. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T[]> | Eine Liste von Terminal-Links für die angegebene Zeile. |
TerminalLocation
Der Speicherort des Terminals.
Enumerationselemente
In der Terminalansicht
Im Editorbereich
TerminalOptions
Wertobjekt, das beschreibt, welche Optionen ein Terminal verwenden soll.
Eigenschaften
color?: ThemeColor
Die Symbol-ThemeColor für das Terminal. Die Thema-Schlüssel terminal.ansi* werden für den besten Kontrast und die beste Konsistenz über Themen hinweg empfohlen.
cwd?: string | Uri
Ein Pfad oder eine URI für das aktuelle Arbeitsverzeichnis, das für das Terminal verwendet werden soll.
Objekt mit Umgebungsvariablen, die dem Editorprozess hinzugefügt werden.
Wenn aktiviert, führt das Terminal den Prozess wie gewohnt aus, wird dem Benutzer aber erst angezeigt, wenn Terminal.show aufgerufen wird. Die typische Verwendung dafür ist, wenn Sie etwas ausführen müssen, das Interaktivität erfordern könnte, aber dem Benutzer erst dann davon erzählen möchten, wenn Interaktion benötigt wird. Beachten Sie, dass die Terminals weiterhin für alle Erweiterungen wie gewohnt zugänglich sind. Die ausgeblendeten Terminals werden beim nächsten Öffnen des Arbeitsbereichs nicht wiederhergestellt.
iconPath?: IconPath
Der Icon-Pfad oder das ThemeIcon für das Terminal.
Deaktivieren der Standard-Terminalpersistenz bei Neustart und Neuladen. Dies wirkt sich nur aus, wenn terminal.integrated.enablePersistentSessions aktiviert ist.
location?: TerminalEditorLocationOptions | TerminalSplitLocationOptions | TerminalLocation
Der TerminalLocation oder TerminalEditorLocationOptions oder TerminalSplitLocationOptions für das Terminal.
Eine Nachricht, die beim ersten Start in das Terminal geschrieben wird. Beachten Sie, dass diese Nachricht nicht an den Prozess gesendet wird, sondern direkt in das Terminal geschrieben wird. Dies unterstützt Escape-Sequenzen wie das Ändern des Textstils.
Ein für Menschen lesbarer String, der zur Darstellung des Terminals in der Benutzeroberfläche verwendet wird.
Argumente für die benutzerdefinierte Shell-Ausführungsdatei. Unter Windows kann ein String verwendet werden, der die Shell-Argumente im Befehlszeilenformat angibt.
shellIntegrationNonce?: string
Die Nonce, die verwendet wird, um zu überprüfen, ob Shell-Integrationssequenzen aus einer vertrauenswürdigen Quelle stammen. Eine Beispielwirkung auf die Benutzeroberfläche ist, dass die Befehlszeile, wenn sie mit einer Nonce gemeldet wird, nicht mit dem Benutzer überprüfen muss, ob die Befehlszeile korrekt ist, bevor sie über die Shell-Integrationsbefehldekoration erneut ausgeführt wird.
Dies sollte verwendet werden, wenn das Terminal eine benutzerdefinierte Unterstützung für die Shell-Integration enthält. Es sollte auf eine zufällige GUID gesetzt werden, die dann die Umgebungsvariable VSCODE_NONCE festlegt. Innerhalb der Shell sollte diese aus der Umgebung entfernt werden, um sie vor allgemeinem Zugriff zu schützen. Sobald dies geschehen ist, kann sie in den entsprechenden Sequenzen weitergegeben werden, um sie als vertrauenswürdig zu kennzeichnen.
Ein Pfad zu einer benutzerdefinierten Shell-Ausführungsdatei, die im Terminal verwendet werden soll.
Ob die Umgebung des Terminalprozesses genau wie in TerminalOptions.env angegeben sein soll. Wenn dies falsch ist (Standard), basiert die Umgebung auf der Umgebung des Fensters und wendet zusätzlich konfigurierte Plattformeinstellungen wie terminal.integrated.env.windows an. Wenn dies wahr ist, muss die vollständige Umgebung angegeben werden, da nichts vom Prozess oder von der Konfiguration geerbt wird.
TerminalProfile
Ein Terminalprofil definiert, wie ein Terminal gestartet wird.
Konstruktoren
new TerminalProfile(options: TerminalOptions | ExtensionTerminalOptions): TerminalProfile
Erstellt ein neues Terminalprofil.
| Parameter | Beschreibung |
|---|---|
| options: TerminalOptions | ExtensionTerminalOptions | Die Optionen, mit denen das Terminal gestartet wird. |
| Gibt zurück | Beschreibung |
| TerminalProfile |
Eigenschaften
options: TerminalOptions | ExtensionTerminalOptions
Die Optionen, mit denen das Terminal gestartet wird.
TerminalProfileProvider
Stellt ein Terminalprofil für das durch die Erweiterung bereitgestellte Terminalprofil bereit, wenn es über die Benutzeroberfläche oder einen Befehl gestartet wird.
Methoden
provideTerminalProfile(token: CancellationToken): ProviderResult<TerminalProfile>
Stellt das Terminalprofil bereit.
| Parameter | Beschreibung |
|---|---|
| token: CancellationToken | Ein Abbruch-Token, das anzeigt, dass das Ergebnis nicht mehr benötigt wird. |
| Gibt zurück | Beschreibung |
| ProviderResult<TerminalProfile> | Das Terminalprofil. |
TerminalShellExecution
Ein Befehl, der in einem Terminal ausgeführt wurde.
Eigenschaften
commandLine: TerminalShellExecutionCommandLine
Die ausgeführte Befehlszeile. Die confidence dieses Werts hängt von der spezifischen Implementierung der Shell-Integration ab. Dieser Wert kann genauer werden, nachdem window.onDidEndTerminalShellExecution ausgelöst wurde.
Beispiel
// Log the details of the command line on start and end
window.onDidStartTerminalShellExecution(event => {
const commandLine = event.execution.commandLine;
console.log(`Command started\n${summarizeCommandLine(commandLine)}`);
});
window.onDidEndTerminalShellExecution(event => {
const commandLine = event.execution.commandLine;
console.log(`Command ended\n${summarizeCommandLine(commandLine)}`);
});
function summarizeCommandLine(commandLine: TerminalShellExecutionCommandLine) {
return [
` Command line: ${command.commandLine.value}`,
` Confidence: ${command.commandLine.confidence}`,
` Trusted: ${command.commandLine.isTrusted}
].join('\n');
}
cwd: Uri
Das Arbeitsverzeichnis, das von der Shell gemeldet wurde, als dieser Befehl ausgeführt wurde. Dieses Uri kann eine Datei auf einer anderen Maschine darstellen (z. B. ssh auf einer anderen Maschine). Dies erfordert, dass die Shell-Integration die Meldung des Arbeitsverzeichnisses unterstützt.
Methoden
Erstellt einen Stream von Rohdaten (einschließlich Escape-Sequenzen), die in das Terminal geschrieben werden. Dies umfasst nur Daten, die geschrieben wurden, nachdem read zum ersten Mal aufgerufen wurde. Das heißt, Sie müssen read sofort nach der Ausführung des Befehls über TerminalShellIntegration.executeCommand oder window.onDidStartTerminalShellExecution aufrufen, um keine Daten zu verpassen.
Beispiel
// Log all data written to the terminal for a command
const command = term.shellIntegration.executeCommand({ commandLine: 'echo "Hello world"' });
const stream = command.read();
for await (const data of stream) {
console.log(data);
}
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| AsyncIterable<string> |
TerminalShellExecutionCommandLine
Eine Befehlszeile, die in einem Terminal ausgeführt wurde.
Eigenschaften
confidence: TerminalShellExecutionCommandLineConfidence
Die Zuverlässigkeit des Befehlszeilenwerts, die davon abhängt, wie der Wert ermittelt wurde. Dies hängt von der Implementierung des Shell-Integrationsskripts ab.
Ob der Befehlszeilenwert aus einer vertrauenswürdigen Quelle stammt und daher ohne zusätzliche Benutzerbestätigung, wie z. B. eine Benachrichtigung, die fragt "Möchten Sie (Befehl) ausführen?", sicher ausgeführt werden kann. Diese Überprüfung ist wahrscheinlich nur erforderlich, wenn Sie den Befehl erneut ausführen werden.
Dies ist nur dann true, wenn die Befehlszeile explizit vom Shell-Integrationsskript gemeldet wurde (d. h. mit hoher Zuverlässigkeit) und ein Nonce zur Verifizierung verwendet wurde.
Die vollständige Befehlszeile, die ausgeführt wurde, einschließlich des Befehls und seiner Argumente.
TerminalShellExecutionCommandLineConfidence
Die Zuverlässigkeit eines TerminalShellExecutionCommandLine-Werts.
Enumerationselemente
Die Zuverlässigkeit des Befehlszeilenwerts ist niedrig. Das bedeutet, dass der Wert aus dem Terminalpuffer mit Markierungen gelesen wurde, die vom Shell-Integrationsskript gemeldet wurden. Zusätzlich wird eine der folgenden Bedingungen erfüllt:
- Der Befehl begann in der äußersten linken Spalte, was ungewöhnlich ist, oder
- Der Befehl ist mehrzeilig, was aufgrund von Zeilenfortsetzungszeichen und rechten Eingabeaufforderungen schwieriger genau zu erkennen ist.
- Befehlszeilenmarkierungen wurden vom Shell-Integrationsskript nicht gemeldet.
Die Zuverlässigkeit des Befehlszeilenwerts ist mittel. Das bedeutet, dass der Wert aus dem Terminalpuffer mit Markierungen gelesen wurde, die vom Shell-Integrationsskript gemeldet wurden. Der Befehl ist einzeilig und beginnt nicht in der äußersten linken Spalte (was ungewöhnlich ist).
Die Zuverlässigkeit des Befehlszeilenwerts ist hoch. Das bedeutet, dass der Wert explizit vom Shell-Integrationsskript gesendet wurde oder der Befehl über die TerminalShellIntegration.executeCommand API ausgeführt wurde.
TerminalShellExecutionEndEvent
Ein Ereignis, das signalisiert, dass eine Ausführung in einem Terminal beendet wurde.
Eigenschaften
execution: TerminalShellExecution
Die Terminal-Shell-Ausführung, die beendet wurde.
Der von der Shell gemeldete Exit-Code.
Wenn dies undefined ist, kann dies mehrere Bedeutungen haben:
- Die Shell hat entweder keinen Exit-Code gemeldet (d. h. das Shell-Integrationsskript verhält sich fehlerhaft)
- Die Shell meldete einen Befehl, der vor Abschluss des Befehls startete (z. B. eine Subshell wurde geöffnet).
- Der Benutzer hat den Befehl über Strg+C abgebrochen.
- Der Benutzer hat Enter gedrückt, als keine Eingabe vorhanden war.
Im Allgemeinen sollte dies nicht passieren. Je nach Anwendungsfall ist es am besten, dies als Fehler zu behandeln.
Beispiel
const execution = shellIntegration.executeCommand({
command: 'echo',
args: ['Hello world']
});
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
if (event.exitCode === undefined) {
console.log('Command finished but exit code is unknown');
} else if (event.exitCode === 0) {
console.log('Command succeeded');
} else {
console.log('Command failed');
}
}
});
shellIntegration: TerminalShellIntegration
Das Shell-Integrations-Objekt.
terminal: Terminal
Das Terminal, in dem die Shell-Integration aktiviert wurde.
TerminalShellExecutionStartEvent
Ein Ereignis, das signalisiert, dass eine Ausführung in einem Terminal gestartet wurde.
Eigenschaften
execution: TerminalShellExecution
Die Terminal-Shell-Ausführung, die beendet wurde.
shellIntegration: TerminalShellIntegration
Das Shell-Integrations-Objekt.
terminal: Terminal
Das Terminal, in dem die Shell-Integration aktiviert wurde.
TerminalShellIntegration
Shell-Integration-gestützte Funktionen, die einem Terminal gehören.
Eigenschaften
cwd: Uri
Das aktuelle Arbeitsverzeichnis des Terminals. Dieses Uri kann eine Datei auf einer anderen Maschine darstellen (z. B. ssh auf einer anderen Maschine). Dies erfordert, dass die Shell-Integration die Meldung des Arbeitsverzeichnisses unterstützt.
Methoden
executeCommand(commandLine: string): TerminalShellExecution
Führt einen Befehl aus und sendet bei Bedarf Strg+C, um einen laufenden Befehl zu unterbrechen.
- wirft - Wenn auf einem Terminal ausgeführt, das diese API nicht unterstützt, wie z. B. Task-Terminals.
Beispiel
// Execute a command in a terminal immediately after being created
const myTerm = window.createTerminal();
window.onDidChangeTerminalShellIntegration(async ({ terminal, shellIntegration }) => {
if (terminal === myTerm) {
const execution = shellIntegration.executeCommand('echo "Hello world"');
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
console.log(`Command exited with code ${event.exitCode}`);
}
});
}
}));
// Fallback to sendText if there is no shell integration within 3 seconds of launching
setTimeout(() => {
if (!myTerm.shellIntegration) {
myTerm.sendText('echo "Hello world"');
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
}, 3000);
Beispiel
// Send command to terminal that has been alive for a while
const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
const execution = shellIntegration.executeCommand({ commandLine });
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
console.log(`Command exited with code ${event.exitCode}`);
}
});
} else {
term.sendText(commandLine);
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
| Parameter | Beschreibung |
|---|---|
| commandLine: string | Die auszuführende Befehlszeile, dies ist der exakte Text, der an das Terminal gesendet wird. |
| Gibt zurück | Beschreibung |
| TerminalShellExecution |
executeCommand(executable: string, args: string[]): TerminalShellExecution
Führt einen Befehl aus und sendet bei Bedarf Strg+C, um einen laufenden Befehl zu unterbrechen.
Hinweis Dies ist nicht garantiert funktionsfähig, da die Shell-Integration aktiviert sein muss. Überprüfen Sie, ob TerminalShellExecution.exitCode abgelehnt wird, um zu überprüfen, ob es erfolgreich war.
Beispiel
// Execute a command in a terminal immediately after being created
const myTerm = window.createTerminal();
window.onDidChangeTerminalShellIntegration(async ({ terminal, shellIntegration }) => {
if (terminal === myTerm) {
const command = shellIntegration.executeCommand({
command: 'echo',
args: ['Hello world']
});
const code = await command.exitCode;
console.log(`Command exited with code ${code}`);
}
}));
// Fallback to sendText if there is no shell integration within 3 seconds of launching
setTimeout(() => {
if (!myTerm.shellIntegration) {
myTerm.sendText('echo "Hello world"');
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
}, 3000);
Beispiel
// Send command to terminal that has been alive for a while
const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
const command = term.shellIntegration.executeCommand({
command: 'echo',
args: ['Hello world']
});
const code = await command.exitCode;
console.log(`Command exited with code ${code}`);
} else {
term.sendText(commandLine);
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
| Parameter | Beschreibung |
|---|---|
| executable: string | Ein auszuführender Befehl. |
| args: string[] | Argumente zum Starten der ausführbaren Datei. Die Argumente werden so maskiert, dass sie als einzelne Argumente interpretiert werden, wenn das Argument sowohl Leerzeichen enthält als auch keine einfachen Anführungszeichen, doppelten Anführungszeichen oder Backticks enthält. Beachten Sie, dass diese Maskierung keine Sicherheitsmaßnahme ist. Seien Sie vorsichtig, wenn Sie nicht vertrauenswürdige Daten an diese API übergeben, da Zeichenfolgen wie |
| Gibt zurück | Beschreibung |
| TerminalShellExecution |
TerminalShellIntegrationChangeEvent
Ein Ereignis, das signalisiert, dass sich die Shell-Integration eines Terminals geändert hat.
Eigenschaften
shellIntegration: TerminalShellIntegration
Das Shell-Integrations-Objekt.
terminal: Terminal
Das Terminal, in dem die Shell-Integration aktiviert wurde.
TerminalSplitLocationOptions
Verwendet den Speicherort des Eltern-Terminal für das Terminal.
Eigenschaften
parentTerminal: Terminal
Das Eltern-Terminal, neben dem dieses Terminal aufgeteilt werden soll. Dies funktioniert unabhängig davon, ob sich das Eltern-Terminal im Panel oder im Editorbereich befindet.
TerminalState
Stellt den Zustand eines Terminal dar.
Eigenschaften
Ob mit dem Terminal interagiert wurde. Interaktion bedeutet, dass das Terminal Daten an den Prozess gesendet hat, was je nach Modus des Terminals geschieht. Standardmäßig werden Eingaben gesendet, wenn eine Taste gedrückt wird oder wenn ein Befehl oder eine Erweiterung Text sendet, aber je nach Modus des Terminals kann dies auch bei folgenden Ereignissen geschehen:
- ein Zeigerklickereignis
- ein Zeiger-Scrollereignis
- ein Zeiger-Bewegungsereignis
- Terminal-Fokus ein/aus
Weitere Informationen zu Ereignissen, die Daten senden können, finden Sie unter "DEC Private Mode Set (DECSET)" unter https://invisible-island.net/xterm/ctlseqs/ctlseqs.html.
Der erkannte Shell-Typ des Terminal. Dieser Wert ist undefined, wenn kein klares Signal für die Shell vorhanden ist oder die Shell noch nicht unterstützt wird. Dieser Wert sollte sich in den Shell-Typ einer Subshell ändern, wenn diese gestartet wird (z. B. Ausführen von bash innerhalb von zsh).
Beachten Sie, dass die möglichen Werte derzeit als die folgenden definiert sind: 'bash', 'cmd', 'csh', 'fish', 'gitbash', 'julia', 'ksh', 'node', 'nu', 'pwsh', 'python', 'sh', 'wsl', 'zsh'.
TestController
Einstiegspunkt zum Entdecken und Ausführen von Tests. Er enthält TestController.items, die zum Befüllen der Editor-UI verwendet werden, und ist mit Ausführungsprofilen verknüpft, um die Ausführung von Tests zu ermöglichen.
Eigenschaften
Die ID des Controllers, die in tests.createTestController übergeben wurde. Diese muss global eindeutig sein.
items: TestItemCollection
Eine Sammlung von "obersten" TestItem-Instanzen, die wiederum ihre eigenen children haben können, um den "Testbaum" zu bilden.
Die Erweiterung steuert, wann Tests hinzugefügt werden. Beispielsweise sollten Erweiterungen Tests für eine Datei hinzufügen, wenn workspace.onDidOpenTextDocument ausgelöst wird, damit Dekorationen für Tests innerhalb einer Datei sichtbar sind.
Der Editor kann jedoch manchmal explizit Kinder über den resolveHandler anfordern. Weitere Details finden Sie in der Dokumentation dieser Methode.
Menschenlesbares Label für den Test-Controller.
refreshHandler: (token: CancellationToken) => void | Thenable<void>
Wenn diese Methode vorhanden ist, wird in der UI eine Aktualisierungs-Schaltfläche angezeigt, und diese Methode wird aufgerufen, wenn sie geklickt wird. Wenn sie aufgerufen wird, sollte die Erweiterung den Arbeitsbereich nach neuen, geänderten oder entfernten Tests durchsuchen.
Es wird empfohlen, dass Erweiterungen versuchen, Tests in Echtzeit zu aktualisieren, z. B. unter Verwendung eines FileSystemWatcher, und diese Methode als Fallback verwenden.
| Parameter | Beschreibung |
|---|---|
| token: CancellationToken | |
| Gibt zurück | Beschreibung |
| void | Thenable<void> | Ein Thenable, der aufgelöst wird, wenn Tests aktualisiert wurden. |
resolveHandler?: (item: TestItem) => void | Thenable<void>
Eine von der Erweiterung bereitgestellte Funktion, die vom Editor aufgerufen werden kann, um Kinder eines Testelements anzufordern, wenn TestItem.canResolveChildren true ist. Wenn sie aufgerufen wird, sollte das Element Kinder entdecken und TestController.createTestItem aufrufen, wenn Kinder entdeckt werden.
Im Allgemeinen verwaltet die Erweiterung den Lebenszyklus von Testelementen, aber unter bestimmten Bedingungen kann der Editor die Kinder eines bestimmten Elements zum Laden anfordern. Wenn der Benutzer beispielsweise nach dem Neuladen des Editors fordert, die Tests erneut auszuführen, muss der Editor möglicherweise diese Methode aufrufen, um die zuvor ausgeführten Tests aufzulösen.
Das Element im Explorer wird automatisch als "beschäftigt" markiert, bis die Funktion zurückkehrt oder der zurückgegebene Thenable aufgelöst wird.
Methoden
createRunProfile(label: string, kind: TestRunProfileKind, runHandler: (request: TestRunRequest, token: CancellationToken) => void | Thenable<void>, isDefault?: boolean, tag?: TestTag, supportsContinuousRun?: boolean): TestRunProfile
Erstellt ein Profil zum Ausführen von Tests. Erweiterungen müssen mindestens ein Profil erstellen, damit Tests ausgeführt werden können.
| Parameter | Beschreibung |
|---|---|
| label: string | Ein menschenlesbares Label für dieses Profil. |
| kind: TestRunProfileKind | Konfiguriert, welche Art von Ausführung dieses Profil verwaltet. |
| runHandler: (request: TestRunRequest, token: CancellationToken) => void | Thenable<void> | Funktion, die zum Starten einer Testausführung aufgerufen wird. |
| isDefault?: boolean | Ob dies die Standardaktion für ihre Art ist. |
| tag?: TestTag | Profil-Test-Tag. |
| supportsContinuousRun?: boolean | Ob das Profil die kontinuierliche Ausführung unterstützt. |
| Gibt zurück | Beschreibung |
| TestRunProfile | Eine Instanz eines TestRunProfile, die automatisch mit diesem Controller verknüpft ist. |
createTestItem(id: string, label: string, uri?: Uri): TestItem
Erstellt eine neue verwaltete TestItem-Instanz. Sie kann in die TestItem.children eines vorhandenen Elements oder in die TestController.items eingefügt werden.
| Parameter | Beschreibung |
|---|---|
| id: string | Identifikator für das TestItem. Die ID des Testelements muss in der TestItemCollection, zu der es hinzugefügt wird, eindeutig sein. |
| label: string | Menschenlesbares Label des Testelements. |
| uri?: Uri | URI, mit dem dieses TestItem verknüpft ist. Kann eine Datei oder ein Verzeichnis sein. |
| Gibt zurück | Beschreibung |
| TestItem |
createTestRun(request: TestRunRequest, name?: string, persist?: boolean): TestRun
Erstellt einen TestRun. Dies sollte vom TestRunProfile aufgerufen werden, wenn eine Anforderung zum Ausführen von Tests gestellt wird, und kann auch aufgerufen werden, wenn ein Testlauf extern erkannt wird. Nach der Erstellung werden Tests, die in der Anforderung enthalten sind, in den Warteschlangenstatus versetzt.
Alle mit derselben request-Instanz erstellten Läufe werden zusammen gruppiert. Dies ist beispielsweise nützlich, wenn eine einzelne Testsuite auf mehreren Plattformen ausgeführt wird.
| Parameter | Beschreibung |
|---|---|
| request: TestRunRequest | Anforderung für einen Testlauf. Nur Tests innerhalb von |
| name?: string | Der menschenlesbare Name des Laufs. Dies kann verwendet werden, um mehrere Ergebnisgruppen in einem Testlauf zu unterscheiden. Dies ist beispielsweise nützlich, wenn Tests auf mehreren Plattformen ausgeführt werden. |
| persist?: boolean | Ob die vom Lauf erstellten Ergebnisse im Editor gespeichert werden sollen. Dies kann |
| Gibt zurück | Beschreibung |
| TestRun | Eine Instanz des TestRun. Er wird ab dem Zeitpunkt, an dem diese Methode aufgerufen wird, bis zum Aufruf von TestRun.end als "laufend" betrachtet. |
Hebt die Registrierung des Test-Controllers auf und gibt seine zugehörigen Tests und nicht gespeicherten Ergebnisse frei.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
invalidateTestResults(items?: TestItem | readonly TestItem[]): void
Markiert die Ergebnisse eines Elements als veraltet. Dies wird üblicherweise aufgerufen, wenn sich Code oder Konfigurationen ändern und frühere Ergebnisse nicht mehr als relevant betrachtet werden sollten. Die gleiche Logik, die zum Markieren von Ergebnissen als veraltet verwendet wird, kann auch für kontinuierliche Testläufe verwendet werden.
Wenn ein Element an diese Methode übergeben wird, werden die Testergebnisse für das Element und alle seine Unterelemente als veraltet markiert. Wenn kein Element übergeben wird, werden alle vom TestController besessenen Tests als veraltet markiert.
Alle Testläufe, die vor dem Zeitpunkt des Aufrufs dieser Methode gestartet wurden, einschließlich der möglicherweise noch laufenden Läufe, werden als veraltet markiert und in der UI des Editors priorisiert.
TestCoverageCount
Eine Klasse, die Informationen über eine abgedeckte Ressource enthält. Eine Zählung kann für Zeilen, Zweige und Deklarationen in einer Datei angegeben werden.
Konstruktoren
new TestCoverageCount(covered: number, total: number): TestCoverageCount
| Parameter | Beschreibung |
|---|---|
| covered: number | Wert für TestCoverageCount.covered |
| total: number | Wert für TestCoverageCount.total |
| Gibt zurück | Beschreibung |
| TestCoverageCount |
Eigenschaften
Anzahl der im Dokument abgedeckten Elemente.
Gesamtzahl der abgedeckten Elemente im Dokument.
TestItem
Ein Element, das in der "Test Explorer"-Ansicht angezeigt wird.
Ein TestItem kann entweder eine Testsuite oder ein Test selbst darstellen, da beide ähnliche Fähigkeiten haben.
Eigenschaften
Steuert, ob das Element in der Test Explorer-Ansicht als "beschäftigt" angezeigt wird. Dies ist nützlich, um den Status während der Erkundung von Unterelementen anzuzeigen.
Standardmäßig false.
Gibt an, ob dieses Testelement Unterelemente durch Auflösung haben kann.
Wenn true, wird dieses Element in der Test Explorer-Ansicht als erweiterbar angezeigt, und das Erweitern des Elements löst TestController.resolveHandler mit dem Element auf.
Standardmäßig false.
children: TestItemCollection
Die Unterelemente dieses Testelements. Für eine Testsuite kann dies die einzelnen Testfälle oder verschachtelte Suiten enthalten.
Optionale Beschreibung, die neben dem Label angezeigt wird.
error: string | MarkdownString
Optionaler Fehler, der bei der Ermittlung des Tests aufgetreten ist.
Beachten Sie, dass dies kein Testergebnis ist und nur zur Darstellung von Fehlern bei der Testermittlung, wie z. B. Syntaxfehlern, verwendet werden sollte.
Identifikator für das TestItem. Dies wird verwendet, um Testergebnisse und Tests im Dokument mit denen im Arbeitsbereich (Test Explorer) zu korrelieren. Dies kann sich während der Lebensdauer des TestItem nicht ändern und muss unter den direkten Unterelementen seines Elternteils eindeutig sein.
Anzeigename, der den Testfall beschreibt.
parent: TestItem
Das Elternteil dieses Elements. Es wird automatisch gesetzt und ist für oberste Elemente in TestController.items und für Elemente, die noch nicht in den children eines anderen Elements enthalten sind, undefiniert.
range: Range
Speicherort des Testelements in seinem uri.
Dies ist nur sinnvoll, wenn der uri auf eine Datei verweist.
Eine Zeichenfolge, die beim Vergleichen dieses Elements mit anderen Elementen verwendet werden sollte. Wenn falsy ist, wird das label verwendet.
tags: readonly TestTag[]
Tags, die mit diesem Testelement verknüpft sind. Kann in Kombination mit tags verwendet werden oder einfach als organisatorisches Merkmal dienen.
uri: Uri
URI, mit dem dieses TestItem verknüpft ist. Kann eine Datei oder ein Verzeichnis sein.
TestItemCollection
Sammlung von Testelementen, die in TestItem.children und TestController.items zu finden sind.
Eigenschaften
Gibt die Anzahl der Elemente in der Sammlung zurück.
Methoden
add(item: TestItem): void
Fügt das Testelement zu den Unterelementen hinzu. Wenn bereits ein Element mit derselben ID vorhanden ist, wird es ersetzt.
| Parameter | Beschreibung |
|---|---|
| item: TestItem | Hinzuzufügendes Element. |
| Gibt zurück | Beschreibung |
| void |
Entfernt ein einzelnes Testelement aus der Sammlung.
| Parameter | Beschreibung |
|---|---|
| itemId: string | Zu löschende Element-ID. |
| Gibt zurück | Beschreibung |
| void |
forEach(callback: (item: TestItem, collection: TestItemCollection) => unknown, thisArg?: any): void
Iteriert über jeden Eintrag in dieser Sammlung.
| Parameter | Beschreibung |
|---|---|
| callback: (item: TestItem, collection: TestItemCollection) => unknown | Funktion, die für jeden Eintrag ausgeführt werden soll. |
| thisArg?: any | Der |
| Gibt zurück | Beschreibung |
| void |
get(itemId: string): TestItem
Ruft effizient ein Testelement anhand der ID ab, falls es in den Unterelementen vorhanden ist.
| Parameter | Beschreibung |
|---|---|
| itemId: string | Zu abzurufende Element-ID. |
| Gibt zurück | Beschreibung |
| TestItem | Das gefundene Element oder undefiniert, wenn es nicht existiert. |
replace(items: readonly TestItem[]): void
Ersetzt die von der Sammlung gespeicherten Elemente.
| Parameter | Beschreibung |
|---|---|
| items: readonly TestItem[] | Zu speichernde Elemente. |
| Gibt zurück | Beschreibung |
| void |
TestMessage
Nachricht, die mit dem Teststatus verknüpft ist. Kann mit einem bestimmten Quellbereich verknüpft werden – nützlich für Assertionsfehler, zum Beispiel.
Statisch
diff(message: string | MarkdownString, expected: string, actual: string): TestMessage
Erstellt eine neue TestMessage, die als Unterschied in der Editoransicht angezeigt wird.
| Parameter | Beschreibung |
|---|---|
| message: string | MarkdownString | Nachricht, die dem Benutzer angezeigt werden soll. |
| expected: string | Erwartete Ausgabe. |
| actual: string | Tatsächliche Ausgabe. |
| Gibt zurück | Beschreibung |
| TestMessage |
Konstruktoren
new TestMessage(message: string | MarkdownString): TestMessage
Erstellt eine neue TestMessage-Instanz.
| Parameter | Beschreibung |
|---|---|
| message: string | MarkdownString | Die dem Benutzer anzuzeigende Nachricht. |
| Gibt zurück | Beschreibung |
| TestMessage |
Eigenschaften
Tatsächliche Testausgabe. Wenn zusammen mit expectedOutput angegeben, wird eine Diff-Ansicht angezeigt.
Kontextwert des Testelements. Dies kann verwendet werden, um nachrichtenspezifische Aktionen zur Test-Peek-Ansicht beizutragen. Der hier gesetzte Wert kann in der testMessage-Eigenschaft der folgenden menus-Beitragspunkte gefunden werden:
testing/message/context- Kontextmenü für die Nachricht im Ergebnisbaumtesting/message/content- ein prominentes Feld, das über den Editor-Inhalt gelegt wird, in dem die Nachricht angezeigt wird.
Zum Beispiel
"contributes": {
"menus": {
"testing/message/content": [
{
"command": "extension.deleteCommentThread",
"when": "testMessage == canApplyRichDiff"
}
]
}
}
Der Befehl wird mit einem Objekt aufgerufen, das Folgendes enthält:
test: das TestItem, mit dem die Nachricht verknüpft ist, *falls* es noch in der TestController.items-Sammlung vorhanden ist.message: die TestMessage-Instanz.
Erwartete Testausgabe. Wenn zusammen mit actualOutput angegeben, wird eine Diff-Ansicht angezeigt.
location?: Location
Zugehöriger Dateispeicherort.
message: string | MarkdownString
Für die Anzeige bestimmter menschenlesbarer Nachrichtentext.
stackTrace?: TestMessageStackFrame[]
Der Stack-Trace, der mit der Nachricht oder dem Fehler verknüpft ist.
TestMessageStackFrame
Ein Stack-Frame, der in TestMessage.stackTrace gefunden wurde.
Konstruktoren
new TestMessageStackFrame(label: string, uri?: Uri, position?: Position): TestMessageStackFrame
| Parameter | Beschreibung |
|---|---|
| label: string | Der Name des Stack-Frames. |
| uri?: Uri | |
| position?: Position | Die Position des Stack-Frames in der Datei. |
| Gibt zurück | Beschreibung |
| TestMessageStackFrame |
Eigenschaften
Der Name des Stack-Frames, typischerweise ein Methoden- oder Funktionsname.
position?: Position
Position des Stack-Frames innerhalb der Datei.
uri?: Uri
Der Speicherort dieses Stack-Frames. Dies sollte als URI angegeben werden, wenn der Speicherort des Aufruf-Frames vom Editor abgerufen werden kann.
TestRun
Ein TestRun stellt einen laufenden oder abgeschlossenen Testlauf dar und bietet Methoden zur Meldung des Zustands einzelner Tests im Lauf.
Events
onDidDispose: Event<void>
Ein Ereignis, das ausgelöst wird, wenn der Editor keine Daten mehr für den Testlauf benötigt.
Eigenschaften
Ob der Testlauf vom Editor über Neustarts hinweg beibehalten wird.
Der menschenlesbare Name des Laufs. Dies kann verwendet werden, um mehrere Ergebnisgruppen in einem Testlauf zu unterscheiden. Dies ist beispielsweise nützlich, wenn Tests auf mehreren Plattformen ausgeführt werden.
token: CancellationToken
Ein Abbruch-Token, das ausgelöst wird, wenn der Testlauf über die Benutzeroberfläche abgebrochen wird.
Methoden
addCoverage(fileCoverage: FileCoverage): void
Fügt die Abdeckung für eine Datei im Lauf hinzu.
| Parameter | Beschreibung |
|---|---|
| fileCoverage: FileCoverage | |
| Gibt zurück | Beschreibung |
| void |
appendOutput(output: string, location?: Location, test?: TestItem): void
Hängt Rohausgabe vom Testrunner an. Auf Wunsch des Benutzers wird die Ausgabe in einem Terminal angezeigt. ANSI-Escape-Sequenzen wie Farben und Textstile werden unterstützt. Zeilenumbrüche müssen als CRLF (\r\n) und nicht als LF (\n) angegeben werden.
Signalisiert das Ende des Testlaufs. Alle Tests, die in den Lauf aufgenommen wurden und deren Status noch nicht aktualisiert wurde, werden zurückgesetzt.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
enqueued(test: TestItem): void
Zeigt an, dass ein Test zur späteren Ausführung in die Warteschlange gestellt wurde.
| Parameter | Beschreibung |
|---|---|
| test: TestItem | Zu aktualisierendes Testelement. |
| Gibt zurück | Beschreibung |
| void |
errored(test: TestItem, message: TestMessage | readonly TestMessage[], duration?: number): void
Zeigt an, dass ein Test einen Fehler aufwies. Sie sollten eine oder mehrere TestMessages übergeben, um den Fehler zu beschreiben. Dies unterscheidet sich vom Status "fehlgeschlagen" insofern, als es einen Test anzeigt, der gar nicht ausgeführt werden konnte, z. B. wegen eines Kompilierungsfehlers.
| Parameter | Beschreibung |
|---|---|
| test: TestItem | Zu aktualisierendes Testelement. |
| message: TestMessage | readonly TestMessage[] | Mit dem Testfehler verknüpfte Nachrichten. |
| duration?: number | Wie lange die Ausführung des Tests gedauert hat, in Millisekunden. |
| Gibt zurück | Beschreibung |
| void |
failed(test: TestItem, message: TestMessage | readonly TestMessage[], duration?: number): void
Zeigt an, dass ein Test fehlgeschlagen ist. Sie sollten eine oder mehrere TestMessages übergeben, um den Fehler zu beschreiben.
| Parameter | Beschreibung |
|---|---|
| test: TestItem | Zu aktualisierendes Testelement. |
| message: TestMessage | readonly TestMessage[] | Mit dem Testfehler verknüpfte Nachrichten. |
| duration?: number | Wie lange die Ausführung des Tests gedauert hat, in Millisekunden. |
| Gibt zurück | Beschreibung |
| void |
passed(test: TestItem, duration?: number): void
Zeigt an, dass ein Test bestanden wurde.
| Parameter | Beschreibung |
|---|---|
| test: TestItem | Zu aktualisierendes Testelement. |
| duration?: number | Wie lange die Ausführung des Tests gedauert hat, in Millisekunden. |
| Gibt zurück | Beschreibung |
| void |
skipped(test: TestItem): void
Zeigt an, dass ein Test übersprungen wurde.
| Parameter | Beschreibung |
|---|---|
| test: TestItem | Zu aktualisierendes Testelement. |
| Gibt zurück | Beschreibung |
| void |
started(test: TestItem): void
Zeigt an, dass ein Test mit der Ausführung begonnen hat.
| Parameter | Beschreibung |
|---|---|
| test: TestItem | Zu aktualisierendes Testelement. |
| Gibt zurück | Beschreibung |
| void |
TestRunProfile
Ein TestRunProfile beschreibt eine Möglichkeit, Tests in einem TestController auszuführen.
Events
onDidChangeDefault: Event<boolean>
Wird ausgelöst, wenn ein Benutzer geändert hat, ob dies ein Standardprofil ist. Das Ereignis enthält den neuen Wert von isDefault.
Eigenschaften
Wenn diese Methode vorhanden ist, wird ein Konfigurationszahnrad in der Benutzeroberfläche angezeigt, und diese Methode wird aufgerufen, wenn sie angeklickt wird. Wenn sie aufgerufen wird, können Sie andere Editoraktionen ausführen, z. B. eine Schnellwahl anzeigen oder eine Konfigurationsdatei öffnen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
Steuert, ob dieses Profil die Standardaktion ist, die ausgeführt wird, wenn sein Typ aktiviert wird. Wenn der Benutzer beispielsweise auf die allgemeine Schaltfläche "Alle ausführen" klickt, wird das Standardprofil für TestRunProfileKind.Run ausgeführt, obwohl der Benutzer dies konfigurieren kann.
Änderungen, die der Benutzer an seinen Standardprofilen vornimmt, werden nach einem onDidChangeDefault-Ereignis in dieser Eigenschaft widergespiegelt.
kind: TestRunProfileKind
Konfiguriert, welche Art von Ausführung dieses Profil steuert. Wenn es keine Profile für eine Art gibt, ist sie in der Benutzeroberfläche nicht verfügbar.
Beschriftung, die dem Benutzer in der Benutzeroberfläche angezeigt wird.
Beachten Sie, dass die Beschriftung eine gewisse Bedeutung hat, wenn der Benutzer Tests auf eine bestimmte Weise wieder ausführen lässt. Wenn Tests beispielsweise normal ausgeführt wurden und der Benutzer sie im Debug-Modus wieder ausführen möchte, wird der Editor versuchen, eine Konfiguration mit derselben Beschriftung des Typs Debug zu verwenden. Wenn keine solche Konfiguration vorhanden ist, wird die Standardeinstellung verwendet.
loadDetailedCoverage?: (testRun: TestRun, fileCoverage: FileCoverage, token: CancellationToken) => Thenable<FileCoverageDetail[]>
Eine von der Erweiterung bereitgestellte Funktion, die detaillierte Abdeckung auf Anweisungs- und Funktionsebene für eine Datei liefert. Der Editor ruft dies auf, wenn mehr Details für eine Datei benötigt werden, z. B. wenn sie in einem Editor geöffnet oder in der Ansicht Test Coverage erweitert wird.
Das an diese Funktion übergebene FileCoverage-Objekt ist dieselbe Instanz, die bei TestRun.addCoverage-Aufrufen im Zusammenhang mit diesem Profil gesendet wird.
| Parameter | Beschreibung |
|---|---|
| testRun: TestRun | |
| fileCoverage: FileCoverage | |
| token: CancellationToken | |
| Gibt zurück | Beschreibung |
| Thenable<FileCoverageDetail[]> |
loadDetailedCoverageForTest?: (testRun: TestRun, fileCoverage: FileCoverage, fromTestItem: TestItem, token: CancellationToken) => Thenable<FileCoverageDetail[]>
Eine von der Erweiterung bereitgestellte Funktion, die detaillierte Abdeckung auf Anweisungs- und Funktionsebene für einen einzelnen Test in einer Datei liefert. Dies ist das Per-Test-Gegenstück zu TestRunProfile.loadDetailedCoverage, das nur aufgerufen wird, wenn ein Testelement in FileCoverage.includesTests bereitgestellt wird und nur für Dateien, bei denen solche Daten gemeldet werden.
Oft wird TestRunProfile.loadDetailedCoverage zuerst aufgerufen, wenn ein Benutzer eine Datei öffnet, und dann wird diese Methode aufgerufen, wenn er sich in die spezifischen Abdeckungsinformationen pro Test vertieft. Diese Methode sollte dann nur Abdeckungsdaten für Anweisungen und Deklarationen zurückgeben, die vom spezifischen Test während des Laufs ausgeführt wurden.
Das an diese Funktion übergebene FileCoverage-Objekt ist dieselbe Instanz, die bei TestRun.addCoverage-Aufrufen im Zusammenhang mit diesem Profil gesendet wird.
| Parameter | Beschreibung |
|---|---|
| testRun: TestRun | Der Testlauf, der die Abdeckungsdaten generiert hat. |
| fileCoverage: FileCoverage | Das Abdeckungsobjekt für die Datei, für das die detaillierte Abdeckung geladen werden soll. |
| fromTestItem: TestItem | Das Testelement, für das Abdeckungsinformationen angefordert werden. |
| token: CancellationToken | Ein Abbruch-Token, das angibt, dass die Operation abgebrochen werden soll. |
| Gibt zurück | Beschreibung |
| Thenable<FileCoverageDetail[]> |
runHandler: (request: TestRunRequest, token: CancellationToken) => void | Thenable<void>
Handler, der aufgerufen wird, um einen Testlauf zu starten. Wenn die Funktion aufgerufen wird, sollte sie mindestens einmal TestController.createTestRun aufrufen, und alle mit dem Request verbundenen Testläufe sollten erstellt werden, bevor die Funktion zurückkehrt oder der zurückgegebene Promise aufgelöst wird.
Wenn supportsContinuousRun gesetzt ist, dann kann TestRunRequest.continuous true sein. In diesem Fall sollte das Profil Änderungen am Quellcode beobachten und neue Testläufe durch Aufruf von TestController.createTestRun erstellen, bis der Abbruch auf dem token angefordert wird.
| Parameter | Beschreibung |
|---|---|
| request: TestRunRequest | Anforderungsinformationen für den Testlauf. |
| token: CancellationToken | |
| Gibt zurück | Beschreibung |
| void | Thenable<void> |
supportsContinuousRun: boolean
Ob dieses Profil kontinuierliche Ausführungen von Anfragen unterstützt. Wenn ja, kann TestRunRequest.continuous auf true gesetzt werden. Standardmäßig false.
tag: TestTag
Zugeordnetes Tag für das Profil. Wenn dies gesetzt ist, sind nur TestItem-Instanzen mit demselben Tag berechtigt, in diesem Profil ausgeführt zu werden.
Methoden
Löscht das Laufprofil.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
TestRunProfileKind
Die Art der Ausführungen, die TestRunProfiles steuern.
Enumerationselemente
Die Testprofilart Run.
Die Testprofilart Debug.
Die Testprofilart Coverage.
TestRunRequest
Eine TestRunRequest ist eine Vorstufe zu einem TestRun, der wiederum durch Übergabe einer Anfrage an TestController.createTestRun erstellt wird. Die TestRunRequest enthält Informationen darüber, welche Tests ausgeführt werden sollen, welche nicht, und wie sie ausgeführt werden (über das Profil).
Im Allgemeinen werden TestRunRequests vom Editor erstellt und an TestRunProfile.runHandler übergeben, Sie können jedoch auch Testanfragen und -läufe außerhalb des runHandler erstellen.
Konstruktoren
new TestRunRequest(include?: readonly TestItem[], exclude?: readonly TestItem[], profile?: TestRunProfile, continuous?: boolean, preserveFocus?: boolean): TestRunRequest
| Parameter | Beschreibung |
|---|---|
| include?: readonly TestItem[] | Array von spezifischen Tests, die ausgeführt werden sollen, oder undefiniert, um alle Tests auszuführen. |
| exclude?: readonly TestItem[] | Ein Array von Tests, die von der Ausführung ausgeschlossen werden sollen. |
| profile?: TestRunProfile | Das für diese Anfrage verwendete Laufprofil. |
| continuous?: boolean | Ob Tests kontinuierlich bei Quellcodeänderungen ausgeführt werden sollen. |
| preserveFocus?: boolean | Ob der Fokus des Benutzers beibehalten werden soll, wenn der Lauf gestartet wird. |
| Gibt zurück | Beschreibung |
| TestRunRequest |
Eigenschaften
Ob das Profil kontinuierlich ausgeführt werden soll, wenn sich der Quellcode ändert. Nur relevant für Profile, die TestRunProfile.supportsContinuousRun gesetzt haben.
exclude: readonly TestItem[]
Ein Array von Tests, die der Benutzer als ausgeschlossen aus dem in diesem Lauf enthaltenen Test markiert hat; Ausschlüsse sollten nach Einschlüssen angewendet werden.
Kann weggelassen werden, wenn keine Ausschlüsse angefordert wurden. Test-Controller sollten keine ausgeschlossenen Tests oder deren Kinder ausführen.
include: readonly TestItem[]
Ein Filter für bestimmte auszuführende Tests. Wenn angegeben, sollte die Erweiterung alle eingeschlossenen Tests und alle deren Kinder ausführen, wobei alle Tests ausgeschlossen werden, die in TestRunRequest.exclude erscheinen. Wenn diese Eigenschaft undefiniert ist, sollte die Erweiterung einfach alle Tests ausführen.
Der Prozess der Testausführung sollte die Kinder aller Testelemente auflösen, die noch nicht aufgelöst wurden.
Steuert, wie die Test Results-Ansicht fokussiert wird. Wenn true, behält der Editor den Fokus des Benutzers bei. Wenn false, bevorzugt der Editor es, den Fokus in die Test Results-Ansicht zu verschieben, obwohl dies vom Benutzer konfiguriert werden kann.
profile: TestRunProfile
Das für diese Anfrage verwendete Profil. Dies ist immer für Anfragen definiert, die von der Editor-Benutzeroberfläche ausgegeben werden, obwohl Erweiterungen Anfragen programmatisch erstellen können, die nicht mit einem Profil verbunden sind.
TestTag
Tags können TestItems und TestRunProfiles zugeordnet werden. Ein Profil mit einem Tag kann nur Tests ausführen, die dieses Tag in ihrem TestItem.tags-Array enthalten.
Konstruktoren
new TestTag(id: string): TestTag
Erstellt eine neue TestTag-Instanz.
| Parameter | Beschreibung |
|---|---|
| id: string | ID des Test-Tags. |
| Gibt zurück | Beschreibung |
| TestTag |
Eigenschaften
ID des Test-Tags. TestTag-Instanzen mit derselben ID werden als identisch betrachtet.
TextDocument
Stellt ein Textdokument dar, z. B. eine Quelldatei. Textdokumente haben Zeilen und Kenntnisse über eine zugrunde liegende Ressource wie eine Datei.
Eigenschaften
Die Dateikodierung dieses Dokuments, die beim Speichern des Dokuments verwendet wird.
Verwenden Sie das Ereignis onDidChangeTextDocument, um benachrichtigt zu werden, wenn sich die Dokumentenkodierung ändert.
Beachten Sie, dass die möglichen Kodierungswerte derzeit wie folgt definiert sind: 'utf8', 'utf8bom', 'utf16le', 'utf16be', 'windows1252', 'iso88591', 'iso88593', 'iso885915', 'macroman', 'cp437', 'windows1256', 'iso88596', 'windows1257', 'iso88594', 'iso885914', 'windows1250', 'iso88592', 'cp852', 'windows1251', 'cp866', 'cp1125', 'iso88595', 'koi8r', 'koi8u', 'iso885913', 'windows1253', 'iso88597', 'windows1255', 'iso88598', 'iso885910', 'iso885916', 'windows1254', 'iso88599', 'windows1258', 'gbk', 'gb18030', 'cp950', 'big5hkscs', 'shiftjis', 'eucjp', 'euckr', 'windows874', 'iso885911', 'koi8ru', 'koi8t', 'gb2312', 'cp865', 'cp850'.
eol: EndOfLine
Die Zeilenende-Sequenz, die überwiegend in diesem Dokument verwendet wird.
Der Dateisystempfad der zugehörigen Ressource. Kurzerhand für TextDocument.uri.fsPath. Unabhängig vom URI-Schema.
true, wenn das Dokument geschlossen wurde. Ein geschlossenes Dokument wird nicht mehr synchronisiert und nicht wiederverwendet, wenn dieselbe Ressource erneut geöffnet wird.
true, wenn es ungespeicherte Änderungen gibt.
Stellt dieses Dokument eine unbenannte Datei dar, die noch nie gespeichert wurde. *Hinweis*: Dies bedeutet nicht, dass das Dokument auf der Festplatte gespeichert wird. Verwenden Sie Uri.scheme, um herauszufinden, wo ein Dokument gespeichert wird, z. B. file, ftp usw.
Die Kennung der Sprache, die diesem Dokument zugeordnet ist.
Die Anzahl der Zeilen in diesem Dokument.
uri: Uri
Die zugehörige URI für dieses Dokument.
Beachten Sie, dass die meisten Dokumente das file-Schema verwenden, was bedeutet, dass sie Dateien auf der Festplatte sind. *Aber* nicht alle Dokumente werden auf der Festplatte gespeichert, und daher muss das scheme überprüft werden, bevor versucht wird, auf die zugrunde liegende Datei oder Geschwister auf der Festplatte zuzugreifen.
Siehe auch
Die Versionsnummer dieses Dokuments (sie wird nach jeder Änderung, einschließlich Rückgängigmachen/Wiederholen, streng erhöht).
Methoden
getText(range?: Range): string
Gibt den Text dieses Dokuments zurück. Ein Unterabschnitt kann durch Angabe eines Bereichs abgerufen werden. Der Bereich wird angepasst.
| Parameter | Beschreibung |
|---|---|
| range?: Range | Nur den im Bereich enthaltenen Text einbeziehen. |
| Gibt zurück | Beschreibung |
| string | Der Text innerhalb des angegebenen Bereichs oder der gesamte Text. |
getWordRangeAtPosition(position: Position, regex?: RegExp): Range
Gibt einen Wortbereich an der gegebenen Position zurück. Standardmäßig werden Wörter durch gängige Trennzeichen definiert, wie Leerzeichen, -, _, usw. Zusätzlich können sprachspezifische benutzerdefinierte [Wortdefinitionen] definiert werden. Es ist auch möglich, einen benutzerdefinierten regulären Ausdruck anzugeben.
- Hinweis 1: Ein benutzerdefinierter regulärer Ausdruck darf keinen leeren String abgleichen und wird ignoriert, wenn er dies tut.
- Hinweis 2: Ein benutzerdefinierter regulärer Ausdruck wird mehrzeilige Zeichenfolgen nicht abgleichen, und im Interesse der Geschwindigkeit sollten reguläre Ausdrücke keine Wörter mit Leerzeichen abgleichen. Verwenden Sie TextLine.text für komplexere, nicht-wortbezogene Szenarien.
Die Position wird angepasst.
lineAt(line: number): TextLine
Gibt eine Textzeile zurück, die durch die Zeilennummer bezeichnet wird. Beachten Sie, dass das zurückgegebene Objekt nicht live ist und Änderungen am Dokument nicht reflektiert werden.
lineAt(position: Position): TextLine
Gibt eine Textzeile zurück, die durch die Position bezeichnet wird. Beachten Sie, dass das zurückgegebene Objekt nicht live ist und Änderungen am Dokument nicht reflektiert werden.
Die Position wird angepasst.
Siehe auch TextDocument.lineAt
offsetAt(position: Position): number
Konvertiert die Position in einen nullbasierten Offset.
Die Position wird angepasst.
| Parameter | Beschreibung |
|---|---|
| position: Position | Eine Position. |
| Gibt zurück | Beschreibung |
| number | Ein gültiger nullbasierter Offset in UTF-16 Codeeinheiten. |
positionAt(offset: number): Position
Konvertiert einen nullbasierten Offset in eine Position.
| Parameter | Beschreibung |
|---|---|
| offset: number | Ein nullbasierter Offset im Dokument. Dieser Offset ist in UTF-16 Codeeinheiten. |
| Gibt zurück | Beschreibung |
| Position | Eine gültige Position. |
Speichert die zugrunde liegende Datei.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| Thenable<boolean> | Ein Promise, das mit |
validatePosition(position: Position): Position
Stellt sicher, dass eine Position im Bereich dieses Dokuments enthalten ist.
validateRange(range: Range): Range
Stellt sicher, dass ein Bereich vollständig in diesem Dokument enthalten ist.
TextDocumentChangeEvent
Ein Ereignis, das eine transaktionale Dokumentenänderung beschreibt.
Eigenschaften
contentChanges: readonly TextDocumentContentChangeEvent[]
Ein Array von Inhaltsänderungen.
document: TextDocument
Das betroffene Dokument.
reason: TextDocumentChangeReason
Der Grund, warum das Dokument geändert wurde. Ist undefined, wenn der Grund unbekannt ist.
TextDocumentChangeReason
Gründe, warum sich ein Textdokument geändert hat.
Enumerationselemente
Die Textänderung wird durch eine Rückgängig-Operation verursacht.
Die Textänderung wird durch eine Wiederherstellen-Operation verursacht.
TextDocumentContentChangeEvent
Ein Ereignis, das eine einzelne Änderung im Text eines Dokuments beschreibt.
Eigenschaften
range: Range
Der Bereich, der ersetzt wurde.
Die Länge des ersetzten Bereichs.
Der Offset des ersetzten Bereichs.
Der neue Text für den Bereich.
TextDocumentContentProvider
Ein Anbieter von Textdokumentinhalten ermöglicht das Hinzufügen von schreibgeschützten Dokumenten zum Editor, wie z. B. Quellcode aus einer DLL oder generiertes HTML aus Markdown.
Inhaltsanbieter werden für ein URI-Schema registriert. Wenn eine URI mit diesem Schema geladen werden soll, wird der Inhaltsanbieter abgefragt.
Events
Ein Ereignis zur Benachrichtigung über eine Ressourcenänderung.
Methoden
provideTextDocumentContent(uri: Uri, token: CancellationToken): ProviderResult<string>
Stellt den textuellen Inhalt für eine gegebene URI bereit.
Der Editor verwendet den zurückgegebenen String-Inhalt, um ein schreibgeschütztes Dokument zu erstellen. Allokierte Ressourcen sollten freigegeben werden, wenn das entsprechende Dokument geschlossen wurde.
Hinweis: Der Inhalt des erstellten Dokuments ist möglicherweise nicht identisch mit dem bereitgestellten Text, da Zeilenende-Sequenzen normalisiert werden.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine URI, deren Schema mit dem Schema übereinstimmt, für das dieser Anbieter registriert wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<string> | Ein String oder ein Promise, das zu einem solchen auflöst. |
TextDocumentSaveReason
Stellt die Gründe dar, warum ein Textdokument gespeichert wird.
Enumerationselemente
Manuell ausgelöst, z. B. durch den Benutzer, der auf Speichern klickt, durch den Start des Debuggens oder durch einen API-Aufruf.
Automatisch nach einer Verzögerung.
Wenn der Editor den Fokus verliert.
TextDocumentShowOptions
Eigenschaften
Ein optionales Flag, das, wenn es true ist, verhindert, dass der Editor den Fokus erhält.
Ein optionales Flag, das steuert, ob ein Editor-Tab als Vorschau angezeigt wird. Vorschau-Tabs werden ersetzt und wiederverwendet, bis sie auf "bleiben" gesetzt werden – entweder explizit oder durch Bearbeitung.
Beachten Sie, dass das Flag ignoriert wird, wenn ein Benutzer die Vorschau-Editoren in den Einstellungen deaktiviert hat.
selection?: Range
Eine optionale Auswahl, die für das Dokument im Editor angewendet werden soll.
viewColumn?: ViewColumn
Eine optionale Ansichtsspalte, in der der Editor angezeigt werden soll. Der Standard ist die aktive. Spalten, die nicht existieren, werden nach Bedarf erstellt, bis zum Maximum von ViewColumn.Nine. Verwenden Sie ViewColumn.Beside, um den Editor neben dem aktuell aktiven zu öffnen.
TextDocumentWillSaveEvent
Ein Ereignis, das ausgelöst wird, wenn ein Dokument gespeichert wird.
Um Modifikationen am Dokument vorzunehmen, bevor es gespeichert wird, rufen Sie die Funktion waitUntil mit einem Promise auf, das zu einem Array von Textbearbeitungen aufgelöst wird.
Eigenschaften
document: TextDocument
Das zu speichernde Dokument.
reason: TextDocumentSaveReason
Der Grund, warum das Speichern ausgelöst wurde.
Methoden
waitUntil(thenable: Thenable<readonly TextEdit[]>): void
Ermöglicht das Anhalten der Ereignisschleife und das Anwenden von Vorspeicherungsbearbeitungen. Bearbeitungen aus nachfolgenden Aufrufen dieser Funktion werden in der Reihenfolge angewendet. Die Bearbeitungen werden ignoriert, wenn gleichzeitige Änderungen am Dokument stattgefunden haben.
Hinweis: Diese Funktion kann nur während der Ereignisverteilung aufgerufen werden und nicht asynchron.
workspace.onWillSaveTextDocument(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| Parameter | Beschreibung |
|---|---|
| thenable: Thenable<readonly TextEdit[]> | Ein Promise, das zu Vorspeicherungsbearbeitungen aufgelöst wird. |
| Gibt zurück | Beschreibung |
| void |
waitUntil(thenable: Thenable<any>): void
Ermöglicht das Anhalten der Ereignisschleife, bis das bereitgestellte Thenable aufgelöst wird.
Hinweis: Diese Funktion kann nur während der Ereignisverteilung aufgerufen werden.
| Parameter | Beschreibung |
|---|---|
| thenable: Thenable<any> | Ein Thenable, der das Speichern verzögert. |
| Gibt zurück | Beschreibung |
| void |
TextEdit
Ein TextEdit repräsentiert Bearbeitungen, die an einem Dokument vorgenommen werden sollen.
Statisch
delete(range: Range): TextEdit
Hilfsfunktion zum Erstellen einer Löschbearbeitung.
insert(position: Position, newText: string): TextEdit
Hilfsfunktion zum Erstellen einer Einfügebearbeitung.
replace(range: Range, newText: string): TextEdit
Hilfsfunktion zum Erstellen einer Ersetzungsbearbeitung.
setEndOfLine(eol: EndOfLine): TextEdit
Hilfsfunktion zum Erstellen einer EOL-Bearbeitung.
Konstruktoren
new TextEdit(range: Range, newText: string): TextEdit
Erstellt einen neuen TextEdit.
Eigenschaften
newEol?: EndOfLine
Die EOL-Sequenz, die im Dokument verwendet wird.
Hinweis: Die EOL-Sequenz wird auf das gesamte Dokument angewendet.
Der String, den diese Bearbeitung einfügen wird.
range: Range
Der Bereich, auf den sich diese Bearbeitung bezieht.
TextEditor
Stellt einen Editor dar, der an ein Dokument gebunden ist.
Eigenschaften
document: TextDocument
Das diesem Texteditor zugeordnete Dokument. Das Dokument bleibt während der gesamten Lebensdauer dieses Texteditors dasselbe.
options: TextEditorOptions
Texteditor-Optionen.
selection: Selection
Die primäre Auswahl in diesem Texteditor. Kurzform für TextEditor.selections[0].
selections: readonly Selection[]
Die Auswahlen in diesem Texteditor. Die primäre Auswahl befindet sich immer an Index 0.
viewColumn: ViewColumn
Die Spalte, in der dieser Editor angezeigt wird. Ist undefined, wenn es sich nicht um einen der Haupteditoren handelt, z. B. einen eingebetteten Editor, oder wenn die Editorspalte größer als drei ist.
visibleRanges: readonly Range[]
Die aktuell sichtbaren Bereiche im Editor (vertikal). Dies berücksichtigt nur das vertikale Scrollen und nicht das horizontale Scrollen.
Methoden
edit(callback: (editBuilder: TextEditorEdit) => void, options?: {undoStopAfter: boolean, undoStopBefore: boolean}): Thenable<boolean>
Führt eine Bearbeitung am Dokument durch, das diesem Texteditor zugeordnet ist.
Die bereitgestellte Callback-Funktion wird mit einem Edit-Builder aufgerufen, der zum Erstellen von Bearbeitungen verwendet werden muss. Beachten Sie, dass der Edit-Builder nur gültig ist, solange die Callback-Funktion ausgeführt wird.
| Parameter | Beschreibung |
|---|---|
| callback: (editBuilder: TextEditorEdit) => void | Eine Funktion, die Bearbeitungen mithilfe eines Edit-Builders erstellen kann. |
| options?: {undoStopAfter: boolean, undoStopBefore: boolean} | Das Rückgängig-/Wiederherstellungsverhalten rund um diese Bearbeitung. Standardmäßig werden vor und nach dieser Bearbeitung Rückgängig-Haltepunkte erstellt. |
| Gibt zurück | Beschreibung |
| Thenable<boolean> | Ein Promise, das mit einem Wert aufgelöst wird, der angibt, ob die Bearbeitungen angewendet werden konnten. |
Blendet den Texteditor aus.
- veraltet - Verwenden Sie stattdessen den Befehl
workbench.action.closeActiveEditor. Diese Methode zeigt unerwartetes Verhalten und wird in der nächsten Hauptversion entfernt.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
insertSnippet(snippet: SnippetString, location?: Range | Position | readonly Range[] | readonly Position[], options?: {keepWhitespace: boolean, undoStopAfter: boolean, undoStopBefore: boolean}): Thenable<boolean>
Fügt einen Snippet ein und versetzt den Editor in den Snippet-Modus. "Snippet-Modus" bedeutet, dass der Editor Platzhalter und zusätzliche Cursor hinzufügt, damit der Benutzer den Snippet vervollständigen oder akzeptieren kann.
| Parameter | Beschreibung |
|---|---|
| snippet: SnippetString | Der einzufügende Snippet in dieser Bearbeitung. |
| location?: Range | Position | readonly Range[] | readonly Position[] | Position oder Bereich, an dem der Snippet eingefügt werden soll, Standard ist die aktuelle Editorauswahl oder die aktuellen Auswahlen. |
| options?: {keepWhitespace: boolean, undoStopAfter: boolean, undoStopBefore: boolean} | Das Rückgängig-/Wiederherstellungsverhalten rund um diese Bearbeitung. Standardmäßig werden vor und nach dieser Bearbeitung Rückgängig-Haltepunkte erstellt. |
| Gibt zurück | Beschreibung |
| Thenable<boolean> | Ein Promise, das mit einem Wert aufgelöst wird, der angibt, ob der Snippet eingefügt werden konnte. Beachten Sie, dass das Promise nicht signalisiert, dass der Snippet vollständig ausgefüllt oder akzeptiert wurde. |
revealRange(range: Range, revealType?: TextEditorRevealType): void
Scrolle wie von revealType angegeben, um den angegebenen Bereich sichtbar zu machen.
| Parameter | Beschreibung |
|---|---|
| range: Range | Ein Bereich. |
| revealType?: TextEditorRevealType | Die Scrollstrategie zum Sichtbarmachen von |
| Gibt zurück | Beschreibung |
| void |
setDecorations(decorationType: TextEditorDecorationType, rangesOrOptions: readonly Range[] | readonly DecorationOptions[]): void
Fügt dem Texteditor eine Reihe von Dekorationen hinzu. Wenn bereits eine Reihe von Dekorationen mit dem angegebenen Dekorationstyp vorhanden ist, werden diese ersetzt. Wenn rangesOrOptions leer ist, werden die vorhandenen Dekorationen mit dem angegebenen Dekorationstyp entfernt.
Siehe auch createTextEditorDecorationType.
| Parameter | Beschreibung |
|---|---|
| decorationType: TextEditorDecorationType | Ein Dekorationstyp. |
| rangesOrOptions: readonly Range[] | readonly DecorationOptions[] | |
| Gibt zurück | Beschreibung |
| void |
show(column?: ViewColumn): void
Zeigt den Texteditor an.
- veraltet - Verwenden Sie stattdessen window.showTextDocument.
| Parameter | Beschreibung |
|---|---|
| column?: ViewColumn | Die Spalte, in der dieser Editor angezeigt werden soll. Diese Methode zeigt unerwartetes Verhalten und wird in der nächsten Hauptversion entfernt. |
| Gibt zurück | Beschreibung |
| void |
TextEditorCursorStyle
Rendering-Stil des Cursors.
Enumerationselemente
Rendert den Cursor als vertikale dicke Linie.
Rendert den Cursor als ausgefüllten Block.
Rendert den Cursor als dicke horizontale Linie.
Rendert den Cursor als dünne vertikale Linie.
Rendert den Cursor als umrandeten Block.
Rendert den Cursor als dünne horizontale Linie.
TextEditorDecorationType
Stellt einen Handle für eine Gruppe von Dekorationen dar, die dieselben Styling-Optionen in einem Texteditor teilen.
Verwenden Sie createTextEditorDecorationType, um eine Instanz eines TextEditorDecorationType zu erhalten.
Eigenschaften
Interne Darstellung des Handles.
Methoden
Entfernt diesen Dekorationstyp und alle Dekorationen auf allen Texteditoren, die ihn verwenden.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| void |
TextEditorEdit
Eine komplexe Bearbeitung, die in einer Transaktion auf einem Texteditor angewendet wird. Sie enthält eine Beschreibung der Bearbeitungen, und wenn die Bearbeitungen gültig sind (d. h. keine überlappenden Bereiche, das Dokument wurde inzwischen nicht geändert usw.), können sie auf ein Dokument angewendet werden, das mit einem Texteditor verknüpft ist.
Methoden
delete(location: Range | Selection): void
Löscht einen bestimmten Textbereich.
insert(location: Position, value: string): void
Fügt Text an einer Position ein. Sie können \r\n oder \n in value verwenden, und sie werden an das aktuelle Dokument angepasst. Obwohl die entsprechende Textbearbeitung mit replace erfolgen kann, erzeugt insert eine andere resultierende Auswahl (sie wird verschoben).
| Parameter | Beschreibung |
|---|---|
| location: Position | Die Position, an der der neue Text eingefügt werden soll. |
| value: string | Der neue Text, den diese Operation einfügen soll. |
| Gibt zurück | Beschreibung |
| void |
replace(location: Range | Position | Selection, value: string): void
Ersetzt einen bestimmten Textbereich durch einen neuen Wert. Sie können \r\n oder \n in value verwenden, und sie werden an das aktuelle Dokument angepasst.
setEndOfLine(endOfLine: EndOfLine): void
Setzt die Zeilenende-Sequenz.
TextEditorLineNumbersStyle
Darstellungsstil der Zeilennummern.
Enumerationselemente
Zeilennummern nicht rendern.
Zeilennummern rendern.
Zeilennummern mit Werten relativ zur primären Cursorposition rendern.
Zeilennummern bei jeder 10. Zeilennummer rendern.
TextEditorOptions
Stellt die Optionen eines Texteditors dar.
Eigenschaften
cursorStyle?: TextEditorCursorStyle
Der Darstellungsstil des Cursors in diesem Editor. Beim Abrufen der Optionen eines Texteditors ist diese Eigenschaft immer vorhanden. Beim Festlegen der Optionen eines Texteditors ist diese Eigenschaft optional.
Die Anzahl der Leerzeichen, die eingefügt werden, wenn insertSpaces true ist.
Beim Abrufen der Optionen eines Texteditors ist diese Eigenschaft immer eine Zahl (aufgelöst). Beim Festlegen der Optionen eines Texteditors ist diese Eigenschaft optional und kann eine Zahl oder "tabSize" sein.
insertSpaces?: string | boolean
Beim Drücken der Tabulatortaste werden n Leerzeichen eingefügt. Beim Abrufen der Optionen eines Texteditors ist diese Eigenschaft immer ein Boolescher Wert (aufgelöst). Beim Festlegen der Optionen eines Texteditors ist diese Eigenschaft optional und kann ein Boolescher Wert oder "auto" sein.
lineNumbers?: TextEditorLineNumbersStyle
Relative Zeilennummern w.r.t. der aktuellen Zeilennummer rendern. Beim Abrufen der Optionen eines Texteditors ist diese Eigenschaft immer vorhanden. Beim Festlegen der Optionen eines Texteditors ist diese Eigenschaft optional.
Die Größe in Leerzeichen, die ein Tabulator einnimmt. Dies wird für zwei Zwecke verwendet:
- die Anzeigebreite eines Tabulatorzeichens;
- die Anzahl der Leerzeichen, die eingefügt werden, wenn insertSpaces true ist und
indentSizeauf"tabSize"gesetzt ist.
Beim Abrufen der Optionen eines Texteditors ist diese Eigenschaft immer eine Zahl (aufgelöst). Beim Festlegen der Optionen eines Texteditors ist diese Eigenschaft optional und kann eine Zahl oder "auto" sein.
TextEditorOptionsChangeEvent
Stellt ein Ereignis dar, das die Änderung der Optionen eines Texteditors beschreibt.
Eigenschaften
options: TextEditorOptions
Der neue Wert für die Optionen des Texteditors.
textEditor: TextEditor
Der Texteditor, dessen Optionen sich geändert haben.
TextEditorRevealType
Stellt verschiedene Offenlegungsstrategien in einem Texteditor dar.
Enumerationselemente
Der Bereich wird mit so wenig Scrollen wie möglich sichtbar gemacht.
Der Bereich wird immer in der Mitte des Ansichtsfensters sichtbar gemacht.
Wenn der Bereich außerhalb des Ansichtsfensters liegt, wird er in der Mitte des Ansichtsfensters sichtbar gemacht. Andernfalls wird er mit so wenig Scrollen wie möglich sichtbar gemacht.
Der Bereich wird immer am oberen Rand des Ansichtsfensters sichtbar gemacht.
TextEditorSelectionChangeEvent
Stellt ein Ereignis dar, das die Änderung der Auswahlen eines Texteditors beschreibt.
Eigenschaften
kind: TextEditorSelectionChangeKind
Die Art der Änderung, die dieses Ereignis ausgelöst hat. Kann undefined sein.
selections: readonly Selection[]
Der neue Wert für die Auswahlen des Texteditors.
textEditor: TextEditor
Der Texteditor, dessen Auswahlen sich geändert haben.
TextEditorSelectionChangeKind
Stellt Quellen dar, die Ereignisse zur Änderung der Texteditor-Auswahl auslösen können.
Enumerationselemente
Auswahl hat sich aufgrund von Eingaben im Editor geändert.
Auswahländerung aufgrund eines Mausklicks im Editor.
Auswahl hat sich geändert, da ein Befehl ausgeführt wurde.
TextEditorViewColumnChangeEvent
Stellt ein Ereignis dar, das die Änderung der Ansichtssäule eines Texteditors beschreibt.
Eigenschaften
textEditor: TextEditor
Der Texteditor, dessen Ansichtssäule sich geändert hat.
viewColumn: ViewColumn
Der neue Wert für die Ansichtssäule des Texteditors.
TextEditorVisibleRangesChangeEvent
Stellt ein Ereignis dar, das die Änderung der sichtbaren Bereiche eines Texteditors beschreibt.
Eigenschaften
textEditor: TextEditor
Der Texteditor, dessen sichtbare Bereiche sich geändert haben.
visibleRanges: readonly Range[]
Der neue Wert für die sichtbaren Bereiche des Texteditors.
TextLine
Stellt eine Textzeile dar, z. B. eine Quellcodezeile.
TextLine-Objekte sind unveränderlich. Wenn sich ein Dokument ändert, stellen zuvor abgerufene Zeilen nicht mehr den aktuellsten Zustand dar.
Eigenschaften
firstNonWhitespaceCharacterIndex: number
Der Index des ersten Zeichens, das kein Leerzeichen ist, wie von /\s/ definiert. Hinweis: Wenn eine Zeile nur aus Leerzeichen besteht, wird die Länge der Zeile zurückgegeben.
Gibt an, ob diese Zeile nur aus Leerzeichen besteht. Kurzform für TextLine.firstNonWhitespaceCharacterIndex === TextLine.text.length.
Die nullbasierte Zeilennummer.
range: Range
Der Bereich, den diese Zeile ohne die Zeilenumbruchzeichen abdeckt.
rangeIncludingLineBreak: Range
Der Bereich, den diese Zeile einschließlich der Zeilenumbruchzeichen abdeckt.
Der Text dieser Zeile ohne die Zeilenumbruchzeichen.
ThemableDecorationAttachmentRenderOptions
Eigenschaften
backgroundColor?: string | ThemeColor
CSS-Stileigenschaft, die auf den Dekorationshintergrund angewendet wird.
CSS-Stileigenschaft, die auf den Dekorationshintergrund angewendet wird.
borderColor?: string | ThemeColor
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
color?: string | ThemeColor
CSS-Stileigenschaft, die auf den Dekorationshintergrund angewendet wird.
contentIconPath?: string | Uri
Ein absoluter Pfad oder eine URI zu einem Bild, das im Anhang gerendert werden soll. Entweder ein Symbol oder ein Text kann angezeigt werden, aber nicht beides.
Definiert einen Textinhalt, der im Anhang angezeigt wird. Entweder ein Symbol oder ein Text kann angezeigt werden, aber nicht beides.
CSS-Stileigenschaft, die auf den Dekorationshintergrund angewendet wird.
CSS-Stileigenschaft, die auf den Dekorationshintergrund angewendet wird.
CSS-Stileigenschaft, die auf den Dekorationshintergrund angewendet wird.
CSS-Stileigenschaft, die auf den Dekorationshintergrund angewendet wird.
CSS-Stileigenschaft, die auf den Dekorationshintergrund angewendet wird.
CSS-Stileigenschaft, die auf den Dekorationshintergrund angewendet wird.
ThemableDecorationInstanceRenderOptions
Stellt thematisierbare Darstellungsoptionen für Dekorationen-Instanzen dar.
Eigenschaften
after?: ThemableDecorationAttachmentRenderOptions
Definiert die Renderoptionen für den Anhang, der nach dem dekorierten Text eingefügt wird.
before?: ThemableDecorationAttachmentRenderOptions
Definiert die Renderoptionen für den Anhang, der vor dem dekorierten Text eingefügt wird.
ThemableDecorationRenderOptions
Stellt themenspezifische Darstellungsstile für eine Texteditor-Dekoration dar.
Eigenschaften
after?: ThemableDecorationAttachmentRenderOptions
Definiert die Renderoptionen für den Anhang, der nach dem dekorierten Text eingefügt wird.
backgroundColor?: string | ThemeColor
Hintergrundfarbe der Dekoration. Verwenden Sie rgba() und definieren Sie transparente Hintergrundfarben, um mit anderen Dekorationen gut zu harmonieren. Alternativ kann eine Farbe aus der Farbregistrierung referenziert werden.
before?: ThemableDecorationAttachmentRenderOptions
Definiert die Renderoptionen für den Anhang, der vor dem dekorierten Text eingefügt wird.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
borderColor?: string | ThemeColor
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'border', um eine oder mehrere der einzelnen Bordüre-Eigenschaften einzustellen.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'border', um eine oder mehrere der einzelnen Bordüre-Eigenschaften einzustellen.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'border', um eine oder mehrere der einzelnen Bordüre-Eigenschaften einzustellen.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'border', um eine oder mehrere der einzelnen Bordüre-Eigenschaften einzustellen.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'border', um eine oder mehrere der einzelnen Bordüre-Eigenschaften einzustellen.
color?: string | ThemeColor
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
gutterIconPath?: string | Uri
Ein **absoluter Pfad** oder eine URI zu einem Bild, das in der Spalte gerendert werden soll.
Gibt die Größe des Spaltensymbols an. Verfügbare Werte sind 'auto', 'contain', 'cover' und jeder Prozentwert. Weitere Informationen finden Sie unter: https://msdn.microsoft.com/en-us/library/jj127316(v=vs.85).aspx
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
outlineColor?: string | ThemeColor
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'outline', um eine oder mehrere der einzelnen Outline-Eigenschaften einzustellen.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'outline', um eine oder mehrere der einzelnen Outline-Eigenschaften einzustellen.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist. Verwenden Sie besser 'outline', um eine oder mehrere der einzelnen Outline-Eigenschaften einzustellen.
overviewRulerColor?: string | ThemeColor
Die Farbe der Dekoration in der Übersichtsleiste. Verwenden Sie rgba() und definieren Sie transparente Farben, um gut mit anderen Dekorationen zu harmonieren.
CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.
ThemeColor
Eine Referenz auf eine der Workbench-Farben, wie unter https://visualstudiocode.de/api/references/theme-color definiert. Die Verwendung einer ThemeColor wird einer benutzerdefinierten Farbe vorgezogen, da sie Themenautoren und Benutzern die Möglichkeit gibt, die Farbe zu ändern.
Konstruktoren
new ThemeColor(id: string): ThemeColor
Erstellt eine Referenz auf eine Theme-Farbe.
| Parameter | Beschreibung |
|---|---|
| id: string | der Farbe. Die verfügbaren Farben sind unter https://visualstudiocode.de/api/references/theme-color aufgeführt. |
| Gibt zurück | Beschreibung |
| ThemeColor |
Eigenschaften
Die ID dieser Farbe.
ThemeIcon
Eine Referenz auf ein benanntes Symbol. Derzeit werden Datei, Ordner und ThemeIcon IDs unterstützt. Die Verwendung eines ThemeIcons wird einem benutzerdefinierten Symbol vorgezogen, da es Produkt-Themenautoren die Möglichkeit gibt, die Symbole zu ändern.
Hinweis: Theme-Symbole können auch in Beschriftungen und Beschreibungen angezeigt werden. Orte, die Theme-Symbole unterstützen, legen dies dar und verwenden die $(<name>)-Syntax, z. B. quickPick.label = "Hallo Welt $(globe)".
Statisch
File: ThemeIcon
Referenz auf ein Symbol, das eine Datei darstellt. Das Symbol wird aus dem aktuellen Dateisymbol-Thema übernommen oder es wird ein Platzhaltersymbol verwendet.
Folder: ThemeIcon
Referenz auf ein Symbol, das einen Ordner darstellt. Das Symbol wird aus dem aktuellen Dateisymbol-Thema übernommen oder es wird ein Platzhaltersymbol verwendet.
Konstruktoren
new ThemeIcon(id: string, color?: ThemeColor): ThemeIcon
Erstellt eine Referenz auf ein Theme-Symbol.
| Parameter | Beschreibung |
|---|---|
| id: string | ID des Symbols. Die verfügbaren Symbole sind unter https://visualstudiocode.de/api/references/icons-in-labels#icon-listing aufgeführt. |
| color?: ThemeColor | optionale |
| Gibt zurück | Beschreibung |
| ThemeIcon |
Eigenschaften
color?: ThemeColor
Die optionale ThemeColor des Symbols. Die Farbe wird derzeit nur in TreeItem verwendet.
Die ID des Symbols. Die verfügbaren Symbole sind unter https://visualstudiocode.de/api/references/icons-in-labels#icon-listing aufgeführt.
TreeCheckboxChangeEvent<T>
Ein Ereignis, das die Änderung des Kontrollkästchenzustands eines Baumelements beschreibt.
Eigenschaften
items: ReadonlyArray<[T, TreeItemCheckboxState]>
Die Elemente, die ausgewählt oder abgewählt wurden.
TreeDataProvider<T>
Ein Datenanbieter, der Baumdaten bereitstellt.
Events
onDidChangeTreeData?: Event<void | T | T[]>
Ein optionales Ereignis, das signalisiert, dass ein Element oder die Wurzel geändert wurde. Dies löst die Aktualisierung des geänderten Elements/der Wurzel und seiner Kinder rekursiv aus (falls angezeigt). Um zu signalisieren, dass die Wurzel geändert wurde, übergeben Sie keine Argumente oder übergeben Sie undefined oder null.
Methoden
getChildren(element?: T): ProviderResult<T[]>
Ruft die Kinder von element oder die Wurzel ab, wenn kein Element übergeben wird.
| Parameter | Beschreibung |
|---|---|
| element?: T | Das Element, von dem der Anbieter Kinder abruft. Kann |
| Gibt zurück | Beschreibung |
| ProviderResult<T[]> | Kinder von |
getParent(element: T): ProviderResult<T>
Optionale Methode, um das übergeordnete Element von element zurückzugeben. Gibt null oder undefined zurück, wenn element ein Kind der Wurzel ist.
HINWEIS: Diese Methode muss implementiert werden, um auf die reveal-API zugreifen zu können.
| Parameter | Beschreibung |
|---|---|
| element: T | Das Element, für das das übergeordnete Element zurückgegeben werden soll. |
| Gibt zurück | Beschreibung |
| ProviderResult<T> | Übergeordnetes Element von |
getTreeItem(element: T): TreeItem | Thenable<TreeItem>
Ruft die TreeItem-Darstellung des element ab.
resolveTreeItem(item: TreeItem, element: T, token: CancellationToken): ProviderResult<TreeItem>
Wird beim Hovern aufgerufen, um die Eigenschaft TreeItem.tooltip aufzulösen, wenn sie undefiniert ist. Wird beim Klicken/Öffnen eines Baumelements aufgerufen, um die Eigenschaft TreeItem.command aufzulösen, wenn sie undefiniert ist. Nur Eigenschaften, die undefiniert waren, können in resolveTreeItem aufgelöst werden. Die Funktionalität kann später erweitert werden, um das Auflösen anderer fehlender Eigenschaften bei Auswahl und/oder Öffnen einzuschließen.
Wird pro TreeItem nur einmal aufgerufen.
onDidChangeTreeData sollte nicht aus resolveTreeItem heraus ausgelöst werden.
Hinweis: Diese Funktion wird aufgerufen, wenn Baumelemente bereits in der Benutzeroberfläche angezeigt werden. Daher können keine Eigenschaften, die die Darstellung ändern (Label, Beschreibung usw.), geändert werden.
| Parameter | Beschreibung |
|---|---|
| item: TreeItem | Undefinierte Eigenschaften von |
| element: T | Das dem TreeItem zugeordnete Objekt. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<TreeItem> | Das aufgelöste Baum-Element oder ein Thenable, das sich zu einem solchen auflöst. Es ist in Ordnung, das gegebene |
TreeDragAndDropController<T>
Bietet Unterstützung für Drag & Drop in TreeView.
Eigenschaften
dragMimeTypes: readonly string[]
Die MIME-Typen, die die Methode handleDrag dieses TreeDragAndDropController dem Datenübertragungsobjekt des Baums hinzufügen kann. Dies können gut definierte, vorhandene MIME-Typen sowie von der Erweiterung definierte MIME-Typen sein.
Der empfohlene MIME-Typ des Baums (application/vnd.code.tree.<treeidlowercase>) wird automatisch hinzugefügt.
dropMimeTypes: readonly string[]
Die MIME-Typen, die die Methode handleDrop dieses DragAndDropController unterstützt. Dies können gut definierte, vorhandene MIME-Typen sowie durch die Erweiterung definierte MIME-Typen sein.
Um Drops von Bäumen zu unterstützen, müssen Sie den MIME-Typ dieses Baums hinzufügen. Dies schließt Drops aus demselben Baum ein. Es wird empfohlen, den MIME-Typ eines Baums im Format application/vnd.code.tree.<treeidlowercase> zu verwenden.
Verwenden Sie den speziellen MIME-Typ files, um alle Arten von gedroppten Dateien Dateien zu unterstützen, unabhängig vom tatsächlichen MIME-Typ der Datei.
Um den MIME-Typ eines gezogenen Elements zu erfahren
- Richten Sie Ihren
DragAndDropControllerein - Verwenden Sie den Befehl Entwickler: Protokollierungsstufe festlegen..., um die Stufe auf "Debug" zu setzen
- Öffnen Sie die Entwicklertools und ziehen Sie das Element mit unbekanntem MIME-Typ über Ihren Baum. Die MIME-Typen werden in der Entwicklerkonsole protokolliert
Beachten Sie, dass MIME-Typen, die nicht an die Erweiterung gesendet werden können, weggelassen werden.
Methoden
handleDrag(source: readonly T[], dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>
Wenn der Benutzer beginnt, Elemente aus diesem DragAndDropController zu ziehen, wird handleDrag aufgerufen. Erweiterungen können handleDrag verwenden, um ihre DataTransferItem-Elemente zum Ziehen und Ablegen hinzuzufügen.
In handleDrag hinzugefügte MIME-Typen sind außerhalb der Anwendung nicht verfügbar.
Wenn die Elemente auf ein **anderes Baum-Element** im **selben Baum** gedroppt werden, bleiben Ihre DataTransferItem-Objekte erhalten. Verwenden Sie den empfohlenen MIME-Typ für den Baum (application/vnd.code.tree.<treeidlowercase>), um Baumobjekte in eine Datenübertragung einzufügen. Die Dokumentation für DataTransferItem erklärt, wie dies am besten genutzt werden kann.
Um ein Datenübertragungselement hinzuzufügen, das in den Editor gezogen werden kann, verwenden Sie den anwendungsspezifischen MIME-Typ "text/uri-list". Die Daten für "text/uri-list" sollten eine Zeichenkette mit den toString()ed URIs sein, getrennt durch \r\n. Um eine Cursorposition in der Datei anzugeben, setzen Sie das Fragment der URI auf L3,5, wobei 3 die Zeilennummer und 5 die Spaltennummer ist.
| Parameter | Beschreibung |
|---|---|
| source: readonly T[] | Die Quellenelemente für die Ziehen-und-Ablegen-Operation. |
| dataTransfer: DataTransfer | Die Datenübertragung, die mit diesem Ziehvorgang verbunden ist. |
| token: CancellationToken | Ein Abbruch-Token, das anzeigt, dass der Ziehvorgang abgebrochen wurde. |
| Gibt zurück | Beschreibung |
| void | Thenable<void> |
handleDrop(target: T, dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>
Wird aufgerufen, wenn eine Ziehen-und-Ablegen-Aktion zu einem Ablegen auf dem Baum führt, zu dem dieser DragAndDropController gehört.
Erweiterungen sollten onDidChangeTreeData für alle Elemente auslösen, die aktualisiert werden müssen.
| Parameter | Beschreibung |
|---|---|
| target: T | Das Ziel-Baum-Element, auf das gedroppt wird. Wenn nicht definiert, ist das Ziel die Wurzel. |
| dataTransfer: DataTransfer | Die Datenübertragungselemente der Quelle des Ziehvorgangs. |
| token: CancellationToken | Ein Abbruch-Token, das anzeigt, dass das Ablegen abgebrochen wurde. |
| Gibt zurück | Beschreibung |
| void | Thenable<void> |
TreeItem
Ein Baum-Element ist ein UI-Element des Baums. Baum-Elemente werden vom Datenanbieter erstellt.
Konstruktoren
new TreeItem(label: string | TreeItemLabel, collapsibleState?: TreeItemCollapsibleState): TreeItem
| Parameter | Beschreibung |
|---|---|
| label: string | TreeItemLabel | Eine für Menschen lesbare Zeichenkette, die dieses Element beschreibt |
| collapsibleState?: TreeItemCollapsibleState | Der TreeItemCollapsibleState des Baum-Elements. Standard ist TreeItemCollapsibleState.None |
| Gibt zurück | Beschreibung |
| TreeItem |
new TreeItem(resourceUri: Uri, collapsibleState?: TreeItemCollapsibleState): TreeItem
| Parameter | Beschreibung |
|---|---|
| resourceUri: Uri | Die Uri der Ressource, die dieses Element repräsentiert. |
| collapsibleState?: TreeItemCollapsibleState | Der TreeItemCollapsibleState des Baum-Elements. Standard ist TreeItemCollapsibleState.None |
| Gibt zurück | Beschreibung |
| TreeItem |
Eigenschaften
accessibilityInformation?: AccessibilityInformation
Barrierefreiheitsinformationen, die verwendet werden, wenn ein Screenreader mit diesem Baum-Element interagiert. Im Allgemeinen muss ein TreeItem die role der accessibilityInformation nicht festlegen; es gibt jedoch Fälle, in denen ein TreeItem nicht baumartig angezeigt wird, in denen die Festlegung der role sinnvoll sein kann.
checkboxState?: TreeItemCheckboxState | {accessibilityInformation: AccessibilityInformation, state: TreeItemCheckboxState, tooltip: string}
Der TreeItemCheckboxState des Baum-Elements. onDidChangeTreeData sollte ausgelöst werden, wenn sich der checkboxState ändert.
collapsibleState?: TreeItemCollapsibleState
Der TreeItemCollapsibleState des Baum-Elements.
command?: Command
Der Command, der ausgeführt werden soll, wenn das Baum-Element ausgewählt wird.
Bitte verwenden Sie vscode.open oder vscode.diff als Befehls-IDs, wenn das Baum-Element etwas im Editor öffnet. Die Verwendung dieser Befehle stellt sicher, dass der resultierende Editor so erscheint, wie andere integrierte Bäume Editoren öffnen.
Kontextwert des Baum-Elements. Dies kann verwendet werden, um element-spezifische Aktionen im Baum beizusteuern. Zum Beispiel wird einem Baum-Element ein Kontextwert als folder gegeben. Wenn Sie Aktionen zu view/item/context über den menus-Erweiterungspunkt beisteuern, können Sie den Kontextwert für den Schlüssel viewItem im when-Ausdruck wie viewItem == folder angeben.
"contributes": {
"menus": {
"view/item/context": [
{
"command": "extension.deleteFolder",
"when": "viewItem == folder"
}
]
}
}
Dies zeigt die Aktion extension.deleteFolder nur für Elemente mit contextValue gleich folder an.
description?: string | boolean
Eine für Menschen lesbare Zeichenkette, die weniger prominent dargestellt wird. Wenn true, wird sie aus resourceUri abgeleitet, und wenn sie falsy ist, wird sie nicht angezeigt.
iconPath?: string | IconPath
Der Icon-Pfad oder die ThemeIcon für das Baum-Element. Wenn falsy, wird die ThemeIcon Ordner zugewiesen, wenn das Element aufklappbar ist, andernfalls die ThemeIcon Datei. Wenn eine Datei- oder Ordner-ThemeIcon angegeben ist, wird das Icon aus dem aktuellen Dateisymbol-Thema für die angegebene Theme-Ikone unter Verwendung von resourceUri (falls vorhanden) abgeleitet.
Optionale ID für das Baum-Element, die über den gesamten Baum eindeutig sein muss. Die ID wird verwendet, um den Auswahl- und Erweiterungsstatus des Baum-Elements beizubehalten.
Wenn nicht angegeben, wird eine ID anhand des Labels des Baum-Elements generiert. **Beachten Sie**, dass sich die IDs ändern, wenn sich die Labels ändern, und dass die Auswahl- und Erweiterungszustände nicht stabil gehalten werden können.
label?: string | TreeItemLabel
Eine für Menschen lesbare Zeichenkette, die dieses Element beschreibt. Wenn falsy, wird sie aus resourceUri abgeleitet.
resourceUri?: Uri
tooltip?: string | MarkdownString
Der Tooltip-Text, wenn Sie mit der Maus über dieses Element fahren.
TreeItemCheckboxState
Checkbox-Status des Baum-Elements
Enumerationselemente
Bestimmt, dass ein Element nicht ausgewählt ist
Bestimmt, dass ein Element ausgewählt ist
TreeItemCollapsibleState
Aufklappbarer Status des Baum-Elements
Enumerationselemente
Bestimmt, dass ein Element weder zusammengeklappt noch aufgeklappt werden kann. Impliziert, dass es keine Kinder hat.
Bestimmt, dass ein Element zusammengeklappt ist.
Bestimmt, dass ein Element erweitert ist.
TreeItemLabel
Label, das das TreeItem beschreibt
Eigenschaften
highlights?: Array<[number, number]>
Bereiche im Label, die hervorgehoben werden sollen. Ein Bereich ist als Tupel aus zwei Zahlen definiert, wobei die erste der inklusive Startindex und die zweite der exklusive Endindex ist.
Eine für Menschen lesbare Zeichenkette, die das TreeItem beschreibt.
TreeView<T>
Stellt eine Baumansicht dar
Events
onDidChangeCheckboxState: Event<TreeCheckboxChangeEvent<T>>
Ein Ereignis, das signalisiert, dass ein Element oder eine Wurzel entweder ausgewählt oder abgewählt wurde.
onDidChangeSelection: Event<TreeViewSelectionChangeEvent<T>>
Ereignis, das ausgelöst wird, wenn sich die Auswahl geändert hat
onDidChangeVisibility: Event<TreeViewVisibilityChangeEvent>
Ereignis, das ausgelöst wird, wenn sich die Sichtbarkeit geändert hat
onDidCollapseElement: Event<TreeViewExpansionEvent<T>>
Ereignis, das ausgelöst wird, wenn ein Element zusammengeklappt wird
onDidExpandElement: Event<TreeViewExpansionEvent<T>>
Ereignis, das ausgelöst wird, wenn ein Element aufgeklappt wird
Eigenschaften
badge?: ViewBadge
Das für diese TreeView anzuzeigende Abzeichen. Um das Abzeichen zu entfernen, setzen Sie es auf undefined.
Eine optionale, für Menschen lesbare Beschreibung, die weniger prominent in der Titelleiste der Ansicht angezeigt wird. Das Setzen der Titelbeschreibung auf null, undefined oder eine leere Zeichenkette entfernt die Beschreibung aus der Ansicht.
Eine optionale, für Menschen lesbare Nachricht, die in der Ansicht angezeigt wird. Das Setzen der Nachricht auf null, undefined oder eine leere Zeichenkette entfernt die Nachricht aus der Ansicht.
Aktuell ausgewählte Elemente.
Der Titel der Baumansicht wird ursprünglich aus der extension package.json übernommen. Änderungen an der Titelleiste werden in der Benutzeroberfläche des Titels der Ansicht ordnungsgemäß angezeigt.
true, wenn die Baumansicht sichtbar ist, andernfalls false.
Methoden
Dieses Objekt entsorgen.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| any |
reveal(element: T, options?: {expand: number | boolean, focus: boolean, select: boolean}): Thenable<void>
Macht das angegebene Element in der Baumansicht sichtbar. Wenn die Baumansicht nicht sichtbar ist, wird sie angezeigt und das Element wird sichtbar gemacht.
Standardmäßig wird das sichtbare Element ausgewählt. Um die Auswahl nicht zu aktivieren, setzen Sie die Option select auf false. Um den Fokus zu setzen, setzen Sie die Option focus auf true. Um das sichtbare Element zu erweitern, setzen Sie die Option expand auf true. Um rekursiv zu erweitern, setzen Sie expand auf die Anzahl der zu erweiternden Ebenen.
- HINWEIS: Sie können nur bis zu 3 Ebenen erweitern.
- HINWEIS: Der TreeDataProvider, mit dem die
TreeViewregistriert ist, muss die Methode getParent implementieren, um auf diese API zugreifen zu können.
| Parameter | Beschreibung |
|---|---|
| element: T | |
| options?: {expand: number | boolean, focus: boolean, select: boolean} | |
| Gibt zurück | Beschreibung |
| Thenable<void> |
TreeViewExpansionEvent<T>
Das Ereignis, das ausgelöst wird, wenn ein Element in der TreeView aufgeklappt oder zusammengeklappt wird.
Eigenschaften
Das Element, das aufgeklappt oder zusammengeklappt wurde.
TreeViewOptions<T>
Optionen zum Erstellen einer TreeView
Eigenschaften
Ob der Baum Mehrfachauswahl unterstützt. Wenn der Baum Mehrfachauswahl unterstützt und ein Befehl aus dem Baum ausgeführt wird, ist das erste Argument des Befehls das Baum-Element, auf dem der Befehl ausgeführt wurde, und das zweite Argument ist ein Array, das alle ausgewählten Baum-Elemente enthält.
dragAndDropController?: TreeDragAndDropController<T>
Eine optionale Schnittstelle zur Implementierung von Ziehen und Ablegen in der Baumansicht.
manageCheckboxStateManually?: boolean
Standardmäßig, wenn die Kinder eines Baum-Elements bereits abgerufen wurden, werden die Kinder-Kontrollkästchen automatisch basierend auf dem ausgewählten Status des Eltern-Baum-Elements verwaltet. Wenn das Baum-Element standardmäßig zusammengeklappt ist (was bedeutet, dass die Kinder noch nicht abgerufen wurden), werden die Kinder-Kontrollkästchen nicht aktualisiert. Um dieses Verhalten zu überschreiben und den Eltern- und Kinder-Kontrollkästchenstatus in der Erweiterung zu verwalten, setzen Sie diesen Wert auf true.
Beispiele, wo TreeViewOptions.manageCheckboxStateManually falsch ist, das Standardverhalten
Ein Baum-Element ist ausgewählt, dann werden seine Kinder abgerufen. Die Kinder werden ausgewählt.
Das Eltern-Element eines Baum-Elements ist ausgewählt. Das Baum-Element und alle seine Geschwister werden ausgewählt.
- Elternteil
- Kind 1
- Kind 2 Wenn der Benutzer Elternteil auswählt, sieht der Baum so aus
- Elternteil
- Kind 1
- Kind 2
- Ein Baum-Element und alle seine Geschwister sind ausgewählt. Das Elternteil wird ausgewählt.
- Elternteil
- Kind 1
- Kind 2 Wenn der Benutzer Kind 1 und Kind 2 auswählt, sieht der Baum so aus
- Elternteil
- Kind 1
- Kind 2
- Ein Baum-Element ist nicht ausgewählt. Das Elternteil wird nicht ausgewählt.
- Elternteil
- Kind 1
- Kind 2 Wenn der Benutzer Kind 1 abwählt, sieht der Baum so aus
- Elternteil
- Kind 1
- Kind 2
Ob die Aktion "Alle zusammenklappen" angezeigt werden soll oder nicht.
treeDataProvider: TreeDataProvider<T>
Ein Datenanbieter, der Baumdaten bereitstellt.
TreeViewSelectionChangeEvent<T>
Das Ereignis, das ausgelöst wird, wenn sich die Auswahl der Baumansicht ändert.
Eigenschaften
Ausgewählte Elemente.
TreeViewVisibilityChangeEvent
Das Ereignis, das ausgelöst wird, wenn sich die Sichtbarkeit der Baumansicht ändert.
Eigenschaften
true, wenn die Baumansicht sichtbar ist, andernfalls false.
TypeDefinitionProvider
Der Typdefinitionsanbieter definiert den Vertrag zwischen Erweiterungen und der Funktion "Zu Typdefinition springen".
Methoden
provideTypeDefinition(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>
Stellt die Typdefinition des Symbols an der angegebenen Position und im Dokument bereit.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| position: Position | Die Position, an der der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<Definition | LocationLink[]> | Eine Definition oder ein Thenable, das sich zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
TypeHierarchyItem
Stellt ein Element einer Typenhierarchie dar, z. B. eine Klasse oder eine Schnittstelle.
Konstruktoren
new TypeHierarchyItem(kind: SymbolKind, name: string, detail: string, uri: Uri, range: Range, selectionRange: Range): TypeHierarchyItem
Erstellt ein neues Element für die Typenhierarchie.
| Parameter | Beschreibung |
|---|---|
| kind: SymbolKind | Die Art des Elements. |
| name: string | Der Name des Elements. |
| detail: string | Die Details des Elements. |
| uri: Uri | Die Uri des Elements. |
| range: Range | Der gesamte Bereich des Elements. |
| selectionRange: Range | Der Auswahlbereich des Elements. |
| Gibt zurück | Beschreibung |
| TypeHierarchyItem |
Eigenschaften
Weitere Details zu diesem Element, z. B. die Signatur einer Funktion.
kind: SymbolKind
Die Art dieses Elements.
Der Name dieses Elements.
range: Range
Der Bereich, der dieses Symbol umschließt, ohne führende/nachfolgende Leerzeichen, aber alles andere, z. B. Kommentare und Code.
selectionRange: Range
Der Bereich, der ausgewählt und angezeigt werden soll, wenn dieses Symbol ausgewählt wird, z. B. der Name einer Klasse. Muss innerhalb des range-Eigenschafts liegen.
tags?: readonly SymbolTag[]
Tags für dieses Element.
uri: Uri
Die Ressourcenkennung dieses Elements.
TypeHierarchyProvider
Die Schnittstelle TypeHierarchyProvider beschreibt den Vertrag zwischen Erweiterungen und der Funktion der Typenhierarchie.
Methoden
prepareTypeHierarchy(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<TypeHierarchyItem | TypeHierarchyItem[]>
Initialisiert die Typenhierarchie, indem das Element zurückgegeben wird, das durch das angegebene Dokument und die angegebene Position bezeichnet wird. Dieses Element wird als Einstiegspunkt in den Typengraphen verwendet. Anbieter sollten undefined oder null zurückgeben, wenn sich an der angegebenen Position kein Element befindet.
| Parameter | Beschreibung |
|---|---|
| document: TextDocument | Das Dokument, in dem der Befehl aufgerufen wurde. |
| position: Position | Die Position, an der der Befehl aufgerufen wurde. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<TypeHierarchyItem | TypeHierarchyItem[]> | Ein oder mehrere Typenhierarchie-Elemente oder ein Thenable, das zu einem solchen aufgelöst wird. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
provideTypeHierarchySubtypes(item: TypeHierarchyItem, token: CancellationToken): ProviderResult<TypeHierarchyItem[]>
Stellt alle Untertypen für ein Element bereit, z. B. alle Typen, die von dem gegebenen Element abgeleitet/geerbt werden. In Graphentermen beschreibt dies gerichtete und annotierte Kanten innerhalb des Typengraphen, z. B. ist das gegebene Element der Startknoten und das Ergebnis sind die erreichbaren Knoten.
| Parameter | Beschreibung |
|---|---|
| item: TypeHierarchyItem | Das Hierarchieelement, für das Untertypen berechnet werden sollen. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<TypeHierarchyItem[]> | Eine Menge direkter Untertypen oder ein Thenable, das sich zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
provideTypeHierarchySupertypes(item: TypeHierarchyItem, token: CancellationToken): ProviderResult<TypeHierarchyItem[]>
Stellt alle Obertypen für ein Element bereit, z. B. alle Typen, von denen ein Typ abgeleitet/geerbt wird. In Graphentermen beschreibt dies gerichtete und annotierte Kanten innerhalb des Typengraphen, z. B. ist das gegebene Element der Startknoten und das Ergebnis sind die erreichbaren Knoten.
| Parameter | Beschreibung |
|---|---|
| item: TypeHierarchyItem | Das Hierarchieelement, für das Obertypen berechnet werden sollen. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<TypeHierarchyItem[]> | Eine Menge direkter Obertypen oder ein Thenable, das sich zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von |
UIKind
Mögliche Arten von Benutzeroberflächen, die Erweiterungen nutzen können.
Enumerationselemente
Erweiterungen werden von einer Desktop-Anwendung aus zugegriffen.
Erweiterungen werden aus einem Webbrowser aufgerufen.
Uri
Ein universeller Ressourcenbezeichner, der entweder eine Datei auf der Festplatte oder eine andere Ressource darstellt, wie z.B. nicht benannte Ressourcen.
Statisch
file(path: string): Uri
Erstellt eine URI aus einem Dateisystempfad. Das Schema ist file.
Der *Unterschied* zwischen Uri.parse und Uri.file besteht darin, dass letzteres das Argument als Pfad und nicht als stringifizierte URI behandelt. Z.B. ist Uri.file(path) *nicht* dasselbe wie Uri.parse('file://' + path), da der Pfad Zeichen enthalten kann, die interpretiert werden (# _ und ?). Siehe das folgende Beispiel
const good = URI.file('/coding/c#/project1');
good.scheme === 'file';
good.path === '/coding/c#/project1';
good.fragment === '';
const bad = URI.parse('file://' + '/coding/c#/project1');
bad.scheme === 'file';
bad.path === '/coding/c'; // path is now broken
bad.fragment === '/project1';
| Parameter | Beschreibung |
|---|---|
| path: string | Ein Dateisystem- oder UNC-Pfad. |
| Gibt zurück | Beschreibung |
| Uri | Eine neue Uri-Instanz. |
from(components: {authority: string, fragment: string, path: string, query: string, scheme: string}): Uri
Erstellt eine URI aus ihren Bestandteilen
Siehe auch Uri.toString
| Parameter | Beschreibung |
|---|---|
| components: {authority: string, fragment: string, path: string, query: string, scheme: string} | Die Bestandteile einer Uri. |
| Gibt zurück | Beschreibung |
| Uri | Eine neue Uri-Instanz. |
joinPath(base: Uri, ...pathSegments: string[]): Uri
Erstellt eine neue URI, deren Pfad das Ergebnis der Verknüpfung des Pfades der Basis-URI mit den angegebenen Pfadsegmenten ist.
- Hinweis 1:
joinPathbeeinflusst nur die Pfadkomponente; alle anderen Komponenten (Schema, Autorität, Abfrage und Fragment) bleiben unverändert. - Hinweis 2: Die Basis-URI muss einen Pfad haben; andernfalls wird ein Fehler ausgelöst.
Die Pfadsegmente werden wie folgt normalisiert:
- Sequenzen von Pfadtrennzeichen (
/oder\) werden durch ein einzelnes Trennzeichen ersetzt. - Bei
file-URIs unter Windows wird der Backslash (\) als Pfadtrennzeichen betrachtet. - Das Segment
..bezeichnet das übergeordnete Segment,.bezeichnet das aktuelle Segment. - Pfade haben eine Wurzel, die immer erhalten bleibt. Zum Beispiel sind unter Windows Laufwerksbuchstaben Wurzeln, sodass gilt:
joinPath(Uri.file('file:///c:/root'), '../../other').fsPath === 'c:/other'.
parse(value: string, strict?: boolean): Uri
Erstellt eine URI aus einer Zeichenkette, z.B. http://www.example.com/some/path, file:///usr/home oder scheme:with/path.
Hinweis: Eine Zeit lang wurden URIs ohne scheme akzeptiert. Das ist nicht korrekt, da alle URIs ein Schema haben sollten. Um eine Beeinträchtigung bestehenden Codes zu vermeiden, wurde das optionale Argument strict hinzugefügt. Wir raten *dringend* zur Verwendung, z.B. Uri.parse('my:uri', true).
Siehe auch Uri.toString
| Parameter | Beschreibung |
|---|---|
| value: string | Der Zeichenkettenwert einer Uri. |
| strict?: boolean | Löst einen Fehler aus, wenn |
| Gibt zurück | Beschreibung |
| Uri | Eine neue Uri-Instanz. |
Konstruktoren
new Uri(scheme: string, authority: string, path: string, query: string, fragment: string): Uri
Verwenden Sie die Factory-Funktionen file und parse, um neue Uri-Objekte zu erstellen.
| Parameter | Beschreibung |
|---|---|
| scheme: string | |
| authority: string | |
| path: string | |
| query: string | |
| fragment: string | |
| Gibt zurück | Beschreibung |
| Uri |
Eigenschaften
Die Autorität ist der Teil www.example.com von http://www.example.com/some/path?query#fragment. Der Teil zwischen den ersten beiden Schrägstrichen und dem nächsten Schrägstrich.
Das Fragment ist der Teil fragment von http://www.example.com/some/path?query#fragment.
Der String, der den entsprechenden Dateisystempfad dieser URI darstellt.
Behandelt UNC-Pfade und normalisiert Windows-Laufwerksbuchstaben in Kleinbuchstaben. Verwendet auch das plattformspezifische Pfadtrennzeichen.
- Validiert den Pfad *nicht* auf ungültige Zeichen und Semantik.
- Berücksichtigt *nicht* das Schema dieser URI.
- Der resultierende String sollte *nicht* für Anzeigezwecke, sondern für Festplattenoperationen wie
readFileusw. verwendet werden.
Der *Unterschied* zur path-Eigenschaft ist die Verwendung des plattformspezifischen Pfadtrennzeichens und die Behandlung von UNC-Pfaden. Das folgende Beispiel veranschaulicht den Unterschied
const u = URI.parse('file://server/c$/folder/file.txt');
u.authority === 'server';
u.path === '/c$/folder/file.txt';
u.fsPath === '\\serverc$\folder\file.txt';
Der Pfad ist der Teil /some/path von http://www.example.com/some/path?query#fragment.
Die Abfrage ist der Teil query von http://www.example.com/some/path?query#fragment.
Das Schema ist der Teil http von http://www.example.com/some/path?query#fragment. Der Teil vor dem ersten Doppelpunkt.
Methoden
Gibt eine JSON-Darstellung dieser URI zurück.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| any | Ein Objekt. |
toString(skipEncoding?: boolean): string
Gibt eine Zeichenkettenrepräsentation dieser URI zurück. Die Darstellung und Normalisierung einer URI hängt vom Schema ab.
- Die resultierende Zeichenkette kann sicher mit Uri.parse verwendet werden.
- Die resultierende Zeichenkette sollte *nicht* für Anzeigezwecke verwendet werden.
Hinweis: Die Implementierung wird *aggressiv* kodieren, was oft zu unerwarteten, aber nicht falschen Ergebnissen führt. Zum Beispiel werden Doppelpunkte zu %3A kodiert, was bei File-URIs unerwartet sein kann. Auch & und = werden kodiert, was bei HTTP-URIs unerwartet sein kann. Aus Stabilitätsgründen kann dies nicht mehr geändert werden. Wenn Sie von zu aggressiver Kodierung betroffen sind, sollten Sie das Argument skipEncoding verwenden: uri.toString(true).
| Parameter | Beschreibung |
|---|---|
| skipEncoding?: boolean | Prozentuale Kodierung des Ergebnisses nicht durchführen, Standard ist |
| Gibt zurück | Beschreibung |
| string | Eine Zeichenkettenrepräsentation dieser URI. |
with(change: {authority: string, fragment: string, path: string, query: string, scheme: string}): Uri
Leitet eine neue URI von dieser URI ab.
let file = Uri.parse('before:some/file/path');
let other = file.with({ scheme: 'after' });
assert.ok(other.toString() === 'after:some/file/path');
| Parameter | Beschreibung |
|---|---|
| change: {authority: string, fragment: string, path: string, query: string, scheme: string} | Ein Objekt, das eine Änderung an dieser URI beschreibt. Zum Aufheben von Komponenten verwenden Sie |
| Gibt zurück | Beschreibung |
| Uri | Eine neue URI, die die angegebene Änderung widerspiegelt. Gibt die aktuelle URI zurück, wenn die Änderung nichts ändert. |
UriHandler
Ein URI-Handler ist für die Behandlung von systemweiten URIs verantwortlich.
Siehe auch window.registerUriHandler.
Methoden
handleUri(uri: Uri): ProviderResult<void>
Verarbeitet die bereitgestellte systemweite Uri.
Siehe auch window.registerUriHandler.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | |
| Gibt zurück | Beschreibung |
| ProviderResult<void> |
ViewBadge
Ein Badge, das einen Wert für eine Ansicht darstellt.
Eigenschaften
Ein Label, das in der QuickInfo für das Badge angezeigt wird.
Der Wert, der im Badge angezeigt werden soll.
ViewColumn
Bezeichnet eine Position eines Editors im Fenster. Editoren können in einem Raster angeordnet werden, und jede Spalte repräsentiert eine Editorposition in diesem Raster, indem die Editoren in der Reihenfolge ihres Erscheinens gezählt werden.
Enumerationselemente
Eine *symbolische* Editor-Spalte, die die Spalte neben der aktiven repräsentiert. Dieser Wert kann beim Öffnen von Editoren verwendet werden, aber der *aufgelöste* viewColumn-Wert von Editoren ist immer One, Two, Three,... oder undefined, aber niemals Beside.
Eine *symbolische* Editor-Spalte, die die aktuell aktive Spalte repräsentiert. Dieser Wert kann beim Öffnen von Editoren verwendet werden, aber der *aufgelöste* viewColumn-Wert von Editoren ist immer One, Two, Three,... oder undefined, aber niemals Active.
Die erste Editor-Spalte.
Die zweite Editor-Spalte.
Die dritte Editor-Spalte.
Die vierte Editor-Spalte.
Die fünfte Editor-Spalte.
Die sechste Editor-Spalte.
Die siebte Editor-Spalte.
Die achte Editor-Spalte.
Die neunte Editor-Spalte.
Webview
Zeigt HTML-Inhalte an, ähnlich einem iframe.
Events
onDidReceiveMessage: Event<any>
Wird ausgelöst, wenn der Webview-Inhalt eine Nachricht sendet.
Webview-Inhalte können Zeichenketten oder JSON-serialisierbare Objekte an eine Erweiterung senden. Sie können keine Blob, File, ImageData und andere DOM-spezifische Objekte senden, da die Erweiterung, die die Nachricht empfängt, nicht in einer Browserumgebung ausgeführt wird.
Eigenschaften
Content-Security-Policy-Quelle für Webview-Ressourcen.
Dies ist der Ursprung, der in einer Content-Security-Policy-Regel verwendet werden sollte.
`img-src https: ${webview.cspSource} ...;`;
HTML-Inhalt des Webviews.
Dies sollte ein vollständiges, gültiges HTML-Dokument sein. Das Ändern dieser Eigenschaft führt dazu, dass der Webview neu geladen wird.
Webviews sind vom normalen Erweiterungsprozess isoliert, daher muss die gesamte Kommunikation mit dem Webview über Nachrichtenaustausch erfolgen. Um eine Nachricht von der Erweiterung an den Webview zu senden, verwenden Sie postMessage. Um eine Nachricht vom Webview zurück an eine Erweiterung zu senden, verwenden Sie die Funktion acquireVsCodeApi innerhalb des Webviews, um einen Handle zur API des Editors zu erhalten, und rufen Sie dann .postMessage() auf.
<script>
const vscode = acquireVsCodeApi(); // acquireVsCodeApi can only be invoked once
vscode.postMessage({ message: 'hello!' });
</script>
Um eine Ressource aus dem Workspace innerhalb eines Webviews zu laden, verwenden Sie die Methode asWebviewUri und stellen Sie sicher, dass das Verzeichnis der Ressource in WebviewOptions.localResourceRoots aufgeführt ist.
Beachten Sie, dass Webviews, obwohl sie isoliert sind, immer noch Skripte ausführen und beliebige Inhalte laden können. Daher müssen Erweiterungen beim Arbeiten mit Webviews alle gängigen Sicherheitspraktiken für das Web befolgen. Dies beinhaltet die ordnungsgemäße Bereinigung aller nicht vertrauenswürdigen Eingaben (einschließlich Inhalte aus dem Workspace) und das Festlegen einer Content Security Policy.
options: WebviewOptions
Inhaltseinstellungen für den Webview.
Methoden
asWebviewUri(localResource: Uri): Uri
Konvertiert eine URI für das lokale Dateisystem in eine, die innerhalb von Webviews verwendet werden kann.
Webviews können Ressourcen aus dem Workspace oder dem lokalen Dateisystem nicht direkt mit file:-URIs laden. Die Funktion asWebviewUri nimmt eine lokale file:-URI und konvertiert sie in eine URI, die innerhalb eines Webviews verwendet werden kann, um dieselbe Ressource zu laden.
webview.html = `<img src="${webview.asWebviewUri(
vscode.Uri.file('/Users/codey/workspace/cat.gif')
)}">`;
postMessage(message: any): Thenable<boolean>
Sendet eine Nachricht an den Webview-Inhalt.
Nachrichten werden nur zugestellt, wenn der Webview aktiv ist (entweder sichtbar oder im Hintergrund mit retainContextWhenHidden).
| Parameter | Beschreibung |
|---|---|
| message: any | Nachrichtentext. Dies muss eine Zeichenkette oder ein anderes JSON-serialisierbares Objekt sein. Für ältere Versionen von VS Code wird ein Wenn Ihre Erweiterung jedoch VS Code 1.57+ im Feld |
| Gibt zurück | Beschreibung |
| Thenable<boolean> | Ein Promise, das aufgelöst wird, wenn die Nachricht an einen Webview gesendet wurde oder wenn sie verworfen wird, da die Nachricht nicht zustellbar war. Gibt Eine Antwort von Wenn Sie bestätigen möchten, dass eine Nachricht tatsächlich empfangen wurde, können Sie versuchen, dass Ihr Webview eine Bestätigungsnachricht zurück an Ihre Erweiterung sendet. |
WebviewOptions
Inhaltseinstellungen für einen Webview.
Eigenschaften
enableCommandUris?: boolean | readonly string[]
Steuert, ob Befehls-URIs im Webview-Inhalt aktiviert sind oder nicht.
Standardmäßig false (Befehls-URIs sind deaktiviert).
Wenn Sie ein Array übergeben, sind nur die Befehle im Array erlaubt.
Steuert, ob Formulare im Webview-Inhalt aktiviert sind oder nicht.
Standardmäßig true, wenn Skripte aktiviert sind. Andernfalls false. Das explizite Setzen dieser Eigenschaft auf true oder false überschreibt den Standardwert.
Steuert, ob Skripte im Webview-Inhalt aktiviert sind oder nicht.
Standardmäßig false (Skripte deaktiviert).
localResourceRoots?: readonly Uri[]
Stammverzeichnisse, aus denen der Webview lokale (Dateisystem-)Ressourcen mithilfe von URIs aus asWebviewUri laden kann.
Standardmäßig die Stammordner des aktuellen Workspaces sowie das Installationsverzeichnis der Erweiterung.
Übergeben Sie ein leeres Array, um den Zugriff auf lokale Ressourcen zu verweigern.
portMapping?: readonly WebviewPortMapping[]
Zuordnungen von Localhost-Ports, die innerhalb des Webviews verwendet werden.
Port-Zuordnungen ermöglichen es Webviews, transparent zu definieren, wie Localhost-Ports aufgelöst werden. Dies kann verwendet werden, um einen statischen Localhost-Port innerhalb des Webviews zu verwenden, der auf einen zufälligen Port aufgelöst wird, auf dem ein Dienst läuft.
Wenn ein Webview auf Localhost-Inhalte zugreift, wird empfohlen, Port-Zuordnungen anzugeben, auch wenn die Ports webviewPort und extensionHostPort identisch sind.
Hinweis: Port-Zuordnungen funktionieren nur für http- oder https-URLs. Websocket-URLs (z.B. ws://:3000) können nicht auf einen anderen Port abgebildet werden.
WebviewPanel
Ein Panel, das einen Webview enthält.
Events
onDidChangeViewState: Event<WebviewPanelOnDidChangeViewStateEvent>
Wird ausgelöst, wenn sich der Ansichtszustand des Panels ändert.
onDidDispose: Event<void>
Wird ausgelöst, wenn das Panel entsorgt wird.
Dies kann daran liegen, dass der Benutzer das Panel geschlossen hat oder weil .dispose() darauf aufgerufen wurde.
Der Versuch, das Panel nach der Entsorgung zu verwenden, löst eine Ausnahme aus.
Eigenschaften
Ob das Panel aktiv ist (vom Benutzer fokussiert).
iconPath?: Uri | {dark: Uri, light: Uri}
Symbol für das Panel, das in der Benutzeroberfläche angezeigt wird.
options: WebviewPanelOptions
Inhaltseinstellungen für das Webview-Panel.
Titel des Panels, der in der Benutzeroberfläche angezeigt wird.
viewColumn: ViewColumn
Editorposition des Panels. Diese Eigenschaft wird nur gesetzt, wenn sich der Webview in einer der Editor-Ansichtspalten befindet.
Identifiziert den Typ des Webview-Panels, z.B. 'markdown.preview'.
Ob das Panel sichtbar ist.
webview: Webview
Webview, das zum Panel gehört.
Methoden
Entsorgt das Webview-Panel.
Dies schließt das Panel, wenn es angezeigt wird, und entsorgt die vom Webview gehaltenen Ressourcen. Webview-Panels werden auch entsorgt, wenn der Benutzer das Webview-Panel schließt. In beiden Fällen wird das Ereignis onDispose ausgelöst.
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| any |
reveal(viewColumn?: ViewColumn, preserveFocus?: boolean): void
Zeigt das Webview-Panel in einer bestimmten Spalte an.
Ein Webview-Panel kann jeweils nur in einer Spalte angezeigt werden. Wenn es bereits angezeigt wird, verschiebt diese Methode es in eine neue Spalte.
| Parameter | Beschreibung |
|---|---|
| viewColumn?: ViewColumn | Ansichtsspalte, in der das Panel angezeigt werden soll. Wird in der aktuellen |
| preserveFocus?: boolean | Wenn |
| Gibt zurück | Beschreibung |
| void |
WebviewPanelOnDidChangeViewStateEvent
Ereignis, das ausgelöst wird, wenn sich der Ansichtszustand eines Webview-Panels ändert.
Eigenschaften
webviewPanel: WebviewPanel
Webview-Panel, dessen Ansichtszustand sich geändert hat.
WebviewPanelOptions
Inhaltseinstellungen für ein Webview-Panel.
Eigenschaften
Steuert, ob das Suchfeld im Panel aktiviert ist.
Standardmäßig false.
retainContextWhenHidden?: boolean
Steuert, ob der Inhalt (iframe) des Webview-Panels erhalten bleibt, auch wenn das Panel nicht mehr sichtbar ist.
Normalerweise wird der HTML-Kontext des Webview-Panels erstellt, wenn das Panel sichtbar wird, und zerstört, wenn es ausgeblendet wird. Erweiterungen mit komplexen Zuständen oder Benutzeroberflächen können retainContextWhenHidden setzen, damit der Editor den Webview-Kontext beibehält, auch wenn der Webview in einen Hintergrund-Tab verschoben wird. Wenn ein Webview, der retainContextWhenHidden verwendet, ausgeblendet wird, werden seine Skripte und andere dynamische Inhalte angehalten. Wenn das Panel wieder sichtbar wird, wird der Kontext automatisch in genau demselben Zustand wiederhergestellt wie ursprünglich. Sie können keine Nachrichten an einen ausgeblendeten Webview senden, auch nicht mit aktiviertem retainContextWhenHidden.
retainContextWhenHidden hat einen hohen Speicherverbrauch und sollte nur verwendet werden, wenn der Kontext Ihres Panels nicht schnell gespeichert und wiederhergestellt werden kann.
WebviewPanelSerializer<T>
Stellt Webview-Panels wieder her, die beim Herunterfahren von VS Code persistent gespeichert wurden.
Es gibt zwei Arten der Webview-Persistenz:
- Persistenz innerhalb einer Sitzung.
- Persistenz über Sitzungen hinweg (über Editor-Neustarts hinweg).
Ein WebviewPanelSerializer ist nur für den zweiten Fall erforderlich: Persistenz eines Webviews über Sitzungen hinweg.
Die Persistenz innerhalb einer Sitzung ermöglicht es einem Webview, seinen Zustand zu speichern, wenn er ausgeblendet wird, und seinen Inhalt aus diesem Zustand wiederherzustellen, wenn er wieder sichtbar wird. Dies wird vollständig vom Webview-Inhalt selbst gesteuert. Um einen persistenten Zustand zu speichern, rufen Sie acquireVsCodeApi().setState() mit einem beliebigen JSON-serialisierbaren Objekt auf. Um den Zustand wiederherzustellen, rufen Sie getState() auf.
// Within the webview
const vscode = acquireVsCodeApi();
// Get existing state
const oldState = vscode.getState() || { value: 0 };
// Update state
setState({ value: oldState.value + 1 });
Ein WebviewPanelSerializer erweitert diese Persistenz über Editor-Neustarts hinweg. Wenn der Editor heruntergefahren wird, speichert er den Zustand von setState aller Webviews, die einen Serializer haben. Wenn der Webview nach dem Neustart zum ersten Mal sichtbar wird, wird dieser Zustand an deserializeWebviewPanel übergeben. Die Erweiterung kann dann das alte WebviewPanel aus diesem Zustand wiederherstellen.
Methoden
deserializeWebviewPanel(webviewPanel: WebviewPanel, state: T): Thenable<void>
Stellt ein Webview-Panel aus seinem serialisierten state wieder her.
Wird aufgerufen, wenn ein serialisiertes Webview zum ersten Mal sichtbar wird.
| Parameter | Beschreibung |
|---|---|
| webviewPanel: WebviewPanel | Webview-Panel zum Wiederherstellen. Der Serializer sollte die Verantwortung für dieses Panel übernehmen. Der Serializer muss das |
| state: T | Persistenter Zustand aus dem Webview-Inhalt. |
| Gibt zurück | Beschreibung |
| Thenable<void> | Thenable, der angibt, dass das Webview vollständig wiederhergestellt wurde. |
WebviewPortMapping
Definiert eine Port-Zuordnung für Localhost innerhalb des Webviews.
Eigenschaften
Zielport. Der webviewPort wird auf diesen Port aufgelöst.
Localhost-Port, der im Webview neu zugeordnet wird.
WebviewView
Eine Webview-basierte Ansicht.
Events
onDidChangeVisibility: Event<void>
Wird ausgelöst, wenn sich die Sichtbarkeit der Ansicht ändert.
Aktionen, die eine Änderung der Sichtbarkeit auslösen:
- Die Ansicht wird ein- oder ausgeblendet.
- Der Benutzer wechselt zu einer anderen Ansichtsgruppe in der Seitenleiste oder im Panel.
Beachten Sie, dass das Ausblenden einer Ansicht über das Kontextmenü die Ansicht entsorgt und onDidDispose auslöst.
onDidDispose: Event<void>
Ereignis, das ausgelöst wird, wenn die Ansicht verworfen wird.
Ansichten werden verworfen, wenn sie von einem Benutzer explizit ausgeblendet werden (dies geschieht, wenn ein Benutzer mit der rechten Maustaste in eine Ansicht klickt und die Webview-Ansicht deaktiviert).
Der Versuch, die Ansicht nach dem Verwerfen zu verwenden, löst eine Ausnahme aus.
Eigenschaften
badge?: ViewBadge
Das für diese Webview-Ansicht anzuzeigende Abzeichen. Um das Abzeichen zu entfernen, setzen Sie es auf undefined.
Menschenlesbarer Zeichenfolgen, der in der Titelleiste weniger prominent dargestellt wird.
Titel der Ansicht, der in der Benutzeroberfläche angezeigt wird.
Der Ansichttitel wird zunächst aus dem Beitrag von package.json der Erweiterung übernommen.
Identifiziert den Typ der Webview-Ansicht, z. B. 'hexEditor.dataView'.
Verfolgt, ob die Webview gerade sichtbar ist.
Ansichten sind sichtbar, wenn sie auf dem Bildschirm und erweitert sind.
webview: Webview
Die zugrunde liegende Webview für die Ansicht.
Methoden
show(preserveFocus?: boolean): void
Zeigt die Ansicht in der Benutzeroberfläche an.
Wenn die Ansicht eingeklappt ist, wird sie dadurch erweitert.
| Parameter | Beschreibung |
|---|---|
| preserveFocus?: boolean | Wenn |
| Gibt zurück | Beschreibung |
| void |
WebviewViewProvider
Provider zum Erstellen von WebviewView-Elementen.
Methoden
resolveWebviewView(webviewView: WebviewView, context: WebviewViewResolveContext<unknown>, token: CancellationToken): void | Thenable<void>
Löst eine Webview-Ansicht auf.
resolveWebviewView wird aufgerufen, wenn eine Ansicht zum ersten Mal sichtbar wird. Dies kann geschehen, wenn die Ansicht zum ersten Mal geladen wird oder wenn der Benutzer eine Ansicht ausblendet und dann wieder anzeigt.
| Parameter | Beschreibung |
|---|---|
| webviewView: WebviewView | Webview-Ansicht zur Wiederherstellung. Der Provider übernimmt das Eigentum an dieser Ansicht. Der Provider muss das |
| context: WebviewViewResolveContext<unknown> | Zusätzliche Metadaten zur aufzulösenden Ansicht. |
| token: CancellationToken | Abbruch-Token, das angibt, dass die bereitzustellende Ansicht nicht mehr benötigt wird. |
| Gibt zurück | Beschreibung |
| void | Thenable<void> | Optionaler Thenable, der angibt, dass die Ansicht vollständig aufgelöst wurde. |
WebviewViewResolveContext<T>
Zusätzliche Informationen zur aufzulösenden Webview-Ansicht.
Eigenschaften
Persistenter Zustand aus dem Webview-Inhalt.
Um Ressourcen zu schonen, deallokiert der Editor normalerweise Webview-Dokumente (den iframe-Inhalt), die nicht sichtbar sind. Wenn der Benutzer beispielsweise eine Ansicht einklappt oder zu einer anderen Top-Level-Aktivität in der Seitenleiste wechselt, bleibt die WebviewView selbst erhalten, aber das zugrunde liegende Dokument der Webview wird deallokiert. Es wird neu erstellt, wenn die Ansicht wieder sichtbar wird.
Sie können dieses Verhalten verhindern, indem Sie retainContextWhenHidden in den WebviewOptions festlegen. Dies erhöht jedoch den Ressourcenverbrauch und sollte nach Möglichkeit vermieden werden. Stattdessen können Sie persistierte Zustände verwenden, um den Zustand einer Webview zu speichern, damit sie bei Bedarf schnell neu erstellt werden kann.
Um einen persistenten Zustand zu speichern, rufen Sie innerhalb der Webview acquireVsCodeApi().setState() mit einem beliebigen JSON-serialisierbaren Objekt auf. Um den Zustand wiederherzustellen, rufen Sie getState() auf. Zum Beispiel
// Within the webview
const vscode = acquireVsCodeApi();
// Get existing state
const oldState = vscode.getState() || { value: 0 };
// Update state
setState({ value: oldState.value + 1 });
Der Editor stellt sicher, dass der persistierte Zustand beim Ausblenden einer Webview und über Editor-Neustarts hinweg korrekt gespeichert wird.
WindowState
Stellt den Zustand eines Fensters dar.
Eigenschaften
Ob mit dem Fenster kürzlich interagiert wurde. Dies ändert sich sofort nach Aktivität oder nach kurzer Inaktivität des Benutzers.
Ob das aktuelle Fenster den Fokus hat.
WorkspaceConfiguration
Stellt die Konfiguration dar. Es ist eine zusammengeführte Ansicht von
- Standardeinstellungen
- Globale (Benutzer-)Einstellungen
- Arbeitsbereichseinstellungen
- Arbeitsbereichsordnereinstellungen – Aus einem der Arbeitsbereichsordner, zu denen die angeforderte Ressource gehört.
- Spracheinstellungen – Einstellungen, die für die angeforderte Sprache definiert sind.
Der *effektive* Wert (zurückgegeben von get) wird durch Überschreiben oder Zusammenführen der Werte in der folgenden Reihenfolge berechnet:
defaultValue(wenn inpackage.jsondefiniert, andernfalls abgeleitet vom Typ des Werts)globalValue(falls definiert)workspaceValue(falls definiert)workspaceFolderValue(falls definiert)defaultLanguageValue(falls definiert)globalLanguageValue(falls definiert)workspaceLanguageValue(falls definiert)workspaceFolderLanguageValue(falls definiert)
Hinweis: Nur object-Werte werden zusammengeführt, alle anderen Wertetypen werden überschrieben.
Beispiel 1: Überschreiben
defaultValue = 'on';
globalValue = 'relative';
workspaceFolderValue = 'off';
value = 'off';
Beispiel 2: Sprachwerte
defaultValue = 'on';
globalValue = 'relative';
workspaceFolderValue = 'off';
globalLanguageValue = 'on';
value = 'on';
Beispiel 3: Objektwerte
defaultValue = { a: 1, b: 2 };
globalValue = { b: 3, c: 4 };
value = { a: 1, b: 3, c: 4 };
Hinweis: Arbeitsbereichs- und Arbeitsbereichsordnerkonfigurationen enthalten launch- und tasks-Einstellungen. Ihr Basisname wird Teil des Abschnittsbezeichners sein. Die folgenden Snippets zeigen, wie alle Konfigurationen aus launch.json abgerufen werden:
// launch.json configuration
const config = workspace.getConfiguration(
'launch',
vscode.workspace.workspaceFolders[0].uri
);
// retrieve values
const values = config.get('configurations');
Weitere Informationen finden Sie unter Einstellungen.
Methoden
Gibt einen Wert aus dieser Konfiguration zurück.
| Parameter | Beschreibung |
|---|---|
| section: string | Konfigurationsname, unterstützt *punktuelle* Namen. |
| Gibt zurück | Beschreibung |
| T | Der Wert |
get<T>(section: string, defaultValue: T): T
Gibt einen Wert aus dieser Konfiguration zurück.
| Parameter | Beschreibung |
|---|---|
| section: string | Konfigurationsname, unterstützt *punktuelle* Namen. |
| standardwert: T | Ein Wert sollte zurückgegeben werden, wenn kein Wert gefunden werden konnte, ist |
| Gibt zurück | Beschreibung |
| T | Der Wert |
Überprüft, ob diese Konfiguration einen bestimmten Wert hat.
| Parameter | Beschreibung |
|---|---|
| section: string | Konfigurationsname, unterstützt *punktuelle* Namen. |
| Gibt zurück | Beschreibung |
| boolean |
|
inspect<T>(section: string): {defaultLanguageValue: T, defaultValue: T, globalLanguageValue: T, globalValue: T, key: string, languageIds: string[], workspaceFolderLanguageValue: T, workspaceFolderValue: T, workspaceLanguageValue: T, workspaceValue: T}
Ruft alle Informationen zu einer Konfigurationseinstellung ab. Ein Konfigurationswert besteht oft aus einem *Standardwert*, einem globalen oder installationsweiten Wert, einem arbeitsbereichsspezifischen Wert, einem ordnerspezifischen Wert und sprachspezifischen Werten (wenn WorkspaceConfiguration auf eine Sprache beschränkt ist).
Bietet auch alle Sprach-IDs, unter denen die gegebene Konfigurationseinstellung definiert ist.
Hinweis: Der Konfigurationsname muss ein Blatt im Konfigurationsbaum bezeichnen (editor.fontSize vs editor), andernfalls wird kein Ergebnis zurückgegeben.
| Parameter | Beschreibung |
|---|---|
| section: string | Konfigurationsname, unterstützt *punktuelle* Namen. |
| Gibt zurück | Beschreibung |
| {defaultLanguageValue: T, defaultValue: T, globalLanguageValue: T, globalValue: T, key: string, languageIds: string[], workspaceFolderLanguageValue: T, workspaceFolderValue: T, workspaceLanguageValue: T, workspaceValue: T} | Informationen zu einer Konfigurationseinstellung oder |
update(section: string, value: any, configurationTarget?: boolean | ConfigurationTarget, overrideInLanguage?: boolean): Thenable<void>
Aktualisiert einen Konfigurationswert. Die aktualisierten Konfigurationswerte werden gespeichert.
Ein Wert kann geändert werden in
- Globale Einstellungen: Ändert den Wert für alle Instanzen des Editors.
- Arbeitsbereichseinstellungen: Ändert den Wert für den aktuellen Arbeitsbereich, falls vorhanden.
- Arbeitsbereichsordnereinstellungen: Ändert den Wert für Einstellungen aus einem der Arbeitsbereichsordner, zu denen die angeforderte Ressource gehört.
- Spracheinstellungen: Ändert den Wert für die angeforderte
languageId.
Hinweis: Um einen Konfigurationswert zu entfernen, verwenden Sie undefined, z. B.: config.update('somekey', undefined)
- wirft - Fehler beim Aktualisieren
- Konfiguration, die nicht registriert ist.
- Fensterkonfiguration zum Arbeitsbereichsordner
- Konfiguration für Arbeitsbereich oder Arbeitsbereichsordner, wenn kein Arbeitsbereich geöffnet ist.
- Konfiguration zum Arbeitsbereichsordner, wenn keine Arbeitsbereichsordnereinstellungen vorhanden sind.
- Konfiguration zum Arbeitsbereichsordner, wenn WorkspaceConfiguration nicht auf eine Ressource beschränkt ist.
| Parameter | Beschreibung |
|---|---|
| section: string | Konfigurationsname, unterstützt *punktuelle* Namen. |
| value: any | Der neue Wert. |
| configurationTarget?: boolean | ConfigurationTarget | Das Konfigurationsziel oder ein boolescher Wert. – Wenn |
| overrideInLanguage?: boolean | Ob der Wert im Geltungsbereich der angeforderten |
| Gibt zurück | Beschreibung |
| Thenable<void> |
WorkspaceEdit
Ein Workspace-Edit ist eine Sammlung von textuellen Änderungen und Dateiveränderungen für mehrere Ressourcen und Dokumente.
Verwenden Sie die Funktion applyEdit, um einen Workspace-Edit anzuwenden.
Konstruktoren
new WorkspaceEdit(): WorkspaceEdit
| Parameter | Beschreibung |
|---|---|
| Gibt zurück | Beschreibung |
| WorkspaceEdit |
Eigenschaften
Die Anzahl der betroffenen Ressourcen von textuellen oder Ressourcenänderungen.
Methoden
createFile(uri: Uri, options?: {contents: Uint8Array | DataTransferFile, ignoreIfExists: boolean, overwrite: boolean}, metadata?: WorkspaceEditEntryMetadata): void
Erstellt eine reguläre Datei.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | URI der neuen Datei. |
| options?: {contents: Uint8Array | DataTransferFile, ignoreIfExists: boolean, overwrite: boolean} | Legt fest, ob eine vorhandene Datei überschrieben oder ignoriert werden soll. Wenn |
| metadata?: WorkspaceEditEntryMetadata | Optionale Metadaten für den Eintrag. |
| Gibt zurück | Beschreibung |
| void |
delete(uri: Uri, range: Range, metadata?: WorkspaceEditEntryMetadata): void
Löscht den Text im angegebenen Bereich.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine Ressourcenkennung. |
| range: Range | Ein Bereich. |
| metadata?: WorkspaceEditEntryMetadata | Optionale Metadaten für den Eintrag. |
| Gibt zurück | Beschreibung |
| void |
deleteFile(uri: Uri, options?: {ignoreIfNotExists: boolean, recursive: boolean}, metadata?: WorkspaceEditEntryMetadata): void
Löscht eine Datei oder einen Ordner.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Der URI der zu löschenden Datei. |
| options?: {ignoreIfNotExists: boolean, recursive: boolean} | |
| metadata?: WorkspaceEditEntryMetadata | Optionale Metadaten für den Eintrag. |
| Gibt zurück | Beschreibung |
| void |
entries(): Array<[Uri, TextEdit[]]>
Ruft alle Text-Edits gruppiert nach Ressource ab.
Ruft die Text-Edits für eine Ressource ab.
has(uri: Uri): boolean
Überprüft, ob ein Text-Edit für eine Ressource vorhanden ist.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine Ressourcenkennung. |
| Gibt zurück | Beschreibung |
| boolean |
|
insert(uri: Uri, position: Position, newText: string, metadata?: WorkspaceEditEntryMetadata): void
Fügt den gegebenen Text an der gegebenen Position ein.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine Ressourcenkennung. |
| position: Position | Eine Position. |
| newText: string | Eine Zeichenkette. |
| metadata?: WorkspaceEditEntryMetadata | Optionale Metadaten für den Eintrag. |
| Gibt zurück | Beschreibung |
| void |
renameFile(oldUri: Uri, newUri: Uri, options?: {ignoreIfExists: boolean, overwrite: boolean}, metadata?: WorkspaceEditEntryMetadata): void
Eine Datei oder ein Ordner umbenennen.
| Parameter | Beschreibung |
|---|---|
| oldUri: Uri | Die vorhandene Datei. |
| newUri: Uri | Der neue Speicherort. |
| options?: {ignoreIfExists: boolean, overwrite: boolean} | Legt fest, ob vorhandene Dateien überschrieben oder ignoriert werden sollen. Wenn |
| metadata?: WorkspaceEditEntryMetadata | Optionale Metadaten für den Eintrag. |
| Gibt zurück | Beschreibung |
| void |
replace(uri: Uri, range: Range, newText: string, metadata?: WorkspaceEditEntryMetadata): void
Ersetzt den gegebenen Bereich durch den gegebenen Text für die gegebene Ressource.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine Ressourcenkennung. |
| range: Range | Ein Bereich. |
| newText: string | Eine Zeichenkette. |
| metadata?: WorkspaceEditEntryMetadata | Optionale Metadaten für den Eintrag. |
| Gibt zurück | Beschreibung |
| void |
set(uri: Uri, edits: ReadonlyArray<TextEdit | SnippetTextEdit>): void
Setzt (und ersetzt) Text-Edits oder Snippet-Edits für eine Ressource.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine Ressourcenkennung. |
| edits: ReadonlyArray<TextEdit | SnippetTextEdit> | Ein Array von Edits. |
| Gibt zurück | Beschreibung |
| void |
set(uri: Uri, edits: ReadonlyArray<[TextEdit | SnippetTextEdit, WorkspaceEditEntryMetadata]>): void
Setzt (und ersetzt) Text-Edits oder Snippet-Edits mit Metadaten für eine Ressource.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine Ressourcenkennung. |
| edits: ReadonlyArray<[TextEdit | SnippetTextEdit, WorkspaceEditEntryMetadata]> | Ein Array von Edits. |
| Gibt zurück | Beschreibung |
| void |
set(uri: Uri, edits: readonly NotebookEdit[]): void
Setzt (und ersetzt) Notebook-Edits für eine Ressource.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine Ressourcenkennung. |
| edits: readonly NotebookEdit[] | Ein Array von Edits. |
| Gibt zurück | Beschreibung |
| void |
set(uri: Uri, edits: ReadonlyArray<[NotebookEdit, WorkspaceEditEntryMetadata]>): void
Setzt (und ersetzt) Notebook-Edits mit Metadaten für eine Ressource.
| Parameter | Beschreibung |
|---|---|
| uri: Uri | Eine Ressourcenkennung. |
| edits: ReadonlyArray<[NotebookEdit, WorkspaceEditEntryMetadata]> | Ein Array von Edits. |
| Gibt zurück | Beschreibung |
| void |
WorkspaceEditEntryMetadata
Zusätzliche Daten für Einträge eines Workspace-Edits. Unterstützt die Beschriftung von Einträgen und markiert Einträge als bestätigungspflichtig durch den Benutzer. Der Editor gruppiert Edits mit gleichen Beschriftungen zu Baumknoten, beispielsweise wären alle mit "Änderungen in Strings" beschrifteten Edits ein Baumknoten.
Eigenschaften
Eine menschenlesbare Zeichenfolge, die weniger prominent auf derselben Zeile dargestellt wird.
iconPath?: IconPath
Der Icon-Pfad oder das ThemeIcon für den Edit.
Eine menschenlesbare Zeichenfolge, die prominent dargestellt wird.
Ein Flag, das angibt, dass eine Benutzerbestätigung erforderlich ist.
WorkspaceEditMetadata
Zusätzliche Daten zu einem Workspace-Edit.
Eigenschaften
Signalisiert dem Editor, dass dieser Edit eine Refaktorierung ist.
WorkspaceFolder
Ein Arbeitsbereichsordner ist einer von potenziell vielen Wurzeln, die vom Editor geöffnet werden. Alle Arbeitsbereichsordner sind gleichwertig, was bedeutet, dass es keinen aktiven oder primären Arbeitsbereichsordner gibt.
Eigenschaften
Die Ordnungszahl dieses Arbeitsbereichsordners.
Der Name dieses Arbeitsbereichsordners. Standardmäßig der Basisname seines uri-Pfads
uri: Uri
Die zugehörige URI für diesen Arbeitsbereichsordner.
Hinweis: Der Typ Uri wurde absichtlich gewählt, damit zukünftige Versionen des Editors Arbeitsbereichsordner unterstützen können, die nicht auf der lokalen Festplatte gespeichert sind, z. B. ftp://server/workspaces/foo.
WorkspaceFolderPickOptions
Optionen zur Konfiguration des Verhaltens der Arbeitsbereichsordner-Auswahl-Benutzeroberfläche.
Eigenschaften
Setzen Sie auf true, um den Picker geöffnet zu halten, wenn der Fokus auf einen anderen Teil des Editors oder ein anderes Fenster wechselt. Diese Einstellung wird auf iPads ignoriert und ist immer false.
Eine optionale Zeichenkette, die als Platzhalter im Eingabefeld angezeigt wird, um den Benutzer zu leiten.
WorkspaceFoldersChangeEvent
Ein Ereignis, das eine Änderung am Satz der Arbeitsbereichsordner beschreibt.
Eigenschaften
added: readonly WorkspaceFolder[]
Hinzugefügte Arbeitsbereichsordner.
removed: readonly WorkspaceFolder[]
Entfernte Arbeitsbereichsordner.
WorkspaceSymbolProvider<T>
Die Schnittstelle WorkspaceSymbolProvider definiert den Vertrag zwischen Erweiterungen und der Funktion zur Symbolsuche.
Methoden
provideWorkspaceSymbols(query: string, token: CancellationToken): ProviderResult<T[]>
Projektweite Suche nach einem Symbol, das mit der gegebenen Abfragezeichenfolge übereinstimmt.
Der query-Parameter sollte locker interpretiert werden, da der Editor seine eigene Hervorhebung und Bewertung der Ergebnisse anwendet. Eine gute Faustregel ist, Groß-/Kleinschreibung zu ignorieren und einfach zu prüfen, ob die Zeichen von query in ihrer Reihenfolge in einem Kandidatensymbol erscheinen. Verwenden Sie keine präzise Präfix-, Teilstring- oder ähnliche Übereinstimmung.
Zur Leistungsverbesserung können Implementierer resolveWorkspaceSymbol implementieren und dann Symbole mit partiellen location-Objekten ohne definierten range bereitstellen. Der Editor ruft dann resolveWorkspaceSymbol nur für ausgewählte Symbole auf, z. B. beim Öffnen eines Workspace-Symbols.
| Parameter | Beschreibung |
|---|---|
| query: string | Eine Abfragezeichenfolge, kann die leere Zeichenfolge sein, in diesem Fall sollten alle Symbole zurückgegeben werden. |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T[]> | Ein Array von Dokumenthervorhebungen oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch die Rückgabe von |
resolveWorkspaceSymbol(symbol: T, token: CancellationToken): ProviderResult<T>
Füllt die location eines Symbols aus. Diese Methode wird aufgerufen, wenn ein Symbol in der Benutzeroberfläche ausgewählt wird. Provider können diese Methode implementieren und unvollständige Symbole aus provideWorkspaceSymbols zurückgeben, was oft zur Leistungsverbesserung beiträgt.
| Parameter | Beschreibung |
|---|---|
| symbol: T | Das aufzulösende Symbol. Es ist garantiert eine Instanz eines Objekts, das aus einem früheren Aufruf von |
| token: CancellationToken | Ein Abbruch-Token. |
| Gibt zurück | Beschreibung |
| ProviderResult<T> | Das aufgelöste Symbol oder ein Thenable, der sich dazu auflöst. Wenn kein Ergebnis zurückgegeben wird, wird das gegebene |
API-Muster
Dies sind einige der gängigen Muster, die wir in der VS Code API verwenden.
Promises
Die VS Code API stellt asynchrone Operationen mit Promises dar. Von Erweiterungen kann **jeder** Promise-Typ zurückgegeben werden, wie ES6, WinJS, A+ usw.
Unabhängigkeit von einer spezifischen Promise-Bibliothek wird in der API durch den Typ Thenable ausgedrückt. Thenable repräsentiert den gemeinsamen Nenner, die then-Methode.
In den meisten Fällen ist die Verwendung von Promises optional, und wenn VS Code eine Erweiterung aufruft, kann diese den *Ergebnistyp* sowie ein Thenable des *Ergebnistyps* verarbeiten. Wenn die Verwendung eines Promises optional ist, gibt die API dies durch Rückgabe von or-Typen an.
provideNumber(): number | Thenable<number>
Abbruch-Token
Operationen werden oft auf flüchtigem Zustand gestartet, der sich ändert, bevor die Operationen abgeschlossen werden können. Beispielsweise wird IntelliSense berechnet, und der Benutzer tippt weiter, wodurch das Ergebnis dieser Operation obsolet wird.
APIs, die für ein solches Verhalten zugänglich sind, erhalten ein CancellationToken, mit dem Sie auf Abbruch prüfen können (isCancellationRequested) oder benachrichtigt werden, wenn ein Abbruch eintritt (onCancellationRequested). Das Abbruch-Token ist normalerweise der letzte Parameter eines Funktionsaufrufs und optional.
Disposables
Die VS Code API verwendet das Dispose-Muster für Ressourcen, die von VS Code bezogen werden. Dies gilt für das Abhören von Ereignissen, Befehle, die Interaktion mit der Benutzeroberfläche und verschiedene Sprachbeiträge.
Beispielsweise gibt die Funktion setStatusBarMessage(value: string) ein Disposable zurück, das die Nachricht nach dem Aufruf von dispose wieder entfernt.
Events
Ereignisse in der VS Code API werden als Funktionen verfügbar gemacht, die Sie mit einer Listener-Funktion aufrufen, um sich zu abonnieren. Aufrufe zum Abonnieren geben ein Disposable zurück, das den Ereignis-Listener nach dem Dispose entfernt.
var listener = function(event) {
console.log('It happened', event);
};
// start listening
var subscription = fsWatcher.onDidDelete(listener);
// do more stuff
subscription.dispose(); // stop listening
Die Namen von Ereignissen folgen dem Muster on[Will|Did]VerbNoun?. Der Name signalisiert, ob das Ereignis stattfinden wird (onWill) oder bereits stattgefunden hat (onDid), was passiert ist (verb) und der Kontext (noun), sofern nicht aus dem Kontext ersichtlich.
Ein Beispiel aus der VS Code API ist window.onDidChangeActiveTextEditor, ein Ereignis, das ausgelöst wird, wenn der aktive Texteditor (noun) geändert wurde (onDid) (verb).
Strikte Nullprüfung
Die VS Code API verwendet die TypeScript-Typen undefined und null, wo dies angebracht ist, um die strikte Nullprüfung zu unterstützen.
Namespace für Authentifizierung.