ist jetzt verfügbar! Lesen Sie über die neuen Funktionen und Fehlerbehebungen vom November.

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

Namespace für Authentifizierung.

Events

Ein Ereignis, das ausgelöst wird, wenn die Authentifizierungssitzungen eines Authentifizierungsanbieters hinzugefügt, entfernt oder geändert wurden.

Funktionen

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.

ParameterBeschreibung
providerId: string

Die ID des zu verwendenden Anbieters

Gibt zurückBeschreibung
Thenable<readonly AuthenticationSessionAccountInformation[]>

Ein thenable, der zu einem schreibgeschützten Array von Authentifizierungskonten aufgelöst wird.

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
ParameterBeschreibung
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ückBeschreibung
Thenable<AuthenticationSession>

Ein thenable, der zu einer Authentifizierungssitzung aufgelöst wird

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
ParameterBeschreibung
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ückBeschreibung
Thenable<AuthenticationSession>

Ein thenable, der zu einer Authentifizierungssitzung aufgelöst wird

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
ParameterBeschreibung
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ückBeschreibung
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

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.

ParameterBeschreibung
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ückBeschreibung
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

Erstellt eine neue Chat-Teilnehmerinstanz.

ParameterBeschreibung
id: string

Eine eindeutige Kennung für den Teilnehmer.

handler: ChatRequestHandler

Ein Anforderungsbehandler für den Teilnehmer.

Gibt zurückBeschreibung
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 commands in package.json, um einen Befehl in der Befehlspalette anzuzeigen.
  • Tastenkombination - Verwenden Sie den Abschnitt keybindings in package.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

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, undefined und null sowie Position, Range, Uri und Location.
  • Hinweis 2: Es gibt keine Einschränkungen beim Ausführen von Befehlen, die von Erweiterungen beigesteuert wurden.
ParameterBeschreibung
command: string

Kennung des auszuführenden Befehls.

...rest: any[]

An die Befehlsfunktion übergebene Parameter.

Gibt zurückBeschreibung
Thenable<T>

Ein thenable, der zum Rückgabewert des angegebenen Befehls aufgelöst wird. Gibt undefined zurück, wenn die Befehlshandlerfunktion nichts zurückgibt.

Ruft die Liste aller verfügbaren Befehle ab. Befehle, die mit einem Unterstrich beginnen, werden als interne Befehle behandelt.

ParameterBeschreibung
filterInternal?: boolean

Setzen Sie auf true, um keine internen Befehle (beginnend mit einem Unterstrich) anzuzeigen

Gibt zurückBeschreibung
Thenable<string[]>

Thenable, der zu einer Liste von Befehlskennungen aufgelöst wird.

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.

ParameterBeschreibung
command: string

Eine eindeutige Kennung für den Befehl.

callback: (args: any[]) => any

Eine Befehlshandlerfunktion.

thisArg?: any

Der this-Kontext, der beim Aufruf der Handlerfunktion verwendet wird.

Gibt zurückBeschreibung
Disposable

Disposable, der diesen Befehl bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
command: string

Eine eindeutige Kennung für den Befehl.

callback: (textEditor: TextEditor, edit: TextEditorEdit, args: any[]) => void

Eine Befehlshandlerfunktion mit Zugriff auf einen Editor und ein Edit.

thisArg?: any

Der this-Kontext, der beim Aufruf der Handlerfunktion verwendet wird.

Gibt zurückBeschreibung
Disposable

Disposable, der diesen Befehl bei der Entsorgung deregistriert.

comments

Funktionen

Erstellt eine neue Comment-Controllerinstanz.

ParameterBeschreibung
id: string

Eine id für den Kommentarcontroller.

label: string

Eine für Menschen lesbare Zeichenfolge für den Kommentarcontroller.

Gibt zurückBeschreibung
CommentController

Eine Instanz eines Kommentarcontrollers.

debug

Namespace für Debug-Funktionalität.

Variablen

Die aktuell aktive Debug-Konsole. Wenn keine Debug-Sitzung aktiv ist, werden an die Debug-Konsole gesendete Ausgaben nicht angezeigt.

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.

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.

Liste der Haltepunkte.

Events

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.

Ein Ereignis, das ausgelöst wird, wenn sich das debug.activeStackItem geändert hat.

Ein Ereignis, das ausgelöst wird, wenn die Menge der Haltepunkte hinzugefügt, entfernt oder geändert wird.

Ein Ereignis, das ausgelöst wird, wenn ein benutzerdefiniertes DAP-Ereignis von der Debug-Sitzung empfangen wird.

Ein Ereignis, das ausgelöst wird, wenn eine neue Debug-Sitzung gestartet wurde.

Ein Ereignis, das ausgelöst wird, wenn eine Debug-Sitzung beendet wurde.

Funktionen

Haltepunkte hinzufügen.

ParameterBeschreibung
breakpoints: readonly Breakpoint[]

Die hinzuzufügenden Haltepunkte.

Gibt zurückBeschreibung
void

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.

ParameterBeschreibung
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ückBeschreibung
Uri

Eine URI, die zum Laden des Inhalts der Quelle verwendet werden kann.

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.

ParameterBeschreibung
debugType: string

Der Debug-Typ, für den die Fabrik registriert ist.

factory: DebugAdapterDescriptorFactory

Die zu registrierende Debug-Adapter-Deskriptorfabrik.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diese Fabrik bei der Entsorgung deregistriert.

Registriert eine Debug-Adapter-Trackerfabrik für den angegebenen Debug-Typ.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, der diese Fabrik bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
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 triggerKind fehlt, wird der Wert DebugConfigurationProviderTriggerKind.Initial angenommen.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

Haltepunkte entfernen.

ParameterBeschreibung
breakpoints: readonly Breakpoint[]

Die zu entfernenden Haltepunkte.

Gibt zurückBeschreibung
void

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.

ParameterBeschreibung
folder: WorkspaceFolder

Der Arbeitsbereichsordner zum Nachschlagen benannter Konfigurationen und Auflösen von Variablen oder undefined für ein Setup ohne Ordner.

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ückBeschreibung
Thenable<boolean>

Ein thenable, der aufgelöst wird, wenn das Debugging erfolgreich gestartet werden konnte.

Beendet die angegebene Debug-Sitzung oder alle Debug-Sitzungen, wenn die Sitzung weggelassen wird.

ParameterBeschreibung
session?: DebugSession

Die zu beendende Debug-Sitzung; wenn weggelassen, werden alle Sitzungen beendet.

Gibt zurückBeschreibung
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.

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.

Die aktuelle Protokollebene des Editors.

Eine eindeutige Kennung für den Computer.

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.

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

Ein Event, das ausgelöst wird, wenn sich die Protokollebene des Editors ändert.

Ein Event, das ausgelöst wird, wenn sich die Standard-Shell ändert. Dieses Event wird mit dem Pfad der neuen Shell ausgelöst.

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

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.

ParameterBeschreibung
target: Uri
Gibt zurückBeschreibung
Thenable<Uri>

Eine URI, die auf dem Client-Computer verwendet werden kann.

Erstellt einen neuen Telemetrie-Logger.

ParameterBeschreibung
sender: TelemetrySender

Der Telemetrie-Sender, der vom Telemetrie-Logger verwendet wird.

options?: TelemetryLoggerOptions

Optionen für den Telemetrie-Logger.

Gibt zurückBeschreibung
TelemetryLogger

Ein neuer Telemetrie-Logger

Ö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: von vscode.env.uriScheme)

Hinweis, dass showTextDocument der richtige Weg ist, um ein Textdokument im Editor zu öffnen, nicht diese Funktion.

ParameterBeschreibung
target: Uri

Die URI, die geöffnet werden soll.

Gibt zurückBeschreibung
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

Alle Erweiterungen, die dem System aktuell bekannt sind.

Events

Ein Event, das ausgelöst wird, wenn sich extensions.all ändert. Dies kann passieren, wenn Erweiterungen installiert, deinstalliert, aktiviert oder deaktiviert werden.

Funktionen

Ruft eine Erweiterung anhand ihrer vollständigen Kennung im Format ab: publisher.name.

ParameterBeschreibung
extensionId: string

Eine Erweiterungskennung.

Gibt zurückBeschreibung
Extension<T> | undefined

Eine Erweiterung oder undefined.

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..json-Dateien. Weitere Informationen darüber, wie Sie bundle.l10n generieren..json-Dateien finden Sie im vscode-l10n-Repository.

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.

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

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');
ParameterBeschreibung
message: string

Die zu lokalisierende Nachricht. Unterstützt Index-Templating, wobei Zeichenfolgen wie {0} und {1} durch das Element an diesem Index im args-Array ersetzt werden.

...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ückBeschreibung
string

lokalisierte Zeichenfolge mit eingefügten Argumenten.

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' });
ParameterBeschreibung
message: string

Die zu lokalisierende Nachricht. Unterstützt benanntes Templating, bei dem Zeichenfolgen wie {foo} und {bar} durch den Wert in der Aufzeichnung für diesen Schlüssel (foo, bar usw.) ersetzt werden.

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ückBeschreibung
string

lokalisierte Zeichenfolge mit eingefügten Argumenten.

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).

ParameterBeschreibung
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ückBeschreibung
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

Ein Event, das ausgelöst wird, wenn sich der globale Satz von Diagnostiken ändert. Dies sind neu hinzugefügte und entfernte Diagnostiken.

Funktionen

Erstellt eine Diagnostiksammlung.

ParameterBeschreibung
name?: string

Der Name der Sammlung.

Gibt zurückBeschreibung
DiagnosticCollection

Eine neue Diagnostiksammlung.

Erstellt ein neues Sprachstatus-Element.

ParameterBeschreibung
id: string

Die Kennung des Elements.

selector: DocumentSelector

Der Dokumentselektor, der festlegt, für welche Editoren das Element angezeigt wird.

Gibt zurückBeschreibung
LanguageStatusItem

Ein neues Sprachstatus-Element.

Ruft alle Diagnostiken für eine gegebene Ressource ab.

ParameterBeschreibung
resource: Uri

Eine Ressource

Gibt zurückBeschreibung
Diagnostic[]

Ein Array von Diagnostikobjekten oder ein leeres Array.

Ruft alle Diagnostiken ab.

ParameterBeschreibung
Gibt zurückBeschreibung
Array<[Uri, Diagnostic[]]>

Ein Array von URI-Diagnostik-Tupeln oder ein leeres Array.

Gibt die Bezeichner aller bekannten Sprachen zurück.

ParameterBeschreibung
Gibt zurückBeschreibung
Thenable<string[]>

Promise, der zu einem Array von Bezeichner-Strings aufgelöst wird.

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:

  1. Wenn DocumentSelector ein Array ist, berechnen Sie den Abgleich für jeden enthaltenen DocumentFilter oder jede Sprachkennung und nehmen Sie den Maximalwert.
  2. Ein String wird zu language-Teil eines DocumentFilter entpackt, sodass "fooLang" wie { language: "fooLang" } ist.
  3. Ein DocumentFilter wird mit dem Dokument abgeglichen, indem seine Teile mit dem Dokument verglichen werden. Die folgenden Regeln gelten:
    1. Wenn der DocumentFilter leer ist ({}), ist das Ergebnis 0.
    2. Wenn scheme, language, pattern oder notebook definiert sind, aber einer davon nicht übereinstimmt, ist das Ergebnis 0.
    3. Das Abgleichen mit * ergibt einen Score von 5, das Abgleichen über Gleichheit oder über ein Glob-Muster ergibt einen Score von 10.
    4. Das Ergebnis ist der Höchstwert jedes Abgleichs.

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
ParameterBeschreibung
selector: DocumentSelector

Ein Dokumentselektor.

document: TextDocument

Ein Textdokument.

Gibt zurückBeschreibung
number

Eine Zahl >0, wenn der Selektor übereinstimmt, und 0, wenn der Selektor nicht übereinstimmt.

Registriert einen Anbieter für Aufrufhierarchien.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: CallHierarchyProvider

Ein Anbieter für Aufrufhierarchien.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: DocumentColorProvider

Ein Farb-Anbieter.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: DeclarationProvider

Ein Deklarationsanbieter.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: DefinitionProvider

Ein Definition-Anbieter.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, das diesen Provider beim Entsorgen abmeldet.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: DocumentFormattingEditProvider

Ein Dokument-Formatierungs-Provider.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: DocumentHighlightProvider

Ein Dokument-Hervorhebungs-Provider.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: DocumentLinkProvider<DocumentLink>

Ein Dokument-Link-Provider.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, das diesen Provider beim Entsorgen abmeldet.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: DocumentRangeFormattingEditProvider

Ein Dokumentbereich-Formatierungs-Editor-Provider.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: FoldingRangeProvider

Ein Provider für Faltungsbereiche.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: HoverProvider

Ein Hover-Provider.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: ImplementationProvider

Ein Implementierungs-Provider.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: InlayHintsProvider<InlayHint>

Ein Inlay-Hints-Provider.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: InlineCompletionItemProvider

Ein Inline-Completion-Provider.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: InlineValuesProvider

Ein Inline-Values-Provider.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: LinkedEditingRangeProvider

Ein Provider für verkettete Bearbeitungsbereiche.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: ReferenceProvider

Ein Referenz-Provider.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: RenameProvider

Ein Umbenennungs-Provider.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: SelectionRangeProvider

Ein Provider für Auswahlbereiche.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
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. , oder (.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: TypeDefinitionProvider

Ein Provider für Typdefinitionen.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

Registriert einen Provider für Typenhierarchien.

ParameterBeschreibung
selector: DocumentSelector

Ein Selektor, der die Dokumente definiert, für die dieser Anbieter gilt.

provider: TypeHierarchyProvider

Ein Provider für Typenhierarchien.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
provider: WorkspaceSymbolProvider<SymbolInformation>

Ein Workspace-Symbol-Provider.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

Setzt eine Sprachkonfiguration für eine Sprache.

ParameterBeschreibung
language: string

Ein Sprachbezeichner wie z. B. typescript.

configuration: LanguageConfiguration

Sprachkonfiguration.

Gibt zurückBeschreibung
Disposable

Ein Disposable, das diese Konfiguration zurücksetzt.

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.

ParameterBeschreibung
document: TextDocument

Das Dokument, dessen Sprache geändert werden soll

languageId: string

Die neue Sprachkennung.

Gibt zurückBeschreibung
Thenable<TextDocument>

Ein Thenable, das sich mit dem aktualisierten Dokument auflöst.

lm

Namespace für sprachmodellbezogene Funktionalität.

Variablen

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

Ein Ereignis, das ausgelöst wird, wenn sich die Menge der verfügbaren Chat-Modelle ändert.

Funktionen

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.

ParameterBeschreibung
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ückBeschreibung
Thenable<LanguageModelToolResult>

Das Ergebnis des Tool-Aufrufs.

Registriert einen LanguageModelChatProvider. Hinweis: Sie müssen den Language Model Chat Provider auch über den languageModelChatProviders Beitragspunkt in der package.json definieren.

ParameterBeschreibung
vendor: string

Der Anbieter für diesen Provider. Muss global eindeutig sein. Ein Beispiel ist copilot oder openai.

provider: LanguageModelChatProvider<LanguageModelChatInformation>

Der zu registrierende Provider

Gibt zurückBeschreibung
Disposable

Ein Disposable, das den Provider beim Entsorgen abmeldet.

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.

ParameterBeschreibung
id: string

Die ID des Anbieters, die für die Erweiterung eindeutig ist.

provider: McpServerDefinitionProvider<McpServerDefinition>

Der zu registrierende Provider

Gibt zurückBeschreibung
Disposable

Ein Disposable, das den Anbieter deregistriert, wenn es disposed wird.

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.

ParameterBeschreibung
name: string
tool: LanguageModelTool<T>
Gibt zurückBeschreibung
Disposable

Ein Disposable, das das Tool deregistriert, wenn es disposed wird.

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.

ParameterBeschreibung
selector?: LanguageModelChatSelector

Ein Chat-Modell-Selector. Wenn weggelassen, werden alle Chat-Modelle zurückgegeben.

Gibt zurückBeschreibung
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

  1. NotebookSerializer ermöglicht dem Editor, Notebooks zu öffnen, anzuzeigen und zu speichern.
  2. NotebookController ist für die Ausführung von Notebooks zuständig, z. B. erstellt er Ausgaben aus Code-Zellen.
  3. NotebookRenderer stellt Notebook-Ausgaben im Editor dar. Sie laufen in einem separaten Kontext.

Funktionen

Erstellt einen neuen Notebook-Controller.

ParameterBeschreibung
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ückBeschreibung
NotebookController

Ein neuer Notebook-Controller.

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 requiresMessaging in seinem notebookRenderer Contribution auf always oder optional gesetzt ist.
ParameterBeschreibung
rendererId: string

Die Renderer-ID, mit der kommuniziert werden soll.

Gibt zurückBeschreibung
NotebookRendererMessaging

Ein neues Notebook-Renderer-Messaging-Objekt.

Registriert einen Statusleisten-Element-Anbieter für die angegebene Notebook-Art.

ParameterBeschreibung
notebookType: string

Der Notebook-Typ, für den die Registrierung erfolgt.

provider: NotebookCellStatusBarItemProvider

Ein Anbieter für Statusleisten-Elemente von Zellen.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

scm

Namespace für Source Control Management.

Variablen

Das Eingabefeld für die letzte von der Erweiterung erstellte Quellcodeverwaltung.

  • veraltet - Verwenden Sie stattdessen SourceControl.inputBox

Funktionen

Erstellt eine neue Quellcodeverwaltungsinstanz.

ParameterBeschreibung
id: string

Eine ID für die Quellcodeverwaltung. Etwas kurzes, z. B.: git.

label: string

Eine menschenlesbare Zeichenkette für die Quellcodeverwaltung. Z. B.: Git.

rootUri?: Uri

Eine optionale URI des Stammverzeichnisses der Quellcodeverwaltung. Z. B.: Uri.parse(workspaceRoot).

Gibt zurückBeschreibung
SourceControl

Eine Instanz von SourceControl.

tasks

Namespace für Task-Funktionalität.

Variablen

Die aktuell aktiven Task-Ausführungen oder ein leeres Array.

Events

Wird ausgelöst, wenn ein Task beendet wird.

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.

Wird ausgelöst, wenn ein Task startet.

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

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.
ParameterBeschreibung
task: Task

der auszuführende Task.

Gibt zurückBeschreibung
Thenable<TaskExecution>

Ein Thenable, der sich zu einer Task-Ausführung auflöst.

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.

ParameterBeschreibung
filter?: TaskFilter

Optionaler Filter zur Auswahl von Tasks eines bestimmten Typs oder einer bestimmten Version.

Gibt zurückBeschreibung
Thenable<Task[]>

Ein Thenable, der sich zu einem Array von Tasks auflöst.

Registriert einen Task-Anbieter.

ParameterBeschreibung
type: string

Der Task-Kind-Typ, für den dieser Anbieter registriert ist.

provider: TaskProvider<Task>

Ein Task-Anbieter.

Gibt zurückBeschreibung
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

Erstellt einen neuen Test-Controller.

ParameterBeschreibung
id: string

Eine ID für den Controller, muss global eindeutig sein.

label: string

Eine menschenlesbare Bezeichnung für den Controller.

Gibt zurückBeschreibung
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

Das aktuell aktive Farbschema, wie in den Einstellungen konfiguriert. Das aktive Schema kann über die Einstellung workbench.colorTheme geändert werden.

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.

Das aktuell aktive Terminal oder undefined. Das aktive Terminal ist dasjenige, das gerade den Fokus hat oder zuletzt den Fokus hatte.

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.

Repräsentiert den Zustand des aktuellen Fensters.

Repräsentiert das Gitter-Widget im Haupteditorbereich.

Die aktuell geöffneten Terminals oder ein leeres Array.

Die aktuell sichtbaren Notebook-Editoren oder ein leeres Array.

Die aktuell sichtbaren Editoren oder ein leeres Array.

Events

Ein Ereignis, das ausgelöst wird, wenn das aktive Farbschema geändert wird oder Änderungen aufweist.

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.

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.

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.

Ein Ereignis, das ausgelöst wird, wenn sich die Auswahlen des Notebook-Editors geändert haben.

Ein Ereignis, das ausgelöst wird, wenn sich die sichtbaren Bereiche des Notebook-Editors geändert haben.

Wird ausgelöst, wenn die Shell-Integration in einem Terminal aktiviert wird oder sich eine ihrer Eigenschaften ändert.

Ein Ereignis, das ausgelöst wird, wenn sich der Zustand eines Terminals geändert hat.

Ein Ereignis, das ausgelöst wird, wenn sich die Optionen eines Editors geändert haben.

Ein Ereignis, das ausgelöst wird, wenn sich die Auswahl in einem Editor geändert hat.

Ein Ereignis, das ausgelöst wird, wenn sich die Ansichtssäule eines Editors geändert hat.

Ein Ereignis, das ausgelöst wird, wenn sich die sichtbaren Bereiche eines Editors geändert haben.

Ein Ereignis, das ausgelöst wird, wenn sich die sichtbaren Notebook-Editoren geändert haben.

Ein Ereignis, das ausgelöst wird, wenn sich das Array der sichtbaren Editoren geändert hat.

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.

Ein Ereignis, das ausgelöst wird, wenn ein Terminal disposed wird.

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.

Ein Ereignis, das ausgelöst wird, wenn ein Terminal erstellt wurde, entweder über die createTerminal API oder über Befehle.

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

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.

ParameterBeschreibung
Gibt zurückBeschreibung
InputBox

Eine neue Eingabebox.

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.

ParameterBeschreibung
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ückBeschreibung
OutputChannel

Ein neuer Ausgabekanal.

Erstellt einen neuen Log-Ausgabekanal mit dem angegebenen Namen.

ParameterBeschreibung
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ückBeschreibung
LogOutputChannel

Ein neuer Log-Ausgabekanal.

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.

ParameterBeschreibung
Gibt zurückBeschreibung
QuickPick<T>

Erstellt ein Element in der Statusleiste.

ParameterBeschreibung
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ückBeschreibung
StatusBarItem

Ein neues Element in der Statusleiste.

Erstellt ein Element in der Statusleiste.

Siehe auch createStatusBarItem zum Erstellen eines Statusleisten-Elements mit einer ID.

ParameterBeschreibung
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ückBeschreibung
StatusBarItem

Ein neues Element in der Statusleiste.

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.
ParameterBeschreibung
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ückBeschreibung
Terminal

Ein neues 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.
ParameterBeschreibung
options: TerminalOptions

Ein TerminalOptions-Objekt, das die Merkmale des neuen Terminals beschreibt.

Gibt zurückBeschreibung
Terminal

Ein neues Terminal.

Erstellt ein Terminal, bei dem eine Erweiterung seine Ein- und Ausgaben steuert.

ParameterBeschreibung
options: ExtensionTerminalOptions

Ein ExtensionTerminalOptions-Objekt, das die Merkmale des neuen Terminals beschreibt.

Gibt zurückBeschreibung
Terminal

Ein neues Terminal.

Erstellt einen TextEditorDecorationType, der verwendet werden kann, um Texteditoren mit Dekorationen zu versehen.

ParameterBeschreibung
options: DecorationRenderOptions

Rendering options for the decoration type.

Gibt zurückBeschreibung
TextEditorDecorationType

Eine neue Instanz eines Dekorationstyps.

Erstellen Sie eine TreeView für die über den Erweiterungspunkt viewsbeitragende Ansicht.

ParameterBeschreibung
viewId: string

ID der Ansicht, die über den Erweiterungspunkt viewsbeitragend ist.

options: TreeViewOptions<T>

Optionen zum Erstellen der TreeView

Gibt zurückBeschreibung
TreeView<T>

Eine TreeView.

Erstellen und anzeigen eines neuen Webview-Panels.

ParameterBeschreibung
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ückBeschreibung
WebviewPanel

Neues Webview-Panel.

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.

ParameterBeschreibung
viewType: string

Eindeutiger Bezeichner für den Anbieter benutzerdefinierter Editoren. Dies muss mit dem viewTypeaus dem Beitragspunkt customEditorsübereinstimmen.

provider: CustomTextEditorProvider | CustomReadonlyEditorProvider<CustomDocument> | CustomEditorProvider<CustomDocument>

Anbieter, der benutzerdefinierte Editoren auflöst.

options?: {supportsMultipleEditorsPerDocument: boolean, webviewOptions: WebviewPanelOptions}

Optionen für den Anbieter.

Gibt zurückBeschreibung
Disposable

Disposable, das den Anbieter abmeldet.

Registrieren Sie einen Anbieter für Dateidekorationen.

ParameterBeschreibung
provider: FileDecorationProvider
Gibt zurückBeschreibung
Disposable

Ein Disposable, das den Anbieter abmeldet.

Registrieren Sie einen Anbieter, der die Erkennung und Handhabung von Links im Terminal ermöglicht.

ParameterBeschreibung
provider: TerminalLinkProvider<TerminalLink>

Der Anbieter, der die Terminal-Links bereitstellt.

Gibt zurückBeschreibung
Disposable

Disposable, das den Anbieter abmeldet.

Registriert einen Anbieter für ein beitragendes Terminalprofil.

ParameterBeschreibung
id: string

Die ID des beitragenden Terminalprofils.

provider: TerminalProfileProvider

Der Terminalprofil-Anbieter.

Gibt zurückBeschreibung
Disposable

Ein Disposable, das den Anbieter abmeldet.

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.

ParameterBeschreibung
viewId: string

ID der Ansicht, die über den Erweiterungspunkt viewsbeitragend ist.

treeDataProvider: TreeDataProvider<T>

Ein TreeDataProvider, der Baumdaten für die Ansicht bereitstellt.

Gibt zurückBeschreibung
Disposable

Ein Disposable, das den TreeDataProviderabmeldet.

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-queryund uri-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.
ParameterBeschreibung
handler: UriHandler

Der für diese Erweiterung zu registrierende URI-Handler.

Gibt zurückBeschreibung
Disposable

Ein Disposable, das den Handler abmeldet.

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.

ParameterBeschreibung
viewType: string

Typ des Webview-Panels, das serialisiert werden kann.

serializer: WebviewPanelSerializer<unknown>

Webview-Serialisierer.

Gibt zurückBeschreibung
Disposable

Ein Disposable, das den Serialisierer abmeldet.

Registriert einen neuen Anbieter für Webview-Ansichten.

ParameterBeschreibung
viewId: string

Eindeutige ID der Ansicht. Dies muss mit der idaus dem views-Beitrag in der package.json übereinstimmen.

provider: WebviewViewProvider

Anbieter für die Webview-Ansichten.

options?: {webviewOptions: {retainContextWhenHidden: boolean}}
Gibt zurückBeschreibung
Disposable

Disposable, das den Anbieter abmeldet.

Setzt eine Nachricht in der Statusleiste. Dies ist eine Kurzform für die leistungsfähigeren Statusleisten-Elemente.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, das die Nachricht in der Statusleiste ausblendet.

Setzt eine Nachricht in der Statusleiste. Dies ist eine Kurzform für die leistungsfähigeren Statusleisten-Elemente.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, das die Nachricht in der Statusleiste ausblendet.

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.

ParameterBeschreibung
text: string

Die anzuzeigende Nachricht, unterstützt Icon-Ersetzung wie bei Statusleisten-Elementen.

Gibt zurückBeschreibung
Disposable

Ein Disposable, das die Nachricht in der Statusleiste ausblendet.

Zeigt eine Fehlermeldung an.

Siehe auch showInformationMessage

ParameterBeschreibung
message: string

Die anzuzeigende Nachricht.

...items: T[]

Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden.

Gibt zurückBeschreibung
Thenable<T | undefined>

Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder undefined, wenn er abgewiesen wurde.

Zeigt eine Fehlermeldung an.

Siehe auch showInformationMessage

ParameterBeschreibung
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ückBeschreibung
Thenable<T | undefined>

Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder undefined, wenn er abgewiesen wurde.

Zeigt eine Fehlermeldung an.

Siehe auch showInformationMessage

ParameterBeschreibung
message: string

Die anzuzeigende Nachricht.

...items: T[]

Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden.

Gibt zurückBeschreibung
Thenable<T | undefined>

Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder undefined, wenn er abgewiesen wurde.

Zeigt eine Fehlermeldung an.

Siehe auch showInformationMessage

ParameterBeschreibung
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ückBeschreibung
Thenable<T | undefined>

Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder undefined, wenn er abgewiesen wurde.

Zeigt dem Benutzer eine Informationsmeldung an. Optional können eine Reihe von Elementen bereitgestellt werden, die als anklickbare Schaltflächen angezeigt werden.

ParameterBeschreibung
message: string

Die anzuzeigende Nachricht.

...items: T[]

Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden.

Gibt zurückBeschreibung
Thenable<T | undefined>

Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder undefined, wenn er abgewiesen wurde.

Zeigt dem Benutzer eine Informationsmeldung an. Optional können eine Reihe von Elementen bereitgestellt werden, die als anklickbare Schaltflächen angezeigt werden.

ParameterBeschreibung
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ückBeschreibung
Thenable<T | undefined>

Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder undefined, wenn er abgewiesen wurde.

Zeigt eine Informationsmeldung an.

Siehe auch showInformationMessage

ParameterBeschreibung
message: string

Die anzuzeigende Nachricht.

...items: T[]

Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden.

Gibt zurückBeschreibung
Thenable<T | undefined>

Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder undefined, wenn er abgewiesen wurde.

Zeigt eine Informationsmeldung an.

Siehe auch showInformationMessage

ParameterBeschreibung
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ückBeschreibung
Thenable<T | undefined>

Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder undefined, wenn er abgewiesen wurde.

Ö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.

ParameterBeschreibung
options?: InputBoxOptions

Konfiguriert das Verhalten der Eingabebox.

token?: CancellationToken

Ein Token, das zur Signalgebung des Abbruchs verwendet werden kann.

Gibt zurückBeschreibung
Thenable<string | undefined>

Ein Thenable, der zu einer vom Benutzer bereitgestellten Zeichenfolge oder zu undefined im Falle eines Abbruchs aufgelöst wird.

Zeigt das gegebene NotebookDocumentin einem Notebook-Editoran.

ParameterBeschreibung
document: NotebookDocument

Ein Textdokument, das angezeigt werden soll.

options?: NotebookDocumentShowOptions

Editor-Optionen zur Konfiguration des Verhaltens beim Anzeigen des Notebook-Editors.

Gibt zurückBeschreibung
Thenable<NotebookEditor>

Ein Promise, der zu einem Notebook-Editoraufgelöst wird.

Zeigt dem Benutzer ein Dialogfeld zum Öffnen von Dateien an, mit dem eine Datei zum Öffnen ausgewählt werden kann.

ParameterBeschreibung
options?: OpenDialogOptions

Optionen, die den Dialog steuern.

Gibt zurückBeschreibung
Thenable<Uri[] | undefined>

Ein Promise, der zu den ausgewählten Ressourcen oder undefinedaufgelöst wird.

Zeigt eine Auswahlliste an, die Mehrfachauswahlen ermöglicht.

ParameterBeschreibung
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ückBeschreibung
Thenable<string[] | undefined>

Ein Thenable, der zu den ausgewählten Elementen oder undefinedaufgelöst wird.

Zeigt eine Auswahlliste an.

ParameterBeschreibung
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ückBeschreibung
Thenable<string | undefined>

Ein Thenable, der zu der ausgewählten Zeichenfolge oder undefinedaufgelöst wird.

Zeigt eine Auswahlliste an, die Mehrfachauswahlen ermöglicht.

ParameterBeschreibung
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ückBeschreibung
Thenable<T[] | undefined>

Ein Thenable, der zu den ausgewählten Elementen oder undefinedaufgelöst wird.

Zeigt eine Auswahlliste an.

ParameterBeschreibung
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ückBeschreibung
Thenable<T | undefined>

Ein Thenable, der zu dem ausgewählten Element oder undefinedaufgelöst wird.

Zeigt dem Benutzer ein Dialogfeld zum Speichern von Dateien an, mit dem eine Datei zum Speichern ausgewählt werden kann.

ParameterBeschreibung
options?: SaveDialogOptions

Optionen, die den Dialog steuern.

Gibt zurückBeschreibung
Thenable<Uri | undefined>

Ein Promise, der zu der ausgewählten Ressource oder undefinedaufgelöst wird.

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.

ParameterBeschreibung
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 true, übernimmt der Editor nicht den Fokus.

Gibt zurückBeschreibung
Thenable<TextEditor>

Ein Promise, der zu einem Editoraufgelöst wird.

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.

ParameterBeschreibung
document: TextDocument

Ein Textdokument, das angezeigt werden soll.

options?: TextDocumentShowOptions

Editor-Optionen zur Konfiguration des Verhaltens beim Anzeigen des Editors.

Gibt zurückBeschreibung
Thenable<TextEditor>

Ein Promise, der zu einem Editoraufgelöst wird.

Eine Kurzform für openTextDocument(uri).then(document => showTextDocument(document, options)).

Siehe auch workspace.openTextDocument

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

options?: TextDocumentShowOptions

Editor-Optionen zur Konfiguration des Verhaltens beim Anzeigen des Editors.

Gibt zurückBeschreibung
Thenable<TextEditor>

Ein Promise, der zu einem Editoraufgelöst wird.

Zeigt eine Warnmeldung an.

Siehe auch showInformationMessage

ParameterBeschreibung
message: string

Die anzuzeigende Nachricht.

...items: T[]

Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden.

Gibt zurückBeschreibung
Thenable<T | undefined>

Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder undefined, wenn er abgewiesen wurde.

Zeigt eine Warnmeldung an.

Siehe auch showInformationMessage

ParameterBeschreibung
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ückBeschreibung
Thenable<T | undefined>

Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder undefined, wenn er abgewiesen wurde.

Zeigt eine Warnmeldung an.

Siehe auch showInformationMessage

ParameterBeschreibung
message: string

Die anzuzeigende Nachricht.

...items: T[]

Eine Menge von Elementen, die als Aktionen in der Nachricht angezeigt werden.

Gibt zurückBeschreibung
Thenable<T | undefined>

Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder undefined, wenn er abgewiesen wurde.

Zeigt eine Warnmeldung an.

Siehe auch showInformationMessage

ParameterBeschreibung
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ückBeschreibung
Thenable<T | undefined>

Ein Thenable, der zu dem ausgewählten Element aufgelöst wird oder undefined, wenn er abgewiesen wurde.

Zeigt eine Auswahlliste von Arbeitsbereichsordnern zum Auswählen an. Gibt undefined zurück, wenn kein Ordner geöffnet ist.

ParameterBeschreibung
options?: WorkspaceFolderPickOptions

Konfiguriert das Verhalten der Liste der Arbeitsbereichsordner.

Gibt zurückBeschreibung
Thenable<WorkspaceFolder | undefined>

Ein Promise, das sich zu dem Arbeitsbereichsordner oder undefined auflöst.

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.

ParameterBeschreibung
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 increment, um anzugeben, wie viel Arbeit abgeschlossen wurde. Jeder Aufruf mit einem increment-Wert wird summiert und als Gesamtfortschritt angezeigt, bis 100 % erreicht sind (ein Wert von z.B. 10 entspricht 10 % der abgeschlossenen Arbeit). Beachten Sie, dass derzeit nur ProgressLocation.Notification diskreten Fortschritt anzeigen kann.

Um zu überwachen, ob der Vorgang vom Benutzer abgebrochen wurde, verwenden Sie den bereitgestellten CancellationToken. Beachten Sie, dass derzeit nur ProgressLocation.Notification einen Abbruch-Button anzeigen kann, um den langlaufenden Vorgang abzubrechen.

Gibt zurückBeschreibung
Thenable<R>

Das von dem Task-Callback zurückgegebene Thenable.

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.
ParameterBeschreibung
task: (progress: Progress<number>) => Thenable<R>

Ein Callback, der ein Promise zurückgibt. Fortschrittsinformationen können mit dem bereitgestellten Progress-Objekt gemeldet werden.

Gibt zurückBeschreibung
Thenable<R>

Das von der Aufgabe zurückgegebene Thenable.

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

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.

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.

Alle Textdokumente, die dem Editor derzeit bekannt sind.

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 Uri andernfalls. Wenn der Arbeitsbereich unbenannt ist, verwendet die zurückgegebene URI das untitled: 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.

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

Ein Ereignis, das ausgelöst wird, wenn sich die Konfiguration geändert hat.

Ein Ereignis, das ausgelöst wird, wenn sich ein Notebook geändert hat.

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.

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.

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.

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.

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.

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.

Ereignis, das ausgelöst wird, wenn dem aktuellen Arbeitsbereich vertraut wurde.

Ein Ereignis, das ausgelöst wird, wenn ein Notebook geöffnet wird.

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

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.

Ein Ereignis, das ausgelöst wird, wenn ein Notebook gespeichert wurde.

Ein Ereignis, das ausgelöst wird, wenn ein Textdokument auf die Festplatte gespeichert wurde.

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.

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.

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.

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.

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

Ä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.

ParameterBeschreibung
edit: WorkspaceEdit

Eine WorkspaceEdit.

metadata?: WorkspaceEditMetadata

Optionale Metadaten für die Änderung.

Gibt zurückBeschreibung
Thenable<boolean>

Ein Thenable, das sich auflöst, wenn die Änderung angewendet werden konnte.

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.

ParameterBeschreibung
pathOrUri: string | Uri

Ein Pfad oder URI. Wenn eine URI angegeben wird, wird ihr fsPath verwendet.

includeWorkspaceFolder?: boolean

Wenn true und der gegebene Pfad innerhalb eines Arbeitsbereichsordners liegt, wird der Name des Arbeitsbereichs vorangestellt. Standardmäßig true bei mehreren Arbeitsbereichsordnern und andernfalls false.

Gibt zurückBeschreibung
string

Ein Pfad relativ zum Stammverzeichnis oder zur Eingabe.

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, '*')
);
ParameterBeschreibung
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ückBeschreibung
FileSystemWatcher

Eine neue Dateisystem-Watcher-Instanz. Muss freigegeben werden, wenn sie nicht mehr benötigt wird.

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.
ParameterBeschreibung
content: Uint8Array

Der zu dekodierende Textinhalt als Uint8Array.

Gibt zurückBeschreibung
Thenable<string>

Ein Thenable, das sich zu dem dekodierten string auflöst.

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.
ParameterBeschreibung
content: Uint8Array

Der zu dekodierende Textinhalt als Uint8Array.

options: {encoding: string}

Zusätzlicher Kontext für die Auswahl der Kodierung.

Gibt zurückBeschreibung
Thenable<string>

Ein Thenable, das sich zu dem dekodierten string auflöst.

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.
ParameterBeschreibung
content: Uint8Array

Der Inhalt, der als Uint8Array dekodiert werden soll.

options: {uri: Uri}

Zusätzlicher Kontext für die Auswahl der Kodierung.

Gibt zurückBeschreibung
Thenable<string>

Ein Thenable, das sich zu dem dekodierten string auflöst.

Kodiert den Inhalt eines string in ein Uint8Array.

Wählt eine Kodierung basierend auf Einstellungen aus.

ParameterBeschreibung
content: string

Der zu dekodierende Inhalt als string.

Gibt zurückBeschreibung
Thenable<Uint8Array>

Ein Thenable, das sich zu dem kodierten Uint8Array auflöst.

Kodiert den Inhalt eines string in ein Uint8Array unter Verwendung der angegebenen Kodierung.

ParameterBeschreibung
content: string

Der zu dekodierende Inhalt als string.

options: {encoding: string}

Zusätzlicher Kontext für die Auswahl der Kodierung.

Gibt zurückBeschreibung
Thenable<Uint8Array>

Ein Thenable, das sich zu dem kodierten Uint8Array auflöst.

Kodiert den Inhalt eines string in ein Uint8Array.

Die Kodierung wird basierend auf Einstellungen ausgewählt.

ParameterBeschreibung
content: string

Der zu dekodierende Inhalt als string.

options: {uri: Uri}

Zusätzlicher Kontext für die Auswahl der Kodierung.

Gibt zurückBeschreibung
Thenable<Uint8Array>

Ein Thenable, das sich zu dem kodierten Uint8Array auflöst.

Findet Dateien in allen Arbeitsbereichsordnern im Arbeitsbereich.

Beispiel

findFiles('**/*.js', '**/node_modules/**', 10);
ParameterBeschreibung
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 undefined, werden standardmäßige Datei-Ausschlüsse (z.B. die Einstellung files.exclude, aber nicht search.exclude) angewendet. Wenn null, werden keine Ausschlüsse angewendet.

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ückBeschreibung
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.

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.

ParameterBeschreibung
section?: string

Ein punktgetrennter Bezeichner.

scope?: ConfigurationScope

Ein Bereich (Scope), für den die Konfiguration abgefragt wird.

Gibt zurückBeschreibung
WorkspaceConfiguration

Die vollständige Konfiguration oder eine Teilmenge davon.

Gibt den Arbeitsbereichsordner zurück, der eine gegebene URI enthält.

  • Gibt undefined zurück, wenn die gegebene URI keinem Arbeitsbereichsordner entspricht.
  • Gibt die *Eingabe* zurück, wenn die gegebene URI selbst ein Arbeitsbereichsordner ist.
ParameterBeschreibung
uri: Uri

Eine URI.

Gibt zurückBeschreibung
WorkspaceFolder | undefined

Ein Arbeitsbereichsordner oder undefined.

Ö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.

ParameterBeschreibung
uri: Uri

Die zu öffnende Ressource.

Gibt zurückBeschreibung
Thenable<NotebookDocument>

Ein Promise, das zu einem Notebook aufgelöst wird.

Öffnet ein unbenanntes Notebook. Der Editor wird den Benutzer beim Speichern des Dokuments nach einem Dateipfad fragen.

Siehe auch workspace.openNotebookDocument.

ParameterBeschreibung
notebookType: string

Der zu verwendende Notebooktyp.

content?: NotebookData

Der anfängliche Inhalt des Notebooks.

Gibt zurückBeschreibung
Thenable<NotebookDocument>

Ein Promise, das zu einem Notebook aufgelöst wird.

Ö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.

ParameterBeschreibung
uri: Uri

Identifiziert die zu öffnende Ressource.

options?: {encoding: string}
Gibt zurückBeschreibung
Thenable<TextDocument>

Ein Promise, das zu einem Dokument aufgelöst wird.

Eine Kurzform für openTextDocument(Uri.file(path)).

Siehe auch workspace.openTextDocument

ParameterBeschreibung
path: string

Ein Pfad zu einer Datei auf der Festplatte.

options?: {encoding: string}
Gibt zurückBeschreibung
Thenable<TextDocument>

Ein Promise, das zu einem Dokument aufgelöst wird.

Ö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.

ParameterBeschreibung
options?: {content: string, encoding: string, language: string}

Optionen zur Steuerung, wie das Dokument erstellt werden soll.

Gibt zurückBeschreibung
Thenable<TextDocument>

Ein Promise, das zu einem Dokument aufgelöst wird.

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.

ParameterBeschreibung
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ückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
notebookType: string

Ein Notebook.

serializer: NotebookSerializer

Ein Notebook-Serialisierer.

options?: NotebookDocumentContentOptions

Optionale Kontextoptionen, die definieren, welche Teile eines Notebooks gespeichert werden sollen.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Serialisierer bei der Freigabe deregistriert.

Registriert einen Task-Anbieter.

  • veraltet - Verwenden Sie stattdessen die entsprechende Funktion im Namespace tasks.
ParameterBeschreibung
type: string

Der Task-Kind-Typ, für den dieser Anbieter registriert ist.

provider: TaskProvider<Task>

Ein Task-Anbieter.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

Registriert einen Textdokument-Inhaltsanbieter.

Nur ein Anbieter kann pro Schema registriert werden.

ParameterBeschreibung
scheme: string

Das URI-Schema, für das registriert wird.

provider: TextDocumentContentProvider

Ein Inhaltsanbieter.

Gibt zurückBeschreibung
Disposable

Ein Disposable, der diesen Anbieter bei der Entsorgung deregistriert.

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.

ParameterBeschreibung
uri: Uri

Die zu speichernde zugeordnete URI für den geöffneten Editor.

Gibt zurückBeschreibung
Thenable<Uri | undefined>

Ein Thenable, der aufgelöst wird, wenn die Speicheroperation abgeschlossen ist.

Speichert alle geänderten Dateien.

ParameterBeschreibung
includeUntitled?: boolean

Speichert auch Dateien, die während dieser Sitzung erstellt wurden.

Gibt zurückBeschreibung
Thenable<boolean>

Ein Thenable, das aufgelöst wird, wenn die Dateien gespeichert wurden. Gibt für jede Datei, deren Speicherung fehlschlug, false zurück.

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.

ParameterBeschreibung
uri: Uri

Die zu speichernde zugeordnete URI für den geöffneten Editor.

Gibt zurückBeschreibung
Thenable<Uri | undefined>

Ein Thenable, das aufgelöst wird, wenn die "Speichern unter"-Operation abgeschlossen ist.

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.

ParameterBeschreibung
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ückBeschreibung
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.

AuthenticationGetSessionOptions

Optionen, die beim Abrufen einer AuthenticationSession von einem AuthenticationProvider verwendet werden.

Eigenschaften

Das Konto, für das Sie eine Sitzung erhalten möchten. Dies wird an den Authentifizierungsanbieter weitergegeben, um die korrekte Sitzung zu erstellen.

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.

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.

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

Ein Ereignis, das ausgelöst wird, wenn sich die Liste der Sitzungen geändert hat oder Daten innerhalb einer Sitzung geändert wurden.

Methoden

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.

ParameterBeschreibung
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ückBeschreibung
Thenable<AuthenticationSession>

Ein Promise, das zu einer Authentifizierungssitzung aufgelöst wird.

Ruft eine Liste von Sitzungen ab.

ParameterBeschreibung
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ückBeschreibung
Thenable<AuthenticationSession[]>

Ein Promise, das zu einem Array von Authentifizierungssitzungen aufgelöst wird.

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.

ParameterBeschreibung
sessionId: string

Die ID der zu entfernenden Sitzung.

Gibt zurückBeschreibung
Thenable<void>

AuthenticationProviderAuthenticationSessionsChangeEvent

Ein Ereignis, das ausgelöst wird, wenn eine AuthenticationSession hinzugefügt, entfernt oder geändert wird.

Eigenschaften

Die AuthenticationSessions des AuthenticationProvider, die hinzugefügt wurden.

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.

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

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

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.

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

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.

Eigenschaften

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.

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

ParameterBeschreibung
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ückBeschreibung
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

Erstellt einen neuen Breakpoint

ParameterBeschreibung
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ückBeschreibung
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

Hinzugefügte Breakpoints.

Geänderte Breakpoints.

Entfernte Breakpoints.

CallHierarchyIncomingCall

Stellt einen eingehenden Aufruf dar, z. B. einen Aufrufer einer Methode oder eines Konstruktors.

Konstruktoren

Erstellt ein neues Aufrufobjekt.

ParameterBeschreibung
item: CallHierarchyItem

Das Element, das den Aufruf tätigt.

fromRanges: Range[]

Die Bereiche, in denen die Aufrufe auftreten.

Gibt zurückBeschreibung
CallHierarchyIncomingCall

Eigenschaften

Das Element, das den Aufruf tätigt.

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

Erstellt ein neues Aufrufhierarchieelement.

ParameterBeschreibung
kind: SymbolKind
name: string
detail: string
uri: Uri
range: Range
selectionRange: Range
Gibt zurückBeschreibung
CallHierarchyItem

Eigenschaften

Weitere Details zu diesem Element, z. B. die Signatur einer Funktion.

Die Art dieses Elements.

Der Name dieses Elements.

Der Bereich, der dieses Symbol umschließt, ohne führende/nachfolgende Leerzeichen, aber alles andere, z. B. Kommentare und Code.

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 für dieses Element.

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

Erstellt ein neues Aufrufobjekt.

ParameterBeschreibung
item: CallHierarchyItem

Das aufgerufene Element

fromRanges: Range[]

Die Bereiche, in denen die Aufrufe auftreten.

Gibt zurückBeschreibung
CallHierarchyOutgoingCall

Eigenschaften

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

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.

ParameterBeschreibung
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ückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

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.

ParameterBeschreibung
item: CallHierarchyItem

Das Hierarchieelement, für das eingehende Aufrufe berechnet werden sollen.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<CallHierarchyIncomingCall[]>

Eine Menge eingehender Aufrufe oder ein Thenable, das zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von undefined oder null signalisiert werden.

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.

ParameterBeschreibung
item: CallHierarchyItem

Das Hierarchieelement, für das ausgehende Aufrufe berechnet werden sollen.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<CallHierarchyOutgoingCall[]>

Eine Menge ausgehender Aufrufe oder ein Thenable, das zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von undefined oder null signalisiert werden.

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

Erstellt einen neuen Abbruchfehler.

ParameterBeschreibung
Gibt zurückBeschreibung
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

Ist true, wenn das Token abgebrochen wurde, andernfalls false.

Ein Ereignis, das bei Abbruch ausgelöst wird.

CancellationTokenSource

Eine Abbruchquelle erstellt und steuert ein Abbruch-Token.

Konstruktoren

ParameterBeschreibung
Gibt zurückBeschreibung
CancellationTokenSource

Eigenschaften

Das Abbruch-Token dieser Quelle.

Methoden

Signalisiert die Abbrechung des Tokens.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Objekt freigeben und Ressourcen bereinigen.

ParameterBeschreibung
Gibt zurückBeschreibung
void

CharacterPair

Ein Tupel aus zwei Zeichen, wie ein Paar aus öffnenden und schließenden Klammern.

ChatContext

Zusätzlicher Kontext, der an einen Teilnehmer übergeben wird.

Eigenschaften

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

Stellt Folgefragen für das angegebene Ergebnis bereit.

ParameterBeschreibung
result: ChatResult

Dieses Objekt hat dieselben Eigenschaften wie das Ergebnis, das aus dem Teilnehmerrückruf zurückgegeben wurde, einschließlich metadata, ist aber nicht dieselbe Instanz.

context: ChatContext

Zusätzlicher Kontext, der an einen Teilnehmer übergeben wird.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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.

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

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

Dieser Provider wird einmal nach jeder Anfrage aufgerufen, um vorgeschlagene Folgefragen abzurufen.

Ein Symbol für den Teilnehmer, das in der Benutzeroberfläche angezeigt wird.

Eine eindeutige ID für diesen Teilnehmer.

Der Handler für Anfragen an diesen Teilnehmer.

Methoden

Entsorgen Sie diesen Teilnehmer und geben Sie Ressourcen frei.

ParameterBeschreibung
Gibt zurückBeschreibung
void

ChatParticipantToolToken

Ein Token, das an lm.invokeTool übergeben werden kann, wenn ein Tool im Kontext der Bearbeitung einer Chat-Anfrage aufgerufen wird.

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.

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.

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.

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.

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

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.

Die Referenzen, die in dieser Nachricht verwendet wurden.

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

Erstellt einen neuen ChatResponseAnchorPart.

ParameterBeschreibung
value: Uri | Location

Eine URI oder ein Ort.

title?: string

Ein optionaler Titel, der mit dem Wert gerendert wird.

Gibt zurückBeschreibung
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

Erstellt einen neuen ChatResponseCommandButtonPart.

ParameterBeschreibung
value: Command

Ein Befehl, der ausgeführt wird, wenn der Button geklickt wird.

Gibt zurückBeschreibung
ChatResponseCommandButtonPart

Eigenschaften

Der Befehl, der ausgeführt wird, wenn der Button geklickt wird.

ChatResponseFileTree

Stellt eine Dateibaumstruktur in einer Chat-Antwort dar.

Eigenschaften

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

Erstellt einen neuen ChatResponseFileTreePart.

ParameterBeschreibung
value: ChatResponseFileTree[]

Dateibaumdaten.

baseUri: Uri

Die Basis-URI, auf die sich dieser Dateibaum bezieht.

Gibt zurückBeschreibung
ChatResponseFileTreePart

Eigenschaften

Die Basis-URI, auf die sich dieser Dateibaum bezieht.

Dateibaumdaten.

ChatResponseMarkdownPart

Stellt einen Teil einer Chat-Antwort dar, der als Markdown formatiert ist.

Konstruktoren

Erstellt einen neuen ChatResponseMarkdownPart.

ParameterBeschreibung
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ückBeschreibung
ChatResponseMarkdownPart

Eigenschaften

Ein Markdown-String oder ein String, der als Markdown interpretiert werden soll.

ChatResponsePart

Stellt die verschiedenen Chat-Antworttypen dar.

ChatResponseProgressPart

Stellt einen Teil einer Chat-Antwort dar, der eine Fortschrittsnachricht ist.

Konstruktoren

Erstellt einen neuen ChatResponseProgressPart.

ParameterBeschreibung
value: string

Eine Fortschrittsnachricht.

Gibt zurückBeschreibung
ChatResponseProgressPart

Eigenschaften

Die Fortschrittsnachricht.

ChatResponseReferencePart

Stellt einen Teil einer Chat-Antwort dar, der ein separater Verweis ist, getrennt vom Inhalt gerendert.

Konstruktoren

Erstellt einen neuen ChatResponseReferencePart.

ParameterBeschreibung
value: Uri | Location

Eine URI oder ein Ort.

iconPath?: IconPath

Icon für den Verweis, der in der Benutzeroberfläche angezeigt wird.

Gibt zurückBeschreibung
ChatResponseReferencePart

Eigenschaften

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

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.

ParameterBeschreibung
value: Uri | Location

Eine URI oder ein Ort.

title?: string

Ein optionaler Titel, der mit dem Wert gerendert wird.

Gibt zurückBeschreibung
void

Push einen Befehlsschaltflächenteil an diesen Stream. Kurzerhand für push(new ChatResponseCommandButtonPart(value, title)).

ParameterBeschreibung
command: Command

Ein Befehl, der ausgeführt wird, wenn der Button geklickt wird.

Gibt zurückBeschreibung
void

Push einen Dateibaumteil an diesen Stream. Kurzerhand für push(new ChatResponseFileTreePart(value)).

ParameterBeschreibung
value: ChatResponseFileTree[]

Dateibaumdaten.

baseUri: Uri

Die Basis-URI, auf die sich dieser Dateibaum bezieht.

Gibt zurückBeschreibung
void

Push einen Markdown-Teil an diesen Stream. Kurzerhand für push(new ChatResponseMarkdownPart(value)).

Siehe auch ChatResponseStream.push.

ParameterBeschreibung
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ückBeschreibung
void

Push einen Fortschrittsteil an diesen Stream. Kurzerhand für push(new ChatResponseProgressPart(value)).

ParameterBeschreibung
value: string

Eine Fortschrittsnachricht.

Gibt zurückBeschreibung
void

Pusht einen Teil an diesen Stream.

ParameterBeschreibung
part: ChatResponsePart

Ein Antwortteil, gerendert oder Metadaten.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
value: Uri | Location

Eine URI oder ein Ort.

iconPath?: IconPath

Icon für den Verweis, der in der Benutzeroberfläche angezeigt wird.

Gibt zurückBeschreibung
void

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.

Der vom Chat-Teilnehmer empfangene Inhalt. Nur die Stream-Teile, die tatsächlichen Inhalt darstellen (keine Metadaten), werden dargestellt.

Das vom Chat-Teilnehmer empfangene Ergebnis.

ChatResult

Das Ergebnis einer Chat-Anfrage.

Eigenschaften

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

Die Art des empfangenen Feedbacks.

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.

ParameterBeschreibung
Gibt zurückBeschreibung
Thenable<string>

Ein Thenable, das zu einem String aufgelöst wird.

Schreibt Text in die Zwischenablage.

ParameterBeschreibung
value: string
Gibt zurückBeschreibung
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

Erstellt eine neue Code-Aktion.

Eine Code-Aktion muss mindestens einen title und edits und/oder einen command haben.

ParameterBeschreibung
title: string

Der Titel der Code-Aktion.

kind?: CodeActionKind

Die Art der Code-Aktion.

Gibt zurückBeschreibung
CodeAction

Eigenschaften

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.

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 reason im Editor an.

ParameterBeschreibung
reason: string

Eine menschenlesbare Beschreibung, warum die Codeaktion derzeit deaktiviert ist.

Dies wird in der Benutzeroberfläche für Codeaktionen angezeigt.

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.

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

Ein Array von Diagnosen.

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.

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

Leere Art.

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)

Basisart für Quickfix-Aktionen: quickfix.

Quickfix-Aktionen beheben ein Problem im Code und werden im normalen Kontextmenü für Codeaktionen angezeigt.

Basisart für Refactoring-Aktionen: refactor

Refactoring-Aktionen werden im Kontextmenü für Refactoring angezeigt.

Basisart für Refactoring-Extraktionsaktionen: refactor.extract

Beispiel-Extraktionsaktionen

  • Methode extrahieren
  • Funktion extrahieren
  • Variable extrahieren
  • Interface aus Klasse extrahieren
  • ...

Basisart für Refactoring-Inline-Aktionen: refactor.inline

Beispiel-Inline-Aktionen

  • Funktion inline
  • Variable inline
  • Konstante inline
  • ...

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
  • ...

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
  • ...

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.

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.

Basisart für eine Organisieren-Import-Source-Aktion: source.organizeImports.

Konstruktoren

Privater Konstruktor, verwenden Sie statische CodeActionKind.XYZ, um von einer bestehenden Codeaktion abzustammen.

ParameterBeschreibung
value: string

Der Wert der Art, z. B. refactor.extract.function.

Gibt zurückBeschreibung
CodeActionKind

Eigenschaften

String-Wert der Art, z. B. "refactor.extract.function".

Methoden

Erstellt eine neue Art, indem ein spezifischerer Selektor an die aktuelle Art angehängt wird.

Ändert die aktuelle Art nicht.

ParameterBeschreibung
parts: string
Gibt zurückBeschreibung
CodeActionKind

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.

ParameterBeschreibung
other: CodeActionKind

Zu prüfende Art.

Gibt zurückBeschreibung
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".

ParameterBeschreibung
other: CodeActionKind

Zu prüfende Art.

Gibt zurückBeschreibung
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.codeActionsOnSave angewendete Änderungen.

Methoden

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.

ParameterBeschreibung
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ückBeschreibung
ProviderResult<Array<Command | T>>

Ein Array von Codeaktionen, wie z. B. schnelle Korrekturen oder Refactorings. Das Fehlen eines Ergebnisses kann durch Rückgabe von undefined, null oder einem leeren Array signalisiert werden.

Aus historischen Gründen unterstützen wir auch die Rückgabe von Command, jedoch sollten alle neuen Erweiterungen stattdessen CodeAction-Objekte zurückgeben.

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.

ParameterBeschreibung
codeAction: T

Eine Codeaktion.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<T>

Die aufgelöste Codeaktion oder ein Thenable, der sich zu einer solchen auflöst. Es ist in Ordnung, das gegebene item zurückzugeben. Wenn kein Ergebnis zurückgegeben wird, wird das gegebene item verwendet.

CodeActionProviderMetadata

Metadaten über die Art von Codeaktionen, die ein CodeActionProvider bereitstellt.

Eigenschaften

Statische Dokumentation für eine Klasse von Codeaktionen.

Dokumentation vom Anbieter wird im Menü für Codeaktionen angezeigt, wenn entweder

  • Codeaktionen der kind vom 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ür Refactor und RefactorExtract hat, verwendet der Editor bei Anforderung von Codeaktionen für RefactorExtract die Dokumentation für RefactorExtract anstelle der Dokumentation für Refactor.

  • Beliebige Codeaktionen der kind vom Anbieter zurückgegeben werden.

Pro Anbieter wird höchstens ein Dokumentationseintrag angezeigt.

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

Erstellt ein neues Code-Lens-Objekt.

ParameterBeschreibung
range: Range

Der Bereich, auf den sich diese Code-Lens bezieht.

command?: Command

Der mit dieser Code-Lens verknüpfte Befehl.

Gibt zurückBeschreibung
CodeLens

Eigenschaften

Der Befehl, den diese Code-Lens darstellt.

true, wenn ein Befehl zugeordnet ist.

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

Ein optionales Ereignis, um zu signalisieren, dass sich die Code-Lenses dieses Anbieters geändert haben.

Methoden

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.

ParameterBeschreibung
document: TextDocument

Das Dokument, in dem der Befehl aufgerufen wurde.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

Diese Funktion wird für jede sichtbare Code-Lens aufgerufen, normalerweise beim Scrollen und nach Aufrufen von compute-Lenses.

ParameterBeschreibung
codeLens: T

Code-Lens, die aufgelöst werden muss.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<T>

Die gegebene, aufgelöste Code-Lens oder ein Thenable, das sich zu einer solchen auflöst. Es ist in Ordnung, das gegebene item zurückzugeben. Wenn kein Ergebnis zurückgegeben wird, wird das gegebene item verwendet.

Color

Stellt eine Farbe im RGBA-Raum dar.

Konstruktoren

Erstellt eine neue Farbinstanz.

ParameterBeschreibung
red: number

Die rote Komponente.

green: number

Die grüne Komponente.

blue: number

Die blaue Komponente.

alpha: number

Die Alpha-Komponente.

Gibt zurückBeschreibung
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

Erstellt einen neuen Farbbereich.

ParameterBeschreibung
range: Range

Der Bereich, auf den sich die Farbe bezieht. Darf nicht leer sein.

color: Color

Der Wert der Farbe.

Gibt zurückBeschreibung
ColorInformation

Eigenschaften

Der tatsächliche Farbwert für diesen Farbbereich.

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

Erstellt eine neue Farbpräsentation.

ParameterBeschreibung
label: string

Die Beschriftung dieser Farbpräsentation.

Gibt zurückBeschreibung
ColorPresentation

Eigenschaften

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.

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

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

Die Autoreninformationen des Kommentars.

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.

Der Kommentarmodus des Kommentars.

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

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

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.

Optionen des Kommentar-Controllers.

Optionaler Reaktionshandler zum Erstellen und Löschen von Reaktionen auf einen Kommentar.

ParameterBeschreibung
comment: Comment
reaction: CommentReaction
Gibt zurückBeschreibung
Thenable<void>

Methoden

Erstellt einen Kommentar-Thread. Der Kommentar-Thread wird in sichtbaren Texteditoren (wenn die Ressource übereinstimmt) und im Kommentarfenster angezeigt, sobald er erstellt wurde.

ParameterBeschreibung
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ückBeschreibung
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.

ParameterBeschreibung
Gibt zurückBeschreibung
void

CommentingRangeProvider

Anbieter für Kommentarbereiche für einen Kommentar-Controller.

Methoden

Stellt eine Liste von Bereichen bereit, die die Erstellung neuer Kommentar-Threads zulassen, oder null für ein gegebenes Dokument.

ParameterBeschreibung
document: TextDocument
token: CancellationToken
Gibt zurückBeschreibung
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.

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.

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.

Der aktive Kommentar-Thread.

CommentRule

Beschreibt, wie Kommentare für eine Sprache funktionieren.

Eigenschaften

Das Zeichenpaar für Blockkommentare, z. B. /* block comment *&#47;.

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

Gibt an, ob der Thread Antworten unterstützt. Standardmäßig ist dies auf true gesetzt.

Gibt an, ob der Thread beim Öffnen des Dokuments zusammengeklappt oder erweitert werden soll. Standardmäßig ist dies Collapsed.

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.

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.

Der optionale Zustand eines Kommentar-Threads, der beeinflussen kann, wie der Kommentar angezeigt wird.

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.

ParameterBeschreibung
Gibt zurückBeschreibung
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.

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

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.

ParameterBeschreibung
label: string | CompletionItemLabel

Das Label der Vervollständigung.

kind?: CompletionItemKind

Die Art der Vervollständigung.

Gibt zurückBeschreibung
CompletionItem

Eigenschaften

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.

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.

Eine für Menschen lesbare Zeichenfolge, die einen Dokumentationskommentar darstellt.

Eine Zeichenfolge, die beim Filtern einer Menge von Vervollständigungselementen verwendet werden sollte. Wenn falsy, wird das Label verwendet.

Beachten Sie, dass der Filtertext gegen das führende Wort (Präfix) abgeglichen wird, das durch die Eigenschaft range definiert ist.

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.

Die Art dieses Vervollständigungselements. Basierend auf der Art wird vom Editor ein Symbol ausgewählt.

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.

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 für dieses Vervollständigungselement.

  • veraltet - Verwenden Sie stattdessen CompletionItem.insertText und CompletionItem.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

Stellen Sie Vervollständigungselemente für die angegebene Position und das angegebene Dokument bereit.

ParameterBeschreibung
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ückBeschreibung
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.

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.

ParameterBeschreibung
item: T

Ein Vervollständigungselement, das derzeit in der Benutzeroberfläche aktiv ist.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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

Erstellt eine neue Vervollständigungsliste.

ParameterBeschreibung
items?: T[]

Die Vervollständigungselemente.

isIncomplete?: boolean

Die Liste ist nicht vollständig.

Gibt zurückBeschreibung
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.

Vervollständigung wurde erneut ausgelöst, da die aktuelle Vervollständigungsliste unvollständig ist

ConfigurationChangeEvent

Ein Ereignis, das die Änderung der Konfiguration beschreibt

Methoden

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.

ParameterBeschreibung
section: string

Konfigurationsname, unterstützt *punktuelle* Namen.

scope?: ConfigurationScope

Ein Geltungsbereich, in dem geprüft werden soll.

Gibt zurückBeschreibung
boolean

true, wenn sich der angegebene Abschnitt geändert hat.

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 Textdokuments
    • languageId: die Sprachkennung eines Textdokuments

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

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).

ParameterBeschreibung
Gibt zurückBeschreibung
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.

ParameterBeschreibung
Gibt zurückBeschreibung
void

CustomDocumentBackupContext

Zusätzliche Informationen zur Implementierung von CustomDocumentBackup.

Eigenschaften

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.

ParameterBeschreibung
Gibt zurückBeschreibung
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.

ParameterBeschreibung
Gibt zurückBeschreibung
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.

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

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

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).

ParameterBeschreibung
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ückBeschreibung
Thenable<CustomDocumentBackup>

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.

ParameterBeschreibung
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ückBeschreibung
T | Thenable<T>

Das benutzerdefinierte Dokument.

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.

ParameterBeschreibung
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ückBeschreibung
void | Thenable<void>

Optionaler dannable Wert, der anzeigt, dass der benutzerdefinierte Editor aufgelöst wurde.

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.

ParameterBeschreibung
document: T

Zu verwerfendes Dokument.

cancellation: CancellationToken

Token, das signalisiert, dass die Rückgängigmachung nicht mehr erforderlich ist.

Gibt zurückBeschreibung
Thenable<void>

Thenable, der signalisiert, dass die Änderung abgeschlossen ist.

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.

ParameterBeschreibung
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ückBeschreibung
Thenable<void>

Thenable, der signalisiert, dass das Speichern abgeschlossen ist.

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.

ParameterBeschreibung
document: T

Zu speicherndes Dokument.

destination: Uri

Speicherort.

cancellation: CancellationToken

Token, das signalisiert, dass das Speichern nicht mehr erforderlich ist.

Gibt zurückBeschreibung
Thenable<void>

Thenable, der signalisiert, dass das Speichern abgeschlossen ist.

CustomExecution

Klasse zur Ausführung eines Erweiterungs-Callbacks als Aufgabe.

Konstruktoren

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.

ParameterBeschreibung
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ückBeschreibung
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

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.

ParameterBeschreibung
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ückBeschreibung
T | Thenable<T>

Das benutzerdefinierte Dokument.

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.

ParameterBeschreibung
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ückBeschreibung
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

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.

ParameterBeschreibung
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ückBeschreibung
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

ParameterBeschreibung
Gibt zurückBeschreibung
DataTransfer

Methoden

Einen neuen Iterator mit den [mime, item]-Paaren für jedes Element in diesem Datentransfer abrufen.

ParameterBeschreibung
Gibt zurückBeschreibung
IterableIterator<[mimeType: string, item: DataTransferItem]>

Ermöglicht die Iteration durch die Datentransfer-Elemente.

ParameterBeschreibung
callbackfn: (item: DataTransferItem, mimeType: string, dataTransfer: DataTransfer) => void

Callback für die Iteration durch die Datentransfer-Elemente.

thisArg?: any

Der this-Kontext, der beim Aufruf der Handlerfunktion verwendet wird.

Gibt zurückBeschreibung
void

Ruft das Datentransfer-Element für einen gegebenen MIME-Typ ab.

ParameterBeschreibung
mimeType: string

Der MIME-Typ, für den das Datentransfer-Element abgerufen werden soll, z. B. text/plain oder image/png. MIME-Typ-Abfragen sind nicht case-sensitiv.

Spezielle MIME-Typen

  • text/uri-list — Ein String mit durch \r\n getrennten Uris, die mit toString() in Strings umgewandelt wurden. Um eine Cursorposition in der Datei anzugeben, setzen Sie das Fragment des Uri auf L3,5, wobei 3 die Zeilennummer und 5 die Spaltennummer ist.
Gibt zurückBeschreibung
DataTransferItem

Setzt eine Abbildung von MIME-Typen auf Datentransfer-Elemente.

ParameterBeschreibung
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ückBeschreibung
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.

Der vollständige Dateipfad der Datei.

Kann unter undefined im Web sein.

Methoden

Der vollständige Dateiinhalt der Datei.

ParameterBeschreibung
Gibt zurückBeschreibung
Thenable<Uint8Array>

DataTransferItem

Kapselt Daten, die während von Drag-and-Drop-Vorgängen übertragen werden.

Konstruktoren

ParameterBeschreibung
value: any

Benutzerdefinierte Daten, die auf diesem Element gespeichert sind. Kann über DataTransferItem.value abgerufen werden.

Gibt zurückBeschreibung
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

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.

ParameterBeschreibung
Gibt zurückBeschreibung
DataTransferFile

Die Datei für den Datentransfer oder undefined, wenn das Element entweder keine Datei ist oder die Datei nicht abgerufen werden kann.

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.

ParameterBeschreibung
Gibt zurückBeschreibung
Thenable<string>

DebugAdapter

Ein Debug-Adapter, der das Debug Adapter Protocol implementiert, kann beim Editor registriert werden, wenn er die DebugAdapter-Schnittstelle implementiert.

Events

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.

ParameterBeschreibung
Gibt zurückBeschreibung
any

Verarbeitet eine Nachricht des Debug Adapter Protocols. Nachrichten können Anfragen, Antworten oder Ereignisse sein. Ergebnisse oder Fehler werden über onSendMessage-Ereignisse zurückgegeben.

ParameterBeschreibung
message: DebugProtocolMessage

Eine Nachricht des Debug Adapter Protocols

Gibt zurückBeschreibung
void

DebugAdapterDescriptor

Repräsentiert die verschiedenen Arten von Debug-Adaptern

DebugAdapterDescriptorFactory

Eine Debug-Adapter-Factory, die Debug-Adapter-Deskriptoren erstellt.

Methoden

'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; }
ParameterBeschreibung
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ückBeschreibung
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

Erstellt eine Beschreibung für einen Debug-Adapter basierend auf einem ausführbaren Programm.

ParameterBeschreibung
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ückBeschreibung
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.

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

Erstellt einen Deskriptor für eine Inline-Implementierung eines Debug-Adapters.

ParameterBeschreibung
implementation: DebugAdapter
Gibt zurückBeschreibung
DebugAdapterInlineImplementation

DebugAdapterNamedPipeServer

Repräsentiert einen Debug-Adapter, der als Named Pipe (unter Windows)/UNIX Domain Socket (unter Nicht-Windows)-basierter Server läuft.

Konstruktoren

Erstellt eine Beschreibung für einen Debug-Adapter, der als Named Pipe (unter Windows)/UNIX Domain Socket (unter Nicht-Windows)-basierter Server läuft.

ParameterBeschreibung
path: string
Gibt zurückBeschreibung
DebugAdapterNamedPipeServer

Eigenschaften

Der Pfad zur Named Pipe/UNIX Domain Socket.

DebugAdapterServer

Repräsentiert einen Debug-Adapter, der als Socket-basierter Server läuft.

Konstruktoren

Erstellt eine Beschreibung für einen Debug-Adapter, der als Socket-basierter Server läuft.

ParameterBeschreibung
port: number
host?: string
Gibt zurückBeschreibung
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

Der Debug-Adapter hat eine Nachricht des Debug Adapter Protocols an den Editor gesendet.

ParameterBeschreibung
message: any
Gibt zurückBeschreibung
void

Der Debug-Adapter wird bald eine Nachricht des Debug Adapter Protocols vom Editor empfangen.

ParameterBeschreibung
message: any
Gibt zurückBeschreibung
void

Eine Sitzung mit dem Debug-Adapter wird bald gestartet.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Die Debug-Adapter-Sitzung wird bald beendet.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Methoden

Es ist ein Fehler mit dem Debug-Adapter aufgetreten.

ParameterBeschreibung
error: Error
Gibt zurückBeschreibung
void

Der Debug-Adapter wurde mit dem angegebenen Exit-Code oder Signal beendet.

ParameterBeschreibung
code: number
signal: string
Gibt zurückBeschreibung
void

DebugAdapterTrackerFactory

Eine Debug-Adapter-Factory, die Debug-Adapter-Tracker erstellt.

Methoden

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.

ParameterBeschreibung
session: DebugSession

Die Debug-Sitzung, für die der Debug-Adapter-Tracker verwendet wird.

Gibt zurückBeschreibung
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

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.

ParameterBeschreibung
folder: WorkspaceFolder

Der Arbeitsbereichsordner, für den die Konfigurationen verwendet werden, oder undefined für eine ordnerlose Einrichtung.

token?: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<DebugConfiguration[]>

Ein Array von Debug-Konfigurationen.

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.

ParameterBeschreibung
folder: WorkspaceFolder

Der Arbeitsbereichsordner, aus dem die Konfiguration stammt, oder undefined für eine ordnerlose Einrichtung.

debugConfiguration: DebugConfiguration

Die aufzulösende Debug-Konfiguration.

token?: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<DebugConfiguration>

Die aufgelöste Debug-Konfiguration oder undefined oder null.

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.

ParameterBeschreibung
folder: WorkspaceFolder

Der Arbeitsbereichsordner, aus dem die Konfiguration stammt, oder undefined für eine ordnerlose Einrichtung.

debugConfiguration: DebugConfiguration

Die aufzulösende Debug-Konfiguration.

token?: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
value: string

Ein String, falsche Werte werden nicht ausgegeben.

Gibt zurückBeschreibung
void

Hängt den angegebenen Wert und ein Zeilenumbruchzeichen an die Debug-Konsole an.

ParameterBeschreibung
value: string

Ein String, falsche Werte werden ausgegeben.

Gibt zurückBeschreibung
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

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.

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.

Der Arbeitsbereichsordner dieser Sitzung oder undefined für eine ordnerlose Einrichtung.

Methoden

Sendet eine benutzerdefinierte Anfrage an den Debug-Adapter.

ParameterBeschreibung
command: string
args?: any
Gibt zurückBeschreibung
Thenable<any>

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.

ParameterBeschreibung
breakpoint: Breakpoint

Ein Breakpoint im Editor.

Gibt zurückBeschreibung
Thenable<DebugProtocolBreakpoint>

Ein Promise, der zu einem Haltepunkt des Debug Adapter Protocol oder undefined aufgelöst wird.

DebugSessionCustomEvent

Ein benutzerdefiniertes Debug Adapter Protocol-Ereignis, das von einer Debug-Sitzung empfangen wird.

Eigenschaften

Ereignisspezifische Informationen.

Art des Ereignisses.

Die Debug-Sitzung, für die das benutzerdefinierte Ereignis empfangen wurde.

DebugSessionOptions

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.

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".

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.

Wenn angegeben, wird die neu erstellte Debug-Sitzung als "Kind"-Sitzung dieser "Eltern"-Debug-Sitzung registriert.

Wenn true, wird die Statusleiste des Fensters für diese Sitzung nicht eingefärbt.

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.

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.

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.

Debug-Sitzung für Thread.

ID des zugehörigen Threads im Debug-Protokoll.

DebugThread

Stellt einen Thread in einer Debug-Sitzung dar.

Eigenschaften

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.

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

ParameterBeschreibung
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ückBeschreibung
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

Stellt die Deklaration des Symbols an der angegebenen Position und im Dokument bereit.

ParameterBeschreibung
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ückBeschreibung
ProviderResult<Declaration>

Eine Deklaration oder ein Thenable, das sich zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von undefined oder null signalisiert werden.

DecorationInstanceRenderOptions

Stellt Renderoptionen für Dekorationsinstanzen dar. Siehe DecorationOptions.renderOptions.

Eigenschaften

Definiert die Renderoptionen für den Anhang, der nach dem dekorierten Text eingefügt wird.

Definiert die Renderoptionen für den Anhang, der vor dem dekorierten Text eingefügt wird.

Überschreibt Optionen für dunkle Designs.

Überschreibt Optionen für helle Designs.

DecorationOptions

Stellt Optionen für eine bestimmte Dekoration in einem Dekorationssatz dar.

Eigenschaften

Eine Nachricht, die beim Überfahren der Dekoration mit der Maus angezeigt werden soll.

Der Bereich, auf den diese Dekoration angewendet wird. Der Bereich darf nicht leer sein.

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

Definiert die Renderoptionen für den Anhang, der nach dem dekorierten Text eingefügt wird.

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.

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.

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.

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.

Ü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.

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.

Ü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.

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.

Die Farbe der Dekoration in der Übersichtsleiste. Verwenden Sie rgba() und definieren Sie transparente Farben, um gut mit anderen Dekorationen zu harmonieren.

Die Position in der Übersichtsleiste, an der die Dekoration gerendert werden soll.

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.

Informationen darüber, wo ein Symbol definiert ist.

Bietet zusätzliche Metadaten über normale Location-Definitionen, einschließlich des Bereichs des definierenden Symbols.

DefinitionProvider

Die Schnittstelle `DefinitionProvider` definiert den Vertrag zwischen Erweiterungen und den Funktionen Gehe zur Definition und Peek-Definition.

Methoden

Stellt die Definition des Symbols an der angegebenen Position und im Dokument bereit.

ParameterBeschreibung
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ückBeschreibung
ProviderResult<Definition | LocationLink[]>

Eine Definition oder ein Thenable, das sich zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von undefined oder null signalisiert werden.

Diagnostic

Stellt eine Diagnose dar, z. B. einen Compilerfehler oder eine Warnung. Diagnoseobjekte sind nur im Gültigkeitsbereich einer Datei gültig.

Konstruktoren

Erstellt ein neues Diagnoseobjekt.

ParameterBeschreibung
range: Range

Der Bereich, auf den sich diese Diagnose bezieht.

message: string

Die menschenlesbare Nachricht.

severity?: DiagnosticSeverity

Die Schweregrad, Standard ist Fehler.

Gibt zurückBeschreibung
Diagnostic

Eigenschaften

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.

Der Bereich, auf den sich diese Diagnose bezieht.

Ein Array von zugehörigen Diagnoseinformationen, z. B. wenn Symbolnamen innerhalb eines Gültigkeitsbereichs kollidieren, können alle Definitionen über diese Eigenschaft markiert werden.

Die Schweregrad, Standard ist Fehler.

Eine menschenlesbare Zeichenkette, die die Quelle dieser Diagnose beschreibt, z. B. 'typescript' oder 'super lint'.

Zusätzliche Metadaten zur Diagnose.

DiagnosticChangeEvent

Das Ereignis, das ausgelöst wird, wenn sich Diagnosen ändern.

Eigenschaften

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);

ParameterBeschreibung
Gibt zurückBeschreibung
void

Entfernt alle Diagnosen aus dieser Sammlung, die zur angegebenen uri gehören. Dies entspricht #set(uri, undefined).

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

Gibt zurückBeschreibung
void

Gibt die zugehörigen Ressourcen frei und gibt sie frei. Ruft clear auf.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Iteriert über jeden Eintrag in dieser Sammlung.

ParameterBeschreibung
callback: (uri: Uri, diagnostics: readonly Diagnostic[], collection: DiagnosticCollection) => any

Funktion, die für jeden Eintrag ausgeführt werden soll.

thisArg?: any

Der this-Kontext, der beim Aufruf der Handlerfunktion verwendet wird.

Gibt zurückBeschreibung
void

Ruft die Diagnosen für eine gegebene Ressource ab. Hinweis: Sie können das von diesem Aufruf zurückgegebene Diagnosen-Array nicht ändern.

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

Gibt zurückBeschreibung
readonly Diagnostic[]

Ein unveränderliches Array von Diagnosen oder undefined.

Prüft, ob diese Sammlung Diagnosen für eine gegebene Ressource enthält.

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

Gibt zurückBeschreibung
boolean

true, wenn diese Sammlung Diagnosen für die gegebene Ressource enthält.

Weist Diagnosen für eine gegebene Ressource zu. Ersetzt vorhandene Diagnosen für diese Ressource.

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

diagnostics: readonly Diagnostic[]

Array von Diagnosen oder undefined

Gibt zurückBeschreibung
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.

ParameterBeschreibung
entries: ReadonlyArray<[Uri, readonly Diagnostic[]]>

Ein Array von Tupeln, wie z. B. [[file1, [d1, d2]], [file2, [d3, d4, d5]]] oder undefined.

Gibt zurückBeschreibung
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

Erstellt ein neues Objekt für zugehörige Diagnoseinformationen.

ParameterBeschreibung
location: Location

Der Speicherort.

message: string

Die Nachricht.

Gibt zurückBeschreibung
DiagnosticRelatedInformation

Eigenschaften

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

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.

ParameterBeschreibung
...disposableLikes: Array<{dispose: () => any}>

Objekte, die mindestens ein dispose-Funktionsmember haben. Beachten Sie, dass asynchrone Dispose-Funktionen nicht abgewartet werden.

Gibt zurückBeschreibung
Disposable

Gibt ein neues Disposable zurück, das beim Aufruf von dispose alle bereitgestellten Disposables aufruft.

Konstruktoren

Erstellt ein neues Disposable, das die bereitgestellte Funktion bei Dispose aufruft.

Hinweis: Eine asynchrone Funktion wird nicht abgewartet.

ParameterBeschreibung
callOnDispose: () => any

Funktion, die etwas entsorgt.

Gibt zurückBeschreibung
Disposable

Methoden

Dieses Objekt entsorgen.

ParameterBeschreibung
Gibt zurückBeschreibung
any

DocumentColorProvider

Der DocumentColorProvider definiert den Vertrag zwischen Erweiterungen und der Funktion des Auswählens und Änderns von Farben im Editor.

Methoden

Stellt Darstellungen für eine Farbe bereit.

ParameterBeschreibung
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ückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

Stellt Farben für das gegebene Dokument bereit.

ParameterBeschreibung
document: TextDocument

Das Dokument, in dem der Befehl aufgerufen wurde.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

DocumentDropEdit

Eine Bearbeitungsoperation, die beim Ablegen angewendet wird.

Konstruktoren

ParameterBeschreibung
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ückBeschreibung
DocumentDropEdit

Eigenschaften

Eine optionale zusätzliche Bearbeitung, die beim Ablegen angewendet werden soll.

Der Text oder Snippet, der an der Drop-Position eingefügt werden soll.

Art der Bearbeitung.

Für die Bearbeitung lesbare Bezeichnung, die die Bearbeitung beschreibt.

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

Stellt Bearbeitungen bereit, die den gezogenen und fallengelassenen Inhalt in das Dokument einfügen.

ParameterBeschreibung
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ückBeschreibung
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 undefined oder null signalisiert werden.

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.

ParameterBeschreibung
edit: T

Die aufzulösende DocumentDropEdit.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<T>

Die aufgelöste Bearbeitung oder ein Thenable, das sich zu einer solchen auflöst. Es ist in Ordnung, die gegebene edit zurückzugeben. Wenn kein Ergebnis zurückgegeben wird, wird die gegebene edit verwendet.

DocumentDropEditProviderMetadata

Stellt zusätzliche Metadaten darüber bereit, wie ein DocumentDropEditProvider funktioniert.

Eigenschaften

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.

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

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.

Stammart für Bearbeitungen, die zusätzlich zum Einfügen von Text Importe in einem Dokument aktualisieren.

Konstruktoren

Verwenden Sie stattdessen DocumentDropOrPasteEditKind.Empty.

ParameterBeschreibung
value: string
Gibt zurückBeschreibung
DocumentDropOrPasteEditKind

Eigenschaften

Der rohe Zeichenkettenwert der Art.

Methoden

Erstellt eine neue Art, indem zusätzliche Bereiche an die aktuelle Art angehängt werden.

Ändert die aktuelle Art nicht.

ParameterBeschreibung
...parts: string[]
Gibt zurückBeschreibung
DocumentDropOrPasteEditKind

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".

ParameterBeschreibung
other: DocumentDropOrPasteEditKind

Zu prüfende Art.

Gibt zurückBeschreibung
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".

ParameterBeschreibung
other: DocumentDropOrPasteEditKind

Zu prüfende Art.

Gibt zurückBeschreibung
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' }

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

Stellt Formatierungs-Edits für ein gesamtes Dokument bereit.

ParameterBeschreibung
document: TextDocument

Das Dokument, in dem der Befehl aufgerufen wurde.

options: FormattingOptions

Optionen zur Steuerung der Formatierung.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

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

Erstellt ein neues Dokumenthervorhebungsobjekt.

ParameterBeschreibung
range: Range

Der Bereich, für den die Hervorhebung gilt.

kind?: DocumentHighlightKind

Die Art der Hervorhebung, Standard ist Text.

Gibt zurückBeschreibung
DocumentHighlight

Eigenschaften

Die Art der Hervorhebung, Standard ist Text.

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

Stellt eine Reihe von Dokumenthervorhebungen bereit, z. B. alle Vorkommen einer Variablen oder alle Ausstiegspunkte einer Funktion.

ParameterBeschreibung
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ückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

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

Erstellt einen neuen Dokumentlink.

ParameterBeschreibung
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ückBeschreibung
DocumentLink

Eigenschaften

Der Bereich, für den dieser Link gilt.

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

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.

ParameterBeschreibung
document: TextDocument

Das Dokument, in dem der Befehl aufgerufen wurde.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

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.

ParameterBeschreibung
link: T

Der aufzulösende Link.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<T>

DocumentPasteEdit

Eine Bearbeitung, die eine Einfügeoperation anwendet.

Konstruktoren

Erstellt eine neue Einfüge-Bearbeitung.

ParameterBeschreibung
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ückBeschreibung
DocumentPasteEdit

Eigenschaften

Eine optionale zusätzliche Bearbeitung, die beim Einfügen angewendet werden soll.

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.

Art der Bearbeitung.

Für die Bearbeitung lesbare Bezeichnung, die die Bearbeitung beschreibt.

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

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.

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

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.

ParameterBeschreibung
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ückBeschreibung
void | Thenable<void>

Optionales Thenable, das sich auflöst, wenn alle Änderungen am dataTransfer abgeschlossen sind.

Wird aufgerufen, bevor der Benutzer in einen Texteditor einfügt.

Zurückgegebene Edits können das Standard-Einfügeverhalten überschreiben.

ParameterBeschreibung
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ückBeschreibung
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.

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.

ParameterBeschreibung
pasteEdit: T

Der zu auflösende DocumentPasteEdit.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<T>

Der aufgelöste Paste-Edit oder ein Thenable, das sich zu einem solchen auflöst. Es ist in Ordnung, den gegebenen pasteEdit zurückzugeben. Wenn kein Ergebnis zurückgegeben wird, wird der gegebene pasteEdit verwendet.

DocumentPasteProviderMetadata

Stellt zusätzliche Metadaten darüber bereit, wie ein DocumentPasteEditProvider funktioniert.

Eigenschaften

MIME-Typen, die prepareDocumentPaste beim Kopieren hinzufügen kann.

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.

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

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.

ParameterBeschreibung
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ückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

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.

ParameterBeschreibung
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ückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

DocumentRangeSemanticTokensProvider

Die Schnittstelle DocumentRangeSemanticTokensProvider definiert den Vertrag zwischen Erweiterungen und semantischen Tokens.

Events

Ein optionales Ereignis, das signalisiert, dass sich die semantischen Tokens dieses Anbieters geändert haben.

Methoden

ParameterBeschreibung
document: TextDocument
range: Range
token: CancellationToken
Gibt zurückBeschreibung
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' };

DocumentSemanticTokensProvider

Die Schnittstelle DocumentSemanticTokensProvider definiert den Vertrag zwischen Erweiterungen und semantischen Tokens.

Events

Ein optionales Ereignis, das signalisiert, dass sich die semantischen Tokens dieses Anbieters geändert haben.

Methoden

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 in SemanticTokensLegend.tokenTypes nachgeschlagen. Wir verlangen derzeit, dass tokenType < 65536 ist.
  • Index 5*i+4 - tokenModifiers: Jedes gesetzte Bit wird in SemanticTokensLegend.tokenModifiers nachgeschlagen

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: [] }
  1. 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']
  1. Der erste Transformationsschritt besteht darin, tokenType und tokenModifiers mithilfe der Legende als ganze Zahlen zu kodieren. Token-Typen werden nach Index nachgeschlagen, sodass ein tokenType-Wert von 1 tokenTypes[1] bedeutet. Mehrere Token-Modifikatoren können durch Bit-Flags gesetzt werden. Ein tokenModifier-Wert von 3 wird zuerst als Binärzahl 0b00000011 betrachtet, 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 }
  1. 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 startChar des zweiten Tokens relativ zum startChar des ersten Tokens gesetzt, sodass es 10 - 5 ist. Das dritte Token befindet sich auf einer anderen Zeile als das zweite Token, daher wird das startChar des 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 }
  1. 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.

ParameterBeschreibung
document: TextDocument
token: CancellationToken
Gibt zurückBeschreibung
ProviderResult<SemanticTokens>

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.

ParameterBeschreibung
document: TextDocument
previousResultId: string
token: CancellationToken
Gibt zurückBeschreibung
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

Erstellt ein neues Dokumentensymbol.

ParameterBeschreibung
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ückBeschreibung
DocumentSymbol

Eigenschaften

Kinder dieses Symbols, z. B. Eigenschaften einer Klasse.

Weitere Details für dieses Symbol, z. B. die Signatur einer Funktion.

Die Art dieses Symbols.

Der Name dieses Symbols.

Der Bereich, der dieses Symbol umschließt, ohne führende/nachfolgende Leerzeichen, aber alles andere, z. B. Kommentare und Code.

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 für dieses Symbol.

DocumentSymbolProvider

Die Schnittstelle DocumentSymbolProvider definiert den Vertrag zwischen Erweiterungen und der Funktion Gehe zu Symbol.

Methoden

Symbolinformationen für das angegebene Dokument bereitstellen.

ParameterBeschreibung
document: TextDocument

Das Dokument, in dem der Befehl aufgerufen wurde.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

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.

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

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

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.

ParameterBeschreibung
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 { applyAtProcessCreation: true } verwendet.

Gibt zurückBeschreibung
void

Löscht alle Mutatoren aus dieser Sammlung.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Löscht den Mutator dieser Sammlung für eine Variable.

ParameterBeschreibung
variable: string

Die Variable, für die der Mutator gelöscht werden soll.

Gibt zurückBeschreibung
void

Iteriert über jeden Mutator in dieser Sammlung.

ParameterBeschreibung
callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any

Funktion, die für jeden Eintrag ausgeführt werden soll.

thisArg?: any

Der this-Kontext, der beim Aufruf der Handlerfunktion verwendet wird.

Gibt zurückBeschreibung
void

Ruft den Mutator ab, den diese Sammlung auf eine Variable anwendet, falls vorhanden.

ParameterBeschreibung
variable: string

Die Variable, für die der Mutator abgerufen werden soll.

Gibt zurückBeschreibung
EnvironmentVariableMutator

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.

ParameterBeschreibung
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 { applyAtProcessCreation: true } verwendet.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
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 { applyAtProcessCreation: true } verwendet.

Gibt zurückBeschreibung
void

EnvironmentVariableMutator

Eine Art der Mutation und ihr Wert, die auf eine Umgebungsvariable angewendet werden soll.

Eigenschaften

Auf den Mutator angewendete Optionen.

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

Wird direkt vor der Prozesserstellung auf die Umgebung angewendet. Standardmäßig false.

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

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

Erstellt ein neues evaluierbares Ausdrucksobjekt.

ParameterBeschreibung
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ückBeschreibung
EvaluatableExpression

Eigenschaften

Wenn angegeben, überschreibt der Ausdruck den extrahierten Ausdruck.

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

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.

ParameterBeschreibung
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ückBeschreibung
ProviderResult<EvaluatableExpression>

Ein EvaluatableExpression oder ein Thenable, das sich zu einem solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von undefined oder null signalisiert werden.

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);
});

Eine Funktion, die ein Ereignis darstellt, dem Sie abonnieren können, indem Sie sie mit einer Listener-Funktion als Argument aufrufen.

ParameterBeschreibung
listener: (e: T) => any

Die Listener-Funktion wird aufgerufen, wenn das Ereignis eintritt.

thisArgs?: any

Das this-Argument, das beim Aufrufen des Ereignis-Listeners verwendet wird.

disposables?: Disposable[]

Ein Array, zu dem ein Disposable hinzugefügt wird.

Gibt zurückBeschreibung
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

ParameterBeschreibung
Gibt zurückBeschreibung
EventEmitter<T>

Eigenschaften

Die Ereignis-Listener können sich abonnieren.

Methoden

Dieses Objekt freigeben und Ressourcen bereinigen.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Alle Abonnenten des Ereignisses benachrichtigen. Ein Fehler eines oder mehrerer Listener führt nicht zum Fehlschlagen dieses Funktionsaufrufs.

ParameterBeschreibung
data: T

Das Ereignisobjekt.

Gibt zurückBeschreibung
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.

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).

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.

ParameterBeschreibung
Gibt zurückBeschreibung
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

Ruft die globale Sammlung von Umgebungsvariablen der Erweiterung für diesen Arbeitsbereich ab, wodurch Änderungen an den Umgebungsvariablen des Terminals angewendet werden können.

Die aktuelle Extension-Instanz.

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).

Die URI des Verzeichnisses, das die Erweiterung enthält.

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.

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.

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.

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.

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.

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.

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.

Ein Memento-Objekt, das Zustände im Kontext des aktuell geöffneten Arbeitsbereichs speichert.

Methoden

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);

ParameterBeschreibung
relativePath: string

Ein relativer Pfad zu einer Ressource, die in der Erweiterung enthalten ist.

Gibt zurückBeschreibung
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

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.

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.

Ein für Menschen lesbarer String, der zur Darstellung des Terminals in der Benutzeroberfläche verwendet wird.

Eine Implementierung von Pseudoterminal, die es einer Erweiterung ermöglicht, ein Terminal zu steuern.

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

Die Art der Änderung.

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

Erstellt eine FileCoverage-Instanz mit Zählungen, die aus den Abdeckungsdetails gefüllt sind.

ParameterBeschreibung
uri: Uri

Abgedeckte Datei-URI

details: readonly FileCoverageDetail[]

Detaillierte Abdeckungsinformationen

Gibt zurückBeschreibung
FileCoverage

Konstruktoren

ParameterBeschreibung
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ückBeschreibung
FileCoverage

Eigenschaften

Zweigabdeckungsinformationen.

Deklarationsabdeckungsinformationen. Je nach Reporter und Sprache können dies Typen wie Funktionen, Methoden oder Namespaces sein.

Eine Liste von Testfällen, die Abdeckung in dieser Datei generiert haben. Wenn gesetzt, sollte TestRunProfile.loadDetailedCoverageForTest ebenfalls definiert sein, um detaillierte Abdeckungsinformationen abzurufen.

Anweisungsabdeckungsinformationen. Wenn der Reporter keine Anweisungsabdeckungsinformationen bereitstellt, kann dies stattdessen verwendet werden, um Zeilenabdeckung darzustellen.

Datei-URI.

FileCoverageDetail

Abdeckungsdetails, die von TestRunProfile.loadDetailedCoverage zurückgegeben werden.

FileCreateEvent

Ein Ereignis, das ausgelöst wird, nachdem Dateien erstellt wurden.

Eigenschaften

Die Dateien, die erstellt wurden.

FileDecoration

Eine Dateidekoration repräsentiert Metadaten, die mit einer Datei gerendert werden können.

Konstruktoren

Erstellt eine neue Dekoration.

ParameterBeschreibung
badge?: string

Ein Buchstabe, der die Dekoration darstellt.

tooltip?: string

Der Tooltip der Dekoration.

color?: ThemeColor

Die Farbe der Dekoration.

Gibt zurückBeschreibung
FileDecoration

Eigenschaften

Ein sehr kurzer String, der diese Dekoration darstellt.

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

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

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.

ParameterBeschreibung
uri: Uri

Die URI der Datei, für die eine Dekoration bereitgestellt werden soll.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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

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

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.

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.

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

Dateien oder Ordner kopieren.

ParameterBeschreibung
source: Uri

Die vorhandene Datei.

target: Uri

Der Zielort.

options?: {overwrite: boolean}

Definiert, ob vorhandene Dateien überschrieben werden sollen.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
uri: Uri

Die URI des neuen Ordners.

Gibt zurückBeschreibung
Thenable<void>

Eine Datei löschen.

ParameterBeschreibung
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ückBeschreibung
Thenable<void>

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.

ParameterBeschreibung
scheme: string

Das Schema des Dateisystems, z. B. file oder git.

Gibt zurückBeschreibung
boolean

true, wenn das Dateisystem das Schreiben unterstützt, false, wenn es das Schreiben nicht unterstützt (d. h. schreibgeschützt ist), und undefined, wenn der Editor das Dateisystem nicht kennt.

Alle Einträge eines Verzeichnisses abrufen.

ParameterBeschreibung
uri: Uri

Die URI des Ordners.

Gibt zurückBeschreibung
Thenable<Array<[string, FileType]>>

Ein Array von Namens-/Typ-Tupeln oder ein Thenable, das sich zu einem solchen auflöst.

Den gesamten Inhalt einer Datei lesen.

ParameterBeschreibung
uri: Uri

Die URI der Datei.

Gibt zurückBeschreibung
Thenable<Uint8Array>

Ein Array von Bytes oder ein Thenable, das sich zu einem solchen auflöst.

Eine Datei oder ein Ordner umbenennen.

ParameterBeschreibung
source: Uri

Die vorhandene Datei.

target: Uri

Der neue Speicherort.

options?: {overwrite: boolean}

Definiert, ob vorhandene Dateien überschrieben werden sollen.

Gibt zurückBeschreibung
Thenable<void>

Metadaten einer Datei abrufen.

ParameterBeschreibung
uri: Uri

Die URI der Datei, für die Metadaten abgerufen werden sollen.

Gibt zurückBeschreibung
Thenable<FileStat>

Die Dateimetadaten der Datei.

Daten in eine Datei schreiben und deren gesamten Inhalt ersetzen.

ParameterBeschreibung
uri: Uri

Die URI der Datei.

content: Uint8Array

Der neue Inhalt der Datei.

Gibt zurückBeschreibung
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

Erstellt einen Fehler, um zu signalisieren, dass eine Datei oder ein Ordner bereits existiert, z. B. beim Erstellen, aber nicht Überschreiben einer Datei.

ParameterBeschreibung
messageOrUri?: string | Uri

Nachricht oder URI.

Gibt zurückBeschreibung
FileSystemError

Erstellt einen Fehler, um zu signalisieren, dass eine Datei ein Ordner ist.

ParameterBeschreibung
messageOrUri?: string | Uri

Nachricht oder URI.

Gibt zurückBeschreibung
FileSystemError

Erstellt einen Fehler, um zu signalisieren, dass eine Datei kein Ordner ist.

ParameterBeschreibung
messageOrUri?: string | Uri

Nachricht oder URI.

Gibt zurückBeschreibung
FileSystemError

Erstellt einen Fehler, um zu signalisieren, dass eine Datei oder ein Ordner nicht gefunden wurde.

ParameterBeschreibung
messageOrUri?: string | Uri

Nachricht oder URI.

Gibt zurückBeschreibung
FileSystemError

Erstellt einen Fehler, um zu signalisieren, dass einer Operation die erforderlichen Berechtigungen fehlen.

ParameterBeschreibung
messageOrUri?: string | Uri

Nachricht oder URI.

Gibt zurückBeschreibung
FileSystemError

Erstellt einen Fehler, um zu signalisieren, dass das Dateisystem nicht verfügbar oder zu beschäftigt ist, um eine Anfrage abzuschließen.

ParameterBeschreibung
messageOrUri?: string | Uri

Nachricht oder URI.

Gibt zurückBeschreibung
FileSystemError

Konstruktoren

Erstellt einen neuen Dateisystemfehler.

ParameterBeschreibung
messageOrUri?: string | Uri

Nachricht oder URI.

Gibt zurückBeschreibung
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/path ein Kind von foo:/my/ und ein Elternteil von foo:/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

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

Dateien oder Ordner kopieren. Die Implementierung dieser Funktion ist optional, beschleunigt jedoch den Kopiervorgang.

  • wirft - FileNotFound, wenn das Elternteil von destination nicht existiert, z. B. keine mkdirp-Logik erforderlich.
  • wirft - FileExists, wenn destination existiert und die Option overwrite nicht auf true gesetzt ist.
  • wirft - NoPermissions, wenn die Berechtigungen nicht ausreichen.
ParameterBeschreibung
source: Uri

Die vorhandene Datei.

destination: Uri

Der Zielort.

options: {overwrite: boolean}

Definiert, ob vorhandene Dateien überschrieben werden sollen.

Gibt zurückBeschreibung
void | Thenable<void>

Ein neues Verzeichnis erstellen (Hinweis: Neue Dateien werden über write-Aufrufe erstellt).

  • wirft - FileNotFound, wenn das Elternteil von uri nicht existiert, z. B. keine mkdirp-Logik erforderlich.
  • wirft - NoPermissions, wenn die Berechtigungen nicht ausreichen.
ParameterBeschreibung
uri: Uri

Die URI des neuen Ordners.

Gibt zurückBeschreibung
void | Thenable<void>

Eine Datei löschen.

  • wirft - NoPermissions, wenn die Berechtigungen nicht ausreichen.
ParameterBeschreibung
uri: Uri

Die zu löschende Ressource.

options: {recursive: boolean}

Definiert, ob das Löschen von Ordnern rekursiv erfolgt.

Gibt zurückBeschreibung
void | Thenable<void>

Alle Einträge eines Verzeichnisses abrufen.

ParameterBeschreibung
uri: Uri

Die URI des Ordners.

Gibt zurückBeschreibung
Array<[string, FileType]> | Thenable<Array<[string, FileType]>>

Ein Array von Namens-/Typ-Tupeln oder ein Thenable, das sich zu einem solchen auflöst.

Den gesamten Inhalt einer Datei lesen.

ParameterBeschreibung
uri: Uri

Die URI der Datei.

Gibt zurückBeschreibung
Uint8Array | Thenable<Uint8Array>

Ein Array von Bytes oder ein Thenable, das sich zu einem solchen auflöst.

Eine Datei oder ein Ordner umbenennen.

  • wirft - FileNotFound, wenn das Elternteil von newUri nicht existiert, z. B. keine mkdirp-Logik erforderlich.
  • wirft - FileExists, wenn newUri existiert und die Option overwrite nicht auf true gesetzt ist.
  • wirft - NoPermissions, wenn die Berechtigungen nicht ausreichen.
ParameterBeschreibung
oldUri: Uri

Die vorhandene Datei.

newUri: Uri

Der neue Speicherort.

options: {overwrite: boolean}

Definiert, ob vorhandene Dateien überschrieben werden sollen.

Gibt zurückBeschreibung
void | Thenable<void>

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.

ParameterBeschreibung
uri: Uri

Die URI der Datei, für die Metadaten abgerufen werden sollen.

Gibt zurückBeschreibung
FileStat | Thenable<FileStat>

Die Dateimetadaten der Datei.

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.

ParameterBeschreibung
uri: Uri

Die URI der zu beobachtenden Datei oder des zu beobachtenden Ordners.

options: {excludes: readonly string[], recursive: boolean}

Konfiguriert die Beobachtung.

Gibt zurückBeschreibung
Disposable

Ein Disposable, das dem Anbieter mitteilt, die Beobachtung der uri zu beenden.

Daten in eine Datei schreiben und deren gesamten Inhalt ersetzen.

  • wirft - FileNotFound, wenn uri nicht existiert und create nicht gesetzt ist.
  • wirft - FileNotFound, wenn das Elternteil von uri nicht existiert und create gesetzt ist, z. B. keine mkdirp-Logik erforderlich.
  • wirft - FileExists, wenn uri bereits existiert, create gesetzt ist, aber overwrite nicht gesetzt ist.
  • wirft - NoPermissions, wenn die Berechtigungen nicht ausreichen.
ParameterBeschreibung
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ückBeschreibung
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.

ParameterBeschreibung
Gibt zurückBeschreibung
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

Die Dateien, die erstellt werden sollen.

Ein Abbruch-Token.

Methoden

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);
});
ParameterBeschreibung
thenable: Thenable<WorkspaceEdit>

Ein Thenable, der das Speichern verzögert.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
thenable: Thenable<any>

Ein Thenable, der das Speichern verzögert.

Gibt zurückBeschreibung
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

Die Dateien, die gelöscht werden sollen.

Ein Abbruch-Token.

Methoden

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);
});
ParameterBeschreibung
thenable: Thenable<WorkspaceEdit>

Ein Thenable, der das Speichern verzögert.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
thenable: Thenable<any>

Ein Thenable, der das Speichern verzögert.

Gibt zurückBeschreibung
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

Die Dateien, die umbenannt werden sollen.

Ein Abbruch-Token.

Methoden

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);
});
ParameterBeschreibung
thenable: Thenable<WorkspaceEdit>

Ein Thenable, der das Speichern verzögert.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
thenable: Thenable<any>

Ein Thenable, der das Speichern verzögert.

Gibt zurückBeschreibung
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

Erstellt einen neuen Faltbereich.

ParameterBeschreibung
start: number

Die Startzeile des gefalteten Bereichs.

end: number

Die Endzeile des gefalteten Bereichs.

kind?: FoldingRangeKind

Die Art des Faltbereichs.

Gibt zurückBeschreibung
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.

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

Ein optionales Ereignis, das signalisiert, dass die Faltbereiche dieses Anbieters geändert wurden.

Methoden

Gibt eine Liste von Faltbereichen zurück oder null und undefiniert, wenn der Anbieter nicht teilnehmen möchte oder abgebrochen wurde.

ParameterBeschreibung
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ückBeschreibung
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

Erstellt einen neuen Funktions-Breakpoint.

ParameterBeschreibung
functionName: string
enabled?: boolean
condition?: string
hitCondition?: string
logMessage?: string
Gibt zurückBeschreibung
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

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

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.

ParameterBeschreibung
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 { applyAtProcessCreation: true } verwendet.

Gibt zurückBeschreibung
void

Löscht alle Mutatoren aus dieser Sammlung.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Löscht den Mutator dieser Sammlung für eine Variable.

ParameterBeschreibung
variable: string

Die Variable, für die der Mutator gelöscht werden soll.

Gibt zurückBeschreibung
void

Iteriert über jeden Mutator in dieser Sammlung.

ParameterBeschreibung
callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any

Funktion, die für jeden Eintrag ausgeführt werden soll.

thisArg?: any

Der this-Kontext, der beim Aufruf der Handlerfunktion verwendet wird.

Gibt zurückBeschreibung
void

Ruft den Mutator ab, den diese Sammlung auf eine Variable anwendet, falls vorhanden.

ParameterBeschreibung
variable: string

Die Variable, für die der Mutator abgerufen werden soll.

Gibt zurückBeschreibung
EnvironmentVariableMutator

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.

ParameterBeschreibung
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ückBeschreibung
EnvironmentVariableCollection

Umgebungsvariablensammlung für den übergebenen Scope.

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.

ParameterBeschreibung
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 { applyAtProcessCreation: true } verwendet.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
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 { applyAtProcessCreation: true } verwendet.

Gibt zurückBeschreibung
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 von example.0, example.1, …)
  • [!...] um einen Bereich von Zeichen in einem Pfadsegment zu negieren (z. B. example.[!0-9] zum Abgleich von example.a, example.b, aber nicht example.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.

Hover

Ein Hover stellt zusätzliche Informationen für ein Symbol oder Wort dar. Hoves werden in einem Tooltip-ähnlichen Widget gerendert.

Konstruktoren

Erstellt ein neues Hover-Objekt.

ParameterBeschreibung
contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString>

Der Inhalt des Hoves.

range?: Range

Der Bereich, für den der Hover gilt.

Gibt zurückBeschreibung
Hover

Eigenschaften

Der Inhalt dieses Hoves.

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

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.

ParameterBeschreibung
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ückBeschreibung
ProviderResult<Hover>

Ein Hover oder ein Thenable, der zu einem solchen aufgelöst wird. Das Fehlen eines Ergebnisses kann durch Rückgabe von undefined oder null signalisiert werden.

IconPath

Stellt ein Symbol in der Benutzeroberfläche dar. Dies ist entweder eine URI, separate URIs für Licht- und Dunkelthemen oder ein Themensymbol.

ImplementationProvider

Die Schnittstelle ImplementationProvider definiert den Vertrag zwischen Erweiterungen und dem Feature "Gehe zu Implementierung".

Methoden

Stellt die Implementierungen des Symbols an der angegebenen Position und im angegebenen Dokument bereit.

ParameterBeschreibung
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ückBeschreibung
ProviderResult<Definition | LocationLink[]>

Eine Definition oder ein Thenable, das sich zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von undefined oder null signalisiert werden.

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).

Wenn eine Zeile diesem Muster entspricht, sollte **nur die nächste Zeile** danach einmal eingerückt werden.

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

Erstellt einen neuen Inlay-Hinweis.

ParameterBeschreibung
position: Position

Die Position des Hinweises.

label: string | InlayHintLabelPart[]

Die Beschriftung des Hinweises.

kind?: InlayHintKind

Die Art des Hinweises.

Gibt zurückBeschreibung
InlayHint

Eigenschaften

Die Art dieses Hinweises. Die Inlay-Hinweisart bestimmt die Darstellung dieses Inlay-Hinweises.

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.

Die Position dieses Hinweises.

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.

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

Erstellt einen neuen Inlay-Hinweis-Beschriftungsteil.

ParameterBeschreibung
value: string

Der Wert des Teils.

Gibt zurückBeschreibung
InlayHintLabelPart

Eigenschaften

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.

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.

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

Ein optionales Ereignis, das signalisiert, dass Inlay-Hinweise von diesem Anbieter geändert wurden.

Methoden

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.

ParameterBeschreibung
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ückBeschreibung
ProviderResult<T[]>

Ein Array von Inlay-Hinweisen oder ein Thenable, das zu einem solchen aufgelöst wird.

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.

ParameterBeschreibung
hint: T

Ein Inlay-Hinweis.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<T>

Der aufgelöste Inlay-Hinweis oder ein Thenable, der zu einem solchen aufgelöst wird. Es ist in Ordnung, das gegebene item zurückzugeben. Wenn kein Ergebnis zurückgegeben wird, wird das gegebene item verwendet.

InlineCompletionContext

Stellt Informationen über den Kontext bereit, in dem eine Inline-Vervollständigung angefordert wurde.

Eigenschaften

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.

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

Erstellt ein neues Inline-Vervollständigungselement.

ParameterBeschreibung
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ückBeschreibung
InlineCompletionItem

Eigenschaften

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.

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.

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

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.

ParameterBeschreibung
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ückBeschreibung
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

Erstellt eine neue Liste von Inline-Vervollständigungselementen.

ParameterBeschreibung
items: InlineCompletionItem[]
Gibt zurückBeschreibung
InlineCompletionList

Eigenschaften

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.

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.

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

Erstellt ein neues InlineValueEvaluatableExpression-Objekt.

ParameterBeschreibung
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ückBeschreibung
InlineValueEvaluatableExpression

Eigenschaften

Wenn angegeben, überschreibt der Ausdruck den extrahierten Ausdruck.

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

Ein optionales Ereignis, das signalisiert, dass Inline-Werte geändert wurden.

Siehe auch EventEmitter

Methoden

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.

ParameterBeschreibung
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ückBeschreibung
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 undefined oder null signalisiert werden.

InlineValueText

Stellt einen Inline-Wert als Text bereit.

Konstruktoren

Erstellt ein neues InlineValueText-Objekt.

ParameterBeschreibung
range: Range

Die Dokumentzeile, in der der Inline-Wert angezeigt werden soll.

text: string

Der anzuzeigende Wert für die Zeile.

Gibt zurückBeschreibung
InlineValueText

Eigenschaften

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

Erstellt ein neues InlineValueVariableLookup-Objekt.

ParameterBeschreibung
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ückBeschreibung
InlineValueVariableLookup

Eigenschaften

Wie die Suche durchgeführt werden soll.

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

Ein Ereignis, das signalisiert, wenn der Benutzer die Eingabe akzeptiert hat.

Ein Ereignis, das signalisiert, wenn sich der Wert geändert hat.

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.

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 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.

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.

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.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Blendet diese Eingabe-UI aus.

Dadurch wird auch ein onDidHide-Ereignis ausgelöst.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Macht die Eingabe-UI in ihrer aktuellen Konfiguration sichtbar.

Jede andere Eingabe-UI löst zuerst ein onDidHide-Ereignis aus.

ParameterBeschreibung
Gibt zurückBeschreibung
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.

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

Eine optionale Funktion, die aufgerufen wird, um Eingaben zu validieren und dem Benutzer einen Hinweis zu geben.

ParameterBeschreibung
value: string

Der aktuelle Wert des Eingabefeldes.

Gibt zurückBeschreibung
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 undefined, null oder eine leere Zeichenkette zurück, wenn 'value' gültig ist.

InputBoxValidationMessage

Stellt eine Validierungsnachricht für eine InputBox dar.

Eigenschaften

Die dem Benutzer anzuzeigende Validierungsnachricht.

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

Veraltet Nicht verwenden.

  • veraltet - * Verwenden Sie stattdessen die Eigenschaft autoClosingPairs in der Sprachkonfigurationsdatei.
ParameterBeschreibung
autoClosingPairs: Array<{close: string, notIn: string[], open: string}>
  • veraltet

Veraltet Nicht verwenden.

  • veraltet - Wird bald durch eine bessere API ersetzt.
ParameterBeschreibung
brackets: any

Diese Eigenschaft ist veraltet und wird vom Editor **ignoriert**.

  • veraltet
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.

  • veraltet

Die automatischen Schließungspaare der Sprache.

Die Klammern der Sprache. Diese Konfiguration beeinflusst implizit das Drücken von Enter um diese Klammern herum.

Die Kommentar-Einstellungen der Sprache.

Die Einrückungs-Einstellungen der Sprache.

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

Ein Ereignis, das ausgelöst wird, wenn sich die Zugriffsinformationen ändern.

Methoden

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.

ParameterBeschreibung
chat: LanguageModelChat

Ein Objekt für Sprachmodell-Chats.

Gibt zurückBeschreibung
boolean

true, wenn eine Anfrage gesendet werden kann, false, wenn nicht, undefined, wenn das Sprachmodell nicht existiert oder die Zustimmung noch nicht abgefragt wurde.

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

Zählt die Anzahl der Tokens in einer Nachricht unter Verwendung der modellspezifischen Tokenizer-Logik.

ParameterBeschreibung
text: string | LanguageModelChatMessage

Eine Zeichenkette oder eine Nachrichteninstanz.

token?: CancellationToken

Optionales Abbruch-Token. Siehe CancellationTokenSource, wie man eines erstellt.

Gibt zurückBeschreibung
Thenable<number>

Ein Thenable, der zu der Anzahl von Tokens auflöst.

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.cause LanguageModelError.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.

ParameterBeschreibung
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ückBeschreibung
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.

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

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

Dienstprogramm zum Erstellen einer neuen Assistenten-Nachricht.

ParameterBeschreibung
content: string | Array<LanguageModelTextPart | LanguageModelDataPart | LanguageModelToolCallPart>

Der Inhalt der Nachricht.

name?: string

Der optionale Name eines Benutzers für die Nachricht.

Gibt zurückBeschreibung
LanguageModelChatMessage

Dient zum Erstellen einer neuen Benutzernachricht.

ParameterBeschreibung
content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelDataPart>

Der Inhalt der Nachricht.

name?: string

Der optionale Name eines Benutzers für die Nachricht.

Gibt zurückBeschreibung
LanguageModelChatMessage

Konstruktoren

Erstellt eine neue Benutzernachricht.

ParameterBeschreibung
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ückBeschreibung
LanguageModelChatMessage

Eigenschaften

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.

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

Ein optionales Ereignis, das ausgelöst wird, wenn sich die verfügbare Menge an Sprachmodellen ändert.

Methoden

Ruft die Liste der von diesem Anbieter bereitgestellten verfügbaren Sprachmodelle ab.

ParameterBeschreibung
options: PrepareLanguageModelChatModelOptions

Optionen, die den aufrufenden Kontext dieser Funktion spezifizieren.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<T[]>

Die Liste der verfügbaren Sprachmodelle.

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.

ParameterBeschreibung
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ückBeschreibung
Thenable<void>

Ein Promise, das aufgelöst wird, wenn die Antwort abgeschlossen ist. Die Ergebnisse werden tatsächlich an den Fortschritts-Callback übergeben.

Gibt die Anzahl der Tokens für einen gegebenen Text unter Verwendung der modellspezifischen Tokenizer-Logik zurück.

ParameterBeschreibung
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ückBeschreibung
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.

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.

Der zu verwendende Tool-Auswahlmodus. Standardmäßig LanguageModelChatToolMode.Auto.

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

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

Erstellt einen neuen LanguageModelDataPart für ein Bild.

ParameterBeschreibung
data: Uint8Array

Binäre Bilddaten.

mime: string

Der MIME-Typ des Bildes. Gängige Werte sind image/png und image/jpeg.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
value: any

Ein JSON-formatierbarer Wert.

mime?: string

Optionaler MIME-Typ, standardmäßig application/json.

Gibt zurückBeschreibung
LanguageModelDataPart

Erstellt einen neuen LanguageModelDataPart für Text.

Hinweis: Ein UTF-8-Encoder wird verwendet, um Bytes für die Zeichenkette zu erstellen.

ParameterBeschreibung
value: string

Textdaten.

mime?: string

Der MIME-Typ, falls vorhanden. Gängige Werte sind text/plain und text/markdown.

Gibt zurückBeschreibung
LanguageModelDataPart

Konstruktoren

Konstruiert ein generisches Daten-Teil mit dem gegebenen Inhalt.

ParameterBeschreibung
data: Uint8Array

Die Byte-Daten für dieses Teil.

mimeType: string

Der MIME-Typ der Daten.

Gibt zurückBeschreibung
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

Der Anfragende ist von der Nutzung dieses Sprachmodells blockiert.

ParameterBeschreibung
message?: string
Gibt zurückBeschreibung
LanguageModelError

Der Anfragende hat keine Berechtigung zur Nutzung dieses Sprachmodells.

ParameterBeschreibung
message?: string
Gibt zurückBeschreibung
LanguageModelError

Das Sprachmodell existiert nicht.

ParameterBeschreibung
message?: string
Gibt zurückBeschreibung
LanguageModelError

Konstruktoren

ParameterBeschreibung
message?: string
Gibt zurückBeschreibung
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.

LanguageModelPromptTsxPart

Ein Teil einer Sprachmodellantwort, der ein PromptElementJSON aus vscode/prompt-tsx enthält.

Siehe auch LanguageModelToolResult

Konstruktoren

Konstruiert ein Prompt-TSX-Teil mit dem gegebenen Inhalt.

ParameterBeschreibung
value: unknown

Der Wert des Teils, das Ergebnis von renderElementJSON aus vscode/prompt-tsx.

Gibt zurückBeschreibung
LanguageModelPromptTsxPart

Eigenschaften

Der Wert des Teils.

LanguageModelResponsePart

Die verschiedenen Nachrichtentypen, die ein LanguageModelChatProvider im Chat-Antwort-Stream ausgeben kann.

LanguageModelTextPart

Ein Teil einer Sprachmodellantwort, der einen Textteil enthält und von einer LanguageModelChatResponse zurückgegeben wird.

Konstruktoren

Konstruiert ein Text-Teil mit dem gegebenen Inhalt.

ParameterBeschreibung
value: string

Der Textinhalt des Teils.

Gibt zurückBeschreibung
LanguageModelTextPart

Eigenschaften

Der Textinhalt des Teils.

LanguageModelTool<T>

Ein Tool, das durch einen Aufruf von LanguageModelChat aufgerufen werden kann.

Methoden

Ruft das Tool mit der gegebenen Eingabe auf und gibt ein Ergebnis zurück.

Die bereitgestellten LanguageModelToolInvocationOptions.input wurden gegen das deklarierte Schema validiert.

ParameterBeschreibung
options: LanguageModelToolInvocationOptions<T>
token: CancellationToken
Gibt zurückBeschreibung
ProviderResult<LanguageModelToolResult>

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 prepareInvocation wird nicht zwangsläufig von einem Aufruf von invoke gefolgt.
ParameterBeschreibung
options: LanguageModelToolInvocationPrepareOptions<T>
token: CancellationToken
Gibt zurückBeschreibung
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

Erstellt einen neuen LanguageModelToolCallPart.

ParameterBeschreibung
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ückBeschreibung
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

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.

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.

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>

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

Erzeugt ein LanguageModelToolResult.

ParameterBeschreibung
content: unknown[]

Eine Liste von Inhaltsbestandteilen des Tool-Ergebnisses.

Gibt zurückBeschreibung
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

ParameterBeschreibung
callId: string

Die ID des Tool-Aufrufs.

content: unknown[]

Der Inhalt des Tool-Ergebnisses.

Gibt zurückBeschreibung
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

Zählt die Anzahl der Tokens in einer Nachricht unter Verwendung der modellspezifischen Tokenizer-Logik.

ParameterBeschreibung
text: string

Eine Zeichenkette.

token?: CancellationToken

Optionales Abbruch-Token. Siehe CancellationTokenSource, wie man eines erstellt.

Gibt zurückBeschreibung
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

Barrierefreiheitsinformationen, die verwendet werden, wenn ein Screenreader mit diesem Element interagiert.

Steuert, ob das Element als "beschäftigt" angezeigt wird. Standardwert ist false.

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.

Ein Selektor, der definiert, für welche Editoren dieses Element angezeigt wird.

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.

ParameterBeschreibung
Gibt zurückBeschreibung
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

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.

ParameterBeschreibung
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ückBeschreibung
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

Erstellt ein neues Objekt für verknüpfte Bearbeitungsbereiche.

ParameterBeschreibung
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ückBeschreibung
LinkedEditingRanges

Eigenschaften

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

Erstellt ein neues Location-Objekt.

ParameterBeschreibung
uri: Uri

Die Ressourcen-Kennung.

rangeOrPosition: Range | Position

Der Bereich oder die Position. Positionen werden in einen leeren Bereich konvertiert.

Gibt zurückBeschreibung
Location

Eigenschaften

Der Dokumentbereich dieses Speicherorts.

Die Ressourcen-Kennung dieses Speicherorts.

Stellt die Verbindung zweier Speicherorte dar. Bietet zusätzliche Metadaten über normale Speicherorte, einschließlich eines Ursprungsbereichs.

Eigenschaften

Bereich des Ursprungs dieses Links.

Wird als unterstrichener Bereich für die Mauszeiger-Definitionsanzeige verwendet. Standardmäßig der Wortbereich an der Definitionsstelle.

Der gesamte Zielbereich dieses Links.

Der Bereich dieses Links.

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

Ein Ereignis, das ausgelöst wird, wenn sich die Protokollierungsstufe des Kanals ändert.

Eigenschaften

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.

ParameterBeschreibung
value: string

Ein String, falsche Werte werden nicht ausgegeben.

Gibt zurückBeschreibung
void

Hängt den gegebenen Wert und ein Zeilenumbruchzeichen an den Kanal an.

ParameterBeschreibung
value: string

Ein String, falsche Werte werden ausgegeben.

Gibt zurückBeschreibung
void

Entfernt alle Ausgaben aus dem Kanal.

ParameterBeschreibung
Gibt zurückBeschreibung
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.

ParameterBeschreibung
message: string

Debug-Nachricht zum Protokollieren.

...args: any[]
Gibt zurückBeschreibung
void

Ressourcen freigeben und zugehörige Ressourcen bereinigen.

ParameterBeschreibung
Gibt zurückBeschreibung
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.

ParameterBeschreibung
error: string | Error

Fehler oder Fehlermeldung zum Protokollieren.

...args: any[]
Gibt zurückBeschreibung
void

Blendet diesen Kanal in der Benutzeroberfläche aus.

ParameterBeschreibung
Gibt zurückBeschreibung
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.

ParameterBeschreibung
message: string

Informationsmeldung zum Protokollieren.

...args: any[]
Gibt zurückBeschreibung
void

Ersetzt alle Ausgaben des Kanals durch den gegebenen Wert.

ParameterBeschreibung
value: string

Ein String, falsche Werte werden nicht ausgegeben.

Gibt zurückBeschreibung
void

Zeigt diesen Kanal in der Benutzeroberfläche an.

ParameterBeschreibung
preserveFocus?: boolean

Wenn true, nimmt der Kanal den Fokus nicht ein.

Gibt zurückBeschreibung
void

Zeigt diesen Kanal in der Benutzeroberfläche an.

  • veraltet - Verwenden Sie die Überladung mit nur einem Parameter (show(preserveFocus?: boolean): void).
ParameterBeschreibung
column?: ViewColumn

Dieses Argument ist veraltet und wird ignoriert.

preserveFocus?: boolean

Wenn true, nimmt der Kanal den Fokus nicht ein.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
message: string

Trace-Nachricht zum Protokollieren.

...args: any[]
Gibt zurückBeschreibung
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.

ParameterBeschreibung
message: string

Warnmeldung zum Protokollieren.

...args: any[]
Gibt zurückBeschreibung
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

Erstellt eine neue Markdown-Zeichenkette mit dem gegebenen Wert.

ParameterBeschreibung
value?: string

Optionaler, anfänglicher Wert.

supportThemeIcons?: boolean

Optional, gibt an, ob ThemeIcons innerhalb des MarkdownString unterstützt werden.

Gibt zurückBeschreibung
MarkdownString

Eigenschaften

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'

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

Hängt die gegebene Zeichenkette als Codeblock unter Verwendung der bereitgestellten Sprache an.

ParameterBeschreibung
value: string

Ein Code-Snippet.

sprache?: string

Ein optionaler Sprachidentifikator.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
value: string

Markdown-Zeichenfolge.

Gibt zurückBeschreibung
MarkdownString

Hängt den gegebenen String an diese Markdown-Zeichenfolge an und maskiert ihn.

ParameterBeschreibung
value: string

Klartext.

Gibt zurückBeschreibung
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.

McpHttpServerDefinition

McpHttpServerDefinition repräsentiert einen MCP-Server, der über den Streamable HTTP-Transport verfügbar ist.

Konstruktoren

ParameterBeschreibung
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ückBeschreibung
McpHttpServerDefinition

Eigenschaften

Optionale zusätzliche Header, die mit jeder Anfrage an den Server gesendet werden.

Der für Menschen lesbare Name des Servers.

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.

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

Optionales Ereignis, das ausgelöst wird, um zu signalisieren, dass sich die Menge der verfügbaren Server geändert hat.

Methoden

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.

ParameterBeschreibung
token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<T[]>

Ein Array von verfügbaren MCP-Servern.

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.

ParameterBeschreibung
server: T

Der aufzulösende MCP-Server.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<T>

Der aufgelöste Server oder ein Thenable, der zu einem solchen aufgelöst wird. Dies kann die angegebene server-Definition mit ausgefüllten nicht-readonly-Eigenschaften sein.

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

ParameterBeschreibung
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ückBeschreibung
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.

Das Arbeitsverzeichnis, das zum Starten des Servers verwendet wird.

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.

ParameterBeschreibung
schluessel: string

Eine Zeichenkette.

Gibt zurückBeschreibung
T

Der gespeicherte Wert oder undefined.

Gibt einen Wert zurück.

ParameterBeschreibung
schluessel: string

Eine Zeichenkette.

standardwert: T

Ein Wert, der zurückgegeben werden soll, wenn kein Wert (undefined) mit dem angegebenen Schlüssel vorhanden ist.

Gibt zurückBeschreibung
T

Der gespeicherte Wert oder der Standardwert.

Gibt die gespeicherten Schlüssel zurück.

ParameterBeschreibung
Gibt zurückBeschreibung
readonly string[]

Die gespeicherten Schlüssel.

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.

ParameterBeschreibung
schluessel: string

Eine Zeichenkette.

value: any

Ein Wert. DARF KEINE zyklischen Referenzen enthalten.

Gibt zurückBeschreibung
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

Der Text dieser Zelle, dargestellt als Textdokument.

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.

Die Art dieser Zelle.

Die Metadaten dieser Zelle. Kann alles sein, muss aber JSON-serialisierbar sein.

Das Notebook, das diese Zelle enthält.

Die Ausgaben dieser Zelle.

NotebookCellData

NotebookCellData ist die Rohdarstellung von Notebook-Zellen. Sie ist Teil von NotebookData.

Konstruktoren

Erstellt neue Zellendaten. Minimale Zellendaten geben ihre Art, ihren Quellwert und den Sprachidentifikator ihres Quellcodes an.

ParameterBeschreibung
art: NotebookCellKind

Die Art.

value: string

Der Quellwert.

languageId: string

Der Sprachidentifikator des Quellwerts.

Gibt zurückBeschreibung
NotebookCellData

Eigenschaften

Die Ausführungszusammenfassung dieser Zellendaten.

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.

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

Die Zelle, für die diese Ausführung erstellt wurde.

Setzt und unset die Reihenfolge dieser Zellenausführung.

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

Hängt die Ausgabe der ausgeführten Zelle oder einer anderen von dieser Ausführung betroffenen Zelle an.

ParameterBeschreibung
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ückBeschreibung
Thenable<void>

Ein Thenable, der aufgelöst wird, wenn die Operation abgeschlossen ist.

Hängt Ausgabeelemente an eine vorhandene Zellenausgabe an.

ParameterBeschreibung
items: NotebookCellOutputItem | readonly NotebookCellOutputItem[]

Ausgabeelemente, die an die vorhandene Ausgabe angehängt werden.

output: NotebookCellOutput

Ausgabeobjekt, das bereits vorhanden ist.

Gibt zurückBeschreibung
Thenable<void>

Ein Thenable, der aufgelöst wird, wenn die Operation abgeschlossen ist.

Löscht die Ausgabe der ausgeführten Zelle oder einer anderen von dieser Ausführung betroffenen Zelle.

ParameterBeschreibung
cell?: NotebookCell

Zelle, für die die Ausgabe gelöscht wird. Standardmäßig die Zelle dieser Ausführung.

Gibt zurückBeschreibung
Thenable<void>

Ein Thenable, der aufgelöst wird, wenn die Operation abgeschlossen ist.

Signalisiert, dass die Ausführung beendet wurde.

ParameterBeschreibung
success: boolean

Wenn true, wird ein grünes Häkchen in der Zellstatusleiste angezeigt. Wenn false, wird ein rotes X angezeigt. Wenn undefined, wird kein Häkchen oder X-Symbol angezeigt.

endTime?: number

Die Zeit, zu der die Ausführung beendet wurde, in Millisekunden der Unix-Epoche.

Gibt zurückBeschreibung
void

Ersetzt die Ausgabe der ausgeführten Zelle oder einer anderen von dieser Ausführung betroffenen Zelle.

ParameterBeschreibung
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ückBeschreibung
Thenable<void>

Ein Thenable, der aufgelöst wird, wenn die Operation abgeschlossen ist.

Ersetzt alle Ausgabeelemente einer vorhandenen Zellenausgabe.

ParameterBeschreibung
items: NotebookCellOutputItem | readonly NotebookCellOutputItem[]

Ausgabeelemente, die die Elemente der vorhandenen Ausgabe ersetzen.

output: NotebookCellOutput

Ausgabeobjekt, das bereits vorhanden ist.

Gibt zurückBeschreibung
Thenable<void>

Ein Thenable, der aufgelöst wird, wenn die Operation abgeschlossen ist.

Signalisiert, dass die Ausführung begonnen hat.

ParameterBeschreibung
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ückBeschreibung
void

NotebookCellExecutionSummary

Die Zusammenfassung einer Notebook-Zellenausführung.

Eigenschaften

Die Reihenfolge, in der die Ausführung stattfand.

Wenn die Ausführung erfolgreich abgeschlossen wurde.

Die Zeitpunkte, zu denen die Ausführung begann und endete, als Unix-Zeitstempel.

ParameterBeschreibung
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

Erstellt eine neue Notebook-Ausgabe.

ParameterBeschreibung
items: NotebookCellOutputItem[]

Notebook-Ausgabeelemente.

metadata?:

Optionale Metadaten.

Gibt zurückBeschreibung
NotebookCellOutput

Eigenschaften

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

Factory-Funktion zur Erstellung eines NotebookCellOutputItem, das den MIME-Typ application/vnd.code.notebook.error verwendet.

ParameterBeschreibung
wert: Error

Ein Fehlerobjekt.

Gibt zurückBeschreibung
NotebookCellOutputItem

Ein neues Ausgabeobjekt.

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.

ParameterBeschreibung
value: any

Ein JSON-formatierbarer Wert.

mime?: string

Optionaler MIME-Typ, standardmäßig application/json.

Gibt zurückBeschreibung
NotebookCellOutputItem

Ein neues Ausgabeobjekt.

Factory-Funktion zur Erstellung eines NotebookCellOutputItem, das den MIME-Typ application/vnd.code.notebook.stderr verwendet.

ParameterBeschreibung
value: string

Eine Zeichenkette.

Gibt zurückBeschreibung
NotebookCellOutputItem

Ein neues Ausgabeobjekt.

Factory-Funktion zur Erstellung eines NotebookCellOutputItem, das den MIME-Typ application/vnd.code.notebook.stdout verwendet.

ParameterBeschreibung
value: string

Eine Zeichenkette.

Gibt zurückBeschreibung
NotebookCellOutputItem

Ein neues Ausgabeobjekt.

Factory-Funktion zur Erstellung eines NotebookCellOutputItem aus einer Zeichenfolge.

Hinweis: Ein UTF-8-Encoder wird verwendet, um Bytes für die Zeichenkette zu erstellen.

ParameterBeschreibung
value: string

Eine Zeichenkette.

mime?: string

Optionaler MIME-Typ, standardmäßig text/plain.

Gibt zurückBeschreibung
NotebookCellOutputItem

Ein neues Ausgabeobjekt.

Konstruktoren

Erstellt ein neues Notebook-Zellenausgabeelement.

ParameterBeschreibung
data: Uint8Array

Der Wert des Ausgabeelements.

mime: string

Der MIME-Typ des Ausgabeelements.

Gibt zurückBeschreibung
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

Erstellt ein neues NotebookCellStatusBarItem.

ParameterBeschreibung
text: string

Der anzuzeigende Text für das Element.

alignment: NotebookCellStatusBarAlignment

Ob das Element links oder rechts ausgerichtet ist.

Gibt zurückBeschreibung
NotebookCellStatusBarItem

Eigenschaften

Barrierefreiheitsinformationen, die verwendet werden, wenn ein Screenreader mit diesem Element interagiert.

Ob das Element links oder rechts ausgerichtet ist.

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

Ein optionales Ereignis, um zu signalisieren, dass sich Statusleistenelemente geändert haben. Die Methode `provide` wird erneut aufgerufen.

Methoden

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.

ParameterBeschreibung
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ückBeschreibung
ProviderResult<NotebookCellStatusBarItem | NotebookCellStatusBarItem[]>

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

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.

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.

ParameterBeschreibung
cells: NotebookCell[]
notebook: NotebookDocument
controller: NotebookController
Gibt zurückBeschreibung
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.

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.

ParameterBeschreibung
notebook: NotebookDocument
Gibt zurückBeschreibung
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

Ob dieser Controller die Ausführungsreihenfolge unterstützt, sodass der Editor Platzhalter dafür rendern kann.

Methoden

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.

ParameterBeschreibung
cell: NotebookCell

Die Notebook-Zelle, für die die Ausführung erstellt werden soll.

Gibt zurückBeschreibung
NotebookCellExecution

Eine Notebook-Zellenausführung.

Ressourcen freigeben und zugehörige Ressourcen bereinigen.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Ein Controller kann Affinitäten für bestimmte Notebook-Dokumente festlegen. Dies ermöglicht es, einen Controller für bestimmte Notebooks prominenter anzuzeigen.

ParameterBeschreibung
notebook: NotebookDocument

Das Notebook, für das eine Priorität festgelegt wird.

affinity: NotebookControllerAffinity

Eine Controller-Affinität.

Gibt zurückBeschreibung
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

Neue Notebook-Daten erstellen.

ParameterBeschreibung
cells: NotebookCellData[]

Ein Array von Zellendaten.

Gibt zurückBeschreibung
NotebookData

Eigenschaften

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.

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

Gibt die Zelle am angegebenen Index zurück. Der Index wird an das Notebook angepasst.

ParameterBeschreibung
index: number

Der Index der abzurufenden Zelle.

Gibt zurückBeschreibung
NotebookCell

Eine Zelle.

Ruft die Zellen dieses Notebooks ab. Ein Teilbereich kann durch Angabe eines Bereichs abgerufen werden. Der Bereich wird an das Notebook angepasst.

ParameterBeschreibung
range?: NotebookRange

Ein Notebook-Bereich.

Gibt zurückBeschreibung
NotebookCell[]

Die Zellen, die vom Bereich oder allen Zellen abgedeckt werden.

Speichert das Dokument. Das Speichern wird vom entsprechenden Serializer übernommen.

ParameterBeschreibung
Gibt zurückBeschreibung
Thenable<boolean>

Ein Promise, der mit true aufgelöst wird, wenn das Dokument gespeichert wurde. Gibt false zurück, wenn die Datei nicht schmutzig war oder das Speichern fehlschlug.

NotebookDocumentCellChange

Beschreibt eine Änderung an einer Notebook-Zelle.

Siehe auch NotebookDocumentChangeEvent

Eigenschaften

Die betroffene Zelle.

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.

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.

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

Ein Array von Zellenänderungen.

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.

Das betroffene Notebook.

NotebookDocumentContentChange

Beschreibt eine strukturelle Änderung an einem Notebook-Dokument, z. B. neu hinzugefügte und entfernte Zellen.

Siehe auch NotebookDocumentChangeEvent

Eigenschaften

Zellen, die dem Dokument hinzugefügt wurden.

Der Bereich, in dem Zellen entweder hinzugefügt oder entfernt wurden.

Beachten Sie, dass keine Zellen entfernt wurden, wenn dieser Bereich leer ist.

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.

Eine optionale Auswahl, die für das Dokument im Notebook-Editor angewendet werden soll.

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

Das Notebook-Dokument, das gespeichert werden soll.

Der Grund, warum das Speichern ausgelöst wurde.

Ein Abbruch-Token.

Methoden

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);
});
ParameterBeschreibung
thenable: Thenable<WorkspaceEdit>

Ein Thenable, das zu einem WorkspaceEdit aufgelöst wird.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
thenable: Thenable<any>

Ein Thenable, der das Speichern verzögert.

Gibt zurückBeschreibung
void

NotebookEdit

Eine Notebook-Bearbeitung repräsentiert Bearbeitungen, die auf den Inhalt eines Notebooks angewendet werden sollen.

Statisch

Hilfsmittel zum Erstellen einer Bearbeitung zum Löschen von Zellen in einem Notebook.

ParameterBeschreibung
range: NotebookRange

Der Bereich der zu löschenden Zellen.

Gibt zurückBeschreibung
NotebookEdit

Hilfsprogramm zum Erstellen einer Änderung, die Zellen in einem Notebook ersetzt.

ParameterBeschreibung
index: number

Der Index, an dem Zellen eingefügt werden.

newCells: NotebookCellData[]

Die neuen Notebook-Zellen.

Gibt zurückBeschreibung
NotebookEdit

Hilfsprogramm zum Erstellen einer Änderung, die Zellen in einem Notebook ersetzt.

ParameterBeschreibung
range: NotebookRange

Der Bereich der zu ersetzenden Zellen

newCells: NotebookCellData[]

Die neuen Notebook-Zellen.

Gibt zurückBeschreibung
NotebookEdit

Hilfsprogramm zum Erstellen einer Änderung, die Metadaten einer Zelle aktualisiert.

ParameterBeschreibung
index: number

Der Index der zu aktualisierenden Zelle.

newCellMetadata:

Die neuen Metadaten für die Zelle.

Gibt zurückBeschreibung
NotebookEdit

Hilfsprogramm zum Erstellen einer Änderung, die die Metadaten des Notebooks aktualisiert.

ParameterBeschreibung
newNotebookMetadata:

Die neuen Metadaten für das Notebook.

Gibt zurückBeschreibung
NotebookEdit

Konstruktoren

Erstellt eine neue Notebook-Änderung.

ParameterBeschreibung
range: NotebookRange

Ein Notebook-Bereich.

newCells: NotebookCellData[]

Ein Array neuer Zellendaten.

Gibt zurückBeschreibung
NotebookEdit

Eigenschaften

Optionale neue Metadaten für die Zellen.

Neu eingefügte Zellen. Kann leer sein.

Optionale neue Metadaten für das Notebook.

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

Das Notebook-Dokument, das diesem Notebook-Editor zugeordnet ist.

Die primäre Auswahl in diesem Notebook-Editor.

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 };

Die Spalte, in der dieser Editor angezeigt wird.

Die aktuell sichtbaren Bereiche im Editor (vertikal).

Methoden

Scrolle wie von revealType angegeben, um den angegebenen Bereich sichtbar zu machen.

ParameterBeschreibung
range: NotebookRange

Ein Bereich.

revealType?: NotebookEditorRevealType

Die Scrollstrategie zum Sichtbarmachen von range.

Gibt zurückBeschreibung
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

Der Notebook-Editor, für den sich die Auswahlen geändert haben.

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

Der Notebook-Editor, für den sich die sichtbaren Bereiche geändert haben.

NotebookRange

Ein Notebook-Bereich repräsentiert ein geordnetes Paar von zwei Zellindizes. Es ist garantiert, dass start kleiner oder gleich end ist.

Konstruktoren

Erstellt einen neuen Notebook-Bereich. Wenn start nicht kleiner oder gleich end ist, werden die Werte vertauscht.

ParameterBeschreibung
start: number

Startindex

end: number

Endindex.

Gibt zurückBeschreibung
NotebookRange

Eigenschaften

Der exklusive Endindex dieses Bereichs (nullbasiert).

true, wenn start und end gleich sind.

Der nullbasierte Startindex dieses Bereichs.

Methoden

Leitet einen neuen Bereich von diesem Bereich ab.

ParameterBeschreibung
change: {end: number, start: number}

Ein Objekt, das eine Änderung an diesem Bereich beschreibt.

Gibt zurückBeschreibung
NotebookRange

Ein Bereich, der die angegebene Änderung widerspiegelt. Gibt this Bereich zurück, wenn die Änderung nichts bewirkt.

NotebookRendererMessaging

Renderer-Messaging wird verwendet, um mit einem einzelnen Renderer zu kommunizieren. Es wird von notebooks.createRendererMessaging zurückgegeben.

Events

Ein Ereignis, das ausgelöst wird, wenn eine Nachricht von einem Renderer empfangen wird.

Methoden

Sendet eine Nachricht an einen oder alle Renderer.

ParameterBeschreibung
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ückBeschreibung
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

Deserialisiert den Inhalt einer Notebook-Datei in die Notebook-Datenstruktur.

ParameterBeschreibung
content: Uint8Array

Inhalt einer Notebook-Datei.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
NotebookData | Thenable<NotebookData>

Notebook-Daten oder ein Thenable, der sich zu solchen auflöst.

Serialisiert Notebook-Daten in Datei-Inhalt.

ParameterBeschreibung
data: NotebookData

Eine Notebook-Datenstruktur.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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

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

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.

ParameterBeschreibung
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ückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

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 canSelectFiles als auch canSelectFolders auf true setzen, wird ein Ordnerauswähler angezeigt.
  • Hinweis 2: Das explizite Setzen von canSelectFiles und canSelectFolders auf false ist 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.

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.

ParameterBeschreibung
value: string

Ein String, falsche Werte werden nicht ausgegeben.

Gibt zurückBeschreibung
void

Hängt den gegebenen Wert und ein Zeilenumbruchzeichen an den Kanal an.

ParameterBeschreibung
value: string

Ein String, falsche Werte werden ausgegeben.

Gibt zurückBeschreibung
void

Entfernt alle Ausgaben aus dem Kanal.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Ressourcen freigeben und zugehörige Ressourcen bereinigen.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Blendet diesen Kanal in der Benutzeroberfläche aus.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Ersetzt alle Ausgaben des Kanals durch den gegebenen Wert.

ParameterBeschreibung
value: string

Ein String, falsche Werte werden nicht ausgegeben.

Gibt zurückBeschreibung
void

Zeigt diesen Kanal in der Benutzeroberfläche an.

ParameterBeschreibung
preserveFocus?: boolean

Wenn true, nimmt der Kanal den Fokus nicht ein.

Gibt zurückBeschreibung
void

Zeigt diesen Kanal in der Benutzeroberfläche an.

  • veraltet - Verwenden Sie die Überladung mit nur einem Parameter (show(preserveFocus?: boolean): void).
ParameterBeschreibung
column?: ViewColumn

Dieses Argument ist veraltet und wird ignoriert.

preserveFocus?: boolean

Wenn true, nimmt der Kanal den Fokus nicht ein.

Gibt zurückBeschreibung
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

Erstellt ein neues Parameterinformationsobjekt.

ParameterBeschreibung
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ückBeschreibung
ParameterInformation

Eigenschaften

Der menschenlesbare Dokumentationskommentar dieser Signatur. Wird in der Benutzeroberfläche angezeigt, kann aber weggelassen werden.

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

ParameterBeschreibung
line: number

Ein nullbasierter Zeilenwert.

character: number

Ein nullbasierter Zeichenwert.

Gibt zurückBeschreibung
Position

Eigenschaften

Der nullbasierte Zeichenwert.

Zeichenoffsets werden mithilfe von UTF-16 Code Units ausgedrückt.

Der nullbasierte Zeilenwert.

Methoden

Vergleicht diese Position mit other.

ParameterBeschreibung
other: Position

Eine Position.

Gibt zurückBeschreibung
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.

Prüft, ob diese Position nach other liegt.

ParameterBeschreibung
other: Position

Eine Position.

Gibt zurückBeschreibung
boolean

true, wenn die Position in einer größeren Zeile oder in derselben Zeile mit einem größeren Zeichen liegt.

Prüft, ob diese Position nach oder gleich other liegt.

ParameterBeschreibung
other: Position

Eine Position.

Gibt zurückBeschreibung
boolean

true, wenn die Position in einer größeren Zeile oder in derselben Zeile mit einem größeren oder gleichen Zeichen liegt.

Prüft, ob diese Position vor other liegt.

ParameterBeschreibung
other: Position

Eine Position.

Gibt zurückBeschreibung
boolean

true, wenn die Position in einer kleineren Zeile oder in derselben Zeile mit einem kleineren Zeichen liegt.

Prüft, ob diese Position vor oder gleich other liegt.

ParameterBeschreibung
other: Position

Eine Position.

Gibt zurückBeschreibung
boolean

true, wenn die Position in einer kleineren Zeile oder in derselben Zeile mit einem kleineren oder gleichen Zeichen liegt.

Prüft, ob diese Position gleich other ist.

ParameterBeschreibung
other: Position

Eine Position.

Gibt zurückBeschreibung
boolean

true, wenn die Zeile und das Zeichen der angegebenen Position mit der Zeile und dem Zeichen dieser Position übereinstimmen.

Erstellt eine neue Position relativ zu dieser Position.

ParameterBeschreibung
lineDelta?: number

Delta-Wert für den Zeilenwert, Standard ist 0.

characterDelta?: number

Delta-Wert für den Zeichenwert, Standard ist 0.

Gibt zurückBeschreibung
Position

Eine Position, deren Zeile und Zeichen die Summe der aktuellen Zeile und des aktuellen Zeichens sowie der entsprechenden Deltas ist.

Leitet eine neue Position relativ zu dieser Position ab.

ParameterBeschreibung
change: {characterDelta: number, lineDelta: number}

Ein Objekt, das eine Änderung dieser Position beschreibt.

Gibt zurückBeschreibung
Position

Eine Position, die die angegebene Änderung widerspiegelt. Gibt diese Position zurück, wenn die Änderung nichts ändert.

Erstellt eine neue Position, die von dieser Position abgeleitet ist.

ParameterBeschreibung
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ückBeschreibung
Position

Eine Position, bei der Zeile und Zeichen durch die angegebenen Werte ersetzt werden.

Leitet eine neue Position von dieser Position ab.

ParameterBeschreibung
change: {character: number, line: number}

Ein Objekt, das eine Änderung dieser Position beschreibt.

Gibt zurückBeschreibung
Position

Eine Position, die die angegebene Änderung widerspiegelt. Gibt diese Position zurück, wenn die Änderung nichts ändert.

PreparedToolInvocation

Das Ergebnis eines Aufrufs von LanguageModelTool.prepareInvocation.

Eigenschaften

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.

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

Erstellt eine Prozessausführung.

ParameterBeschreibung
process: string

Der zu startende Prozess.

options?: ProcessExecutionOptions

Optionale Optionen für den gestarteten Prozess.

Gibt zurückBeschreibung
ProcessExecution

Erstellt eine Prozessausführung.

ParameterBeschreibung
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ückBeschreibung
ProcessExecution

Eigenschaften

Die an den Prozess übergebenen Argumente. Standardmäßig ein leeres Array.

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.

ParameterBeschreibung
value: T

Ein Fortschrittselement, z. B. eine Meldung und/oder ein Bericht darüber, wie viel Arbeit abgeschlossen wurde

Gibt zurückBeschreibung
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.

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.

Der zu verwendende Tool-Auswahlmodus. Der Anbieter muss dies berücksichtigen.

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
  }
};

Pseudoterminal

Definiert die Schnittstelle eines Terminal-PTYs, die es Erweiterungen ermöglicht, ein Terminal zu steuern.

Events

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 });

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);

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 });

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.

ParameterBeschreibung
Gibt zurückBeschreibung
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.

ParameterBeschreibung
data: string

Die eingehenden Daten.

Beispiel: Eingabe im Terminal spiegeln. Die Sequenz für Enter (\r) wird in CRLF übersetzt, um in eine neue Zeile zu gelangen und den Cursor an den Zeilenanfang zu bewegen.

const writeEmitter = new vscode.EventEmitter<string>();
const pty: vscode.Pseudoterminal = {
  onDidWrite: writeEmitter.event,
  open: () => {},
  close: () => {},
  handleInput: data => writeEmitter.fire(data === '\r' ? '\r\n' : data)
};
vscode.window.createTerminal({ name: 'Local echo', pty });
Gibt zurückBeschreibung
void

Implementieren Sie, um zu verarbeiten, wann das PTY geöffnet und bereit ist, Ereignisse auszulösen.

ParameterBeschreibung
initialDimensions: TerminalDimensions

Die Dimensionen des Terminals, dies ist undefiniert, wenn das Terminalpanel vor diesem Aufruf noch nicht geöffnet wurde.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
dimensions: TerminalDimensions

Die neuen Dimensionen.

Gibt zurückBeschreibung
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

Stellt eine Uri der ursprünglichen Ressource für eine gegebene Ressourcen-URI bereit.

ParameterBeschreibung
uri: Uri

Die URI der im Texteditor geöffneten Ressource.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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.

Siehe QuickPick und InputBox für konkrete UIs.

Events

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.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Blendet diese Eingabe-UI aus.

Dadurch wird auch ein onDidHide-Ereignis ausgelöst.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Macht die Eingabe-UI in ihrer aktuellen Konfiguration sichtbar.

Jede andere Eingabe-UI löst zuerst ein onDidHide-Ereignis aus.

ParameterBeschreibung
Gibt zurückBeschreibung
void

QuickInputButton

Eine Schaltfläche für eine Aktion in einem QuickPick oder InputBox.

Eigenschaften

Das Symbol für die Schaltfläche.

Ein optionaler Tooltip, der beim Überfahren der Schaltfläche mit der Maus angezeigt wird.

QuickInputButtons

Vordefinierte Schaltflächen für QuickPick und InputBox.

Statisch

Eine vordefinierte Zurück-Schaltfläche für QuickPick und InputBox.

Diese Schaltfläche sollte aus Konsistenzgründen verwendet werden, wenn eine Navigations-Zurück-Schaltfläche benötigt wird. Sie verfügt über ein vordefiniertes Symbol, einen Tooltip und eine Position.

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

Ein Ereignis, das signalisiert, wann der Benutzer die Annahme der ausgewählten Element(e) angezeigt hat.

Ein Ereignis, das signalisiert, wenn sich die aktiven Elemente geändert haben.

Ein Ereignis, das signalisiert, wenn sich die ausgewählten Elemente geändert haben.

Ein Ereignis, das signalisiert, wenn sich der Wert des Filtertextes geändert hat.

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.

Ein Ereignis, das signalisiert, wenn ein Button ausgelöst wurde.

Dieses Ereignis wird für Schaltflächen ausgelöst, die im Array buttons gespeichert sind. Dieses Ereignis wird nicht für Schaltflächen in der Titelleiste ausgelöst, die Teil von buttons sind.

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 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.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Blendet diese Eingabe-UI aus.

Dadurch wird auch ein onDidHide-Ereignis ausgelöst.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Macht die Eingabe-UI in ihrer aktuellen Konfiguration sichtbar.

Jede andere Eingabe-UI löst zuerst ein onDidHide-Ereignis aus.

ParameterBeschreibung
Gibt zurückBeschreibung
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.

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.

Das Symbol für das Element.

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

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

Eine optionale Funktion, die aufgerufen wird, wenn ein Element ausgewählt wird.

ParameterBeschreibung
item: string | QuickPickItem
Gibt zurückBeschreibung
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

Erstellt einen neuen Bereich aus zwei Positionen. Wenn start nicht vor oder gleich end ist, werden die Werte vertauscht.

ParameterBeschreibung
start: Position

Eine Position.

end: Position

Eine Position.

Gibt zurückBeschreibung
Bereich

Erstellt einen neuen Bereich aus numerischen Koordinaten. Dies ist eine kürzere Entsprechung zu new Range(new Position(startLine, startCharacter), new Position(endLine, endCharacter))

ParameterBeschreibung
startLine: number

Ein nullbasierter Zeilenwert.

startCharacter: number

Ein nullbasierter Zeichenwert.

endLine: number

Ein nullbasierter Zeilenwert.

endCharacter: number

Ein nullbasierter Zeichenwert.

Gibt zurückBeschreibung
Bereich

Eigenschaften

Die Endposition. Sie liegt nach oder gleich start.

true, wenn start und end gleich sind.

true, wenn start.line und end.line gleich sind.

Die Startposition. Sie liegt vor oder gleich end.

Methoden

Prüft, ob eine Position oder ein Bereich in diesem Bereich enthalten ist.

ParameterBeschreibung
positionOrRange: Range | Position

Eine Position oder ein Bereich.

Gibt zurückBeschreibung
boolean

true, wenn die Position oder der Bereich innerhalb oder gleich diesem Bereich liegt.

Schneidet range mit diesem Bereich und gibt einen neuen Bereich zurück oder undefined, wenn die Bereiche keine Überlappung haben.

ParameterBeschreibung
range: Range

Ein Bereich.

Gibt zurückBeschreibung
Bereich

Ein Bereich mit der größeren Start- und kleineren Endposition. Gibt undefined zurück, wenn keine Überlappung besteht.

Prüft, ob other diesem Bereich entspricht.

ParameterBeschreibung
other: Range

Ein Bereich.

Gibt zurückBeschreibung
boolean

true, wenn Start und Ende gleich wie Start und Ende dieses Bereichs sind.

Berechnet die Vereinigung von other mit diesem Bereich.

ParameterBeschreibung
other: Range

Ein Bereich.

Gibt zurückBeschreibung
Bereich

Ein Bereich mit der kleineren Startposition und der größeren Endposition.

Leitet einen neuen Bereich von diesem Bereich ab.

ParameterBeschreibung
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ückBeschreibung
Bereich

Ein von diesem Bereich abgeleiteter Bereich mit der angegebenen Start- und Endposition. Wenn Start und Ende nicht unterschiedlich sind, wird this-Bereich zurückgegeben.

Leitet einen neuen Bereich von diesem Bereich ab.

ParameterBeschreibung
change: {end: Position, start: Position}

Ein Objekt, das eine Änderung an diesem Bereich beschreibt.

Gibt zurückBeschreibung
Bereich

Ein Bereich, der die angegebene Änderung widerspiegelt. Gibt this Bereich zurück, wenn die Änderung nichts bewirkt.

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

Stellt eine Reihe von projektweiten Referenzen für die angegebene Position und das angegebene Dokument bereit.

ParameterBeschreibung
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ückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

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

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');
}
ParameterBeschreibung
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 *.{ts,js}, das auf Pfade relativ zur Basis angewendet wird.

Gibt zurückBeschreibung
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.

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

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.

ParameterBeschreibung
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ückBeschreibung
ProviderResult<Range | {placeholder: string, range: Range}>

Der Bereich oder Bereich und Platzhaltertext des umzubenennenden Bezeichners. Das Fehlen eines Ergebnisses kann durch Rückgabe von undefined oder null signalisiert werden.

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.

ParameterBeschreibung
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ückBeschreibung
ProviderResult<WorkspaceEdit>

Eine Workspace-Änderung oder ein Thenable, das zu einer solchen aufgelöst wird. Das Fehlen eines Ergebnisses kann durch Rückgabe von undefined oder null signalisiert werden.

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

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

Wird ausgelöst, wenn ein Geheimnis gespeichert oder gelöscht wird.

Methoden

Entfernt ein Geheimnis aus dem Speicher.

ParameterBeschreibung
schluessel: string

Der Schlüssel, unter dem das Geheimnis gespeichert wurde.

Gibt zurückBeschreibung
Thenable<void>

Ruft ein unter dem Schlüssel gespeichertes Geheimnis ab. Gibt undefined zurück, wenn kein Passwort zu diesem Schlüssel passt.

ParameterBeschreibung
schluessel: string

Der Schlüssel, unter dem das Geheimnis gespeichert wurde.

Gibt zurückBeschreibung
Thenable<string>

Der gespeicherte Wert oder undefined.

Ruft die Schlüssel aller von dieser Erweiterung gespeicherten Geheimnisse ab.

ParameterBeschreibung
Gibt zurückBeschreibung
Thenable<string[]>

Speichert ein Geheimnis unter einem gegebenen Schlüssel.

ParameterBeschreibung
schluessel: string

Der Schlüssel, unter dem das Geheimnis gespeichert werden soll.

value: string

Das Geheimnis.

Gibt zurückBeschreibung
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

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

Erstellt eine Auswahl aus zwei Positionen.

ParameterBeschreibung
anchor: Position

Eine Position.

active: Position

Eine Position.

Gibt zurückBeschreibung
Auswahl

Erstellt eine Auswahl aus vier Koordinaten.

ParameterBeschreibung
anchorLine: number

Ein nullbasierter Zeilenwert.

anchorCharacter: number

Ein nullbasierter Zeichenwert.

activeLine: number

Ein nullbasierter Zeilenwert.

activeCharacter: number

Ein nullbasierter Zeichenwert.

Gibt zurückBeschreibung
Auswahl

Eigenschaften

Die Cursorposition. Diese Position kann vor oder nach anchor liegen.

Die Position, an der die Auswahl beginnt. Diese Position kann vor oder nach active liegen.

Die Endposition. Sie liegt nach oder gleich start.

true, wenn start und end gleich sind.

Eine Auswahl ist umgekehrt, wenn ihr anchor die end-Position ist.

true, wenn start.line und end.line gleich sind.

Die Startposition. Sie liegt vor oder gleich end.

Methoden

Prüft, ob eine Position oder ein Bereich in diesem Bereich enthalten ist.

ParameterBeschreibung
positionOrRange: Range | Position

Eine Position oder ein Bereich.

Gibt zurückBeschreibung
boolean

true, wenn die Position oder der Bereich innerhalb oder gleich diesem Bereich liegt.

Schneidet range mit diesem Bereich und gibt einen neuen Bereich zurück oder undefined, wenn die Bereiche keine Überlappung haben.

ParameterBeschreibung
range: Range

Ein Bereich.

Gibt zurückBeschreibung
Bereich

Ein Bereich mit der größeren Start- und kleineren Endposition. Gibt undefined zurück, wenn keine Überlappung besteht.

Prüft, ob other diesem Bereich entspricht.

ParameterBeschreibung
other: Range

Ein Bereich.

Gibt zurückBeschreibung
boolean

true, wenn Start und Ende gleich wie Start und Ende dieses Bereichs sind.

Berechnet die Vereinigung von other mit diesem Bereich.

ParameterBeschreibung
other: Range

Ein Bereich.

Gibt zurückBeschreibung
Bereich

Ein Bereich mit der kleineren Startposition und der größeren Endposition.

Leitet einen neuen Bereich von diesem Bereich ab.

ParameterBeschreibung
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ückBeschreibung
Bereich

Ein von diesem Bereich abgeleiteter Bereich mit der angegebenen Start- und Endposition. Wenn Start und Ende nicht unterschiedlich sind, wird this-Bereich zurückgegeben.

Leitet einen neuen Bereich von diesem Bereich ab.

ParameterBeschreibung
change: {end: Position, start: Position}

Ein Objekt, das eine Änderung an diesem Bereich beschreibt.

Gibt zurückBeschreibung
Bereich

Ein Bereich, der die angegebene Änderung widerspiegelt. Gibt this Bereich zurück, wenn die Änderung nichts bewirkt.

SelectionRange

Ein Auswahlbereich repräsentiert einen Teil einer Auswahlhierarchie. Ein Auswahlbereich kann einen übergeordneten Auswahlbereich haben, der ihn enthält.

Konstruktoren

Erstellt einen neuen Auswahlbereich.

ParameterBeschreibung
range: Range

Der Bereich des Auswahlbereichs.

parent?: SelectionRange

Das übergeordnete Element des Auswahlbereichs.

Gibt zurückBeschreibung
SelectionRange

Eigenschaften

Der übergeordnete Auswahlbereich, der diesen Bereich enthält.

Der Range dieses Auswahlbereichs.

SelectionRangeProvider

Die Schnittstelle des Selektionsbereichsanbieters definiert den Vertrag zwischen Erweiterungen und der Funktion "Auswahl erweitern und verkleinern".

Methoden

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.

ParameterBeschreibung
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ückBeschreibung
ProviderResult<SelectionRange[]>

Selektionsbereiche oder ein Thenable, das zu einem solchen aufgelöst wird. Das Fehlen eines Ergebnisses kann durch Rückgabe von undefined oder null signalisiert werden.

SemanticTokens

Repräsentiert semantische Token, entweder in einem Bereich oder in einem gesamten Dokument.

Siehe auch

Konstruktoren

Erstellt neue semantische Token.

ParameterBeschreibung
data: Uint32Array

Token-Daten.

resultId?: string

Ergebnis-ID.

Gibt zurückBeschreibung
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

Erstellt einen SemanticTokensBuilder.

ParameterBeschreibung
legend?: SemanticTokensLegend

Eine semantische Token-Legende.

Gibt zurückBeschreibung
SemanticTokensBuilder

Methoden

Fertigstellen und eine SemanticTokens-Instanz erstellen.

ParameterBeschreibung
resultId?: string
Gibt zurückBeschreibung
SemanticTokens

Einen weiteren Token hinzufügen.

ParameterBeschreibung
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ückBeschreibung
void

Einen weiteren Token hinzufügen. Nur verwenden, wenn eine Legende bereitgestellt wird.

ParameterBeschreibung
range: Range

Der Bereich des Tokens. Muss eine einzelne Zeile sein.

tokenType: string

Der Token-Typ.

tokenModifiers?: readonly string[]

Die Token-Modifikatoren.

Gibt zurückBeschreibung
void

SemanticTokensEdit

Repräsentiert eine Änderung an semantischen Token.

Siehe auch provideDocumentSemanticTokensEdits für eine Erklärung des Formats.

Konstruktoren

Erstellt eine semantische Token-Änderung.

ParameterBeschreibung
start: number

Start-Offset

deleteCount: number

Anzahl der zu entfernenden Elemente.

data?: Uint32Array

Einzufügende Elemente

Gibt zurückBeschreibung
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

Erstellt neue semantische Token-Änderungen.

ParameterBeschreibung
edits: SemanticTokensEdit[]

Ein Array von semantischen Token-Änderungen

resultId?: string

Ergebnis-ID.

Gibt zurückBeschreibung
SemanticTokensEdits

Eigenschaften

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

Erstellt eine semantische Token-Legende.

ParameterBeschreibung
tokenTypes: string[]

Ein Array von Token-Typen.

tokenModifiers?: string[]

Ein Array von Token-Modifikatoren.

Gibt zurückBeschreibung
SemanticTokensLegend

Eigenschaften

Die möglichen Token-Modifikatoren.

Die möglichen Token-Typen.

ShellExecution

Repräsentiert die Ausführung eines Tasks in einer Shell.

Konstruktoren

Erstellt eine Shell-Ausführung mit einer vollständigen Kommandozeile.

ParameterBeschreibung
commandLine: string

Die auszuführende Kommandozeile.

options?: ShellExecutionOptions

Optionale Optionen für den Start der Shell.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
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ückBeschreibung
ShellExecution

Eigenschaften

Die Shell-Argumente. Ist undefined, wenn mit einer vollständigen Kommandozeile erstellt.

Der Shell-Befehl. Ist undefined, wenn mit einem Befehl und Argumenten erstellt.

Die Shell-Kommandozeile. Ist undefined, wenn mit einem Befehl und Argumenten erstellt.

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.

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

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

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

ParameterBeschreibung
Gibt zurückBeschreibung
SignatureHelp

Eigenschaften

Der aktive Parameter der aktiven Signatur.

Die aktive Signatur.

Eine oder mehrere Signaturen.

SignatureHelpContext

Zusätzliche Informationen über den Kontext, in dem ein SignatureHelpProvider ausgelöst wurde.

Eigenschaften

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.

Aktion, die die Signature Help ausgelöst hat.

SignatureHelpProvider

Die Schnittstelle SignatureHelpProvider definiert den Vertrag zwischen Erweiterungen und dem Feature Parameterhinweise.

Methoden

Hilfe für die Signatur an der angegebenen Position und im Dokument bereitstellen.

ParameterBeschreibung
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ückBeschreibung
ProviderResult<SignatureHelp>

Signature Help oder ein Thenable, das zu einem solchen aufgelöst wird. Das Fehlen eines Ergebnisses kann durch Rückgabe von undefined oder null signalisiert werden.

SignatureHelpProviderMetadata

Metadaten zu einem registrierten SignatureHelpProvider.

Eigenschaften

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.

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

Erstellt ein neues Signaturinformationsobjekt.

ParameterBeschreibung
label: string

Ein Beschriftungs-String.

documentation?: string | MarkdownString

Ein Dokumentationsstring.

Gibt zurückBeschreibung
SignatureInformation

Eigenschaften

Der Index des aktiven Parameters.

Wenn angegeben, wird dies anstelle von SignatureHelp.activeParameter verwendet.

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.

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

Erstellt einen neuen Snippet-String.

ParameterBeschreibung
value?: string

Ein Snippet-String.

Gibt zurückBeschreibung
SnippetString

Eigenschaften

Der Snippet-String.

Methoden

Builder-Funktion, die eine Auswahl (${1|a,b,c|}) an den Wert dieses Snippet-Strings anhängt.

ParameterBeschreibung
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ückBeschreibung
SnippetString

Dieser Snippet-String.

Builder-Funktion, die einen Platzhalter (${1:value}) an den Wert dieses Snippet-Strings anhängt.

ParameterBeschreibung
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ückBeschreibung
SnippetString

Dieser Snippet-String.

Builder-Funktion, die einen Tabulatorstopp ($1, $2 usw.) an den Wert dieses Snippet-Strings anhängt.

ParameterBeschreibung
number?: number

Die Nummer dieses Tabulatorstopps, standardmäßig ein automatisch inkrementierender Wert ab 1.

Gibt zurückBeschreibung
SnippetString

Dieser Snippet-String.

Builder-Funktion, die den angegebenen String an den Wert dieses Snippet-Strings anhängt.

ParameterBeschreibung
string: string

Ein Wert, der "wie gegeben" angehängt werden soll. Der String wird escaped.

Gibt zurückBeschreibung
SnippetString

Dieser Snippet-String.

Builder-Funktion, die eine Variable (${VAR}) an den Wert dieses Snippet-Strings anhängt.

ParameterBeschreibung
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ückBeschreibung
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

Hilfsmittel zur Erstellung eines Einfüge-Snippet-Edits.

ParameterBeschreibung
position: Position

Eine Position, die zu einem leeren Bereich wird.

snippet: SnippetString

Ein Snippet-String.

Gibt zurückBeschreibung
SnippetTextEdit

Ein neues Snippet-Edit-Objekt.

Hilfsmittel zur Erstellung eines Ersetzungs-Snippet-Edits.

ParameterBeschreibung
range: Range

Ein Bereich.

snippet: SnippetString

Ein Snippet-String.

Gibt zurückBeschreibung
SnippetTextEdit

Ein neues Snippet-Edit-Objekt.

Konstruktoren

Erstellt ein neues Snippet-Edit.

ParameterBeschreibung
range: Range

Ein Bereich.

snippet: SnippetString

Ein Snippet-String.

Gibt zurückBeschreibung
SnippetTextEdit

Eigenschaften

Ob das Snippet-Edit mit beibehaltener vorhandener Leerraum angewendet werden soll.

Der Bereich, auf den sich diese Bearbeitung bezieht.

Das Snippet, das diese Bearbeitung durchführen wird.

SourceBreakpoint

Ein Haltepunkt, der durch eine Quellcode-Position spezifiziert wird.

Konstruktoren

Erstellt einen neuen Haltepunkt für eine Quellcode-Position.

ParameterBeschreibung
location: Location
enabled?: boolean
condition?: string
hitCondition?: string
logMessage?: string
Gibt zurückBeschreibung
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.

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

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.

Das Eingabefeld für diese Quellcode-Kontrolle.

Die lesbare Beschriftung dieser Quellcode-Kontrolle.

Ein optionaler Schnelldifferenzanbieter.

Die (optionale) URI der Wurzel dieser Quellcode-Kontrolle.

Optionale Statusleistenbefehle.

Diese Befehle werden in der Statusleiste des Editors angezeigt.

Methoden

Erstellt eine neue Ressourcengruppe.

ParameterBeschreibung
id: string
label: string
Gibt zurückBeschreibung
SourceControlResourceGroup

Diese Quellcode-Kontrolle verwerfen.

ParameterBeschreibung
Gibt zurückBeschreibung
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

Die Dekorationen für dunkle Designs.

Ob der Ressourcenzustand der Quellcode-Kontrolle in der Benutzeroberfläche ausgegraut werden soll.

Der Pfad zum Symbol für einen bestimmten Ressourcenzustand der Quellcode-Kontrolle.

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.

Die Sammlung der Ressourcenzustände der Quellcode-Kontrolle dieser Gruppe.

Methoden

Diese Ressourcengruppe der Quellcode-Kontrolle verwerfen.

ParameterBeschreibung
Gibt zurückBeschreibung
void

SourceControlResourceState

Ein Ressourcenzustand der Quellcode-Kontrolle stellt den Zustand einer zugrundeliegenden Arbeitsbereichsressource innerhalb einer bestimmten Ressourcengruppe der Quellcode-Kontrolle dar.

Eigenschaften

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.

Die Dekorationen für diesen Ressourcenzustand der Quellcode-Kontrolle.

Die URI der zugrundeliegenden Ressource innerhalb des Arbeitsbereichs.

SourceControlResourceThemableDecorations

Die themenabhängigen Dekorationen für einen Ressourcenzustand der Quellcode-Kontrolle.

Eigenschaften

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

ParameterBeschreibung
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ückBeschreibung
StatementCoverage

Eigenschaften

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

Barrierefreiheitsinformationen, die von einem Screenreader bei der Interaktion mit diesem Statusleistenelement verwendet werden.

Die Ausrichtung dieses Elements.

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.

Die Vordergrundfarbe für diesen Eintrag.

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.

Der Tooltip-Text, wenn Sie mit der Maus über diesen Eintrag fahren.

Methoden

Zugehörige Ressourcen verwerfen und freigeben. hide aufrufen.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Das Element in der Statusleiste ausblenden.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Das Element in der Statusleiste anzeigen.

ParameterBeschreibung
Gibt zurückBeschreibung
void

SymbolInformation

Stellt Informationen über Programmierkonstrukte wie Variablen, Klassen, Schnittstellen usw. dar.

Konstruktoren

Erstellt ein neues Symbolinformations-Objekt.

ParameterBeschreibung
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ückBeschreibung
SymbolInformation

Erstellt ein neues Symbolinformations-Objekt.

  • veraltet - Bitte verwenden Sie den Konstruktor mit einem Location-Objekt.
ParameterBeschreibung
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ückBeschreibung
SymbolInformation

Eigenschaften

Der Name des Symbols, das dieses Symbol enthält.

Die Art dieses Symbols.

Die Position dieses Symbols.

Der Name dieses Symbols.

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

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

Tabs, die sich geändert haben, z.B. ihren aktiven Zustand geändert haben.

Die Tabs, die geschlossen wurden.

Die Tabs, die geöffnet wurden.

TabGroup

Stellt eine Gruppe von Tabs dar. Eine Tab-Gruppe besteht selbst aus mehreren Tabs.

Eigenschaften

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

Die Liste der Tabs, die in der Gruppe enthalten sind. Diese kann leer sein, wenn die Gruppe keine offenen Tabs hat.

Die Ansichtsspalte der Gruppe.

TabGroupChangeEvent

Ein Ereignis, das Änderungen an Tab-Gruppen beschreibt.

Eigenschaften

Geänderte Tab-Gruppen, z.B. die ihren aktiven Zustand geändert haben.

Geschlossene Tab-Gruppen.

Geöffnete Tab-Gruppen.

TabGroups

Stellt den Haupteditorbereich dar, der aus mehreren Gruppen besteht, die Tabs enthalten.

Events

Ein Ereignis, das ausgelöst wird, wenn sich Tab-Gruppen geändert haben.

Ein Ereignis, das ausgelöst wird, wenn sich Tabs geändert haben.

Eigenschaften

Die aktuell aktive Gruppe.

Alle Gruppen im Gruppencontainer.

Methoden

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.

ParameterBeschreibung
tab: Tab | readonly Tab[]

Der zu schließende Tab.

preserveFocus?: boolean

Wenn true, bleibt der Fokus an seiner aktuellen Position. Wenn false, springt er zum nächsten Tab.

Gibt zurückBeschreibung
Thenable<boolean>

Ein Promise, das mit true aufgelöst wird, wenn alle Tabs geschlossen wurden.

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.

ParameterBeschreibung
tabGroup: TabGroup | readonly TabGroup[]

Die zu schließende Tab-Gruppe.

preserveFocus?: boolean

Wenn true, bleibt der Fokus an seiner aktuellen Position.

Gibt zurückBeschreibung
Thenable<boolean>

Ein Promise, das mit true aufgelöst wird, wenn alle Tab-Gruppen geschlossen wurden.

TabInputCustom

Der Tab stellt einen benutzerdefinierten Editor dar.

Konstruktoren

Erstellt eine benutzerdefinierte Tab-Eingabe.

ParameterBeschreibung
uri: Uri

Die URI des Tabs.

viewType: string

Der Viewtyp des benutzerdefinierten Editors.

Gibt zurückBeschreibung
TabInputCustom

Eigenschaften

Die URI, die der Tab darstellt.

Der Typ des benutzerdefinierten Editors.

TabInputNotebook

Der Tab stellt ein Notebook dar.

Konstruktoren

Erstellt eine neue Tab-Eingabe für ein Notebook.

ParameterBeschreibung
uri: Uri

Die URI des Notebooks.

notebookType: string

Der Typ des Notebooks. Entspricht NotebookDocuments's notebookType

Gibt zurückBeschreibung
TabInputNotebook

Eigenschaften

Der Typ des Notebooks. Entspricht NotebookDocuments's notebookType

Die URI, die der Tab darstellt.

TabInputNotebookDiff

Die Tabs stellen zwei Notebooks in einer Diff-Konfiguration dar.

Konstruktoren

Erstellt eine Notebook-Diff-Tab-Eingabe.

ParameterBeschreibung
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ückBeschreibung
TabInputNotebookDiff

Eigenschaften

Die URI des geänderten Notebooks.

Der Typ des Notebooks. Entspricht NotebookDocuments's notebookType

Die URI des ursprünglichen Notebooks.

TabInputTerminal

Der Tab stellt ein Terminal im Editorbereich dar.

Konstruktoren

Erstellt eine Terminal-Tab-Eingabe.

ParameterBeschreibung
Gibt zurückBeschreibung
TabInputTerminal

TabInputText

Der Tab stellt eine einzelne textbasierte Ressource dar.

Konstruktoren

Erstellt eine Text-Tab-Eingabe mit der angegebenen URI.

ParameterBeschreibung
uri: Uri

Die URI des Tabs.

Gibt zurückBeschreibung
TabInputText

Eigenschaften

Die von dem Tab dargestellte URI.

TabInputTextDiff

Der Tab stellt zwei textbasierte Ressourcen dar, die als Diff gerendert werden.

Konstruktoren

Erstellt eine neue Text-Diff-Tab-Eingabe mit den angegebenen URIs.

ParameterBeschreibung
original: Uri

Die URI der ursprünglichen Textressource.

modified: Uri

Die URI der geänderten Textressource.

Gibt zurückBeschreibung
TabInputTextDiff

Eigenschaften

Die URI der geänderten Textressource.

Die URI der ursprünglichen Textressource.

TabInputWebview

Der Tab stellt eine Webview dar.

Konstruktoren

Erstellt eine Webview-Tab-Eingabe mit dem angegebenen Viewtyp.

ParameterBeschreibung
viewType: string

Der Typ der Webview. Entspricht WebviewPanel's viewType

Gibt zurückBeschreibung
TabInputWebview

Eigenschaften

Der Typ der Webview. Entspricht WebviewPanel's viewType

Task

Eine auszuführende Aufgabe.

Konstruktoren

Erstellt eine neue Aufgabe.

ParameterBeschreibung
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ückBeschreibung
Task

Erstellt eine neue Aufgabe.

  • veraltet - Verwenden Sie die neuen Konstruktoren, die die Angabe eines Geltungsbereichs für die Aufgabe ermöglichen.
ParameterBeschreibung
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ückBeschreibung
Task

Eigenschaften

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.

Die Ausführungs-Engine der Aufgabe.

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.

Die Präsentationsoptionen. Standardmäßig ein leeres Literal.

Die der Aufgabe zugeordneten Problem-Matcher. Standardmäßig ein leeres Array.

Ausführungsoptionen für die Aufgabe.

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

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

Die gestartete Aufgabe.

Methoden

Beendet die Aufgaben-Ausführung.

ParameterBeschreibung
Gibt zurückBeschreibung
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

Die Build-Aufgaben-Gruppe.

Die Clean-Aufgaben-Gruppe.

Die Rebuild-All-Aufgaben-Gruppe.

Die Test-All-Aufgaben-Gruppe.

Konstruktoren

Privater Konstruktor.

ParameterBeschreibung
id: string

Identifikator einer Aufgaben-Gruppe.

label: string

Der menschenlesbare Name einer Aufgaben-Gruppe.

Gibt zurückBeschreibung
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.

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

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

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

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

Bietet Aufgaben an.

ParameterBeschreibung
token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<T[]>

Ein Array von Aufgaben

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.

ParameterBeschreibung
task: T

Die aufzulösende Aufgabe.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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

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

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.

ParameterBeschreibung
Gibt zurückBeschreibung
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.

ParameterBeschreibung
eventName: string

Der zu protokollierende Ereignisname

data?: Record<string, any>

Die zu protokollierenden Daten

Gibt zurückBeschreibung
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.

ParameterBeschreibung
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ückBeschreibung
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.

ParameterBeschreibung
eventName: string

Der zu protokollierende Ereignisname

data?: Record<string, any>

Die zu protokollierenden Daten

Gibt zurückBeschreibung
void

TelemetryLoggerOptions

Optionen zum Erstellen eines TelemetryLogger

Eigenschaften

Zusätzliche allgemeine Eigenschaften, die in das Datenobjekt eingefügt werden sollen.

Ob die integrierten allgemeinen Eigenschaften (wie Betriebssystem, Erweiterungsname usw.) in das Datenobjekt eingefügt werden sollen. Standardmäßig false, wenn nicht definiert.

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

Optionale Flush-Funktion, die diesem Sender die Möglichkeit gibt, alle verbleibenden Ereignisse zu senden, während sein TelemetryLogger geschlossen wird.

ParameterBeschreibung
Gibt zurückBeschreibung
void | Thenable<void>

Funktion zum Senden eines Fehlers. Wird innerhalb eines TelemetryLogger verwendet.

ParameterBeschreibung
error: Error

Der zu protokollierende Fehler

data?: Record<string, any>

Zusätzliche Daten, die mit der Ausnahme gesammelt werden sollen

Gibt zurückBeschreibung
void

Funktion zum Senden von Ereignisdaten ohne Stacktrace. Wird innerhalb eines TelemetryLogger verwendet.

ParameterBeschreibung
eventName: string

Der Name des Ereignisses, das Sie protokollieren

data?: Record<string, any>

Ein serialisierbares Schlüssel-Wert-Paar, das protokolliert wird

Gibt zurückBeschreibung
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

Erstellt einen neuen Telemetrie-vertrauenswürdigen Wert.

ParameterBeschreibung
value: T

Ein zu vertrauender Wert

Gibt zurückBeschreibung
TelemetryTrustedValue<T>

Eigenschaften

Der Wert, dem vertraut wird, dass er keine PII enthält.

Terminal

Eine einzelne Terminalinstanz innerhalb des integrierten Terminals.

Eigenschaften

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.

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.

Die Prozess-ID der Shell.

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.

Der aktuelle Zustand des Terminals.

Methoden

Ressourcen freigeben und zugehörige Ressourcen bereinigen.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Blendet das Terminalfenster aus, wenn dieses Terminal gerade angezeigt wird.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Sendet Text an das Terminal. Der Text wird in die Standardeingabe des zugrunde liegenden PTY-Prozesses (Shell) des Terminals geschrieben.

ParameterBeschreibung
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 \n oder \r\n, je nach Plattform. Standardmäßig true.

Gibt zurückBeschreibung
void

Zeigt das Terminalfenster an und macht dieses Terminal in der Benutzeroberfläche sichtbar.

ParameterBeschreibung
preserveFocus?: boolean

Wenn true, wird der Fokus nicht auf das Terminal gelegt.

Gibt zurückBeschreibung
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.

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.

Der Grund, der zum Beenden eines Terminals geführt hat.

Ein Link in einer Terminalzeile.

Konstruktoren

Erstellt einen neuen Terminal-Link.

ParameterBeschreibung
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. {0} (strg + klick). Die spezifischen Anweisungen variieren je nach Betriebssystem, Benutzereinstellungen und Lokalisierung.

Gibt zurückBeschreibung
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.

Das Terminal, zu dem der Link gehört.

TerminalLinkProvider<T>

Ein Anbieter, der die Erkennung und Handhabung von Links in Terminals ermöglicht.

Methoden

Behandelt einen aktivierten Terminal-Link.

ParameterBeschreibung
link: T

Der zu behandelnde Link.

Gibt zurückBeschreibung
ProviderResult<void>

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.

ParameterBeschreibung
context: TerminalLinkContext

Informationen darüber, für was Links bereitgestellt werden.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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

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.

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.

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.

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.

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

Erstellt ein neues Terminalprofil.

ParameterBeschreibung
options: TerminalOptions | ExtensionTerminalOptions

Die Optionen, mit denen das Terminal gestartet wird.

Gibt zurückBeschreibung
TerminalProfile

Eigenschaften

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

Stellt das Terminalprofil bereit.

ParameterBeschreibung
token: CancellationToken

Ein Abbruch-Token, das anzeigt, dass das Ergebnis nicht mehr benötigt wird.

Gibt zurückBeschreibung
ProviderResult<TerminalProfile>

Das Terminalprofil.

TerminalShellExecution

Ein Befehl, der in einem Terminal ausgeführt wurde.

Eigenschaften

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');
}

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);
}
ParameterBeschreibung
Gibt zurückBeschreibung
AsyncIterable<string>

TerminalShellExecutionCommandLine

Eine Befehlszeile, die in einem Terminal ausgeführt wurde.

Eigenschaften

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

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');
    }
  }
});

Das Shell-Integrations-Objekt.

Das Terminal, in dem die Shell-Integration aktiviert wurde.

TerminalShellExecutionStartEvent

Ein Ereignis, das signalisiert, dass eine Ausführung in einem Terminal gestartet wurde.

Eigenschaften

Die Terminal-Shell-Ausführung, die beendet wurde.

Das Shell-Integrations-Objekt.

Das Terminal, in dem die Shell-Integration aktiviert wurde.

TerminalShellIntegration

Shell-Integration-gestützte Funktionen, die einem Terminal gehören.

Eigenschaften

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

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.
}
ParameterBeschreibung
commandLine: string

Die auszuführende Befehlszeile, dies ist der exakte Text, der an das Terminal gesendet wird.

Gibt zurückBeschreibung
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.
}
ParameterBeschreibung
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 $(...) in Shells häufig verwendet werden können, um Code innerhalb einer Zeichenfolge auszuführen.

Gibt zurückBeschreibung
TerminalShellExecution

TerminalShellIntegrationChangeEvent

Ein Ereignis, das signalisiert, dass sich die Shell-Integration eines Terminals geändert hat.

Eigenschaften

Das Shell-Integrations-Objekt.

Das Terminal, in dem die Shell-Integration aktiviert wurde.

TerminalSplitLocationOptions

Verwendet den Speicherort des Eltern-Terminal für das Terminal.

Eigenschaften

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.

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.

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.

ParameterBeschreibung
token: CancellationToken
Gibt zurückBeschreibung
void | Thenable<void>

Ein Thenable, der aufgelöst wird, wenn Tests aktualisiert wurden.

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.

ParameterBeschreibung
item: TestItem

Ein unaufgelöstes Testelement, für das Kinder angefordert werden, oder undefined, um die anfänglichen items des Controllers aufzulösen.

Gibt zurückBeschreibung
void | Thenable<void>

Methoden

Erstellt ein Profil zum Ausführen von Tests. Erweiterungen müssen mindestens ein Profil erstellen, damit Tests ausgeführt werden können.

ParameterBeschreibung
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ückBeschreibung
TestRunProfile

Eine Instanz eines TestRunProfile, die automatisch mit diesem Controller verknüpft ist.

Erstellt eine neue verwaltete TestItem-Instanz. Sie kann in die TestItem.children eines vorhandenen Elements oder in die TestController.items eingefügt werden.

ParameterBeschreibung
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ückBeschreibung
TestItem

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.

ParameterBeschreibung
request: TestRunRequest

Anforderung für einen Testlauf. Nur Tests innerhalb von include können geändert werden, und Tests in exclude werden ignoriert.

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 false sein, wenn die Ergebnisse aus einer bereits extern gespeicherten Datei stammen, z. B. einer Codeabdeckungsinformationsdatei.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
Gibt zurückBeschreibung
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.

ParameterBeschreibung
items?: TestItem | readonly TestItem[]

Element, das als veraltet markiert werden soll. Wenn undefiniert, werden alle Elemente des Controllers als veraltet markiert.

Gibt zurückBeschreibung
void

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

ParameterBeschreibung
covered: number
total: number
Gibt zurückBeschreibung
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.

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.

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.

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.

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, die mit diesem Testelement verknüpft sind. Kann in Kombination mit tags verwendet werden oder einfach als organisatorisches Merkmal dienen.

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

Fügt das Testelement zu den Unterelementen hinzu. Wenn bereits ein Element mit derselben ID vorhanden ist, wird es ersetzt.

ParameterBeschreibung
item: TestItem

Hinzuzufügendes Element.

Gibt zurückBeschreibung
void

Entfernt ein einzelnes Testelement aus der Sammlung.

ParameterBeschreibung
itemId: string

Zu löschende Element-ID.

Gibt zurückBeschreibung
void

Iteriert über jeden Eintrag in dieser Sammlung.

ParameterBeschreibung
callback: (item: TestItem, collection: TestItemCollection) => unknown

Funktion, die für jeden Eintrag ausgeführt werden soll.

thisArg?: any

Der this-Kontext, der beim Aufruf der Handlerfunktion verwendet wird.

Gibt zurückBeschreibung
void

Ruft effizient ein Testelement anhand der ID ab, falls es in den Unterelementen vorhanden ist.

ParameterBeschreibung
itemId: string

Zu abzurufende Element-ID.

Gibt zurückBeschreibung
TestItem

Das gefundene Element oder undefiniert, wenn es nicht existiert.

Ersetzt die von der Sammlung gespeicherten Elemente.

ParameterBeschreibung
items: readonly TestItem[]

Zu speichernde Elemente.

Gibt zurückBeschreibung
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

Erstellt eine neue TestMessage, die als Unterschied in der Editoransicht angezeigt wird.

ParameterBeschreibung
message: string | MarkdownString

Nachricht, die dem Benutzer angezeigt werden soll.

expected: string

Erwartete Ausgabe.

actual: string

Tatsächliche Ausgabe.

Gibt zurückBeschreibung
TestMessage

Konstruktoren

Erstellt eine neue TestMessage-Instanz.

ParameterBeschreibung
message: string | MarkdownString

Die dem Benutzer anzuzeigende Nachricht.

Gibt zurückBeschreibung
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 Ergebnisbaum
  • testing/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:

Erwartete Testausgabe. Wenn zusammen mit actualOutput angegeben, wird eine Diff-Ansicht angezeigt.

Zugehöriger Dateispeicherort.

Für die Anzeige bestimmter menschenlesbarer Nachrichtentext.

Der Stack-Trace, der mit der Nachricht oder dem Fehler verknüpft ist.

TestMessageStackFrame

Ein Stack-Frame, der in TestMessage.stackTrace gefunden wurde.

Konstruktoren

ParameterBeschreibung
label: string

Der Name des Stack-Frames.

uri?: Uri
position?: Position

Die Position des Stack-Frames in der Datei.

Gibt zurückBeschreibung
TestMessageStackFrame

Eigenschaften

Der Name des Stack-Frames, typischerweise ein Methoden- oder Funktionsname.

Position des Stack-Frames innerhalb der Datei.

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

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.

Ein Abbruch-Token, das ausgelöst wird, wenn der Testlauf über die Benutzeroberfläche abgebrochen wird.

Methoden

Fügt die Abdeckung für eine Datei im Lauf hinzu.

ParameterBeschreibung
fileCoverage: FileCoverage
Gibt zurückBeschreibung
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.

ParameterBeschreibung
output: string

Zu verknüpfender Ausgabetext.

location?: Location

Gibt an, dass die Ausgabe an dem angegebenen Speicherort protokolliert wurde.

test?: TestItem

Zu verknüpfendes Testelement.

Gibt zurückBeschreibung
void

Signalisiert das Ende des Testlaufs. Alle Tests, die in den Lauf aufgenommen wurden und deren Status noch nicht aktualisiert wurde, werden zurückgesetzt.

ParameterBeschreibung
Gibt zurückBeschreibung
void

Zeigt an, dass ein Test zur späteren Ausführung in die Warteschlange gestellt wurde.

ParameterBeschreibung
test: TestItem

Zu aktualisierendes Testelement.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
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ückBeschreibung
void

Zeigt an, dass ein Test fehlgeschlagen ist. Sie sollten eine oder mehrere TestMessages übergeben, um den Fehler zu beschreiben.

ParameterBeschreibung
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ückBeschreibung
void

Zeigt an, dass ein Test bestanden wurde.

ParameterBeschreibung
test: TestItem

Zu aktualisierendes Testelement.

duration?: number

Wie lange die Ausführung des Tests gedauert hat, in Millisekunden.

Gibt zurückBeschreibung
void

Zeigt an, dass ein Test übersprungen wurde.

ParameterBeschreibung
test: TestItem

Zu aktualisierendes Testelement.

Gibt zurückBeschreibung
void

Zeigt an, dass ein Test mit der Ausführung begonnen hat.

ParameterBeschreibung
test: TestItem

Zu aktualisierendes Testelement.

Gibt zurückBeschreibung
void

TestRunProfile

Ein TestRunProfile beschreibt eine Möglichkeit, Tests in einem TestController auszuführen.

Events

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.

ParameterBeschreibung
Gibt zurückBeschreibung
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.

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.

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.

ParameterBeschreibung
testRun: TestRun
fileCoverage: FileCoverage
token: CancellationToken
Gibt zurückBeschreibung
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.

ParameterBeschreibung
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ückBeschreibung
Thenable<FileCoverageDetail[]>

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.

ParameterBeschreibung
request: TestRunRequest

Anforderungsinformationen für den Testlauf.

token: CancellationToken
Gibt zurückBeschreibung
void | Thenable<void>

Ob dieses Profil kontinuierliche Ausführungen von Anfragen unterstützt. Wenn ja, kann TestRunRequest.continuous auf true gesetzt werden. Standardmäßig false.

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.

ParameterBeschreibung
Gibt zurückBeschreibung
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

ParameterBeschreibung
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ückBeschreibung
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.

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.

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.

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

Erstellt eine neue TestTag-Instanz.

ParameterBeschreibung
id: string

ID des Test-Tags.

Gibt zurückBeschreibung
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'.

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.

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

Gibt den Text dieses Dokuments zurück. Ein Unterabschnitt kann durch Angabe eines Bereichs abgerufen werden. Der Bereich wird angepasst.

ParameterBeschreibung
range?: Range

Nur den im Bereich enthaltenen Text einbeziehen.

Gibt zurückBeschreibung
string

Der Text innerhalb des angegebenen Bereichs oder der gesamte Text.

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.

ParameterBeschreibung
position: Position

Eine Position.

regex?: RegExp

Optionaler regulärer Ausdruck, der beschreibt, was ein Wort ist.

Gibt zurückBeschreibung
Bereich

Ein Bereich, der ein Wort umspannt, oder undefiniert.

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.

ParameterBeschreibung
line: number

Eine Zeilennummer im Bereich [0, lineCount).

Gibt zurückBeschreibung
TextLine

Eine Zeile.

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

ParameterBeschreibung
position: Position

Eine Position.

Gibt zurückBeschreibung
TextLine

Eine Zeile.

Konvertiert die Position in einen nullbasierten Offset.

Die Position wird angepasst.

ParameterBeschreibung
position: Position

Eine Position.

Gibt zurückBeschreibung
number

Ein gültiger nullbasierter Offset in UTF-16 Codeeinheiten.

Konvertiert einen nullbasierten Offset in eine Position.

ParameterBeschreibung
offset: number

Ein nullbasierter Offset im Dokument. Dieser Offset ist in UTF-16 Codeeinheiten.

Gibt zurückBeschreibung
Position

Eine gültige Position.

Speichert die zugrunde liegende Datei.

ParameterBeschreibung
Gibt zurückBeschreibung
Thenable<boolean>

Ein Promise, das mit true aufgelöst wird, wenn die Datei gespeichert wurde. Wenn das Speichern fehlschlägt, wird false zurückgegeben.

Stellt sicher, dass eine Position im Bereich dieses Dokuments enthalten ist.

ParameterBeschreibung
position: Position

Eine Position.

Gibt zurückBeschreibung
Position

Die angegebene Position oder eine neue, angepasste Position.

Stellt sicher, dass ein Bereich vollständig in diesem Dokument enthalten ist.

ParameterBeschreibung
range: Range

Ein Bereich.

Gibt zurückBeschreibung
Bereich

Der angegebene Bereich oder ein neuer, angepasster Bereich.

TextDocumentChangeEvent

Ein Ereignis, das eine transaktionale Dokumentenänderung beschreibt.

Eigenschaften

Ein Array von Inhaltsänderungen.

Das betroffene Dokument.

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

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

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.

ParameterBeschreibung
uri: Uri

Eine URI, deren Schema mit dem Schema übereinstimmt, für das dieser Anbieter registriert wurde.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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

Stellt Optionen zur Konfiguration des Verhaltens beim Anzeigen eines Dokuments in einem Editor dar.

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.

Eine optionale Auswahl, die für das Dokument im Editor angewendet werden soll.

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

Das zu speichernde Dokument.

Der Grund, warum das Speichern ausgelöst wurde.

Methoden

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);
});
ParameterBeschreibung
thenable: Thenable<readonly TextEdit[]>

Ein Promise, das zu Vorspeicherungsbearbeitungen aufgelöst wird.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
thenable: Thenable<any>

Ein Thenable, der das Speichern verzögert.

Gibt zurückBeschreibung
void

TextEdit

Ein TextEdit repräsentiert Bearbeitungen, die an einem Dokument vorgenommen werden sollen.

Statisch

Hilfsfunktion zum Erstellen einer Löschbearbeitung.

ParameterBeschreibung
range: Range

Ein Bereich.

Gibt zurückBeschreibung
TextEdit

Ein neues TextEdit-Objekt.

Hilfsfunktion zum Erstellen einer Einfügebearbeitung.

ParameterBeschreibung
position: Position

Eine Position, die zu einem leeren Bereich wird.

newText: string

Eine Zeichenkette.

Gibt zurückBeschreibung
TextEdit

Ein neues TextEdit-Objekt.

Hilfsfunktion zum Erstellen einer Ersetzungsbearbeitung.

ParameterBeschreibung
range: Range

Ein Bereich.

newText: string

Eine Zeichenkette.

Gibt zurückBeschreibung
TextEdit

Ein neues TextEdit-Objekt.

Hilfsfunktion zum Erstellen einer EOL-Bearbeitung.

ParameterBeschreibung
eol: EndOfLine

Eine EOL-Sequenz

Gibt zurückBeschreibung
TextEdit

Ein neues TextEdit-Objekt.

Konstruktoren

Erstellt einen neuen TextEdit.

ParameterBeschreibung
range: Range

Ein Bereich.

newText: string

Eine Zeichenkette.

Gibt zurückBeschreibung
TextEdit

Eigenschaften

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.

Der Bereich, auf den sich diese Bearbeitung bezieht.

TextEditor

Stellt einen Editor dar, der an ein Dokument gebunden ist.

Eigenschaften

Das diesem Texteditor zugeordnete Dokument. Das Dokument bleibt während der gesamten Lebensdauer dieses Texteditors dasselbe.

Texteditor-Optionen.

Die primäre Auswahl in diesem Texteditor. Kurzform für TextEditor.selections[0].

Die Auswahlen in diesem Texteditor. Die primäre Auswahl befindet sich immer an Index 0.

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.

Die aktuell sichtbaren Bereiche im Editor (vertikal). Dies berücksichtigt nur das vertikale Scrollen und nicht das horizontale Scrollen.

Methoden

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.

ParameterBeschreibung
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ückBeschreibung
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.
ParameterBeschreibung
Gibt zurückBeschreibung
void

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.

ParameterBeschreibung
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ückBeschreibung
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.

Scrolle wie von revealType angegeben, um den angegebenen Bereich sichtbar zu machen.

ParameterBeschreibung
range: Range

Ein Bereich.

revealType?: TextEditorRevealType

Die Scrollstrategie zum Sichtbarmachen von range.

Gibt zurückBeschreibung
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.

ParameterBeschreibung
decorationType: TextEditorDecorationType

Ein Dekorationstyp.

rangesOrOptions: readonly Range[] | readonly DecorationOptions[]

Entweder Bereiche oder detailliertere Optionen.

Gibt zurückBeschreibung
void

Zeigt den Texteditor an.

ParameterBeschreibung
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ückBeschreibung
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.

ParameterBeschreibung
Gibt zurückBeschreibung
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

Löscht einen bestimmten Textbereich.

ParameterBeschreibung
location: Range | Selection

Der Bereich, den diese Operation entfernen soll.

Gibt zurückBeschreibung
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).

ParameterBeschreibung
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ückBeschreibung
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.

ParameterBeschreibung
location: Range | Position | Selection

Der Bereich, den diese Operation entfernen soll.

value: string

Der neue Text, der nach dem Entfernen von location eingefügt werden soll.

Gibt zurückBeschreibung
void

Setzt die Zeilenende-Sequenz.

ParameterBeschreibung
endOfLine: EndOfLine

Das neue Zeilenende für das Dokument.

Gibt zurückBeschreibung
void

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

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.

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.

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 indentSize auf "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

Der neue Wert für die Optionen des Texteditors.

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

Die Art der Änderung, die dieses Ereignis ausgelöst hat. Kann undefined sein.

Der neue Wert für die Auswahlen des Texteditors.

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

Der Texteditor, dessen Ansichtssäule sich geändert hat.

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

Der Texteditor, dessen sichtbare Bereiche sich geändert haben.

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

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.

Der Bereich, den diese Zeile ohne die Zeilenumbruchzeichen abdeckt.

Der Bereich, den diese Zeile einschließlich der Zeilenumbruchzeichen abdeckt.

Der Text dieser Zeile ohne die Zeilenumbruchzeichen.

ThemableDecorationAttachmentRenderOptions

Stellt themenspezifische Darstellungsstile für vor und nach dem Inhalt von Textdekorationen dar.

Eigenschaften

CSS-Stileigenschaft, die auf den Dekorationshintergrund angewendet wird.

CSS-Stileigenschaft, die auf den Dekorationshintergrund angewendet wird.

CSS-Styling-Eigenschaft, die auf Text angewendet wird, der von einer Dekoration umschlossen ist.

CSS-Stileigenschaft, die auf den Dekorationshintergrund angewendet wird.

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

Definiert die Renderoptionen für den Anhang, der nach dem dekorierten Text eingefügt wird.

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

Definiert die Renderoptionen für den Anhang, der nach dem dekorierten Text eingefügt wird.

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.

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.

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.

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.

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.

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.

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

Erstellt eine Referenz auf eine Theme-Farbe.

ParameterBeschreibung
id: string

der Farbe. Die verfügbaren Farben sind unter https://visualstudiocode.de/api/references/theme-color aufgeführt.

Gibt zurückBeschreibung
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

Referenz auf ein Symbol, das eine Datei darstellt. Das Symbol wird aus dem aktuellen Dateisymbol-Thema übernommen oder es wird ein Platzhaltersymbol verwendet.

Referenz auf ein Symbol, das einen Ordner darstellt. Das Symbol wird aus dem aktuellen Dateisymbol-Thema übernommen oder es wird ein Platzhaltersymbol verwendet.

Konstruktoren

Erstellt eine Referenz auf ein Theme-Symbol.

ParameterBeschreibung
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 ThemeColor für das Symbol. Die Farbe wird derzeit nur in TreeItem verwendet.

Gibt zurückBeschreibung
ThemeIcon

Eigenschaften

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

Die Elemente, die ausgewählt oder abgewählt wurden.

TreeDataProvider<T>

Ein Datenanbieter, der Baumdaten bereitstellt.

Events

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

Ruft die Kinder von element oder die Wurzel ab, wenn kein Element übergeben wird.

ParameterBeschreibung
element?: T

Das Element, von dem der Anbieter Kinder abruft. Kann undefined sein.

Gibt zurückBeschreibung
ProviderResult<T[]>

Kinder von element oder die Wurzel, wenn kein Element übergeben wird.

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.

ParameterBeschreibung
element: T

Das Element, für das das übergeordnete Element zurückgegeben werden soll.

Gibt zurückBeschreibung
ProviderResult<T>

Übergeordnetes Element von element.

Ruft die TreeItem-Darstellung des element ab.

ParameterBeschreibung
element: T

Das Element, für das die TreeItem-Darstellung angefordert wird.

Gibt zurückBeschreibung
TreeItem | Thenable<TreeItem>

TreeItem-Darstellung des Elements.

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.

ParameterBeschreibung
item: TreeItem

Undefinierte Eigenschaften von item sollten gesetzt werden, dann sollte item zurückgegeben werden.

element: T

Das dem TreeItem zugeordnete Objekt.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<TreeItem>

Das aufgelöste Baum-Element oder ein Thenable, das 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.

TreeDragAndDropController<T>

Bietet Unterstützung für Drag & Drop in TreeView.

Eigenschaften

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.

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

  1. Richten Sie Ihren DragAndDropController ein
  2. Verwenden Sie den Befehl Entwickler: Protokollierungsstufe festlegen..., um die Stufe auf "Debug" zu setzen
  3. Ö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

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.

ParameterBeschreibung
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ückBeschreibung
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.

ParameterBeschreibung
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ückBeschreibung
void | Thenable<void>

TreeItem

Ein Baum-Element ist ein UI-Element des Baums. Baum-Elemente werden vom Datenanbieter erstellt.

Konstruktoren

ParameterBeschreibung
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ückBeschreibung
TreeItem

ParameterBeschreibung
resourceUri: Uri

Die Uri der Ressource, die dieses Element repräsentiert.

collapsibleState?: TreeItemCollapsibleState

Der TreeItemCollapsibleState des Baum-Elements. Standard ist TreeItemCollapsibleState.None

Gibt zurückBeschreibung
TreeItem

Eigenschaften

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.

Der TreeItemCheckboxState des Baum-Elements. onDidChangeTreeData sollte ausgelöst werden, wenn sich der checkboxState ändert.

Der TreeItemCollapsibleState des Baum-Elements.

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.

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.

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.

Eine für Menschen lesbare Zeichenkette, die dieses Element beschreibt. Wenn falsy, wird sie aus resourceUri abgeleitet.

Die Uri der Ressource, die dieses Element repräsentiert.

Wird verwendet, um das Label abzuleiten, wenn es nicht angegeben ist. Wird verwendet, um das Icon aus dem aktuellen Dateisymbol-Thema abzuleiten, wenn iconPath einen ThemeIcon-Wert hat.

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

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

Ein Ereignis, das signalisiert, dass ein Element oder eine Wurzel entweder ausgewählt oder abgewählt wurde.

Ereignis, das ausgelöst wird, wenn sich die Auswahl geändert hat

Ereignis, das ausgelöst wird, wenn sich die Sichtbarkeit geändert hat

Ereignis, das ausgelöst wird, wenn ein Element zusammengeklappt wird

Ereignis, das ausgelöst wird, wenn ein Element aufgeklappt wird

Eigenschaften

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.

ParameterBeschreibung
Gibt zurückBeschreibung
any

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 TreeView registriert ist, muss die Methode getParent implementieren, um auf diese API zugreifen zu können.
ParameterBeschreibung
element: T
options?: {expand: number | boolean, focus: boolean, select: boolean}
Gibt zurückBeschreibung
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.

Eine optionale Schnittstelle zur Implementierung von Ziehen und Ablegen in der Baumansicht.

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

  1. Ein Baum-Element ist ausgewählt, dann werden seine Kinder abgerufen. Die Kinder werden ausgewählt.

  2. 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
  1. 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
  1. 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.

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

Stellt die Typdefinition des Symbols an der angegebenen Position und im Dokument bereit.

ParameterBeschreibung
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ückBeschreibung
ProviderResult<Definition | LocationLink[]>

Eine Definition oder ein Thenable, das sich zu einer solchen auflöst. Das Fehlen eines Ergebnisses kann durch Rückgabe von undefined oder null signalisiert werden.

TypeHierarchyItem

Stellt ein Element einer Typenhierarchie dar, z. B. eine Klasse oder eine Schnittstelle.

Konstruktoren

Erstellt ein neues Element für die Typenhierarchie.

ParameterBeschreibung
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ückBeschreibung
TypeHierarchyItem

Eigenschaften

Weitere Details zu diesem Element, z. B. die Signatur einer Funktion.

Die Art dieses Elements.

Der Name dieses Elements.

Der Bereich, der dieses Symbol umschließt, ohne führende/nachfolgende Leerzeichen, aber alles andere, z. B. Kommentare und Code.

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 für dieses Element.

Die Ressourcenkennung dieses Elements.

TypeHierarchyProvider

Die Schnittstelle TypeHierarchyProvider beschreibt den Vertrag zwischen Erweiterungen und der Funktion der Typenhierarchie.

Methoden

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.

ParameterBeschreibung
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ückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

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.

ParameterBeschreibung
item: TypeHierarchyItem

Das Hierarchieelement, für das Untertypen berechnet werden sollen.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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 undefined oder null signalisiert werden.

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.

ParameterBeschreibung
item: TypeHierarchyItem

Das Hierarchieelement, für das Obertypen berechnet werden sollen.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
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 undefined oder null signalisiert werden.

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

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';
ParameterBeschreibung
path: string

Ein Dateisystem- oder UNC-Pfad.

Gibt zurückBeschreibung
Uri

Eine neue Uri-Instanz.

Erstellt eine URI aus ihren Bestandteilen

Siehe auch Uri.toString

ParameterBeschreibung
components: {authority: string, fragment: string, path: string, query: string, scheme: string}

Die Bestandteile einer Uri.

Gibt zurückBeschreibung
Uri

Eine neue Uri-Instanz.

Erstellt eine neue URI, deren Pfad das Ergebnis der Verknüpfung des Pfades der Basis-URI mit den angegebenen Pfadsegmenten ist.

  • Hinweis 1: joinPath beeinflusst 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'.
ParameterBeschreibung
base: Uri

Eine URI. Muss einen Pfad haben.

...pathSegments: string[]

Ein oder mehrere Pfadfragmente.

Gibt zurückBeschreibung
Uri

Eine neue URI, deren Pfad mit den angegebenen Fragmenten verknüpft ist.

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

ParameterBeschreibung
value: string

Der Zeichenkettenwert einer Uri.

strict?: boolean

Löst einen Fehler aus, wenn value leer ist oder kein scheme geparst werden kann.

Gibt zurückBeschreibung
Uri

Eine neue Uri-Instanz.

Konstruktoren

Verwenden Sie die Factory-Funktionen file und parse, um neue Uri-Objekte zu erstellen.

ParameterBeschreibung
scheme: string
authority: string
path: string
query: string
fragment: string
Gibt zurückBeschreibung
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 readFile usw. 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.

ParameterBeschreibung
Gibt zurückBeschreibung
any

Ein Objekt.

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).

ParameterBeschreibung
skipEncoding?: boolean

Prozentuale Kodierung des Ergebnisses nicht durchführen, Standard ist false. Beachten Sie, dass die Zeichen # und ? im Pfad immer kodiert werden.

Gibt zurückBeschreibung
string

Eine Zeichenkettenrepräsentation dieser 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');
ParameterBeschreibung
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 null oder die leere Zeichenkette.

Gibt zurückBeschreibung
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

Verarbeitet die bereitgestellte systemweite Uri.

Siehe auch window.registerUriHandler.

ParameterBeschreibung
uri: Uri
Gibt zurückBeschreibung
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

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.

Inhaltseinstellungen für den Webview.

Methoden

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')
)}">`;
ParameterBeschreibung
localResource: Uri
Gibt zurückBeschreibung
Uri

Sendet eine Nachricht an den Webview-Inhalt.

Nachrichten werden nur zugestellt, wenn der Webview aktiv ist (entweder sichtbar oder im Hintergrund mit retainContextWhenHidden).

ParameterBeschreibung
message: any

Nachrichtentext. Dies muss eine Zeichenkette oder ein anderes JSON-serialisierbares Objekt sein.

Für ältere Versionen von VS Code wird ein ArrayBuffer in message nicht korrekt serialisiert und nicht vom Webview empfangen. Ebenso werden alle TypedArrays, wie z.B. ein Uint8Array, sehr ineffizient serialisiert und werden auch nicht als TypedArray innerhalb des Webviews neu erstellt.

Wenn Ihre Erweiterung jedoch VS Code 1.57+ im Feld engines ihrer package.json anvisiert, werden ArrayBuffer-Werte, die in message vorkommen, effizienter an den Webview übertragen und auch innerhalb des Webviews korrekt neu erstellt.

Gibt zurückBeschreibung
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 true zurück, wenn die Nachricht an den Webview gesendet wurde. Nachrichten können nur an aktive Webviews gesendet werden (d.h. entweder sichtbare Webviews oder versteckte Webviews, die retainContextWhenHidden gesetzt haben).

Eine Antwort von true bedeutet nicht, dass die Nachricht tatsächlich vom Webview empfangen wurde. Zum Beispiel sind möglicherweise keine Nachrichten-Listener im Webview eingerichtet oder der Webview wurde zerstört, nachdem die Nachricht gesendet, aber bevor sie empfangen wurde.

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

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).

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.

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

Wird ausgelöst, wenn sich der Ansichtszustand des Panels ändert.

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).

Symbol für das Panel, das in der Benutzeroberfläche angezeigt wird.

Inhaltseinstellungen für das Webview-Panel.

Titel des Panels, der in der Benutzeroberfläche angezeigt wird.

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, 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.

ParameterBeschreibung
Gibt zurückBeschreibung
any

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.

ParameterBeschreibung
viewColumn?: ViewColumn

Ansichtsspalte, in der das Panel angezeigt werden soll. Wird in der aktuellen viewColumn angezeigt, wenn nicht definiert.

preserveFocus?: boolean

Wenn true, behält das Webview den Fokus nicht.

Gibt zurückBeschreibung
void

WebviewPanelOnDidChangeViewStateEvent

Ereignis, das ausgelöst wird, wenn sich der Ansichtszustand eines Webview-Panels ändert.

Eigenschaften

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.

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

Stellt ein Webview-Panel aus seinem serialisierten state wieder her.

Wird aufgerufen, wenn ein serialisiertes Webview zum ersten Mal sichtbar wird.

ParameterBeschreibung
webviewPanel: WebviewPanel

Webview-Panel zum Wiederherstellen. Der Serializer sollte die Verantwortung für dieses Panel übernehmen. Der Serializer muss das .html des Webviews wiederherstellen und alle Webview-Ereignisse abonnieren.

state: T

Persistenter Zustand aus dem Webview-Inhalt.

Gibt zurückBeschreibung
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

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.

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

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.

Die zugrunde liegende Webview für die Ansicht.

Methoden

Zeigt die Ansicht in der Benutzeroberfläche an.

Wenn die Ansicht eingeklappt ist, wird sie dadurch erweitert.

ParameterBeschreibung
preserveFocus?: boolean

Wenn true, behält die Ansicht den Fokus nicht.

Gibt zurückBeschreibung
void

WebviewViewProvider

Provider zum Erstellen von WebviewView-Elementen.

Methoden

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.

ParameterBeschreibung
webviewView: WebviewView

Webview-Ansicht zur Wiederherstellung. Der Provider übernimmt das Eigentum an dieser Ansicht. Der Provider muss das .html der Webview festlegen und alle Webview-Ereignisse einbinden, an denen er interessiert ist.

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ückBeschreibung
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:

  1. defaultValue (wenn in package.json definiert, andernfalls abgeleitet vom Typ des Werts)
  2. globalValue (falls definiert)
  3. workspaceValue (falls definiert)
  4. workspaceFolderValue (falls definiert)
  5. defaultLanguageValue (falls definiert)
  6. globalLanguageValue (falls definiert)
  7. workspaceLanguageValue (falls definiert)
  8. 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.

ParameterBeschreibung
section: string

Konfigurationsname, unterstützt *punktuelle* Namen.

Gibt zurückBeschreibung
T

Der Wert section bezeichnet oder undefined.

Gibt einen Wert aus dieser Konfiguration zurück.

ParameterBeschreibung
section: string

Konfigurationsname, unterstützt *punktuelle* Namen.

standardwert: T

Ein Wert sollte zurückgegeben werden, wenn kein Wert gefunden werden konnte, ist undefined.

Gibt zurückBeschreibung
T

Der Wert section bezeichnet oder den Standardwert.

Überprüft, ob diese Konfiguration einen bestimmten Wert hat.

ParameterBeschreibung
section: string

Konfigurationsname, unterstützt *punktuelle* Namen.

Gibt zurückBeschreibung
boolean

true, wenn der Abschnitt nicht zu undefined aufgelöst wird.

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.

ParameterBeschreibung
section: string

Konfigurationsname, unterstützt *punktuelle* Namen.

Gibt zurückBeschreibung
{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 undefined.

Aktualisiert einen Konfigurationswert. Die aktualisierten Konfigurationswerte werden gespeichert.

Ein Wert kann geändert werden in

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.
ParameterBeschreibung
section: string

Konfigurationsname, unterstützt *punktuelle* Namen.

value: any

Der neue Wert.

configurationTarget?: boolean | ConfigurationTarget

Das Konfigurationsziel oder ein boolescher Wert. – Wenn true, werden die globalen Einstellungen aktualisiert. – Wenn false, werden die Arbeitsbereichseinstellungen aktualisiert. – Wenn undefined oder null, wird zu den Arbeitsbereichsordnereinstellungen aktualisiert, wenn die Konfiguration ressourcenspezifisch ist, andernfalls zu den Arbeitsbereichseinstellungen.

overrideInLanguage?: boolean

Ob der Wert im Geltungsbereich der angeforderten languageId überschrieben werden soll oder nicht. – Wenn true, wird der Wert unter der angeforderten languageId aktualisiert. – Wenn undefined, wird der Wert nur unter der angeforderten languageId aktualisiert, wenn die Konfiguration für die Sprache definiert ist.

Gibt zurückBeschreibung
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

ParameterBeschreibung
Gibt zurückBeschreibung
WorkspaceEdit

Eigenschaften

Die Anzahl der betroffenen Ressourcen von textuellen oder Ressourcenänderungen.

Methoden

Erstellt eine reguläre Datei.

ParameterBeschreibung
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 overwrite und ignoreIfExists beide gesetzt sind, hat overwrite Vorrang. Wenn beide nicht gesetzt sind und die Datei bereits existiert, kann der Edit nicht erfolgreich angewendet werden. Die content-Eigenschaft ermöglicht das Festlegen des anfänglichen Inhalts, mit dem die Datei erstellt wird.

metadata?: WorkspaceEditEntryMetadata

Optionale Metadaten für den Eintrag.

Gibt zurückBeschreibung
void

Löscht den Text im angegebenen Bereich.

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

range: Range

Ein Bereich.

metadata?: WorkspaceEditEntryMetadata

Optionale Metadaten für den Eintrag.

Gibt zurückBeschreibung
void

Löscht eine Datei oder einen Ordner.

ParameterBeschreibung
uri: Uri

Der URI der zu löschenden Datei.

options?: {ignoreIfNotExists: boolean, recursive: boolean}
metadata?: WorkspaceEditEntryMetadata

Optionale Metadaten für den Eintrag.

Gibt zurückBeschreibung
void

Ruft alle Text-Edits gruppiert nach Ressource ab.

ParameterBeschreibung
Gibt zurückBeschreibung
Array<[Uri, TextEdit[]]>

Eine flache Kopie von [Uri, TextEdit[]]-Tupeln.

Ruft die Text-Edits für eine Ressource ab.

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

Gibt zurückBeschreibung
TextEdit[]

Ein Array von Text-Edits.

Überprüft, ob ein Text-Edit für eine Ressource vorhanden ist.

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

Gibt zurückBeschreibung
boolean

true, wenn die gegebene Ressource von diesem Edit betroffen sein wird.

Fügt den gegebenen Text an der gegebenen Position ein.

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

position: Position

Eine Position.

newText: string

Eine Zeichenkette.

metadata?: WorkspaceEditEntryMetadata

Optionale Metadaten für den Eintrag.

Gibt zurückBeschreibung
void

Eine Datei oder ein Ordner umbenennen.

ParameterBeschreibung
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 overwrite und ignoreIfExists beide gesetzt sind, hat overwrite Vorrang.

metadata?: WorkspaceEditEntryMetadata

Optionale Metadaten für den Eintrag.

Gibt zurückBeschreibung
void

Ersetzt den gegebenen Bereich durch den gegebenen Text für die gegebene Ressource.

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

range: Range

Ein Bereich.

newText: string

Eine Zeichenkette.

metadata?: WorkspaceEditEntryMetadata

Optionale Metadaten für den Eintrag.

Gibt zurückBeschreibung
void

Setzt (und ersetzt) Text-Edits oder Snippet-Edits für eine Ressource.

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

edits: ReadonlyArray<TextEdit | SnippetTextEdit>

Ein Array von Edits.

Gibt zurückBeschreibung
void

Setzt (und ersetzt) Text-Edits oder Snippet-Edits mit Metadaten für eine Ressource.

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

edits: ReadonlyArray<[TextEdit | SnippetTextEdit, WorkspaceEditEntryMetadata]>

Ein Array von Edits.

Gibt zurückBeschreibung
void

Setzt (und ersetzt) Notebook-Edits für eine Ressource.

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

edits: readonly NotebookEdit[]

Ein Array von Edits.

Gibt zurückBeschreibung
void

Setzt (und ersetzt) Notebook-Edits mit Metadaten für eine Ressource.

ParameterBeschreibung
uri: Uri

Eine Ressourcenkennung.

edits: ReadonlyArray<[NotebookEdit, WorkspaceEditEntryMetadata]>

Ein Array von Edits.

Gibt zurückBeschreibung
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.

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

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

Hinzugefügte Arbeitsbereichsordner.

Entfernte Arbeitsbereichsordner.

WorkspaceSymbolProvider<T>

Die Schnittstelle WorkspaceSymbolProvider definiert den Vertrag zwischen Erweiterungen und der Funktion zur Symbolsuche.

Methoden

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.

ParameterBeschreibung
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ückBeschreibung
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 undefined, null oder einem leeren Array signalisiert werden.

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.

ParameterBeschreibung
symbol: T

Das aufzulösende Symbol. Es ist garantiert eine Instanz eines Objekts, das aus einem früheren Aufruf von provideWorkspaceSymbols zurückgegeben wurde.

token: CancellationToken

Ein Abbruch-Token.

Gibt zurückBeschreibung
ProviderResult<T>

Das aufgelöste Symbol oder ein Thenable, der sich dazu auflöst. Wenn kein Ergebnis zurückgegeben wird, wird das gegebene symbol verwendet.

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.

© . This site is unofficial and not affiliated with Microsoft.