エージェント型開発を探求する -

VS Code API

VS Code API は、Visual Studio Code 拡張機能内で呼び出すことができる JavaScript API のセットです。このページでは、拡張機能の開発者が利用できるすべての VS Code API を一覧表示しています。

API 名前空間とクラス

このリストは、VS Code リポジトリの vscode.d.ts ファイルからコンパイルされています。

authentication

認証用の名前空間です。

イベント

認証プロバイダーの認証セッションが追加、削除、または変更されたときに発生する イベント です。

関数

指定されたプロバイダーに対してユーザーがログインしているすべてのアカウントを取得します。特定のアカウントの認証セッションを取得するには、これを getSession と組み合わせて使用します。

現在、エディターの組み込み拡張機能から提供され、GitHub および Microsoft 認証を実装している認証プロバイダーは 2 つのみです。それぞれの providerId は 'github' および 'microsoft' です。

注: アカウントを取得しても、そのアカウントやその認証セッションに拡張機能がアクセスできるとは限りません。アカウントへのアクセスは getSession を呼び出すことで確認できます。

パラメーター説明
providerId: string

使用するプロバイダーの ID

戻り値説明
Thenable<readonly AuthenticationSessionAccountInformation[]>

認証アカウントの読み取り専用配列に解決される Thenable。

目的のスコープに一致するか、WWW-Authenticate リクエストを満たす認証セッションを取得します。providerId を持つプロバイダーが登録されていない場合、またはユーザーが拡張機能と認証情報を共有することに同意しない場合は拒否されます。同じスコープを持つ複数のセッションがある場合、ユーザーは使用したいアカウントを選択するためのクイックピックを表示されます。

組み込みの認証プロバイダーには以下が含まれます:

  • 'github' - GitHub.com 用
  • 'microsoft' - 個人用および組織用の Microsoft アカウント用
  • (一般的ではない) 'github-enterprise' - 代替の GitHub ホスティング (GHE.com、GitHub Enterprise Server) 用
  • (一般的ではない) 'microsoft-sovereign-cloud' - 代替の Microsoft クラウド用
パラメーター説明
providerId: string

使用するプロバイダーの ID

scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest

要求された権限のスコープリスト、または WWW-Authenticate リクエスト。これらは認証プロバイダーに依存します。

options: AuthenticationGetSessionOptions & {createIfNone: true | AuthenticationGetSessionPresentationOptions}
戻り値説明
Thenable<AuthenticationSession>

認証セッションに解決される Thenable

目的のスコープまたはリクエストに一致する認証セッションを取得します。providerId を持つプロバイダーが登録されていない場合、またはユーザーが拡張機能と認証情報を共有することに同意しない場合は拒否されます。同じスコープを持つ複数のセッションがある場合、ユーザーは使用したいアカウントを選択するためのクイックピックを表示されます。

組み込みの認証プロバイダーには以下が含まれます:

  • 'github' - GitHub.com 用
  • 'microsoft' - 個人用および組織用の Microsoft アカウント用
  • (一般的ではない) 'github-enterprise' - 代替の GitHub ホスティング (GHE.com、GitHub Enterprise Server) 用
  • (一般的ではない) 'microsoft-sovereign-cloud' - 代替の Microsoft クラウド用
パラメーター説明
providerId: string

使用するプロバイダーの ID

scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest

要求された権限のスコープリスト、または WWW-Authenticate リクエスト。これらは認証プロバイダーに依存します。

options: AuthenticationGetSessionOptions & {forceNewSession: true | AuthenticationGetSessionPresentationOptions}
戻り値説明
Thenable<AuthenticationSession>

認証セッションに解決される Thenable

目的のスコープまたはリクエストに一致する認証セッションを取得します。providerId を持つプロバイダーが登録されていない場合、またはユーザーが拡張機能と認証情報を共有することに同意しない場合は拒否されます。同じスコープを持つ複数のセッションがある場合、ユーザーは使用したいアカウントを選択するためのクイックピックを表示されます。

組み込みの認証プロバイダーには以下が含まれます:

  • 'github' - GitHub.com 用
  • 'microsoft' - 個人用および組織用の Microsoft アカウント用
  • (一般的ではない) 'github-enterprise' - 代替の GitHub ホスティング (GHE.com、GitHub Enterprise Server) 用
  • (一般的ではない) 'microsoft-sovereign-cloud' - 代替の Microsoft クラウド用
パラメーター説明
providerId: string

使用するプロバイダーの ID

scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest

要求された権限のスコープリスト、または WWW-Authenticate リクエスト。これらは認証プロバイダーに依存します。

options?: AuthenticationGetSessionOptions
戻り値説明
Thenable<AuthenticationSession | undefined>

認証セッションに解決される Thenable。サイレントフローが使用され、セッションが見つからなかった場合は undefined に解決されます。

認証プロバイダーを登録します。

ID ごとに 1 つのプロバイダーのみが存在でき、ID が既に別のプロバイダーによって使用されている場合はエラーがスローされます。ID は大文字と小文字を区別します。

パラメーター説明
id: string

プロバイダーの一意の識別子。

label: string

プロバイダーの人間が読める名前。

provider: AuthenticationProvider

認証プロバイダー。

options?: AuthenticationProviderOptions

プロバイダーの追加オプション。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

chat

チャット機能用の名前空間です。ユーザーはチャットビューでメッセージを送信することでチャット参加者と対話します。チャット参加者は、ChatResponseStream を介してマークダウンやその他の種類のコンテンツで応答できます。

関数

新しい チャット参加者 インスタンスを作成します。

パラメーター説明
id: string

参加者の一意の識別子。

handler: ChatRequestHandler

参加者のリクエストハンドラー。

戻り値説明
ChatParticipant

新しいチャット参加者。

コマンド

コマンドを扱うための名前空間です。端的に言えば、コマンドとは一意の識別子を持つ関数のことです。その関数は「コマンドハンドラー」とも呼ばれます。

コマンドは、registerCommand および registerTextEditorCommand 関数を使用してエディターに追加できます。コマンドは手動で、または UI 操作から実行できます。それらには以下のものがあります。

  • palette - package.jsoncommands セクションを使用して、コマンドパレットにコマンドを表示させます。
  • keybinding - package.jsonkeybindings セクションを使用して、拡張機能のキーバインディングを有効にします。

他の拡張機能やエディター自体からのコマンドも拡張機能からアクセス可能です。ただし、エディターコマンドを呼び出す際、すべての引数型がサポートされているわけではありません。

以下は、コマンドハンドラーを登録し、そのコマンドのパレットエントリを追加するサンプルです。まず、識別子 extension.sayHello を持つコマンドハンドラーを登録します。

commands.registerCommand('extension.sayHello', () => {
  window.showInformationMessage('Hello World!');
});

次に、そのコマンド識別子をパレットに表示されるタイトルにバインドします (package.json)。

{
  "contributes": {
    "commands": [
      {
        "command": "extension.sayHello",
        "title": "Hello World"
      }
    ]
  }
}

関数

指定されたコマンド識別子によって示されるコマンドを実行します。

  • 注意 1: エディターコマンドを実行する際、すべての型を引数として渡すことはできません。許可されているのは、プリミティブ型である stringbooleannumberundefinednull、および PositionRangeUriLocation です。
  • 注意 2: 拡張機能によって提供されたコマンドを実行する場合、制限はありません。
パラメーター説明
command: string

実行するコマンドの識別子。

...rest: any[]

コマンド関数に渡されるパラメーター。

戻り値説明
Thenable<T>

コマンドの戻り値に解決される Thenable。コマンドハンドラー関数が何も返さない場合、undefined を返します。

利用可能なすべてのコマンドのリストを取得します。アンダースコアで始まるコマンドは内部コマンドとして扱われます。

パラメーター説明
filterInternal?: boolean

内部コマンド(アンダースコアで始まるもの)を表示しない場合は true を設定します。

戻り値説明
Thenable<string[]>

コマンド ID のリストに解決される Thenable。

キーボードショートカット、メニュー項目、アクション、または直接呼び出すことができるコマンドを登録します。

既存のコマンド識別子でコマンドを 2 回登録するとエラーが発生します。

パラメーター説明
command: string

コマンドの一意の識別子。

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

コマンドハンドラー関数。

thisArg?: any

ハンドラー関数を呼び出すときに使用される this コンテキスト。

戻り値説明
Disposable

破棄時にこのコマンドの登録を解除する Disposable。

キーボードショートカット、メニュー項目、アクション、または直接呼び出すことができるテキストエディターコマンドを登録します。

テキストエディターコマンドは、コマンドが呼び出されたときにアクティブなエディターがある場合にのみ実行されるため、通常の コマンド とは異なります。また、エディターコマンドのハンドラーは、アクティブなエディターと 編集 ビルダーにアクセスできます。編集ビルダーはコールバックの実行中にのみ有効であることに注意してください。

パラメーター説明
command: string

コマンドの一意の識別子。

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

エディター編集 にアクセスできるコマンドハンドラー関数。

thisArg?: any

ハンドラー関数を呼び出すときに使用される this コンテキスト。

戻り値説明
Disposable

破棄時にこのコマンドの登録を解除する Disposable。

comments

関数

新しい コメントコントローラー インスタンスを作成します。

パラメーター説明
id: string

コメントコントローラーの id

label: string

コメントコントローラーの人間が読める名前。

戻り値説明
CommentController

コメントコントローラー のインスタンス。

debug

デバッグ機能用の名前空間です。

変数

現在アクティブな デバッグコンソール。デバッグセッションがアクティブでない場合、デバッグコンソールに送信された出力は表示されません。

現在アクティブな デバッグセッション または undefined。アクティブなデバッグセッションは、デバッグアクションのフローティングウィンドウによって表されるもの、またはそのドロップダウンメニューに現在表示されているものです。デバッグセッションがアクティブでない場合、値は undefined です。

現在フォーカスされているスレッドまたはスタックフレーム。スレッドやスタックがフォーカスされていない場合は undefined です。スレッドはアクティブなデバッグセッションがあるときはいつでもフォーカスできますが、スタックフレームはセッションが一時停止され、コールスタックが取得されたときにのみフォーカスできます。

ブレークポイントのリスト。

イベント

アクティブなデバッグセッション が変更されたときに発生する イベント です。注意:アクティブなデバッグセッションが undefined に変更されたときにもイベントが発生します。

debug.activeStackItem が変更されたときに発生するイベントです。

ブレークポイントのセットが追加、削除、または変更されたときに発火する イベント です。

デバッグセッション からカスタム DAP イベントが受信されたときに発生する イベント です。

新しい デバッグセッション が開始されたときに発生する イベント です。

デバッグセッション が終了したときに発生する イベント です。

関数

ブレークポイントを追加します。

パラメーター説明
breakpoints: readonly Breakpoint[]

追加するブレークポイント。

戻り値説明
void

デバッグアダプタープロトコルを介して受信した「Source」記述子オブジェクトを、そのコンテンツを読み込むために使用できる Uri に変換します。ソース記述子がパスに基づいている場合は file Uri が返されます。ソース記述子が参照番号を使用している場合は、対応する ContentProvider と実行中のデバッグセッションを必要とする、特定のデバッグ Uri (スキーム 'debug') が構築されます。

「Source」記述子に Uri を作成するための情報が不足している場合は、エラーがスローされます。

パラメーター説明
source: DebugProtocolSource

デバッグアダプタープロトコルで定義された Source 型に準拠するオブジェクト。

session?: DebugSession

ソース記述子がアクティブなデバッグセッションからコンテンツを読み込むために参照番号を使用する場合に使用される、オプションのデバッグセッション。

戻り値説明
Uri

ソースのコンテンツを読み込むために使用できる Uri。

特定のデバッグタイプに対する デバッグアダプター記述子ファクトリー を登録します。拡張機能は、その拡張機能で定義されたデバッグタイプに対してのみ DebugAdapterDescriptorFactory を登録できます。それ以外の場合はエラーがスローされます。1 つのデバッグタイプに対して複数の DebugAdapterDescriptorFactory を登録するとエラーになります。

パラメーター説明
debugType: string

ファクトリーが登録されるデバッグタイプ。

factory: DebugAdapterDescriptorFactory
戻り値説明
Disposable

破棄されたときにこのファクトリーの登録を解除する Disposable

指定されたデバッグタイプに対してデバッグアダプタートラッカーファクトリーを登録します。

パラメーター説明
debugType: string

ファクトリーが登録されるデバッグタイプ、またはすべてのデバッグタイプに一致させるための '*'。

factory: DebugAdapterTrackerFactory
戻り値説明
Disposable

破棄されたときにこのファクトリーの登録を解除する Disposable

特定のデバッグタイプに対する デバッグ構成プロバイダー を登録します。オプションの triggerKind を使用して、プロバイダーの provideDebugConfigurations メソッドがいつトリガーされるかを指定できます。現在、2 種類のトリガーが可能です。Initial 値を指定した場合(またはトリガーの種類引数が指定されていない場合)、provideDebugConfigurations メソッドは、新しく作成された launch.json にコピーされる初期デバッグ構成を提供するために使用されます。Dynamic トリガー種別を指定した場合、provideDebugConfigurations メソッドは、ユーザーに提示するデバッグ構成を動的に決定するために使用されます(launch.json からの静的な構成に加えて)。triggerKind 引数は provideDebugConfigurations メソッドにのみ適用され、resolveDebugConfiguration メソッドには全く影響しないことに注意してください。異なるトリガー種類に対して解決メソッドを持つ単一のプロバイダーを登録すると、同じ解決メソッドが複数回呼び出されます。同じタイプに対して複数のプロバイダーを登録できます。

パラメーター説明
debugType: string

プロバイダーが登録されるデバッグタイプ。

provider: DebugConfigurationProvider
triggerKind?: DebugConfigurationProviderTriggerKind

プロバイダーの 'provideDebugConfiguration' メソッドが登録される トリガーtriggerKind が欠落している場合、DebugConfigurationProviderTriggerKind.Initial 値が想定されます。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

ブレークポイントを削除します。

パラメーター説明
breakpoints: readonly Breakpoint[]

削除するブレークポイント。

戻り値説明
void

名前付き起動構成、名前付き複合構成、または DebugConfiguration を直接渡すことにより、デバッグを開始します。名前付き構成は、指定されたフォルダーにある '.vscode/launch.json' で検索されます。デバッグ開始前に、すべての未保存ファイルが保存され、起動構成が最新の状態になります。構成で使用されるフォルダー固有の変数(例:'${workspaceFolder}')は、指定されたフォルダーに対して解決されます。

パラメーター説明
folder: WorkspaceFolder

名前付き構成の検索と変数の解決に使用する ワークスペースフォルダー。フォルダー設定以外の場合は undefined

nameOrConfiguration: string | DebugConfiguration

デバッグまたは複合構成の名前、あるいは DebugConfiguration オブジェクト。

parentSessionOrOptions?: DebugSession | DebugSessionOptions

デバッグセッションオプション。親 デバッグセッション が渡された場合、この親セッションのみを持つオプションと想定されます。

戻り値説明
Thenable<boolean>

デバッグが正常に開始できたときに解決される Thenable。

指定されたデバッグセッションを停止します。セッションが省略された場合は、すべてのデバッグセッションを停止します。

パラメーター説明
session?: DebugSession

停止する デバッグセッション。省略された場合はすべてのセッションが停止されます。

戻り値説明
Thenable<void>

セッションが停止したときに解決される Thenable。

env

エディターが実行されている環境を説明する名前空間です。

変数

アプリケーションがホストされている場所。デスクトップでは 'desktop' です。Web では指定された埋め込み先(例:'github.dev'、'codespaces')であり、埋め込み先がその情報を提供しない場合は 'web' です。

'VS Code' のようなエディターのアプリケーション名。

エディターが実行されているアプリケーションルートフォルダー。

注意:アプリケーションルートフォルダーの表現を持たない環境で実行されている場合、値は空文字列になります。

システムクリップボード。

アプリケーションがポータブルモードで実行されているかどうかを示します。

ポータブルモードは、アプリケーションが data ディレクトリを含むフォルダーから実行されたときに有効になり、自己完結型のインストールを可能にします。

ポータブルモード について詳しく学びます。

これがアプリケーションの新規インストールであることを示します。インストール後最初の 1 日以内であれば true、それ以外は false です。

ユーザーがテレメトリを有効にしているかどうかを示します。拡張機能がテレメトリを送信すべきかどうかを判断するために監視できます。

de-CHfren-US などの推奨ユーザー言語を表します。

現在のエディターのログレベル。

コンピューターの一意の識別子。

リモートの名前。拡張機能によって定義され、一般的な例として Windows Subsystem for Linux 用の wsl や、SSH を使用するリモート用の ssh-remote などがあります。

注意:リモート拡張ホストがない場合、値は undefined になりますが、リモート拡張ホストが存在する場合、すべての拡張ホスト(ローカルおよびリモート)で値が定義されます。特定の拡張機能がリモートで実行されているかどうかを知るには Extension.extensionKind を使用してください。

現在のセッションの一意の識別子。エディターが起動するたびに変更されます。

拡張ホストに対して検出されたデフォルトのシェル。これは拡張ホストのプラットフォームの terminal.integrated.defaultProfile 設定によって上書きされます。シェルをサポートしていない環境では、値は空文字列であることに注意してください。

UI 種類のプロパティは、拡張機能がどの UI からアクセスされているかを示します。たとえば、拡張機能はデスクトップアプリケーションや Web ブラウザーからアクセスされる場合があります。

エディターがオペレーティングシステムに登録するカスタム URI スキーム。

イベント

エディターのログレベルが変更されたときに発火する イベント です。

デフォルトシェルが変更されたときに発火する イベント です。新しいシェルパスとともに発火します。

ユーザーがテレメトリを有効または無効にしたときに発火する イベント です。ユーザーがテレメトリを有効にした場合は true、無効にした場合は false です。

関数

URI を外部からアクセス可能な形式に解決します。

http: または https: スキーム

拡張機能の実行場所から、クライアントマシン上の同じリソースへの URI に、http:https: リンクなどの「外部」URI を解決します。

拡張機能がクライアントマシン上で実行されている場合、これはノーオペレーション(何もしない処理)です。

拡張機能がリモートで実行されている場合、この関数は自動的にローカルマシンからリモートの target へのポート転送トンネルを確立し、トンネルへのローカル URI を返します。ポート転送トンネルの有効期間はエディターによって管理され、トンネルはユーザーによって閉じられることがあります。

注意openExternal を介して渡される URI は自動的に解決されるため、それらに対して asExternalUri を呼び出すべきではありません。

vscode.env.uriScheme

ブラウザーで開かれた場合(例:openExternal 経由)、登録された UriHandler をトリガーする URI を作成します。

拡張機能は結果の URI についていかなる想定もすべきではなく、いかなる方法でも変更すべきではありません。代わりに、拡張機能は例えば、サーバーに認証するためのコールバッククエリ引数として URI を追加することで、認証フローでこの URI を使用できます。

注意:サーバーが URI に追加のクエリパラメーター(例:トークンやシークレット)を追加することにした場合、それは UriHandler に渡される URI に表示されます。

認証フローの

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

注意:解決された URI はシステムやユーザーのアクションによって無効になる可能性があるため、拡張機能は asExternalUri の結果をキャッシュすべきではありません。たとえば、リモートの場合、ユーザーが asExternalUri によって開かれたポート転送トンネルを閉じる可能性があります。

その他のスキーム

その他のスキームは、提供された URI がワークスペース URI であるかのように処理されます。その場合、メソッドは処理されたときにエディターにワークスペースを開かせる URI を返します。

パラメーター説明
target: Uri
戻り値説明
Thenable<Uri>

クライアントマシンで使用できる URI。

新しい テレメトリロガー を作成します。

パラメーター説明
sender: TelemetrySender

テレメトリロガーによって使用されるテレメトリ送信者。

options?: TelemetryLoggerOptions

テレメトリロガーのオプション。

戻り値説明
TelemetryLogger

新しいテレメトリロガー。

デフォルトアプリケーションを使用してリンクを外部で開きます。使用されるスキームに応じて、これは以下になります:

  • ブラウザー (http:, https:)
  • メーラー (mailto:)
  • VSCode 自体 (vscode.env.uriScheme からの vscode:)

注意:この関数ではなく、エディター内でテキストドキュメントを開くには showTextDocument が適切な方法です。

パラメーター説明
target: Uri

開くべき URI。

戻り値説明
Thenable<boolean>

オープンが成功したかどうかを示す Promise。

extensions

インストールされている拡張機能を扱うための名前空間です。拡張機能は Extension インターフェースによって表され、それらに対するリフレクションを可能にします。

拡張機能作成者は、activate 呼び出しから API のパブリックサーフェスを返すことで、他の拡張機能に API を提供できます。

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

別の拡張機能の API に依存する場合は、package.jsonextensionDependencies エントリを追加し、getExtension 関数と exports プロパティを以下のように使用します。

let mathExt = extensions.getExtension('genius.math');
let importedApi = mathExt.exports;

console.log(importedApi.mul(42, 1));

変数

システムに現在認識されているすべての拡張機能。

イベント

extensions.all が変更されたときに発火するイベントです。これは拡張機能がインストール、アンインストール、有効化、または無効化されたときに発生します。

関数

publisher.name の形式のフル識別子によって拡張機能を取得します。

パラメーター説明
extensionId: string

拡張機能の識別子。

戻り値説明
Extension<T> | undefined

拡張機能または undefined

l10n

拡張機能 API のローカライズ関連機能用の名前空間です。これを正しく使用するには、拡張機能マニフェストで l10n を定義し、bundle.l10n を持っている必要があります。.json ファイル。bundle.l10n を生成する方法の詳細については、.json ファイルについては、vscode-l10n リポジトリ をチェックしてください。

注: 組み込みの拡張機能(例:Git、TypeScript Language Features、GitHub Authentication)は l10n プロパティの要件から除外されます。つまり、翻訳された文字列は言語パックから提供されるため、拡張機能マニフェストで l10n を指定する必要はありません。

変数

拡張機能用にロードされたローカライズ済み文字列のバンドル。バンドルがロードされていない場合は undefined です。バンドルは通常、見つからなかった場合や、デフォルト言語で実行されている場合はロードされません。

拡張機能用にロードされたローカライズバンドルの URI。バンドルがロードされていない場合は undefined です。バンドルは通常、見つからなかった場合や、デフォルト言語で実行されている場合はロードされません。

関数

文字列をローカライズ対象としてマークします。env.language で指定された言語でローカライズされたバンドルが利用可能であり、そのバンドルにこのメッセージのローカライズ値がある場合、そのローカライズ値が返されます(テンプレート化された値には args 値が挿入されます)。

l10n.t('Hello {0}!', 'World');
パラメーター説明
message: string

ローカライズするメッセージ。{0}{1} のような文字列が args 配列のそのインデックスにある項目に置換されるインデックステンプレートをサポートします。

...args: Array<string | number | boolean>

ローカライズ済み文字列で使用される引数。引数のインデックスは、ローカライズ済み文字列内のテンプレートプレースホルダーと一致させるために使用されます。

戻り値説明
string

引数が挿入されたローカライズ済み文字列。

文字列をローカライズ対象としてマークします。env.language で指定された言語でローカライズされたバンドルが利用可能であり、そのバンドルにこのメッセージのローカライズ値がある場合、そのローカライズ値が返されます(テンプレート化された値には args 値が挿入されます)。

l10n.t('Hello {name}', { name: 'Erich' });
パラメーター説明
message: string

ローカライズするメッセージ。{foo}{bar} のような文字列が、そのキー(foo, bar など)の Record 内の値に置換される名前付きテンプレートをサポートします。

args: Record<string, string | number | boolean>

ローカライズ済み文字列で使用される引数。Record 内のキーの名前は、ローカライズ済み文字列内のテンプレートプレースホルダーと一致させるために使用されます。

戻り値説明
string

引数が挿入されたローカライズ済み文字列。

文字列をローカライズ対象としてマークします。env.language で指定された言語でローカライズされたバンドルが利用可能であり、そのバンドルにこのメッセージのローカライズ値がある場合、そのローカライズ値が返されます(テンプレート化された値には args 値が挿入されます)。

パラメーター説明
options: {args: Array<string | number | boolean> | Record<string, string | number | boolean>, comment: string | string[], message: string}

メッセージをローカライズするときに使用するオプション。

戻り値説明
string

引数が挿入されたローカライズ済み文字列。

言語

IntelliSense、コードアクション、診断などの言語固有のエディター 機能 に参加するための名前空間です。

多くのプログラミング言語が存在し、構文、意味論、パラダイムには大きな多様性があります。それにもかかわらず、自動単語補完、コードナビゲーション、コードチェックのような機能は、異なるプログラミング言語のさまざまなツール間で人気を得ています。

エディターは、すべての UI とアクションを既に配置し、データのみを提供することで参加できるようにすることで、そのような共通機能を簡単に提供できる API を提供しています。たとえば、ホバーを提供するには、TextDocumentPosition を指定して呼び出し、ホバー情報を返す関数を提供するだけで済みます。マウスの追跡、ホバーの配置、ホバーの安定化などは、エディターが処理します。

languages.registerHoverProvider('javascript', {
  provideHover(document, position, token) {
    return new Hover('I am a hover!');
  }
});

登録は、ドキュメントセレクター を使用して行われます。これは、javascript のような言語 ID、または { language: 'typescript', scheme: 'file' } のようなより複雑な フィルター です。ドキュメントをこのようなセレクターと照合すると、プロバイダーを使用するかどうか、またどのように使用するかを決定するために使用される スコア が得られます。スコアが等しい場合、最後に来たプロバイダーが勝ちます。ホバー のように全アリティを許可する機能の場合、スコアは >0 であることのみがチェックされます。IntelliSense のような他の機能では、スコアはプロバイダーに参加を求める順序を決定するために使用されます。

イベント

グローバルな診断セットが変更されたときに発火する イベント です。これは新しく追加および削除された診断です。

関数

診断コレクションを作成します。

パラメーター説明
name?: string

コレクションの 名前

戻り値説明
DiagnosticCollection

新しい診断コレクション。

新しい 言語ステータスアイテム を作成します。

パラメーター説明
id: string

アイテムの識別子。

selector: DocumentSelector

アイテムを表示するエディターを定義するドキュメントセレクター。

戻り値説明
LanguageStatusItem

新しい言語ステータスアイテム。

指定されたリソースのすべての診断を取得します。

パラメーター説明
resource: Uri

リソース。

戻り値説明
Diagnostic[]

診断 オブジェクトの配列、または空の配列。

すべての診断を取得します。

パラメーター説明
戻り値説明
Array<[Uri, Diagnostic[]]>

URI と診断のタプルの配列、または空の配列。

既知のすべての言語の識別子を返します。

パラメーター説明
戻り値説明
Thenable<string[]>

識別子文字列の配列に解決される Promise。

ドキュメント セレクター とドキュメント間のマッチを計算します。ゼロより大きい値は、セレクターがドキュメントに一致することを意味します。

マッチは以下のルールに従って計算されます。

  1. DocumentSelector が配列である場合、含まれる各 DocumentFilter または言語識別子についてマッチを計算し、最大値をとります。
  2. 文字列は DocumentFilterlanguage 部分になるように脱糖されるため、"fooLang"{ language: "fooLang" } のようになります。
  3. DocumentFilter は、その部分をドキュメントと比較することでドキュメントと照合されます。以下のルールが適用されます。
    1. DocumentFilter が空 ({}) の場合、結果は 0 です。
    2. schemelanguagepattern、または notebook が定義されているが、一致しない場合、結果は 0 です。
    3. * との一致はスコア 5 を与え、等価性による一致またはグロブパターンによる一致はスコア 10 を与えます。
    4. 結果は各マッチの最大値です。

サンプル

// 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
パラメーター説明
selector: DocumentSelector

ドキュメントセレクター。

document: TextDocument

テキストドキュメント。

戻り値説明
number

セレクターが一致する場合は >0 の数値、一致しない場合は 0

呼び出し階層プロバイダーを登録します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: CallHierarchyProvider

呼び出し階層プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

コードアクションプロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: CodeActionProvider<CodeAction>

コードアクションプロバイダー。

metadata?: CodeActionProviderMetadata

プロバイダーが提供するコードアクションの種類に関するメタデータ。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

コードレンズプロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: CodeLensProvider<CodeLens>

コードレンズプロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

カラープロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentColorProvider

カラープロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

補完プロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは スコア によって並べ替えられ、同じスコアのグループが順次補完項目を要求されます。グループの 1 つまたは複数のプロバイダーが結果を返すと、プロセスは停止します。失敗したプロバイダー(拒否された Promise や例外)は、操作全体を失敗させません。

補完アイテムプロバイダーは、一連の triggerCharacters に関連付けることができます。トリガー文字が入力されると、その文字を登録したプロバイダーからのみ補完が要求されます。そのため、トリガー文字は 単語文字 とは異なる必要があります。一般的なトリガー文字は、メンバー補完をトリガーする . です。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: CompletionItemProvider<CompletionItem>

補完プロバイダー。

...triggerCharacters: string[]

ユーザーがいずれかの文字を入力したときに補完をトリガーします。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

宣言プロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DeclarationProvider

宣言プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

定義プロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DefinitionProvider

定義プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

新しい DocumentDropEditProvider を登録します。

言語に対して複数のドロッププロバイダーを登録できます。エディターにコンテンツをドロップすると、DocumentDropEditProviderMetadata で指定された処理対象の MIME タイプに基づいて、エディターの言語用に登録されたすべてのプロバイダーが呼び出されます。

各プロバイダーは 1 つ以上の DocumentDropEdits を返すことができます。編集は DocumentDropEdit.yieldTo プロパティを使用して並べ替えられます。デフォルトでは、最初の編集が適用されます。追加の編集がある場合は、ドロップウィジェットでユーザーが選択可能なドロップオプションとして表示されます。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentDropEditProvider<DocumentDropEdit>

ドロッププロバイダー。

metadata?: DocumentDropEditProviderMetadata

プロバイダーに関する追加のメタデータ。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

ドキュメントのフォーマットプロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは スコア によって並べ替えられ、最も一致するプロバイダーが使用されます。選択されたプロバイダーが失敗すると、操作全体が失敗します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentFormattingEditProvider

ドキュメントフォーマット編集プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

ドキュメントハイライトプロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは スコア によって並べ替えられ、ドキュメントのハイライトを順次求められます。プロバイダーが 非偽 または 非失敗 の結果を返すと、プロセスは停止します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentHighlightProvider

ドキュメントハイライトプロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

ドキュメントリンクプロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentLinkProvider<DocumentLink>

ドキュメントリンクプロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

新しい DocumentPasteEditProvider を登録します。

言語に対して複数のプロバイダーを登録できます。DocumentPasteProviderMetadata で指定された処理対象の MIME タイプに基づいて、言語に対して登録されたすべてのプロバイダーがコピーおよび貼り付け操作のために呼び出されます。

コピー操作 の場合、各プロバイダーによって DataTransfer に加えられた変更は、クリップボードを生成するために使用される単一の DataTransfer にマージされます。

貼り付け操作 の場合、各プロバイダーが呼び出され、1 つ以上の DocumentPasteEdits を返すことができます。編集は DocumentPasteEdit.yieldTo プロパティを使用して並べ替えられます。デフォルトでは、最初の編集が適用され、残りの編集は貼り付けウィジェットでユーザーが選択可能な貼り付けオプションとして表示されます。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentPasteEditProvider<DocumentPasteEdit>

貼り付けエディタープロバイダー。

metadata: DocumentPasteProviderMetadata

プロバイダーに関する追加のメタデータ。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

ドキュメント範囲のフォーマットプロバイダーを登録します。

注意: ドキュメント範囲プロバイダーは ドキュメントフォーマッター でもあるため、範囲プロバイダーを登録するときにドキュメントフォーマッターを 登録 する必要はありません。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは スコア によって並べ替えられ、最も一致するプロバイダーが使用されます。選択されたプロバイダーが失敗すると、操作全体が失敗します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentRangeFormattingEditProvider

ドキュメント範囲フォーマット編集プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

ドキュメント範囲のセマンティックトークンプロバイダーを登録します。

注意: ドキュメントに DocumentSemanticTokensProviderDocumentRangeSemanticTokensProvider の両方がある場合、範囲プロバイダーは、フルドキュメントプロバイダーが最初の要求を解決するまでの時間、初期的にのみ呼び出されます。フルドキュメントプロバイダーが最初の要求を解決すると、範囲プロバイダーを介して提供されたセマンティックトークンは破棄され、その時点以降はドキュメントプロバイダーのみが使用されます。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは スコア によって並べ替えられ、最も一致するプロバイダーが使用されます。選択されたプロバイダーが失敗すると、操作全体が失敗します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentRangeSemanticTokensProvider

ドキュメント範囲セマンティックトークンプロバイダー。

legend: SemanticTokensLegend
戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

ドキュメント全体のセマンティックトークンプロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは スコア によって並べ替えられ、最も一致するプロバイダーが使用されます。選択されたプロバイダーが失敗すると、操作全体が失敗します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentSemanticTokensProvider

ドキュメントセマンティックトークンプロバイダー。

legend: SemanticTokensLegend
戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

ドキュメントシンボルプロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: DocumentSymbolProvider

ドキュメントシンボルプロバイダー。

metaData?: DocumentSymbolProviderMetadata

プロバイダーに関するメタデータ。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

テキストドキュメント内の評価可能な式を特定するプロバイダーを登録します。エディターはアクティブなデバッグセッションでその式を評価し、デバッグホバーに結果を表示します。

同じ言語に対して複数のプロバイダーが登録されている場合、任意のプロバイダーが使用されます。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: EvaluatableExpressionProvider

評価可能な式プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

折りたたみ範囲プロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で呼び出され、結果がマージされます。同じ位置で複数の折りたたみ範囲が開始される場合、最初に登録されたプロバイダーの範囲のみが使用されます。折りたたみ範囲が、より小さい位置を持つ別の範囲と重なる場合、その範囲も無視されます。

プロバイダーが失敗(拒否されたPromiseまたは例外)しても、操作全体が失敗することはありません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: FoldingRangeProvider

折りたたみ範囲プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

ホバープロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: HoverProvider

ホバープロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

実装プロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: ImplementationProvider

実装プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

インレイヒントプロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: InlayHintsProvider<InlayHint>

インレイヒントプロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

インライン補完プロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: InlineCompletionItemProvider

インライン補完プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

デバッガーの「インライン値」機能用のデータを返すプロバイダーを登録します。汎用デバッガーがソースファイル内で停止するたびに、そのファイルの言語用に登録されたプロバイダーが呼び出され、行の末尾に表示されるテキストデータが返されます。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: InlineValuesProvider

インライン値プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

リンクされた編集範囲プロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコア順にソートされ、結果を持つ最も適合するプロバイダーが使用されます。選択されたプロバイダーが失敗すると、操作全体が失敗します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: LinkedEditingRangeProvider

リンクされた編集範囲プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

入力中に動作するフォーマットプロバイダーを登録します。ユーザーが設定 editor.formatOnType を有効にしているときにプロバイダーがアクティブになります。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは スコア によって並べ替えられ、最も一致するプロバイダーが使用されます。選択されたプロバイダーが失敗すると、操作全体が失敗します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: OnTypeFormattingEditProvider

入力時フォーマット編集プロバイダー。

firstTriggerCharacter: string

フォーマットをトリガーする文字(} など)。

...moreTriggerCharacter: string[]

追加のトリガー文字。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

参照プロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: ReferenceProvider

参照プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

名前変更プロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコア順にソートされ、順次呼び出されます。結果を生成した最初のプロバイダーが、操作全体の結果を定義します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: RenameProvider

名前変更プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

選択範囲プロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: SelectionRangeProvider

選択範囲プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

シグネチャヘルププロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコア順にソートされ、有効な結果を返すプロバイダーが現れるまで順次呼び出されます。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: SignatureHelpProvider

シグネチャヘルププロバイダー。

...triggerCharacters: string[]

,( などの文字を入力したときにシグネチャヘルプをトリガーします。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: SignatureHelpProvider

シグネチャヘルププロバイダー。

metadata: SignatureHelpProviderMetadata

プロバイダーに関する情報。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

型定義プロバイダーを登録します。

言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で問い合わせられ、結果はマージされます。失敗したプロバイダー(拒否された Promise や例外)は、操作全体の失敗を引き起こしません。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: TypeDefinitionProvider

型定義プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

型階層プロバイダーを登録します。

パラメーター説明
selector: DocumentSelector

このプロバイダーが適用されるドキュメントを定義するセレクター。

provider: TypeHierarchyProvider

型階層プロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

ワークスペースシンボルプロバイダーを登録します。

複数のプロバイダーを登録できます。その場合、プロバイダーは並列で呼び出され、結果がマージされます。プロバイダーが失敗(拒否されたPromiseまたは例外)しても、操作全体が失敗することはありません。

パラメーター説明
provider: WorkspaceSymbolProvider<SymbolInformation>

ワークスペースシンボルプロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

言語の言語構成を設定します。

パラメーター説明
language: string

typescript などの言語識別子。

configuration: LanguageConfiguration

言語構成。

戻り値説明
Disposable

この構成を解除する Disposable

指定されたドキュメントに関連付けられた言語を設定(変更)します。

注意: この関数を呼び出すと、onDidCloseTextDocument イベントとそれに続く onDidOpenTextDocument イベントがトリガーされます。

パラメーター説明
document: TextDocument

言語を変更するドキュメント

languageId: string

新しい言語識別子。

戻り値説明
Thenable<TextDocument>

更新されたドキュメントで解決されるThenable。

lm

言語モデル関連機能のネームスペース。

変数

lm.registerTool を使用してすべての拡張機能によって登録された、利用可能なすべてのツールのリストです。これらは、宣言された inputSchema に一致する入力を使用して lm.invokeTool で呼び出すことができます。

イベント

利用可能なチャットモデルのセットが変更されたときに発生するイベント。

関数

lm.tools にリストされているツールを、指定された入力で名前によって呼び出します。入力は、ツールによって宣言されたスキーマに対して検証されます。

ツールは、チャットリクエストの処理コンテキストでチャット参加者によって呼び出されるか、または任意のカスタムフロー内で任意の拡張機能によってグローバルに呼び出されることができます。

前者の場合、呼び出し元は チャットリクエスト から得られる toolInvocationToken を渡す必要があります。これにより、チャットUIが正しい会話に対してツール呼び出しを表示することが保証されます。

ツール結果は、テキストパーツと prompt-tsx パーツの配列です。ツール呼び出し元が vscode/prompt-tsx を使用している場合、ToolResult を使用して応答パーツをプロンプトに組み込むことができます。そうでない場合は、パーツを LanguageModelToolResultPart を含むユーザーメッセージを介して LanguageModelChat に渡すことができます。

チャット参加者が複数のターンにわたるリクエストのツール結果を保持したい場合、ハンドラーから返される ChatResult.metadata にツール結果を格納し、次のターンで ChatResponseTurn.result から取得できます。

パラメーター説明
name: string

呼び出すツールの名前。

options: LanguageModelToolInvocationOptions<object>

ツールを呼び出す際に使用するオプション。

token?: CancellationToken

キャンセル トークン。作成方法については CancellationTokenSource を参照してください。

戻り値説明
Thenable<LanguageModelToolResult>

ツール呼び出しの結果。

LanguageModelChatProvider を登録します。注意: package.json の languageModelChatProviders 寄与ポイントを介して言語モデルチャットプロバイダーも定義する必要があります。

パラメーター説明
vendor: string

このプロバイダーのベンダー。グローバルに一意である必要があります。例: copilot または openai

provider: LanguageModelChatProvider<LanguageModelChatInformation>

登録するプロバイダー。

戻り値説明
Disposable

破棄時にプロバイダーの登録を解除するDisposable。

エディターが消費できるようにModel Context Protocolサーバーを公開するプロバイダーを登録します。これにより、ユーザーが設定ファイルで作成したものに加えて、MCPサーバーをエディターに動的に提供できるようになります。

このメソッドを呼び出す前に、拡張機能は対応する id を持つ contributes.mcpServerDefinitionProviders 拡張ポイントを登録する必要があります。例:

    "contributes": {
        "mcpServerDefinitionProviders": [
            {
                "id": "cool-cloud-registry.mcp-servers",
                "label": "Cool Cloud Registry",
            }
        ]
    }

新しいMcpServerDefinitionProviderが利用可能になると、デフォルトでは、チャットメッセージが送信されたときにエディターが自動的にそれを呼び出して新しいサーバーやツールを検出します。このフローを有効にするには、拡張機能はアクティベーション中に registerMcpServerDefinitionProvider を呼び出す必要があります。

パラメーター説明
id: string

拡張機能に対して一意のプロバイダーのID。

provider: McpServerDefinitionProvider<McpServerDefinition>

登録するプロバイダー。

戻り値説明
Disposable

破棄時にプロバイダーの登録を解除するDisposable。

LanguageModelToolを登録します。ツールはpackage.jsonの languageModelTools 寄与ポイントにも登録されている必要があります。登録されたツールは、どの拡張機能からも確認できるように lm.tools リストで使用可能になります。ただし、言語モデルによって認識されるためには、LanguageModelChatRequestOptions.tools の利用可能なツールのリストに渡される必要があります。

パラメーター説明
name: string
tool: LanguageModelTool<T>
戻り値説明
Disposable

破棄時にツールの登録を解除するDisposable。

セレクターによってチャットモデルを選択します。これは複数のチャットモデルを生成する場合も、全く生成しない場合もあります。拡張機能は、特にチャットモデルが存在しない場合に、これらのケースを適切に処理する必要があります。

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
}

セレクターは、特定のベンダーやファミリーのすべてのモデルに幅広く一致するように記述することも、IDによって1つのモデルを狭く選択するように記述することもできます。利用可能なモデルのセットは時間の経過とともに変化すること、また、プロンプトが異なるモデルで異なる動作をする可能性があることに留意してください。

注意: 拡張機能はこの関数から返された結果を保持し、後で使用できます。ただし、onDidChangeChatModels イベントが発火されると、チャットモデルのリストが変更されている可能性があるため、拡張機能は再クエリする必要があります。

パラメーター説明
selector?: LanguageModelChatSelector

チャットモデルセレクター。省略された場合は、すべてのチャットモデルが返されます。

戻り値説明
Thenable<LanguageModelChat[]>

チャットモデルの配列(空の場合があります)。

notebooks

ノートブック用のネームスペース。

ノートブック機能は、3つの緩やかに結合されたコンポーネントで構成されています。

  1. NotebookSerializer: エディターがノートブックを開き、表示し、保存できるようにします。
  2. NotebookController: ノートブックの実行を所有します。例えば、コードセルから出力を生成します。
  3. NotebookRenderer: ノートブックの出力をエディターに表示します。これらは別のコンテキストで実行されます。

関数

新しいノートブックコントローラーを作成します。

パラメーター説明
id: string

コントローラーの識別子。拡張機能ごとに一意である必要があります。

notebookType: string

このコントローラーが対象とするノートブックタイプ。

label: string

コントローラーのラベル。

handler?: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => void | Thenable<void>

コントローラーの実行ハンドラー。

戻り値説明
NotebookController

新しいノートブックコントローラー。

特定のレンダラーと通信するために使用される新しいメッセージングインスタンスを作成します。

  • 注1: 拡張機能は、package.jsonファイルで定義したレンダラーのみを作成できます。
  • 注2: レンダラーは、その notebookRenderer 寄与ポイントで requiresMessagingalways または optional に設定されている場合にのみ、メッセージングにアクセスできます。
パラメーター説明
rendererId: string

通信するレンダラーID。

戻り値説明
NotebookRendererMessaging

新しいノートブックレンダラーメッセージングオブジェクト。

指定されたノートブックタイプ用のセルステータスバーアイテムプロバイダーを登録します。

パラメーター説明
notebookType: string

登録対象のノートブックタイプ。

provider: NotebookCellStatusBarItemProvider

セルステータスバープロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

scm

ソース管理管理用のネームスペース。

変数

拡張機能によって作成された最後のソース管理用の入力ボックス

  • 非推奨 - 代わりに SourceControl.inputBox を使用してください。

関数

新しいソース管理インスタンスを作成します。

パラメーター説明
id: string

ソース管理の idgit のように短いもの。

label: string

ソース管理用の人間が読める文字列。例: Git

rootUri?: Uri

ソース管理のルートのオプションのUri。例: Uri.parse(workspaceRoot)

戻り値説明
SourceControl

ソース管理のインスタンス。

tasks

タスク機能用のネームスペース。

変数

現在アクティブなタスク実行、または空の配列。

イベント

タスクが終了したときに発生します。

基盤となるプロセスが終了したときに発生します。このイベントは、基盤となるプロセスを実行しないタスクには発生しません。

タスクが開始されたときに発生します。

基盤となるプロセスが開始されたときに発生します。このイベントは、基盤となるプロセスを実行しないタスクには発生しません。

関数

エディターによって管理されるタスクを実行します。返されたタスク実行を使用してタスクを終了できます。

  • スロー - 新しいプロセスを開始できない環境で ShellExecution または ProcessExecution タスクを実行しようとした場合。そのような環境では、CustomExecution タスクのみを実行できます。
パラメーター説明
task: Task

実行するタスク

戻り値説明
Thenable<TaskExecution>

タスク実行に解決されるThenable。

システムで利用可能なすべてのタスクを取得します。これには、tasks.json ファイルからのタスクと、拡張機能を通じて寄与されたタスクプロバイダーからのタスクが含まれます。

パラメーター説明
filter?: TaskFilter

特定のタイプまたはバージョンのタスクを選択するためのオプションのフィルター。

戻り値説明
Thenable<Task[]>

タスクの配列に解決されるThenable。

タスクプロバイダーを登録します。

パラメーター説明
type: string

このプロバイダーが登録されるタスクの種類。

provider: TaskProvider<Task>

タスクプロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

tests

テスト機能用のネームスペース。テストは TestController インスタンスを登録し、次に TestItems を追加することによって公開されます。コントローラーは、1つ以上の TestRunProfile インスタンスを作成することでテストの実行方法を記述することもできます。

関数

新しいテストコントローラーを作成します。

パラメーター説明
id: string

コントローラーの識別子。グローバルに一意である必要があります。

label: string

コントローラーの人間が読めるラベル。

戻り値説明
TestController

TestController のインスタンス。

window

エディターの現在のウィンドウを扱うためのネームスペース。これは、表示されているアクティブなエディター、メッセージ、選択、ユーザー入力の要求を表示するためのUI要素のことです。

変数

設定で構成されている現在アクティブなカラーテーマ。アクティブなテーマは workbench.colorTheme 設定から変更できます。

現在アクティブなノートブックエディターまたは undefined。アクティブなエディターとは、現在フォーカスがあるもの、またはフォーカスがない場合は、最も最近入力が変更されたものです。

現在アクティブなターミナルまたは undefined。アクティブなターミナルとは、現在フォーカスがあるもの、または最も最近フォーカスがあったものです。

現在アクティブなエディターまたは undefined。アクティブなエディターとは、現在フォーカスがあるもの、またはフォーカスがない場合は、最も最近入力が変更されたものです。

現在のウィンドウの状態を表します。

メインエディター領域内のグリッドウィジェットを表します。

現在開いているターミナルまたは空の配列。

現在表示されているノートブックエディターまたは空の配列。

現在表示されているエディターまたは空の配列。

イベント

アクティブなカラーテーマが変更された、または変更があるときに発生する Event

アクティブなノートブックエディターが変更されたときに発生する Event注意: このイベントは、アクティブなエディターが undefined に変更されたときにも発生します。

アクティブなターミナルが変更されたときに発生する Event注意: このイベントは、アクティブなターミナルが undefined に変更されたときにも発生します。

アクティブなエディターが変更されたときに発生する Event注意: このイベントは、アクティブなエディターが undefined に変更されたときにも発生します。

ノートブックエディターの選択範囲が変更されたときに発生する Event

ノートブックエディターの可視範囲が変更されたときに発生する Event

ターミナルでシェル統合がアクティブになった、またはそのプロパティのいずれかが変更されたときに発生します。

ターミナルの状態が変更されたときに発生する Event

エディターのオプションが変更されたときに発生する Event

エディター内の選択範囲が変更されたときに発生する Event

エディターのビュー列が変更されたときに発生する Event

エディターの可視範囲が変更されたときに発生する Event

表示されているノートブックエディターが変更されたときに発生する Event

表示されているエディターの配列が変更されたときに発生する Event

現在のウィンドウのフォーカスまたはアクティビティの状態が変更されたときに発生する Event。イベントの値は、ウィンドウがフォーカスされているかどうかを表します。

ターミナルが破棄されたときに発生する Event

ターミナルコマンドが終了したときに発生します。このイベントは、ターミナルで シェル統合 がアクティブになっている場合にのみ発生します。

createTerminal API またはコマンドを通じてターミナルが作成されたときに発生する Event

ターミナルコマンドが開始されたときに発生します。このイベントは、ターミナルで シェル統合 がアクティブになっている場合にのみ発生します。

関数

ユーザーがテキスト入力を入力できるように InputBox を作成します。

多くの場合、より便利な window.showInputBox の方が使いやすいことに注意してください。window.createInputBox は、window.showInputBox が必要な柔軟性を提供しない場合に使用する必要があります。

パラメーター説明
戻り値説明
InputBox

新しい InputBox

指定された名前と言語IDで新しい出力チャネルを作成します。言語IDが提供されていない場合は、デフォルトの言語IDとして Log が使用されます。

表示されている、またはアクティブな出力チャネルには、表示されているエディターまたはアクティブなエディターからテキストドキュメントとしてアクセスでき、言語IDを使用して構文の強調表示、コードレンズなどの言語機能を提供できます。

パラメーター説明
name: string

UIでチャネルを表すために使用される、人間が読める文字列。

languageId?: string

チャネルに関連付けられた言語の識別子。

戻り値説明
OutputChannel

新しい出力チャネル。

指定された名前で新しいログ出力チャネルを作成します。

パラメーター説明
name: string

UIでチャネルを表すために使用される、人間が読める文字列。

options: {log: true}

ログ出力チャネルのオプション。

戻り値説明
LogOutputChannel

新しいログ出力チャネル。

ユーザーが T 型のアイテムのリストからアイテムを選択できるように QuickPick を作成します。

多くの場合、より便利な window.showQuickPick の方が使いやすいことに注意してください。window.createQuickPick は、window.showQuickPick が必要な柔軟性を提供しない場合に使用する必要があります。

パラメーター説明
戻り値説明
QuickPick<T>

新しい QuickPick

ステータスバーアイテムを作成します。

パラメーター説明
id: string

アイテムの識別子。拡張機能内で一意である必要があります。

alignment?: StatusBarAlignment

アイテムの配置。

priority?: number

アイテムの優先度。値が大きいほど、アイテムはより左側に表示される必要があります。

戻り値説明
StatusBarItem

新しいステータスバーアイテム。

ステータスバーアイテムを作成します。

参照 createStatusBarItem(識別子付きのステータスバーアイテムを作成する場合)。

パラメーター説明
alignment?: StatusBarAlignment

アイテムの配置。

priority?: number

アイテムの優先度。値が大きいほど、アイテムはより左側に表示される必要があります。

戻り値説明
StatusBarItem

新しいステータスバーアイテム。

基盤となるシェルプロセスを持つ Terminal を作成します。ターミナルの作業ディレクトリ (cwd) は、ワークスペースディレクトリが存在する場合は、そのディレクトリになります。

  • スロー - 新しいプロセスを開始できない環境で実行されている場合。
パラメーター説明
name?: string

UIでターミナルを表すために使用されるオプションの人間が読める文字列。

shellPath?: string

ターミナルで使用されるカスタムシェル実行可能ファイルへのオプションのパス。

shellArgs?: string | readonly string[]

カスタムシェル実行可能ファイルのオプションの引数。文字列はWindowsでのみ使用でき、コマンドライン形式でのシェル引数の指定が可能です。

戻り値説明
ターミナル

新しいターミナル。

基盤となるシェルプロセスを持つ Terminal を作成します。

  • スロー - 新しいプロセスを開始できない環境で実行されている場合。
パラメーター説明
options: TerminalOptions

新しいターミナルの特性を記述する TerminalOptions オブジェクト。

戻り値説明
ターミナル

新しいターミナル。

拡張機能がその入力と出力を制御する Terminal を作成します。

パラメーター説明
options: ExtensionTerminalOptions

新しいターミナルの特性を記述する ExtensionTerminalOptions オブジェクト。

戻り値説明
ターミナル

新しいターミナル。

テキストエディターに装飾を追加するために使用できる TextEditorDecorationType を作成します。

パラメーター説明
options: DecorationRenderOptions

装飾タイプのレンダリングオプション。

戻り値説明
TextEditorDecorationType

新しい装飾タイプのインスタンス。

views 拡張ポイントを使用して寄与されたビュー用の TreeView を作成します。

パラメーター説明
viewId: string

views 拡張ポイントを使用して寄与されたビューのID。

options: TreeViewOptions<T>

TreeView を作成するためのオプション。

戻り値説明
TreeView<T>

新しいWebviewパネルを作成して表示します。

パラメーター説明
viewType: string

Webviewパネルのタイプを識別します。

title: string

パネルのタイトル。

showOptions: ViewColumn | {preserveFocus: boolean, viewColumn: ViewColumn}

エディター内のどこにWebviewを表示するか。preserveFocusが設定されている場合、新しいWebviewはフォーカスを取得しません。

options?: WebviewPanelOptions & WebviewOptions

新しいパネルの設定。

戻り値説明
WebviewPanel

新しいWebviewパネル。

customEditors 拡張ポイントによって寄与された viewType 用のカスタムエディタープロバイダーを登録します。

カスタムエディターが開かれると、onCustomEditor:viewType アクティベーションイベントが発火されます。拡張機能は、アクティベーションの一環として、viewType 用の CustomTextEditorProviderCustomReadonlyEditorProvider、または CustomEditorProvider を登録する必要があります。

パラメーター説明
viewType: string

カスタムエディタープロバイダーの一意の識別子。これは customEditors 寄与ポイントの viewType と一致する必要があります。

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

カスタムエディターを解決するプロバイダー。

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

プロバイダーのオプション。

戻り値説明
Disposable

プロバイダーの登録を解除するDisposable。

ファイル装飾プロバイダーを登録します。

パラメーター説明
provider: FileDecorationProvider
戻り値説明
Disposable

プロバイダーの登録を解除する Disposable

ターミナル内のリンクの検出と処理を可能にするプロバイダーを登録します。

パラメーター説明
provider: TerminalLinkProvider<TerminalLink>

ターミナルリンクを提供するプロバイダー。

戻り値説明
Disposable

プロバイダーの登録を解除するDisposable。

寄与されたターミナルプロファイル用のプロバイダーを登録します。

パラメーター説明
id: string

寄与されたターミナルプロファイルのID。

provider: TerminalProfileProvider

ターミナルプロファイルプロバイダー。

戻り値説明
Disposable

プロバイダーの登録を解除する disposable

views 拡張ポイントを使用して寄与されたビュー用の TreeDataProvider を登録します。これにより、TreeView にデータを寄与し、データが変更された場合に更新できるようになります。

注: TreeView にアクセスし、その上で操作を実行するには、createTreeView を使用してください。

パラメーター説明
viewId: string

views 拡張ポイントを使用して寄与されたビューのID。

treeDataProvider: TreeDataProvider<T>

ビューのツリーデータを提供する TreeDataProvider

戻り値説明
Disposable

TreeDataProvider の登録を解除する disposable

システム全体の uris を処理できる uri handler を登録します。複数のウィンドウが開いている場合、最上位のウィンドウがuriを処理します。uriハンドラーは、それが寄与された拡張機能にスコープされ、拡張機能自体に向けられたuriのみを処理できます。uriは次のルールに従う必要があります。

  • uriスキームは vscode.env.uriScheme である必要があります。
  • uriオーソリティは拡張機能ID(例: my.extension)である必要があります。
  • uriのパス、クエリ、フラグメント部分は任意です。

例えば、my.extension 拡張機能がuriハンドラーを登録する場合、product-name://my.extension で始まるuriのみを処理できます。

拡張機能は、そのアクティベーション期間全体で単一のuriハンドラーのみを登録できます。

  • 注: 現在の拡張機能に向けられたuriが処理される直前に発生する onUri というアクティベーションイベントがあります。
パラメーター説明
handler: UriHandler

この拡張機能用に登録するuriハンドラー。

戻り値説明
Disposable

ハンドラーの登録を解除する disposable

Webviewパネルシリアライザーを登録します。

復元をサポートする拡張機能は、"onWebviewPanel:viewType" アクティベーションイベントを持ち、アクティベーション中に registerWebviewPanelSerializer が確実に呼び出されるようにする必要があります。

特定の viewType に対して一度に登録できるシリアライザーは1つだけです。

パラメーター説明
viewType: string

シリアル化可能なWebviewパネルのタイプ。

serializer: WebviewPanelSerializer<unknown>

Webviewシリアライザー。

戻り値説明
Disposable

シリアライザーの登録を解除する disposable

Webviewビュー用の新しいプロバイダーを登録します。

パラメーター説明
viewId: string

ビューの一意のID。これは package.json の views 寄与ポイントの id と一致する必要があります。

provider: WebviewViewProvider

Webviewビューのプロバイダー。

options?: {webviewOptions: {retainContextWhenHidden: boolean}}
戻り値説明
Disposable

プロバイダーの登録を解除するDisposable。

ステータスバーにメッセージを設定します。これは、より強力なステータスバーアイテムの省略形です。

パラメーター説明
text: string

表示するメッセージ。ステータスバーアイテムと同様のアイコン置換をサポートします。

hideAfterTimeout: number

メッセージが破棄されるまでのミリ秒単位のタイムアウト。

戻り値説明
Disposable

ステータスバーメッセージを非表示にするDisposable。

ステータスバーにメッセージを設定します。これは、より強力なステータスバーアイテムの省略形です。

パラメーター説明
text: string

表示するメッセージ。ステータスバーアイテムと同様のアイコン置換をサポートします。

hideWhenDone: Thenable<any>

完了(解決または拒否)時にメッセージが破棄されるThenable。

戻り値説明
Disposable

ステータスバーメッセージを非表示にするDisposable。

ステータスバーにメッセージを設定します。これは、より強力なステータスバーアイテムの省略形です。

注意: ステータスバーメッセージはスタックされるため、不要になったら破棄する必要があります。

パラメーター説明
text: string

表示するメッセージ。ステータスバーアイテムと同様のアイコン置換をサポートします。

戻り値説明
Disposable

ステータスバーメッセージを非表示にするDisposable。

エラーメッセージを表示します。

関連項目 showInformationMessage

パラメーター説明
message: string

表示するメッセージ。

...items: T[]

メッセージ内でアクションとしてレンダリングされるアイテムのセット。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じられた場合に undefined に解決される Thenable です。

エラーメッセージを表示します。

関連項目 showInformationMessage

パラメーター説明
message: string

表示するメッセージ。

options: MessageOptions

メッセージの動作を設定します。

...items: T[]

メッセージ内でアクションとしてレンダリングされるアイテムのセット。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じられた場合に undefined に解決される Thenable です。

エラーメッセージを表示します。

関連項目 showInformationMessage

パラメーター説明
message: string

表示するメッセージ。

...items: T[]

メッセージ内でアクションとしてレンダリングされるアイテムのセット。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じられた場合に undefined に解決される Thenable です。

エラーメッセージを表示します。

関連項目 showInformationMessage

パラメーター説明
message: string

表示するメッセージ。

options: MessageOptions

メッセージの動作を設定します。

...items: T[]

メッセージ内でアクションとしてレンダリングされるアイテムのセット。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じられた場合に undefined に解決される Thenable です。

ユーザーに情報メッセージを表示します。必要に応じて、クリック可能なボタンとして表示されるアイテムの配列を提供します。

パラメーター説明
message: string

表示するメッセージ。

...items: T[]

メッセージ内でアクションとしてレンダリングされるアイテムのセット。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じられた場合に undefined に解決される Thenable です。

ユーザーに情報メッセージを表示します。必要に応じて、クリック可能なボタンとして表示されるアイテムの配列を提供します。

パラメーター説明
message: string

表示するメッセージ。

options: MessageOptions

メッセージの動作を設定します。

...items: T[]

メッセージ内でアクションとしてレンダリングされるアイテムのセット。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じられた場合に undefined に解決される Thenable です。

情報メッセージを表示します。

関連項目 showInformationMessage

パラメーター説明
message: string

表示するメッセージ。

...items: T[]

メッセージ内でアクションとしてレンダリングされるアイテムのセット。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じられた場合に undefined に解決される Thenable です。

情報メッセージを表示します。

関連項目 showInformationMessage

パラメーター説明
message: string

表示するメッセージ。

options: MessageOptions

メッセージの動作を設定します。

...items: T[]

メッセージ内でアクションとしてレンダリングされるアイテムのセット。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じられた場合に undefined に解決される Thenable です。

ユーザーに入力を求める入力ボックスを開きます。

入力ボックスがキャンセルされた場合(例: ESCキーを押した場合)、戻り値は undefined になります。それ以外の場合、戻り値はユーザーが入力した文字列になります。ユーザーが何も入力せずに [OK] で入力ボックスを閉じた場合は空の文字列になります。

パラメーター説明
options?: InputBoxOptions

入力ボックスの動作を設定します。

token?: CancellationToken

キャンセルを通知するために使用できるトークン。

戻り値説明
Thenable<string | undefined>

ユーザーが提供した文字列、または取り消された場合は undefined に解決される Thenable です。

指定された NotebookDocumentノートブックエディター で表示します。

パラメーター説明
document: NotebookDocument

表示するテキストドキュメント。

options?: NotebookDocumentShowOptions

エディターオプションノートブックエディターを表示する際の動作を設定します。

戻り値説明
Thenable<NotebookEditor>

ノートブックエディターに解決される Promise です。

ユーザーに対して、ファイルを開く目的でファイルを選択できるファイルオープンダイアログを表示します。

パラメーター説明
options?: OpenDialogOptions

ダイアログを制御するオプション。

戻り値説明
Thenable<Uri[] | undefined>

選択されたリソースまたは undefined に解決される Promise です。

複数選択が可能な選択リストを表示します。

パラメーター説明
items: readonly string[] | Thenable<readonly string[]>

文字列の配列、または文字列の配列に解決される Promise。

options: QuickPickOptions & {canPickMany: true}

選択リストの動作を設定します。

token?: CancellationToken

キャンセルを通知するために使用できるトークン。

戻り値説明
Thenable<string[] | undefined>

選択されたアイテム、または undefined に解決される Thenable です。

選択リストを表示します。

パラメーター説明
items: readonly string[] | Thenable<readonly string[]>

文字列の配列、または文字列の配列に解決される Promise。

options?: QuickPickOptions

選択リストの動作を設定します。

token?: CancellationToken

キャンセルを通知するために使用できるトークン。

戻り値説明
Thenable<string | undefined>

選択された文字列、または undefined に解決される Thenable です。

複数選択が可能な選択リストを表示します。

パラメーター説明
items: readonly T[] | Thenable<readonly T[]>

アイテムの配列、またはアイテムの配列に解決される Promise。

options: QuickPickOptions & {canPickMany: true}

選択リストの動作を設定します。

token?: CancellationToken

キャンセルを通知するために使用できるトークン。

戻り値説明
Thenable<T[] | undefined>

選択されたアイテム、または undefined に解決される Thenable です。

選択リストを表示します。

パラメーター説明
items: readonly T[] | Thenable<readonly T[]>

アイテムの配列、またはアイテムの配列に解決される Promise。

options?: QuickPickOptions

選択リストの動作を設定します。

token?: CancellationToken

キャンセルを通知するために使用できるトークン。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または undefined に解決される Thenable です。

ユーザーに対して、ファイルを保存する目的でファイルを選択できるファイル保存ダイアログを表示します。

パラメーター説明
options?: SaveDialogOptions

ダイアログを制御するオプション。

戻り値説明
Thenable<Uri | undefined>

選択されたリソースまたは undefined に解決される Promise です。

指定されたドキュメントをテキストエディターで表示します。エディターを表示する場所を制御するために を指定できます。アクティブなエディター が変更される可能性があります。

パラメーター説明
document: TextDocument

表示するテキストドキュメント。

column?: ViewColumn

エディター を表示するビュー列。デフォルトは アクティブ です。存在しない列は、ViewColumn.Nine を上限として必要に応じて作成されます。現在アクティブなエディターの横にエディターを開くには ViewColumn.Beside を使用してください。

preserveFocus?: boolean

true の場合、エディターはフォーカスを取得しません。

戻り値説明
Thenable<TextEditor>

エディター に解決される Promise です。

指定されたドキュメントをテキストエディターで表示します。オプション を指定して、エディターが表示される際の動作を制御できます。アクティブなエディター が変更される可能性があります。

パラメーター説明
document: TextDocument

表示するテキストドキュメント。

options?: TextDocumentShowOptions

エディターオプションエディター を表示する際の動作を設定します。

戻り値説明
Thenable<TextEditor>

エディター に解決される Promise です。

openTextDocument(uri).then(document => showTextDocument(document, options)) のショートハンドです。

関連項目 workspace.openTextDocument

パラメーター説明
uri: Uri

リソース識別子。

options?: TextDocumentShowOptions

エディターオプションエディター を表示する際の動作を設定します。

戻り値説明
Thenable<TextEditor>

エディター に解決される Promise です。

警告メッセージを表示します。

関連項目 showInformationMessage

パラメーター説明
message: string

表示するメッセージ。

...items: T[]

メッセージ内でアクションとしてレンダリングされるアイテムのセット。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じられた場合に undefined に解決される Thenable です。

警告メッセージを表示します。

関連項目 showInformationMessage

パラメーター説明
message: string

表示するメッセージ。

options: MessageOptions

メッセージの動作を設定します。

...items: T[]

メッセージ内でアクションとしてレンダリングされるアイテムのセット。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じられた場合に undefined に解決される Thenable です。

警告メッセージを表示します。

関連項目 showInformationMessage

パラメーター説明
message: string

表示するメッセージ。

...items: T[]

メッセージ内でアクションとしてレンダリングされるアイテムのセット。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じられた場合に undefined に解決される Thenable です。

警告メッセージを表示します。

関連項目 showInformationMessage

パラメーター説明
message: string

表示するメッセージ。

options: MessageOptions

メッセージの動作を設定します。

...items: T[]

メッセージ内でアクションとしてレンダリングされるアイテムのセット。

戻り値説明
Thenable<T | undefined>

選択されたアイテム、または閉じられた場合に undefined に解決される Thenable です。

選択可能な ワークスペースフォルダー のリストを表示します。フォルダーが開かれていない場合は undefined を返します。

パラメーター説明
options?: WorkspaceFolderPickOptions

ワークスペースフォルダーリストの動作を設定します。

戻り値説明
Thenable<WorkspaceFolder | undefined>

ワークスペースフォルダーまたは undefined に解決される Promise です。

エディターに進捗状況を表示します。進捗状況は、指定されたコールバックの実行中、およびそのコールバックが返した Promise が解決も拒否もされていない間に表示されます。進捗を表示する場所(およびその他の詳細)は、渡された ProgressOptions を介して定義されます。

パラメーター説明
options: ProgressOptions

進捗を表示するために使用するオプション(場所など)を記述する ProgressOptions オブジェクト。

task: (progress: Progress<{increment: number, message: string}>, token: CancellationToken) => Thenable<R>

Promise を返すコールバック。進捗状態は、提供された Progress オブジェクトを使用して報告できます。

個別の進捗を報告するには、increment を使用して、どれだけの作業が完了したかを示します。increment 値を持つ各呼び出しは合計され、100% に達するまで全体的な進捗として反映されます(例: 値 10 は、完了した作業の 10% を占めます)。現在、個別の進捗を表示できるのは ProgressLocation.Notification だけであることに注意してください。

操作がユーザーによってキャンセルされたかどうかを監視するには、提供された CancellationToken を使用します。現在、長時間実行される操作をキャンセルするためのキャンセルボタンの表示をサポートしているのは ProgressLocation.Notification だけであることに注意してください。

戻り値説明
Thenable<R>

タスクコールバックが返した Thenable です。

指定されたコールバックの実行中、およびそのコールバックが返した Promise が解決も拒否もされていない間、ソース管理(SCM)ビューレットに進捗を表示します。

  • 非推奨 - 代わりに withProgress を使用してください。
パラメーター説明
task: (progress: Progress<number>) => Thenable<R>

Promise を返すコールバック。進捗の増分は、提供された Progress オブジェクトを使用して報告できます。

戻り値説明
Thenable<R>

タスクが返した Thenable です。

workspace

現在のワークスペースを扱うための名前空間。ワークスペースとは、エディターウィンドウ(インスタンス)で開かれている 1 つまたは複数のフォルダーの集合です。

ワークスペースなしでエディターを開くことも可能です。たとえば、プラットフォームのファイルメニューからファイルを選択して新しいエディターウィンドウを開いた場合、ワークスペース内にはいません。このモードでは、エディターの機能の一部が制限されますが、引き続きテキストファイルを開いて編集できます。

ワークスペースの概念の詳細については、https://vscode.dokyumento.jp/docs/editor/workspaces を参照してください。

ワークスペースは、ファイルシステムのイベントの 監視 とファイルの 検索 をサポートしています。どちらもパフォーマンスが良く、エディタープロセス で実行されるため、Node.js の同等機能の代わりに常にこれらを使用してください。

変数

ローカルおよびリモートのファイルとやり取りできる ファイルシステム インスタンスです。たとえば、vscode.workspace.fs.readDirectory(someUri) を使用してディレクトリのすべてのエントリを取得したり、vscode.workspace.fs.stat(anotherUri) を使用してファイルのメタデータを取得したりできます。

true の場合、ユーザーはワークスペースのコンテンツを明示的に信頼しています。

ワークスペースの名前。ワークスペースが開かれていない場合は undefined になります。

ワークスペースの概念の詳細については、https://vscode.dokyumento.jp/docs/editor/workspaces を参照してください。

エディターが現在認識しているすべてのノートブックドキュメント。

workspaceFolders の最初のエントリの URI を string として返します。最初のエントリがない場合は undefined になります。

ワークスペースの詳細については、https://vscode.dokyumento.jp/docs/editor/workspaces を参照してください。

エディターが現在認識しているすべてのテキストドキュメント。

ワークスペースファイルの場所。例:

file:///Users/name/Development/myProject.code-workspace

または

untitled:1555503116870

これは、タイトルが設定されておらず、まだ保存されていないワークスペース用です。

開かれているワークスペースによっては、値は以下のようになります。

  • ワークスペースが開かれていない場合は undefined
  • それ以外の場合は、ワークスペースファイルのパスが Uri として返されます。ワークスペースにタイトルがない場合、返される URI は untitled: スキームを使用します。

この場所は、例えば vscode.openFolder コマンドを使用して、閉じたワークスペースを再度開くために使用できます。

vscode.commands.executeCommand('vscode.openFolder', uriOfWorkspace);

ワークスペースの概念の詳細については、https://vscode.dokyumento.jp/docs/editor/workspaces を参照してください。

注意: workspace.workspaceFile を使用して設定データをファイルに書き込むことは推奨されません。その目的には workspace.getConfiguration().update() を使用できます。これは、単一のフォルダーが開かれている場合と、タイトル未設定または保存済みのワークスペースの場合の両方で機能します。

エディターで開かれているワークスペースフォルダー(0~N)のリスト。ワークスペースが開かれていない場合は undefined になります。

ワークスペースの詳細については、https://vscode.dokyumento.jp/docs/editor/workspaces を参照してください。

イベント

設定 が変更されたときに発行されるイベント。

ノートブック が変更されたときに発行されるイベント。

テキストドキュメント が変更されたときに発行されるイベント。これは通常、コンテンツ が変更されたときだけでなく、dirty 状態などの他の要素が変更されたときにも発生します。

ワークスペースフォルダーが追加または削除されたときに発行されるイベント。

注意: 最初のワークスペースフォルダーが追加、削除、または変更された場合、このイベントは発生しません。その場合、現在実行中の拡張機能(このイベントをリッスンする拡張機能を含む)は終了して再起動され、(非推奨の)rootPath プロパティが更新されて最初のワークスペースフォルダーを指すようになるためです。

ノートブック が破棄されたときに発行されるイベント。

注意 1: エディタータブが閉じられたときにこのイベントが発生する保証はありません。

注意 2: ノートブックは開いているがエディターには表示されていない可能性があるため、このイベントはエディターに表示されたことがないノートブックに対しても発生する可能性があります。

テキストドキュメント が破棄されたとき、またはテキストドキュメントの言語 ID が 変更された ときに発行されるイベント。

注意 1: エディタータブが閉じられたときにこのイベントが発生する保証はありません。エディターが変更されたタイミングを知るには onDidChangeVisibleTextEditors イベントを使用してください。

注意 2: ドキュメントは開いているがエディターには表示されていない可能性があるため、このイベントはエディターに表示されたことがないドキュメントに対しても発生する可能性があります。

ファイルが作成されたときに発行されるイベント。

注意: このイベントは、エクスプローラーからのファイル作成や workspace.applyEdit API など、ユーザーのジェスチャによってトリガーされますが、別のアプリケーションによってトリガーされた場合や workspace.fs API を使用した場合など、ディスク上でファイルが変更されたときには 発生しません

ファイルが削除されたときに発行されるイベント。

注意 1: このイベントは、エクスプローラーからのファイル削除や workspace.applyEdit API など、ユーザーのジェスチャによってトリガーされますが、別のアプリケーションによってトリガーされた場合や workspace.fs API を使用した場合など、ディスク上でファイルが変更されたときには 発生しません

注意 2: 子要素を持つフォルダーを削除する場合、イベントは 1 つだけ発生します。

現在のワークスペースが信頼されたときに発生するイベント。

ノートブック が開かれたときに発行されるイベント。

テキストドキュメント が開かれたとき、またはテキストドキュメントの言語 ID が 変更された ときに発行されるイベント。

表示されているテキストドキュメントが開かれたときにイベントリスナーを追加するには、名前空間TextEditor イベントを使用してください。注意点:

ファイルが名前変更されたときに発行されるイベント。

注意 1: このイベントは、エクスプローラーからのファイル名変更や workspace.applyEdit API など、ユーザーのジェスチャによってトリガーされますが、別のアプリケーションによってトリガーされた場合や workspace.fs API を使用した場合など、ディスク上でファイルが変更されたときには 発生しません

注意 2: 子要素を持つフォルダーの名前を変更する場合、イベントは 1 つだけ発生します。

ノートブック が保存されたときに発行されるイベント。

テキストドキュメント がディスクに保存されたときに発行されるイベント。

ファイルが作成されるときに発行されるイベント。

注意 1: このイベントは、エクスプローラーからのファイル作成や workspace.applyEdit API など、ユーザーのジェスチャによってトリガーされます。別のアプリケーションによってトリガーされた場合や workspace.fs API を使用した場合など、ディスク上でファイルが変更されたときには 発生しません

注意 2: このイベントが発生したとき、作成されるファイルに対する編集は適用できません。

ファイルが削除されるときに発行されるイベント。

注意 1: このイベントは、エクスプローラーからのファイル削除や workspace.applyEdit API など、ユーザーのジェスチャによってトリガーされますが、別のアプリケーションによってトリガーされた場合や workspace.fs API を使用した場合など、ディスク上でファイルが変更されたときには 発生しません

注意 2: 子要素を持つフォルダーを削除する場合、イベントは 1 つだけ発生します。

ファイルの名前が変更されるときに発行されるイベント。

注意 1: このイベントは、エクスプローラーからのファイル名変更や workspace.applyEdit API など、ユーザーのジェスチャによってトリガーされますが、別のアプリケーションによってトリガーされた場合や workspace.fs API を使用した場合など、ディスク上でファイルが変更されたときには 発生しません

注意 2: 子要素を持つフォルダーの名前を変更する場合、イベントは 1 つだけ発生します。

ノートブックドキュメント がディスクに保存されようとしているときに発行されるイベント。

注意 1: サブスクライバーは、非同期処理を登録することで保存を遅延させることができます。データ整合性のために、エディターはこのイベントを発行せずに保存する場合があります。例えば、ダーティファイルがある状態でシャットダウンする場合などです。

注意 2: サブスクライバーは順次呼び出され、非同期処理を登録することで保存を 遅延 させることができます。不正なリスナーに対する保護は以下のように実装されています:

  • すべてのリスナーが共有する全体的な時間予算があり、それが使い果たされると、それ以上のリスナーは呼び出されません。
  • 時間がかかる、または頻繁にエラーを生成するリスナーは、それ以上呼び出されません。

現在のしきい値は、全体的な時間予算として 1.5 秒であり、リスナーは 3 回不正な動作をすると無視されます。

テキストドキュメント がディスクに保存されようとしているときに発行されるイベント。

注意 1: サブスクライバーは、非同期処理を登録することで保存を遅延させることができます。データ整合性のために、エディターはこのイベントを発行せずに保存する場合があります。例えば、ダーティファイルがある状態でシャットダウンする場合などです。

注意 2: サブスクライバーは順次呼び出され、非同期処理を登録することで保存を 遅延 させることができます。不正なリスナーに対する保護は以下のように実装されています。

  • すべてのリスナーが共有する全体的な時間予算があり、それが使い果たされると、それ以上のリスナーは呼び出されません。
  • 時間がかかる、または頻繁にエラーを生成するリスナーは、それ以上呼び出されません。

現在のしきい値は、全体的な時間予算として 1.5 秒であり、リスナーは 3 回不正な動作をすると無視されます。

関数

指定された ワークスペース編集 に従って、1 つまたは複数のリソースに変更を加えるか、リソースを作成、削除、名前変更します。

ワークスペース編集のすべての変更は、追加された順序で適用されます。同じ位置に複数のテキスト挿入が行われた場合、それらがリソース編集と交互に行われない限り、挿入された順序で結果のテキストに文字列が現れます。「ファイルの削除」->「ファイルへのテキスト挿入」のような無効なシーケンスは操作の失敗を引き起こします。

テキスト編集のみで構成されるワークスペース編集を適用する場合、「すべてか無か(all-or-nothing)」戦略が使用されます。リソースの作成や削除を含むワークスペース編集の場合、単一の編集が失敗すると操作が中断されます(後続の編集は試行されません)。

パラメーター説明
edit: WorkspaceEdit

ワークスペース編集。

metadata?: WorkspaceEditMetadata

編集のオプションの メタデータ

戻り値説明
Thenable<boolean>

編集が適用できたときに解決される Thenable です。

ワークスペースフォルダーからの相対パスを返します。

ワークスペースフォルダー がない場合、またはパスがその中に含まれていない場合、入力されたパスがそのまま返されます。

パラメーター説明
pathOrUri: string | Uri

パスまたは URI。URI が指定された場合は、その fsPath が使用されます。

includeWorkspaceFolder?: boolean

true で、指定されたパスがワークスペースフォルダー内に含まれている場合、ワークスペース名が先頭に付加されます。複数のワークスペースフォルダーがある場合はデフォルトで true、それ以外の場合は false です。

戻り値説明
string

ルートまたは入力に対する相対パス。

提供されたパラメーターに応じて、ファイルイベント(作成、変更、削除)を通知するファイルシステム監視を作成します。

デフォルトでは、開いているすべての ワークスペースフォルダー が再帰的にファイル変更を監視されます。

監視する base パスを含む RelativePattern を提供することで、ファイル監視にパスを追加できます。パスがフォルダーであり、pattern が複雑(例: ** やパスセグメントを含む)な場合、再帰的に監視されます。それ以外の場合は非再帰的に監視されます(つまり、そのパスの最初のレベルの変更のみが報告されます)。

注意:ファイルシステムに存在しないパスは、作成されるまで遅延して監視され、作成された後に提供されたパラメーターに応じて監視が開始されます。監視されているパスが削除された場合、監視は中断され、パスが再度作成されるまでイベントは報告されません。

可能であれば、再帰的な監視の使用は最小限に抑えてください。再帰的なファイル監視は非常にリソースを消費します。

stringglobPattern として提供すると、開いているすべてのワークスペースフォルダーでファイルイベントを監視するための簡便なメソッドとして機能します。監視対象のフォルダーを追加するために使用することはできず、開いているワークスペースフォルダーの一部ではないフォルダーからのファイルイベントも報告されません。

注意globPattern パラメーターの大文字と小文字の区別は、監視が実行されているファイルシステムに依存します。Windows および macOS では大文字と小文字が区別されず、Linux では区別されます。

必要に応じて、特定の種類のイベントを無視するフラグを提供できます。

イベントのリッスンを停止するには、監視を破棄(dispose)する必要があります。

注意:フォルダーを削除したときのファイルイベントには、含まれるファイルに対するイベントが含まれない場合があります。例えば、フォルダーをごみ箱に移動した場合、技術的にはこれは名前変更/移動操作であり、各ファイルに対する削除操作ではないため、1 つのイベントのみが報告されます。さらに、同じ親操作に属する複数のイベント(フォルダー削除など)を 1 つの親イベントにまとめるパフォーマンス最適化が行われています。そのため、すべての削除されたファイルについて知る必要がある場合は、** を使用して監視し、すべてのファイルイベントを自分で処理する必要があります。

注意:再帰的なファイル監視からのファイルイベントは、ユーザー設定に基づいて除外される場合があります。設定 files.watcherExclude は、多くのファイル変更を一度に生成することが知られているフォルダー(.git フォルダーなど)からのファイルイベントのオーバーヘッドを削減するのに役立ちます。そのため、再帰的な監視を必要としない単純なパターンで監視し、除外設定が無視され、イベントを完全に制御できるようにすることを強くお勧めします。

注意:監視対象のパス自体がシンボリックリンクでない限り、ファイル監視のためにシンボリックリンクが自動的に追跡されることはありません。

注意:変更されたとして報告されるファイルパスは、大文字と小文字を区別しないプラットフォーム(通常は macOS と Windows、Linux は除く)では、ディスク上の実際の大文字と小文字の表現と異なる場合があります。ユーザーは任意のパス形式でワークスペースフォルダーを開くことができ、それを維持しようとします。これは以下を意味します:

  • パスがワークスペースフォルダー内の場合、そのパスは、ワークスペースフォルダーのパス表現と一致し、子についてはディスク上の大文字小文字の表現と一致します。
  • パスがワークスペースフォルダー外の場合、大文字と小文字は監視のために提供されたパスの表現と一致します。同様に、シンボリックリンクは維持されます。つまり、ファイルイベントは、監視のために提供されたパスを報告し、ターゲットのパスは報告しません。

ファイル監視の基本的な構成は以下の通りです:

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

ワークスペースのファイル監視

特定のワークスペースフォルダー内のファイルイベントのみに関心がある場合

vscode.workspace.createFileSystemWatcher(
  new vscode.RelativePattern(vscode.workspace.workspaceFolders[0], '**/*.js')
);

開いているすべてのワークスペースフォルダー全体でファイルイベントを監視したい場合

vscode.workspace.createFileSystemWatcher('**/*.js');

注意:ワークスペースが開かれていない場合(空のウィンドウ)、ワークスペースフォルダーの配列は空になる可能性があります。

ワークスペース外のファイル監視

ワークスペース外の *.js ファイルの変更(非再帰的)を監視するには、そのようなフォルダーへの Uri を渡します

vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.Uri.file(<path to folder outside workspace>), '*.js'));

再帰的に監視するには、複雑なグロブパターンを使用します

vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.Uri.file(<path to folder outside workspace>), '**/*.js'));

以下は、アクティブなエディターをファイル変更について監視する例です

vscode.workspace.createFileSystemWatcher(
  new vscode.RelativePattern(vscode.window.activeTextEditor.document.uri, '*')
);
パラメーター説明
globPattern: GlobPattern

監視がどのファイルイベントを報告するかを制御する グロブパターン

ignoreCreateEvents?: boolean

ファイルが作成されたときに無視します。

ignoreChangeEvents?: boolean

ファイルが変更されたときに無視します。

ignoreDeleteEvents?: boolean

ファイルが削除されたときに無視します。

戻り値説明
FileSystemWatcher

新しいファイルシステム監視インスタンス。不要になったら破棄する必要があります。

Uint8Array から string にコンテンツをデコードします。エンコーディングが適切に適用されるように、一度にすべてのコンテンツを提供する必要があります。このメソッドをチャンク形式でデコードするために使用しないでください。結果が正しくなくなる可能性があります。

設定とバッファーのコンテンツ(バイトオーダーマークなど)に基づいてエンコーディングを選択します。

注意:エンコーディングでサポートされていないコンテンツをデコードすると、結果に適切な置換文字が含まれる場合があります。

  • スローされるエラー - コンテンツがバイナリの場合、このメソッドはエラーをスローします。
パラメーター説明
content: Uint8Array

Uint8Array としてデコードするテキストコンテンツ。

戻り値説明
Thenable<string>

デコードされた string に解決される Thenable です。

提供されたエンコーディングを使用して、Uint8Array から string にコンテンツをデコードします。エンコーディングが適切に適用されるように、一度にすべてのコンテンツを提供する必要があります。このメソッドをチャンク形式でデコードするために使用しないでください。結果が正しくなくなる可能性があります。

注意:エンコーディングでサポートされていないコンテンツをデコードすると、結果に適切な置換文字が含まれる場合があります。

  • スローされるエラー - コンテンツがバイナリの場合、このメソッドはエラーをスローします。
パラメーター説明
content: Uint8Array

Uint8Array としてデコードするテキストコンテンツ。

options: {encoding: string}

エンコーディングを選択するための追加のコンテキスト。

戻り値説明
Thenable<string>

デコードされた string に解決される Thenable です。

Uint8Array から string にコンテンツをデコードします。エンコーディングが適切に適用されるように、一度にすべてのコンテンツを提供する必要があります。このメソッドをチャンク形式でデコードするために使用しないでください。結果が正しくなくなる可能性があります。

エンコーディングは、設定とバッファーのコンテンツ(バイトオーダーマークなど)に基づいて選択されます。

注意:エンコーディングでサポートされていないコンテンツをデコードすると、結果に適切な置換文字が含まれる場合があります。

  • スローされるエラー - コンテンツがバイナリの場合、このメソッドはエラーをスローします。
パラメーター説明
content: Uint8Array

Uint8Array としてデコードするコンテンツ。

options: {uri: Uri}

エンコーディングを選択するための追加のコンテキスト。

戻り値説明
Thenable<string>

デコードされた string に解決される Thenable です。

string のコンテンツを Uint8Array にエンコードします。

設定に基づいてエンコーディングを選択します。

パラメーター説明
content: string

string としてエンコードするコンテンツ。

戻り値説明
Thenable<Uint8Array>

エンコードされた Uint8Array に解決される Thenable です。

提供されたエンコーディングを使用して、string のコンテンツを Uint8Array にエンコードします。

パラメーター説明
content: string

string としてエンコードするコンテンツ。

options: {encoding: string}

エンコーディングを選択するための追加のコンテキスト。

戻り値説明
Thenable<Uint8Array>

エンコードされた Uint8Array に解決される Thenable です。

string のコンテンツを Uint8Array にエンコードします。

エンコーディングは、設定に基づいて選択されます。

パラメーター説明
content: string

string としてエンコードするコンテンツ。

options: {uri: Uri}

エンコーディングを選択するための追加のコンテキスト。

戻り値説明
Thenable<Uint8Array>

エンコードされた Uint8Array に解決される Thenable です。

ワークスペース内のすべての ワークスペースフォルダー をまたいでファイルを検索します。

findFiles('**/*.js', '**/node_modules/**', 10);
パラメーター説明
include: GlobPattern

検索対象のファイルを定義する グロブパターン。グロブパターンは、ワークスペースに関連付けられた結果の一致するファイルパスに対してマッチングされます。ワークスペースフォルダー に検索結果を制限するには、相対パターン を使用してください。

exclude?: GlobPattern

除外するファイルとフォルダーを定義する グロブパターン。グロブパターンは、ワークスペースに関連付けられた結果の一致するファイルパスに対してマッチングされます。undefined の場合、デフォルトのファイル除外設定(files.exclude 設定など、ただし search.exclude は除く)が適用されます。null の場合、除外は適用されません。

maxResults?: number

結果の上限。

token?: CancellationToken

基盤となる検索エンジンにキャンセルを通知するために使用できるトークン。

戻り値説明
Thenable<Uri[]>

リソース識別子の配列に解決される Thenable です。ワークスペースフォルダー が開かれていない場合、結果は返されません。

ワークスペース設定オブジェクトを取得します。

セクション識別子が提供されている場合、その設定部分のみが返されます。セクション識別子のドットは子アクセスとして解釈されます。例えば、{ myExt: { setting: { doIt: true }}} がある場合、getConfiguration('myExt.setting').get('doIt') === true となります。

スコープが提供されている場合、そのスコープに限定された設定が返されます。スコープには、リソース、言語識別子、またはその両方を指定できます。

パラメーター説明
section?: string

ドットで区切られた識別子。

scope?: ConfigurationScope

設定を要求する対象のスコープ。

戻り値説明
WorkspaceConfiguration

全体の設定またはそのサブセット。

指定された URI を含む ワークスペースフォルダー を返します。

  • 指定された URI がどのワークスペースフォルダーとも一致しない場合は undefined を返します。
  • 指定された URI 自体がワークスペースフォルダーである場合は、入力された URI を返します。
パラメーター説明
uri: Uri

URI。

戻り値説明
WorkspaceFolder | undefined

ワークスペースフォルダーまたは undefined

ノートブックを開きます。そのノートブックが既に 読み込まれている 場合は、早期に返されます。それ以外の場合はノートブックが読み込まれ、onDidOpenNotebookDocument イベントが発生します。

注意:返されたノートブックのライフサイクルは、拡張機能ではなくエディターが所有します。つまり、開いた後のいつでも onDidCloseNotebookDocument イベントが発生する可能性があります。

注意:ノートブックを開いても、ノートブックエディターは表示されません。この関数は、ノートブックエディターで表示可能なノートブックドキュメントを返すだけですが、他の目的にも使用できます。

パラメーター説明
uri: Uri

開くリソース。

戻り値説明
Thenable<NotebookDocument>

ノートブック に解決される Promise です。

タイトル未設定のノートブックを開きます。ドキュメントを保存する際に、エディターはユーザーにファイルパスを要求します。

関連項目 workspace.openNotebookDocument

パラメーター説明
notebookType: string

使用すべきノートブックタイプ。

content?: NotebookData

ノートブックの初期コンテンツ。

戻り値説明
Thenable<NotebookDocument>

ノートブック に解決される Promise です。

ドキュメントを開きます。ドキュメントが既に開かれている場合は、早期に返されます。それ以外の場合はドキュメントが読み込まれ、didOpen イベントが発生します。

ドキュメントは Uri で示されます。スキーム に応じて以下のルールが適用されます:

  • file スキーム:ディスク上のファイルを開きます(openTextDocument(Uri.file(path)))。ファイルが存在しないか、読み込めない場合は拒否されます。
  • untitled スキーム:関連付けられたパスを持つ空白の無題ファイルを開きます(openTextDocument(Uri.file(path).with({ scheme: 'untitled' })))。言語はファイル名から導出されます。
  • その他のすべてのスキームについては、寄与された テキストドキュメントコンテンツプロバイダー および ファイルシステムプロバイダー が参照されます。

注意:返されたドキュメントのライフサイクルは、拡張機能ではなくエディターが所有します。つまり、開いた後のいつでも onDidClose イベントが発生する可能性があります。

パラメーター説明
uri: Uri

開くリソースを識別します。

options?: {encoding: string}
戻り値説明
Thenable<TextDocument>

ドキュメント に解決される Promise です。

openTextDocument(Uri.file(path)) のショートハンドです。

関連項目 workspace.openTextDocument

パラメーター説明
path: string

ディスク上のファイルのパス。

options?: {encoding: string}
戻り値説明
Thenable<TextDocument>

ドキュメント に解決される Promise です。

タイトル未設定のテキストドキュメントを開きます。ドキュメントを保存する際に、エディターはユーザーにファイルパスを要求します。options パラメーターでドキュメントの 言語 および/または コンテンツ を指定できます。

パラメーター説明
options?: {content: string, encoding: string, language: string}

ドキュメントがどのように作成されるかを制御するためのオプション。

戻り値説明
Thenable<TextDocument>

ドキュメント に解決される Promise です。

指定されたスキーム(例:ftp)のファイルシステムプロバイダーを登録します。

スキームごとに 1 つのプロバイダーのみ登録可能です。別のプロバイダーによって既にスキームが要求されているか、予約されている場合にエラーがスローされます。

パラメーター説明
scheme: string

プロバイダーが登録する URI スキーム

provider: FileSystemProvider

ファイルシステムプロバイダー。

options?: {isCaseSensitive: boolean, isReadonly: boolean | MarkdownString}

プロバイダーに関するイミュータブルなメタデータ。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

ノートブックシリアライザー を登録します。

ノートブックシリアライザーは、notebooks 拡張ポイントを通じて寄与する必要があります。ノートブックファイルを開く際、エディターは onNotebook:<notebookType> アクティベーションイベントを送信するため、拡張機能はその応答としてシリアライザーを登録する必要があります。

パラメーター説明
notebookType: string

ノートブック。

serializer: NotebookSerializer

ノートブックシリアライザー。

options?: NotebookDocumentContentOptions

ノートブックのどの部分を永続化すべきかを定義する、オプションのコンテキストオプション。

戻り値説明
Disposable

破棄時にこのシリアライザーを登録解除する Disposable

タスクプロバイダーを登録します。

  • 非推奨 - 代わりに tasks 名前空間の対応する関数を使用してください。
パラメーター説明
type: string

このプロバイダーが登録されるタスクの種類。

provider: TaskProvider<Task>

タスクプロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

テキストドキュメントコンテンツプロバイダーを登録します。

スキームごとに登録できるプロバイダーは 1 つだけです。

パラメーター説明
scheme: string

登録する URI スキーム。

provider: TextDocumentContentProvider

コンテンツプロバイダー。

戻り値説明
Disposable

破棄されたときにこのプロバイダーの登録を解除する Disposable

指定されたリソースによって識別されるエディターを保存し、結果のリソースを返します。保存に失敗したか、指定されたリソースを持つエディターが見つからなかった場合は undefined を返します。

注意:保存するには、提供されたリソースを持つエディターが開かれている必要があります。

パラメーター説明
uri: Uri

保存する開かれたエディターに関連付けられた URI。

戻り値説明
Thenable<Uri | undefined>

保存操作が終了したときに解決される Thenable です。

すべてのダーティファイルを保存します。

パラメーター説明
includeUntitled?: boolean

このセッション中に作成されたファイルも保存します。

戻り値説明
Thenable<boolean>

ファイルが保存されたときに解決される Thenable です。保存に失敗したファイルがある場合は false を返します。

指定されたリソースによって識別されるエディターを、ユーザーが提供する新しいファイル名で保存し、結果のリソースを返します。保存に失敗、キャンセルされたか、指定されたリソースを持つエディターが見つからなかった場合は undefined を返します。

注意:名前を付けて保存するには、提供されたリソースを持つエディターが開かれている必要があります。

パラメーター説明
uri: Uri

名前を付けて保存する、開かれたエディターに関連付けられた URI。

戻り値説明
Thenable<Uri | undefined>

名前を付けて保存操作が終了したときに解決される Thenable です。

このメソッドは、vscode.workspace.workspaceFolders 配列のインデックス start から始まる deleteCount 個のワークスペースフォルダーを、オプションの workspaceFoldersToAdd セットに置き換えます。この「スプライス(splice)」動作を使用して、1回の操作でワークスペースフォルダーの追加、削除、変更を行うことができます。

注意: 場合によっては、このメソッドを呼び出すと、現在実行中の拡張機能(このメソッドを呼び出した拡張機能を含む)が終了および再起動されることがあります。例えば、最初のワークスペースフォルダーが追加、削除、または変更されると、(非推奨の)rootPath プロパティが最初のワークスペースフォルダーを指すように更新されます。もう一つのケースは、空または単一フォルダーのワークスペースから複数フォルダーのワークスペースに移行する場合です(以下も参照: https://vscode.dokyumento.jp/docs/editor/workspaces)。

ワークスペースフォルダーが更新されたときに通知を受け取るには、onDidChangeWorkspaceFolders() イベントを使用してください。

例: ワークスペースフォルダーの末尾に新しいワークスペースフォルダーを追加する

workspace.updateWorkspaceFolders(workspace.workspaceFolders ? workspace.workspaceFolders.length : 0, null, { uri: ...});

例: 最初のワークスペースフォルダーを削除する

workspace.updateWorkspaceFolders(0, 1);

例: 既存のワークスペースフォルダーを新しいものに置き換える

workspace.updateWorkspaceFolders(0, 1, { uri: ...});

既存のワークスペースフォルダーを削除し、異なる名前で再度追加してフォルダー名を変更することは有効です。

注意: onDidChangeWorkspaceFolders() が発生するのを待たずに updateWorkspaceFolders() を複数回呼び出すことはできません。

パラメーター説明
start: number

現在開いているワークスペースフォルダーのリストにおける、ワークスペースフォルダーの削除を開始するゼロベースの場所。

deleteCount: number

削除するワークスペースフォルダーの数(オプション)。

...workspaceFoldersToAdd: Array<{name: string, uri: Uri}>

削除されたワークスペースフォルダーの代わりに追加するワークスペースフォルダーの可変セット(オプション)。各ワークスペースは、必須のURIとオプションの名前で識別されます。

戻り値説明
boolean

操作が正常に開始された場合は true、引数が無効なワークスペースフォルダー状態(例: 同じURIを持つ2つのフォルダー)を引き起こす場合は false。

AccessibilityInformation

スクリーンリーダーの動作を制御するアクセシビリティ情報。

プロパティ

アイテムがフォーカスされたときにスクリーンリーダーによって読み上げられるラベル。

スクリーンリーダーがどのように対話するかを定義するウィジェットのロール。ツリーのような要素がチェックボックスのように振る舞う場合など、特別な場合にロールを設定する必要があります。ロールが指定されていない場合、エディターは自動的に適切なロールを選択します。ARIAロールの詳細については、こちらを参照してください https://w3c.github.io/aria/#widget_roles

AuthenticationForceNewSessionOptions

forceNewSession フラグを指定して authentication.getSession を呼び出す際に使用されるオプション(オプション)。

AuthenticationGetSessionOptions

AuthenticationProvider から AuthenticationSession を取得する際に使用されるオプション。

プロパティ

セッションを取得したいアカウント。これは、正しいセッションを作成するために使用されるよう、認証プロバイダーに渡されます。

既存のセッション設定をクリアするかどうか。

一度に複数のアカウントにサインインすることをサポートする認証プロバイダーの場合、getSession が呼び出されると、ユーザーに使用するアカウントを選択するように求められます。この設定は、このフラグを指定して getSession が呼び出されるまで記憶されます。

注意: この設定は拡張機能ごとに異なります。したがって、ある拡張機能が getSession を呼び出しても、別の拡張機能が getSession を呼び出す際のセッション設定には影響しません。さらに、この設定は現在のワークスペースおよびグローバルに設定されます。つまり、新しいワークスペースは最初は「グローバル」値を使用し、このフラグが提供されたときにそのワークスペースに対して新しい値が設定されます。これは、新しいワークスペースがこのフラグを設定しても、既存のワークスペースの設定が失われることはないことを意味します。

デフォルトは false です。

一致するセッションがない場合にログインを実行するかどうか。

true の場合、ユーザーにサインインを求めるモーダルダイアログが表示されます。false の場合、アカウントアクティビティバーのアイコンに数字付きのバッジが表示されます。メニューの下に拡張機能のサインイン用エントリが追加されます。これにより、ユーザーに控えめにサインインを促すことができます。

オプションを指定した場合もダイアログが表示されますが、追加のコンテキストが含まれます。

一致するセッションがあるものの、拡張機能にアクセス権が付与されていない場合、これを true に設定すると即座にモーダルダイアログが表示され、false に設定するとアカウントアイコンに数字付きのバッジが追加されます。

デフォルトは false です。

注意: このオプションは silent と一緒に使用することはできません。

すでにセッションが利用可能な場合でも、再認証を試みるかどうか。

true の場合、ユーザーに再度のサインインを求めるモーダルダイアログが表示されます。これは主に、トークンが認可を失ったために再発行が必要な場合に使用されます。

オプションを指定した場合もダイアログが表示されますが、追加のコンテキストが含まれます。

既存のセッションがなく、forceNewSession が true の場合、createIfNone と同様に動作します。

デフォルトは false です。

アカウントメニューにサインインの指示を表示するかどうか。

false の場合、ユーザーにはアカウントメニュー上のバッジと拡張機能のためのサインインオプションが表示されます。true の場合、表示は行われません。

デフォルトは false です。

注意: このオプションは、createIfNone のようにユーザーにプロンプトを表示する他のオプションと一緒に使用することはできません。

AuthenticationGetSessionPresentationOptions

インタラクティブなオプション forceNewSession および createIfNone を指定して authentication.getSession を呼び出す際に使用されるオプション。

プロパティ

再認証を要求する際にユーザーに表示されるオプションのメッセージ。ユーザーになぜ再認証を求めているのかの追加コンテキストを提供することで、受け入れられる可能性を高めることができます。

AuthenticationProvider

サービスへの認証を行うためのプロバイダー。

イベント

セッションの配列が変更された、またはセッション内のデータが変更されたときに発生する Event

メソッド

ユーザーにログインを促します。

ログインが成功した場合、onDidChangeSessions イベントが発生する必要があります。

ログインが失敗した場合、拒否された promise が返される必要があります。

プロバイダーが複数アカウントをサポートしていないことを指定している場合、これらのスコープに一致する既存のセッションがすでにある場合は、このメソッドは呼び出されるべきではありません。

パラメーター説明
scopes: readonly string[]

新しいセッションを作成する際に使用するスコープ(権限)のリスト。

options: AuthenticationProviderSessionOptions

セッションを作成するための追加オプション。

戻り値説明
Thenable<AuthenticationSession>

認証セッションを解決する promise。

セッションのリストを取得します。

パラメーター説明
scopes: readonly string[]

スコープのリスト(オプション)。指定された場合、返されるセッションはこれらの権限に一致する必要があり、指定されない場合はすべてのセッションが返される必要があります。

options: AuthenticationProviderSessionOptions

セッションを取得するための追加オプション。

戻り値説明
Thenable<AuthenticationSession[]>

認証セッションの配列を解決する promise。

セッションIDに対応するセッションを削除します。

削除が成功した場合、onDidChangeSessions イベントが発生する必要があります。

セッションを削除できない場合、プロバイダーはエラーメッセージとともに拒否する必要があります。

パラメーター説明
sessionId: string

削除するセッションのID。

戻り値説明
Thenable<void>

AuthenticationProviderAuthenticationSessionsChangeEvent

AuthenticationSession が追加、削除、または変更されたときに発生する Event

プロパティ

変更された AuthenticationProviderAuthenticationSessions。セッションは、ID以外のデータが更新されたときに変更されます。これの例としては、セッションのリフレッシュにより新しいアクセストークンがセッションに設定される場合があります。

AuthenticationProviderInformation

AuthenticationProvider に関する基本情報。

プロパティ

認証プロバイダーの一意の識別子。

人間が読み取れる認証プロバイダーの名前。

AuthenticationProviderOptions

AuthenticationProvider を作成するためのオプション。

プロパティ

このプロバイダーで一度に複数のアカウントにサインインできるかどうか。指定されない場合、デフォルトは false です。

AuthenticationProviderSessionOptions

AuthenticationProvider.getSessions および AuthenticationProvider.createSession の呼び出しに渡されるオプション。

プロパティ

問い合わせ中のアカウント。これが渡された場合、プロバイダーはこのアカウントのみに関連するセッションを返すよう試みる必要があります。

AuthenticationSession

現在ログインしているユーザーのセッションを表します。

プロパティ

アクセストークン。このトークンは、サービスへのリクエストを認証するために使用される必要があります。OAuthで普及しています。

セッションに関連付けられたアカウント。

認証セッションの識別子。

IDトークン。このトークンにはユーザーに関するアイデンティティ情報が含まれています。OpenID Connectで普及しています。

セッションのアクセストークンによって付与された権限。利用可能なスコープは AuthenticationProvider によって定義されます。

AuthenticationSessionAccountInformation

AuthenticationSession に関連付けられたアカウントの情報。

プロパティ

アカウントの一意の識別子。

人間が読み取れるアカウント名。

AuthenticationSessionsChangeEvent

AuthenticationSession が追加、削除、または変更されたときに発生する Event

プロパティ

セッションが変更された AuthenticationProvider

AuthenticationWwwAuthenticateRequest

WWW-Authenticate ヘッダー値に基づいてセッションを作成するためのパラメーターを表します。これは、APIが追加の認証が必要であることを示す WWW-Authenticate ヘッダーとともに 401 を返した場合に使用されます。その詳細は、セッションを作成するために認証プロバイダーに渡されます。

  • - 認可プロバイダーは、チャレンジ、特にこの WWW-Authenticate 値内のチャレンジの処理をサポートしている必要があります。

プロパティ

WWW-Authenticate ヘッダーにスコープが見つからない場合に使用するフォールバックスコープ。

このチャレンジをトリガーした生の WWW-Authenticate ヘッダー値。これは、必要なチャレンジ情報を抽出するために認証プロバイダーによって解析されます。

AutoClosingPair

開始文字列を入力したときに終了文字列が自動的に挿入される、文字列のペアを記述します。

プロパティ

開始文字列を入力したときに自動的に挿入される終了文字列。

ペアが自動的に閉じられないべきトークンのセット。

終了文字列の自動挿入をトリガーする文字列。

BranchCoverage

StatementCoverage のブランチの網羅率情報を含みます。

コンストラクター

パラメーター説明
executed: number | boolean

このブランチが実行された回数、または正確な回数が不明な場合は実行されたかどうかを示すブール値。0 または false の場合、ブランチは未実行(未網羅)としてマークされます。

location?: Range | Position

ブランチの位置。

label?: string
戻り値説明
BranchCoverage

プロパティ

このブランチが実行された回数、または正確な回数が不明な場合は実行されたかどうかを示すブール値。0 または false の場合、ブランチは未実行(未網羅)としてマークされます。

ブランチのラベル。例えば「${label} ブランチは実行されませんでした」というコンテキストで使用されます。

ブランチの位置。

Breakpoint

すべてのブレークポイントタイプの基本クラス。

コンストラクター

新しいブレークポイントを作成します。

パラメーター説明
enabled?: boolean

ブレークポイントが有効かどうか。

condition?: string

条件付きブレークポイントの式。

hitCondition?: string

ブレークポイントのヒットを何回無視するかを制御する式。

logMessage?: string

ブレークポイントがヒットしたときに表示するログメッセージ。

戻り値説明
Breakpoint

プロパティ

条件付きブレークポイントの式(オプション)。

ブレークポイントが有効かどうか。

ブレークポイントのヒットを何回無視するかを制御する式(オプション)。

ブレークポイントの一意のID。

このブレークポイントがヒットしたときにログに記録されるメッセージ(オプション)。{} 内の埋め込み式は、デバッグアダプターによって補間されます。

BreakpointsChangeEvent

ブレークポイントのセットに対する変更を記述するイベント。

プロパティ

追加されたブレークポイント。

変更されたブレークポイント。

削除されたブレークポイント。

CallHierarchyIncomingCall

受信呼び出し(メソッドやコンストラクターの呼び出し元など)を表します。

コンストラクター

新しい呼び出しオブジェクトを作成します。

パラメーター説明
item: CallHierarchyItem

呼び出しを行っているアイテム。

fromRanges: Range[]

呼び出しが発生する範囲。

戻り値説明
CallHierarchyIncomingCall

プロパティ

呼び出しを行っているアイテム。

呼び出しが発生する範囲。これは this.from によって示される呼び出し元に対する相対位置です。

CallHierarchyItem

呼び出し階層のコンテキストにおける、関数やコンストラクターのようなプログラミング構成を表します。

コンストラクター

新しい呼び出し階層アイテムを作成します。

パラメーター説明
kind: SymbolKind
name: string
detail: string
uri: Uri
range: Range
selectionRange: Range
戻り値説明
CallHierarchyItem

プロパティ

このアイテムの詳細(例:関数のシグネチャ)。

このアイテムの種類。

このアイテムの名前。

このシンボルを囲む範囲。前後の空白は含みませんが、コメントやコードなど他のすべてを含みます。

このシンボルが選択されたときに選択・表示されるべき範囲(例:関数名)。range に含まれている必要があります。

このアイテムのタグ。

このアイテムのリソース識別子。

CallHierarchyOutgoingCall

送信呼び出し(メソッドからのゲッター呼び出しや、コンストラクターからのメソッド呼び出しなど)を表します。

コンストラクター

新しい呼び出しオブジェクトを作成します。

パラメーター説明
item: CallHierarchyItem

呼び出されているアイテム。

fromRanges: Range[]

呼び出しが発生する範囲。

戻り値説明
CallHierarchyOutgoingCall

プロパティ

このアイテムが呼び出される範囲。これは呼び出し元に対する相対的な範囲です(例:provideCallHierarchyOutgoingCalls に渡されるアイテムであり、this.to ではありません)。

呼び出されるアイテム。

CallHierarchyProvider

呼び出し階層プロバイダーインターフェースは、拡張機能と呼び出し階層機能との間の契約を記述します。これにより、関数、メソッド、コンストラクターなどの呼び出しや呼び出し元をブラウズできます。

メソッド

指定されたドキュメントと位置によって示されるアイテムを返すことで、呼び出し階層をブートストラップします。このアイテムは、呼び出しグラフへのエントリーとして使用されます。プロバイダーは、指定された場所にアイテムがない場合は undefined または null を返す必要があります。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<CallHierarchyItem | CallHierarchyItem[]>

1つまたは複数の呼び出し階層アイテム、あるいはそのいずれかに解決される thenable。結果がないことは、undefinednull、または空の配列を返すことでシグナルできます。

アイテムに対するすべての受信呼び出し(メソッドのすべての呼び出し元など)を提供します。グラフの用語では、これは呼び出しグラフ内の方向性があり注釈付きのエッジを記述します。例えば、指定されたアイテムが開始ノードであり、結果は到達可能なノードです。

パラメーター説明
item: CallHierarchyItem

受信呼び出しを計算する階層アイテム。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<CallHierarchyIncomingCall[]>

受信呼び出しのセット、またはそのいずれかに解決される thenable。結果がないことは、undefined または null を返すことでシグナルできます。

アイテムに対するすべての送信呼び出し(指定されたアイテムから関数、メソッド、コンストラクターへの呼び出しなど)を提供します。グラフの用語では、これは呼び出しグラフ内の方向性があり注釈付きのエッジを記述します。例えば、指定されたアイテムが開始ノードであり、結果は到達可能なノードです。

パラメーター説明
item: CallHierarchyItem

送信呼び出しを計算する階層アイテム。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<CallHierarchyOutgoingCall[]>

送信呼び出しのセット、またはそのいずれかに解決される thenable。結果がないことは、undefined または null を返すことでシグナルできます。

CancellationError

操作のキャンセルを通知するために使用されるべきエラータイプ。

このタイプは、キャンセル トークンがキャンセルされたことへの応答として、または操作の実行者によって操作がキャンセルされたときに使用できます。

コンストラクター

新しいキャンセルエラーを作成します。

パラメーター説明
戻り値説明
CancellationError

CancellationToken

キャンセル トークンは、非同期操作や長時間実行される操作に対して、キャンセルを要求するために渡されます(ユーザーがタイピングを続けたため、補完アイテムのリクエストをキャンセルする場合など)。

CancellationToken のインスタンスを取得するには、CancellationTokenSource を使用します。

プロパティ

トークンがキャンセルされている場合は true、そうでない場合は false

キャンセル時に発生する Event

CancellationTokenSource

キャンセルソースは、キャンセル トークンを作成および制御します。

コンストラクター

パラメーター説明
戻り値説明
CancellationTokenSource

プロパティ

このソースのキャンセル トークン。

メソッド

トークンに対してキャンセルをシグナルします。

パラメーター説明
戻り値説明
void

オブジェクトを破棄し、リソースを解放します。

パラメーター説明
戻り値説明
void

CharacterPair

開始括弧と終了括弧のペアのように、2つの文字からなるタプル。

ChatContext

参加者に渡される追加のコンテキスト。

プロパティ

現在のチャットセッションにおけるこれまでのすべてのチャットメッセージ。現在、現在の参加者のチャットメッセージのみが含まれています。

ChatErrorDetails

チャットリクエストからのエラー結果を表します。

プロパティ

ユーザーに表示されるエラーメッセージ。

true に設定されている場合、応答は部分的にぼかされます。

ChatFollowup

参加者によって提案されたフォローアップの質問。

プロパティ

デフォルトでは、フォローアップは同じ参加者/コマンドに行きます。しかし、このプロパティを設定して異なるコマンドを呼び出すことができます。

ユーザーに表示するタイトル。指定されていない場合、デフォルトでプロンプトが表示されます。

デフォルトでは、フォローアップは同じ参加者/コマンドに行きます。しかし、このプロパティを設定して、IDによって異なる参加者を呼び出すことができます。フォローアップは、同じ拡張機能によって提供された参加者のみを呼び出すことができます。

チャットに送信するメッセージ。

ChatFollowupProvider

各リクエスト後に1回呼び出され、ユーザーに表示する提案されたフォローアップの質問を取得します。ユーザーはフォローアップをクリックしてチャットに送信できます。

メソッド

指定された結果に対するフォローアップを提供します。

パラメーター説明
result: ChatResult

このオブジェクトは、metadata を含む、参加者のコールバックから返された結果と同じプロパティを持ちますが、同じインスタンスではありません。

context: ChatContext

参加者に渡される追加のコンテキスト。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<ChatFollowup[]>

ChatLanguageModelToolReference

ユーザーがインラインの # 構文を使用するか、クリップボタンを介して添付ファイルとして、手動でリクエストに添付したツールへの参照。

プロパティ

ツール名。lm.tools にリストされているツールを参照します。

prompt 内の参照の開始および終了インデックス。未定義の場合、参照はプロンプトテキストの一部ではありませんでした。

インデックスは先頭の # 文字を考慮に入れているため、プロンプトをそのまま変更するために使用できます。

ChatParticipant

チャット参加者は、 接頭辞を使用してチャットセッションでユーザーによって呼び出されます。呼び出されると、チャットリクエストを処理し、ユーザーに応答を提供する唯一の責任を負います。ChatParticipant は chat.createChatParticipant を使用して作成されます。

イベント

結果に対するフィードバックが受信されるたび(ユーザーが結果に高評価または低評価を付けたときなど)に発生するイベント。

渡された result は、このチャット参加者のハンドラーから以前に返された結果と同じプロパティを持つことが保証されます。

プロパティ

このプロバイダーは、提案されたフォローアップの質問を取得するために、各リクエスト後に1回呼び出されます。

UI に表示される参加者のアイコン。

この参加者の一意のID。

この参加者へのリクエストのハンドラー。

メソッド

この参加者を破棄し、リソースを解放します。

パラメーター説明
戻り値説明
void

ChatParticipantToolToken

チャットリクエストの処理のコンテキスト内でツールを呼び出す際に lm.invokeTool に渡すことができるトークン。

ChatPromptReference

ユーザーがチャットリクエストに追加した値への参照。

プロパティ

この種類の参照の一意の識別子。

LLM プロンプトで使用できるこの値の説明。

prompt 内の参照の開始および終了インデックス。未定義の場合、参照はプロンプトテキストの一部ではありませんでした。

インデックスは先頭の # 文字を考慮に入れているため、プロンプトをそのまま変更するために使用できます。

この参照の値。現在 string | Uri | Location 型が使用されていますが、将来的に拡張される可能性があります。

ChatRequest

チャット参加者へのリクエスト。

プロパティ

このリクエストに対して選択された [ChatCommand コマンド](#_ChatCommand コマンド) の名前。

これは、UI で現在選択されているモデルです。拡張機能はこれを使用するか、lm.selectChatModels を使用して別のモデルを選択できます。リクエストの存続期間を超えてこれを保持しないでください。

ユーザーによって入力されたプロンプト。

このリクエストで使用される参照に関する情報は、ChatRequest.references に保存されます。

参加者の [ChatParticipant.name 名前](#_ChatParticipant.name 名前) と [ChatCommand.name コマンド](#_ChatCommand.name コマンド) はプロンプトの一部ではありません。

プロンプトで参照されている参照とそれらの値のリスト。

プロンプトには作成時のままの参照が含まれており、参照値をインライン化したり、解決された値を含む見出しへのリンクを作成したりするなど、プロンプトをさらに変更するのは参加者の役割です。参照はプロンプト内の範囲によって逆順にソートされています。つまり、プロンプト内の最後の参照がこのリストの最初になります。これにより、プロンプトの文字列操作が簡素化されます。

チャットリクエストの処理のコンテキスト内でツールを呼び出す際に lm.invokeTool に渡すことができるトークン。これにより、ツールの呼び出しとチャットセッションが関連付けられます。

ユーザーがリクエストに添付したツールのリスト。

ツール参照が存在する場合、チャット参加者は LanguageModelChatToolMode.Required を使用してチャットリクエストを行い、言語モデルにツールの入力を強制生成させる必要があります。その後、参加者は lm.invokeTool を使用してツールを使用し、結果をユーザーのプロンプトのリクエストに添付できます。ツールは、ユーザーのリクエストに対して有益な追加コンテキストを提供できる場合があります。

ChatRequestHandler

ChatRequestTurn

チャット履歴内のユーザーリクエストを表します。

プロパティ

このリクエストに対して選択された [ChatCommand コマンド](#_ChatCommand コマンド) の名前。

このリクエストの宛先となったチャット参加者のID。

ユーザーによって入力されたプロンプト。

このリクエストで使用される参照に関する情報は、ChatRequestTurn.references に保存されます。

参加者の [ChatParticipant.name 名前](#_ChatParticipant.name 名前) と [ChatCommand.name コマンド](#_ChatCommand.name コマンド) はプロンプトの一部ではありません。

このメッセージで使用された参照。

このリクエストに添付されたツールのリスト。

ChatResponseAnchorPart

ターゲットへのリンクとしてレンダリングされる、チャット応答のアンカーとなる部分を表します。

コンストラクター

新しい ChatResponseAnchorPart を作成します。

パラメーター説明
value: Uri | Location

URI または場所。

title?: string

値とともにレンダリングされるオプションのタイトル。

戻り値説明
ChatResponseAnchorPart

プロパティ

値とともにレンダリングされるオプションのタイトル。

このアンカーのターゲット。

ChatResponseCommandButtonPart

コマンドを実行するボタンであるチャット応答の部分を表します。

コンストラクター

新しい ChatResponseCommandButtonPart を作成します。

パラメーター説明
value: Command

ボタンがクリックされたときに実行されるコマンド。

戻り値説明
ChatResponseCommandButtonPart

プロパティ

ボタンがクリックされたときに実行されるコマンド。

ChatResponseFileTree

チャット応答内のファイルツリー構造を表します。

プロパティ

現在のファイルツリーがディレクトリである場合の、子ファイルツリーの配列。

ファイルまたはディレクトリの名前。

ChatResponseFileTreePart

ファイルツリーであるチャット応答の部分を表します。

コンストラクター

新しい ChatResponseFileTreePart を作成します。

パラメーター説明
value: ChatResponseFileTree[]

ファイルツリーデータ。

baseUri: Uri

このファイルツリーが相対的なベースURI。

戻り値説明
ChatResponseFileTreePart

プロパティ

このファイルツリーが相対的なベースURI。

ファイルツリーデータ。

ChatResponseMarkdownPart

Markdown としてフォーマットされたチャット応答の部分を表します。

コンストラクター

新しい ChatResponseMarkdownPart を作成します。

パラメーター説明
value: string | MarkdownString

Markdown 文字列、または Markdown として解釈されるべき文字列。MarkdownString.isTrusted のブール値形式はサポートされていません。

戻り値説明
ChatResponseMarkdownPart

プロパティ

Markdown 文字列、または Markdown として解釈されるべき文字列。

ChatResponsePart

さまざまなチャット応答タイプを表します。

ChatResponseProgressPart

進捗メッセージであるチャット応答の一部を表します。

コンストラクター

新しい ChatResponseProgressPart を作成します。

パラメーター説明
value: string

進捗メッセージ

戻り値説明
ChatResponseProgressPart

プロパティ

進捗メッセージ

ChatResponseReferencePart

コンテンツとは別にレンダリングされる参照であるチャット応答の一部を表します。

コンストラクター

新しい ChatResponseReferencePart を作成します。

パラメーター説明
value: Uri | Location

URI または場所

iconPath?: IconPath

UI に表示される参照用のアイコン

戻り値説明
ChatResponseReferencePart

プロパティ

参照用のアイコン。

参照ターゲット。

ChatResponseStream

ChatResponseStream は、参加者がチャットビューにコンテンツを返すための手段です。チャットビューで適切な方法でレンダリングされるさまざまなタイプのコンテンツをストリーミングするためのいくつかのメソッドを提供します。参加者は、返したいコンテンツタイプに対応するヘルパーメソッドを使用するか、ChatResponsePart をインスタンス化して汎用的な ChatResponseStream.push メソッドを使用して返すことができます。

メソッド

アンカーパートをこのストリームにプッシュします。push(new ChatResponseAnchorPart(value, title)) のショートハンドです。アンカーは、何らかのリソースタイプへのインライン参照です。

パラメーター説明
value: Uri | Location

URI または場所。

title?: string

値とともにレンダリングされるオプションのタイトル。

戻り値説明
void

コマンドボタンパートをこのストリームにプッシュします。push(new ChatResponseCommandButtonPart(value, title)) のショートハンドです。

パラメーター説明
command: Command

ボタンがクリックされたときに実行されるコマンド。

戻り値説明
void

ファイルツリーパートをこのストリームにプッシュします。push(new ChatResponseFileTreePart(value)) のショートハンドです。

パラメーター説明
value: ChatResponseFileTree[]

ファイルツリーデータ。

baseUri: Uri

このファイルツリーが相対的なベースURI。

戻り値説明
void

Markdown パートをこのストリームにプッシュします。push(new ChatResponseMarkdownPart(value)) のショートハンドです。

関連項目 ChatResponseStream.push

パラメーター説明
value: string | MarkdownString

Markdown 文字列、または Markdown として解釈されるべき文字列。MarkdownString.isTrusted のブール値形式はサポートされていません。

戻り値説明
void

進捗パートをこのストリームにプッシュします。push(new ChatResponseProgressPart(value)) のショートハンドです。

パラメーター説明
value: string

進捗メッセージ

戻り値説明
void

パーツをこのストリームにプッシュします。

パラメーター説明
part: ChatResponsePart

レンダリング済みまたはメタデータの応答パーツ

戻り値説明
void

参照をこのストリームにプッシュします。push(new ChatResponseReferencePart(value)) のショートハンドです。

注意: 参照は応答とともにインラインでレンダリングされません。

パラメーター説明
value: Uri | Location

URI または場所

iconPath?: IconPath

UI に表示される参照用のアイコン

戻り値説明
void

ChatResponseTurn

チャット履歴におけるチャット参加者の応答を表します。

プロパティ

この応答が由来するコマンドの名前。

この応答が由来するチャット参加者の ID。

チャット参加者から受信したコンテンツ。(メタデータではなく)実際のコンテンツを表すストリームパーツのみが表されます。

チャット参加者から受信した結果。

ChatResult

チャットリクエストの結果。

プロパティ

リクエストがエラーになった場合、このプロパティはエラーの詳細を定義します。

この結果の任意のメタデータ。何でもかまいませんが、JSON 文字列化可能である必要があります。

ChatResultFeedback

結果に対するユーザーフィードバックを表します。

プロパティ

受信したフィードバックの種類。

ユーザーがフィードバックを提供している ChatResult。このオブジェクトは、参加者コールバックから返された結果(metadata を含む)と同じプロパティを持っていますが、同じインスタンスではありません。

ChatResultFeedbackKind

受信したユーザーフィードバックの種類を表します。

列挙型メンバー

ユーザーは結果を役に立たなかったとマークしました。

ユーザーは結果を役に立ったとマークしました。

Clipboard

クリップボードは、システムのクリップボードへの読み取りおよび書き込みアクセスを提供します。

メソッド

現在のクリップボードの内容をテキストとして読み取ります。

パラメーター説明
戻り値説明
Thenable<string>

文字列に解決される Thenable。

テキストをクリップボードに書き込みます。

パラメーター説明
value: string
戻り値説明
Thenable<void>

書き込みが行われたときに解決される Thenable。

CodeAction

コードアクションは、コード内の問題の修正やコードのリファクタリングなど、コード内で実行できる変更を表します。

CodeAction は、edit および/または command を設定する必要があります。両方が提供されている場合、edit が最初に適用され、次にコマンドが実行されます。

コンストラクター

新しいコードアクションを作成します。

コードアクションには、少なくとも titleedits および/または command が必要です。

パラメーター説明
title: string

コードアクションのタイトル。

kind?: CodeActionKind

コードアクションの種類。

戻り値説明
CodeAction

プロパティ

このコードアクションが実行する コマンド

このコマンドが例外をスローした場合、エディターは現在のカーソル位置のエディターでユーザーに例外メッセージを表示します。

このコードアクションが解決する 診断情報

コードアクションが現在適用できないことを示します。

  • 無効化されたコードアクションは、自動的な 電球 コードアクションメニューには表示されません。

  • 無効化されたアクションは、ユーザーがリファクタリングなどのより具体的な種類のコードアクションを要求したときに、コードアクションメニューで薄く表示されます。

  • ユーザーがコードアクションを自動適用する キーバインディング を持っており、無効化されたコードアクションのみが返された場合、エディターはユーザーにエディター内で reason を含むエラーメッセージを表示します。

パラメーター説明
reason: string

コードアクションが現在無効になっている理由の人間が読める形式の説明。

これはコードアクション UI に表示されます。

このコードアクションが実行する ワークスペース編集

これを推奨アクションとしてマークします。推奨アクションは auto fix コマンドによって使用され、キーバインディングによってターゲットにすることができます。

クイックフィックスが根本的なエラーを適切に対処する場合は、推奨としてマークする必要があります。リファクタリングが最も合理的な選択肢である場合は、推奨としてマークする必要があります。

コードアクションの 種類

コードアクションをフィルタリングするために使用されます。

このコードアクションの簡潔で人間が読めるタイトル。

CodeActionContext

コードアクション が実行されるコンテキストに関する追加の診断情報が含まれます。

プロパティ

診断情報の配列。

返すように要求されたアクションの種類。

この種類ではないアクションは、電球 によって表示される前にフィルタリングされます。

コードアクションが要求された理由。

CodeActionKind

コードアクションの種類。

種類は、. で区切られた識別子の階層リストです。例: "refactor.extract.function"

コードアクションの種類は、リファクタリングのコンテキストメニューなどの UI 要素のためにエディターによって使用されます。ユーザーは、editor.action.codeAction コマンドを使用して特定の種類のコードアクションをトリガーすることもできます。

静的

空の種類。

ノートブック全体のスコープに適用されるすべてのコードアクションの基本種類。これを使用する CodeActionKind は常に notebook. で始まる必要があります。

これには、新しい CodeAction を作成して拡張機能経由で寄与する必要があります。既存の種類に新しい notebook. プレフィックスを追加するだけでは機能しません。機能がフルノートブックスコープ固有であるためです。

ノートブックの CodeActionKind は、以下のいずれかとして初期化できます(どちらも notebook.source.xyz になります)

  • const newKind = CodeActionKind.Notebook.append(CodeActionKind.Source.append('xyz').value)
  • const newKind = CodeActionKind.Notebook.append('source.xyz')

種類/アクションの例

  • notebook.source.organizeImports (すべてのインポートを新しいトップセルに移動する可能性があります)
  • notebook.source.normalizeVariableNames (すべての変数を標準化されたケーシング形式に名前変更する可能性があります)

クイックフィックスアクションの基本種類: quickfix

クイックフィックスアクションはコード内の問題に対処し、通常のコードアクションコンテキストメニューに表示されます。

リファクタリングアクションの基本種類: refactor

リファクタリングアクションは、リファクタリングコンテキストメニューに表示されます。

リファクタリング抽出アクションの基本種類: refactor.extract

抽出アクションの例

  • メソッドの抽出
  • 関数の抽出
  • 変数の抽出
  • クラスからのインターフェースの抽出
  • ...

インライン化リファクタリングアクションの基本種類: refactor.inline

インライン化アクションの例

  • 関数のインライン化
  • 変数のインライン化
  • 定数のインライン化
  • ...

移動リファクタリングアクションの基本種類: refactor.move

移動アクションの例

  • 関数を新しいファイルに移動
  • クラス間でプロパティを移動
  • メソッドを基本クラスに移動
  • ...

書き換えリファクタリングアクションの基本種類: refactor.rewrite

書き換えアクションの例

  • JavaScript 関数をクラスに変換
  • パラメーターの追加または削除
  • フィールドのカプセル化
  • メソッドを静的にする
  • ...

ソースアクションの基本種類: source

ソースコードアクションはファイル全体に適用されます。これらは明示的に要求される必要があり、通常の 電球 メニューには表示されません。ソースアクションは editor.codeActionsOnSave を使用して保存時に実行でき、source コンテキストメニューにも表示されます。

自動修正ソースアクションの基本種類: source.fixAll

すべて修正アクションは、ユーザー入力を必要としない明確な修正があるエラーを自動的に修正します。エラーを抑制したり、新しい型やクラスの生成のような安全でない修正を実行したりするべきではありません。

インポートの整理ソースアクションの基本種類: source.organizeImports

コンストラクター

プライベートコンストラクター。静的な CodeActionKind.XYZ を使用して既存のコードアクションの種類から派生させてください。

パラメーター説明
value: string

refactor.extract.function のような種類の値。

戻り値説明
CodeActionKind

プロパティ

種類の文字列値。例: "refactor.extract.function"

メソッド

現在の種類により具体的なセレクターを付加して新しい種類を作成します。

現在の種類を変更しません。

パラメーター説明
parts: string
戻り値説明
CodeActionKind

other がこの CodeActionKind のサブ種類であるかを確認します。

たとえば、種類 "refactor.extract""refactor.extract" および "refactor.extract.function" を含みますが、"unicorn.refactor.extract""refactor.extractAll"、または "refactor" は含みません。

パラメーター説明
other: CodeActionKind

確認する種類。

戻り値説明
boolean

このコードアクションの種類が other と交差するかを確認します。

たとえば、種類 "refactor.extract"refactor"refactor.extract"、および "refactor.extract.function" と交差しますが、"unicorn.refactor.extract""refactor.extractAll" とは交差しません。

パラメーター説明
other: CodeActionKind

確認する種類。

戻り値説明
boolean

CodeActionProvider<T>

コードのコンテキストに応じたアクションを提供します。コードアクションは通常、問題を修正するか、コードをきれいにする/リファクタリングします。

コードアクションは、いくつかの異なる方法でユーザーに表示されます

  • 現在のカーソル位置でコードアクションのリストを表示する 電球 機能。電球のアクションリストには、クイックフィックスとリファクタリングの両方が含まれます。
  • ユーザーが実行できるコマンド(Refactor など)。ユーザーはこれらをコマンドパレットまたはキーバインディングから実行できます。
  • Organize Imports などのソースアクションとして。
  • クイックフィックス は問題ビューに表示されます。
  • editor.codeActionsOnSave 設定によって保存時に適用される変更。

メソッド

ドキュメント内の指定された範囲のコードアクションを取得します。

要求された範囲に関連するコードアクションのみを返します。また、返されたコードアクションが UI にどのように表示されるかを考慮してください。たとえば、電球ウィジェットや Refactor コマンドは返されたコードアクションをリストとして表示するため、ユーザーを圧倒するような大量のコードアクションを返さないようにしてください。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

range: Range | Selection

コマンドが呼び出されたセレクターまたは範囲。アクションが現在アクティブなエディターで要求されている場合、これは常に 選択範囲 になります。

context: CodeActionContext

どのようなコードアクションが要求されているかに関する追加情報を提供します。これを使用して、エディターによって要求されている特定の種類のコードアクションを確認し、より関連性の高いアクションを返し、エディターが破棄する無関係なコードアクションを返さないようにできます。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<Array<Command | T>>

クイックフィックスやリファクタリングなどのコードアクションの配列。結果がない場合は、undefinednull、または空の配列を返すことで通知できます。

レガシーな理由で Command を返すこともサポートしていますが、すべての新しい拡張機能は CodeAction オブジェクトを返す必要があります。

コードアクションが与えられたら、その edit プロパティを埋めます。タイトルなど他のすべてのプロパティへの変更は無視されます。edit を持つコードアクションは解決されません。

注意: コードアクションではなくコマンドを返すコードアクションプロバイダーは、この関数を正常に実装できません。コマンドを返すことは非推奨であり、代わりにコードアクションを返す必要があります。

パラメーター説明
codeAction: T

コードアクション。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T>

解決されたコードアクション、またはそれに解決される Thenable。与えられた item を返しても問題ありません。結果が返されない場合、与えられた item が使用されます。

CodeActionProviderMetadata

CodeActionProvider が提供するコードアクションの種類に関するメタデータ。

プロパティ

コードアクションのクラスに対する静的なドキュメント。

プロバイダーからのドキュメントは、以下のいずれかの場合にコードアクションメニューに表示されます

  • エディターによって kind のコードアクションが要求されている場合。この場合、エディターは要求されたコードアクションの種類に最も近いドキュメントを表示します。たとえば、プロバイダーが RefactorRefactorExtract の両方のドキュメントを持っている場合、ユーザーが RefactorExtract のコードアクションを要求すると、エディターは Refactor のドキュメントの代わりに RefactorExtract のドキュメントを使用します。

  • プロバイダーによって kind のコードアクションが返された場合。

プロバイダーごとに最大 1 つのドキュメントエントリが表示されます。

CodeActionProvider が返す可能性がある CodeActionKinds のリスト。

このリストは、指定された CodeActionProvider を呼び出すべきかどうかを判断するために使用されます。不要な計算を避けるため、すべての CodeActionProviderprovidedCodeActionKinds をリストする必要があります。種類のリストは、[CodeActionKind.Refactor] のように汎用的であるか、[CodeActionKind.Refactor.Extract.append('function'), CodeActionKind.Refactor.Extract.append('constant'), ...] のように提供されるすべての種類をリストすることができます。

CodeActionTriggerKind

コードアクションが要求された理由。

列挙型メンバー

コードアクションは、ユーザーまたは拡張機能によって明示的に要求されました。

コードアクションは自動的に要求されました。

これは通常、ファイル内の現在の選択範囲が変更されたときに発生しますが、ファイルの内容が変更されたときにトリガーされることもあります。

CodeLens

コードレンズは、参照数、テストを実行する方法など、ソーステキストと一緒に表示されるべき コマンド を表します。

コードレンズは、関連付けられたコマンドがない場合、未解決 となります。パフォーマンス上の理由から、コードレンズの作成と解決は 2 つの段階で行う必要があります。

関連項目

コンストラクター

新しいコードレンズオブジェクトを作成します。

パラメーター説明
range: Range

このコードレンズが適用される範囲。

command?: Command

このコードレンズに関連付けられたコマンド。

戻り値説明
CodeLens

プロパティ

このコードレンズが表すコマンド。

コマンドが関連付けられている場合 true

このコードレンズが有効な範囲。1 行のみにまたがる必要があります。

CodeLensProvider<T>

コードレンズプロバイダーは、ソーステキストに コマンド を追加します。コマンドは、ソーステキスト間の専用の水平線として表示されます。

イベント

このプロバイダーからのコードレンズが変更されたことを通知するためのオプションのイベント。

メソッド

レンズ のリストを計算します。この呼び出しは可能な限り高速に返す必要があり、コマンドの計算に時間がかかる場合は、実装者は範囲のみを設定したコードレンズオブジェクトを返し、resolve を実装する必要があります。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T[]>

コードレンズの配列、またはそれに解決される Thenable。結果がない場合は、undefinednull、または空の配列を返すことで通知できます。

この関数は、表示可能な各コードレンズに対して、通常はスクロール時および レンズの計算 呼び出し後に呼び出されます。

パラメーター説明
codeLens: T

解決する必要があるコードレンズ。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T>

与えられた解決済みのコードレンズ、またはそれに解決される Thenable。

Color

RGBA 空間の色を表します。

コンストラクター

新しい色インスタンスを作成します。

パラメーター説明
red: number

赤色成分。

green: number

緑色成分。

blue: number

青色成分。

alpha: number

アルファ成分。

戻り値説明
Color

プロパティ

[0-1] の範囲におけるこの色のアルファ成分。

[0-1] の範囲におけるこの色の青色成分。

[0-1] の範囲におけるこの色の緑色成分。

[0-1] の範囲におけるこの色の赤色成分。

ColorInformation

ドキュメントからの色の範囲を表します。

コンストラクター

新しい色の範囲を作成します。

パラメーター説明
range: Range

色が表示される範囲。空であってはなりません。

color: Color

色の値。

戻り値説明
ColorInformation

プロパティ

この色の範囲の実際の色の値。

この色が表示されるドキュメント内の範囲。

ColorPresentation

色表示オブジェクトは、Color をテキストとしてどのように表現するか、およびソースコードからそれを参照するためにどのような編集が必要かを表します。

一部の言語では、1 つの色に複数の表現が存在する場合があります。たとえば CSS は、赤色を定数 Red、16 進値 #ff0000、または rgba および hsla 形式で表現できます。C# では他の表現が適用されます(例: System.Drawing.Color.Red)。

コンストラクター

新しい色表示を作成します。

パラメーター説明
label: string

この色表示のラベル。

戻り値説明
ColorPresentation

プロパティ

この色表示を選択したときに適用される追加の テキスト編集 のオプションの配列。編集は、メインの 編集 とも、それら自体とも重複してはなりません。

この色表示のラベル。カラーピッカーのヘッダーに表示されます。デフォルトでは、これもこの色表示を選択したときに挿入されるテキストです。

色のこの表示を選択したときにドキュメントに適用される 編集falsy の場合は ラベル が使用されます。

ColorTheme

カラーステーマを表します。

プロパティ

このカラーテーマの種類: ライト、ダーク、高コントラストダーク、および高コントラストライト。

ColorThemeKind

カラーテーマの種類を表します。

列挙型メンバー

ライトカラーテーマ。

ダークカラーテーマ。

ダーク高コントラストカラーテーマ。

ライト高コントラストカラーテーマ。

Command

コマンドへの参照を表します。UI でコマンドを表すために使用されるタイトルと、オプションで、呼び出されたときにコマンドハンドラー関数に渡される引数の配列を提供します。

プロパティ

コマンドハンドラーを呼び出す際に使用する引数。

実際のコマンドハンドラーの識別子。

関連項目 commands.registerCommand

save のようなコマンドのタイトル。

UI で表現されるときのコマンドのツールチップ。

Comment

コメントは、提供方法に応じて、エディター内またはコメントパネル内に表示されます。

プロパティ

コメントの 作成者情報

人間が読める形式のコメント本文

コメントのコンテキスト値。これは、コメント固有のアクションに寄与するために使用できます。たとえば、コメントにコンテキスト値として editable が与えられているとします。menus 拡張機能ポイントを使用して comments/comment/title にアクションを寄与する場合、when 式で comment == editable のように comment キーのコンテキスト値を指定できます。

    "contributes": {
        "menus": {
            "comments/comment/title": [
                {
                    "command": "extension.deleteComment",
                    "when": "comment == editable"
                }
            ]
        }
    }

これにより、contextValueeditable であるコメントに対してのみ、アクション extension.deleteComment が表示されます。

Comment を説明するオプションのラベル。ラベルは、authorName が存在する場合、その隣にレンダリングされます。

コメントの コメントモード

Comment のオプションのリアクション

コメントに表示されるオプションのタイムスタンプ。日付はユーザーのロケールと設定に従ってフォーマットされます。

CommentAuthorInformation

Comment の作成者情報

プロパティ

作成者のオプションのアイコンパス

コメントの作成者の表示名

CommentController

コメントコントローラーは、エディターに コメント のサポートを提供し、ユーザーがコメントと対話するためのさまざまな方法を提供できます。

プロパティ

オプションのコメント範囲プロバイダー。任意のリソース URI に対してコメントをサポートする 範囲 のリストを提供します。

提供されない場合、ユーザーはコメントを残すことができません。

このコメントコントローラーの ID。

このコメントコントローラーの人間が読める形式のラベル。

コメントコントローラーのオプション

Comment に対するリアクションの作成および削除のためのオプションのリアクションハンドラー。

パラメーター説明
comment: Comment
reaction: CommentReaction
戻り値説明
Thenable<void>

メソッド

コメントスレッド を作成します。コメントスレッドは、(リソースが一致する場合)可視テキストエディターおよびコメントパネルに作成後に表示されます。

パラメーター説明
uri: Uri

スレッドが作成されたドキュメントの URI。

range: Range

ドキュメント内のコメントスレッドが配置されている範囲。

comments: readonly Comment[]

スレッドの順序付けられたコメント。

戻り値説明
CommentThread

このコメントコントローラーを破棄します。

破棄されると、このコメントコントローラーによって作成されたすべての コメントスレッド もエディターおよびコメントパネルから削除されます。

パラメーター説明
戻り値説明
void

CommentingRangeProvider

コメントコントローラー のためのコメント範囲プロバイダー。

メソッド

新しいコメントスレッドの作成を許可する範囲のリストを提供するか、指定されたドキュメントに対して null を返します

パラメーター説明
document: TextDocument
token: CancellationToken
戻り値説明
ProviderResult<Range[] | CommentingRanges>

CommentingRanges

CommentingRangeProvider がコメントを有効にする範囲。

プロパティ

特定の範囲なしでファイルにコメントを追加できるようにします。

新しいコメントスレッドの作成を許可する範囲。

CommentMode

Comment のコメントモード

列挙型メンバー

コメントエディターを表示します

コメントのプレビューを表示します

CommentOptions

プロパティ

コメント入力ボックスにフォーカスがあるときにプレースホルダーとして表示するオプションの文字列。

コメント入力ボックスが折りたたまれているときに表示するオプションの文字列。

CommentReaction

Comment のリアクション

プロパティ

コメントの 作成者 がこのリアクションに反応したかどうか

このリアクションに反応したユーザーの数

UI で表示されるリアクション用のアイコン。

リアクションの人間が読める形式のラベル

CommentReply

comments/commentThread/context に登録されたアクションのコマンド引数。

プロパティ

コメントエディター内の値

アクティブな コメントスレッド

CommentRule

言語のコメントがどのように機能するかを説明します。

プロパティ

/* ブロックコメント */ のようなブロックコメント文字ペア

// これはコメントです のような行コメントトークン

CommentThread

ドキュメント内の特定の範囲における会話を表す コメント のコレクション。

プロパティ

スレッドが返信をサポートするかどうか。デフォルトは true。

ドキュメントを開くときにスレッドを折りたたむか展開するか。デフォルトは Collapsed。

スレッドの順序付けられたコメント。

コメントスレッドのコンテキスト値。これは、スレッド固有のアクションに寄与するために使用できます。たとえば、コメントスレッドにコンテキスト値として editable が与えられているとします。menus 拡張機能ポイントを使用して comments/commentThread/title にアクションを寄与する場合、when 式で commentThread == editable のように commentThread キーのコンテキスト値を指定できます。

"contributes": {
  "menus": {
    "comments/commentThread/title": [
      {
        "command": "extension.deleteCommentThread",
        "when": "commentThread == editable"
      }
    ]
  }
}

これにより、contextValueeditable であるコメントスレッドに対してのみ、アクション extension.deleteCommentThread が表示されます。

Comment Thread を説明するオプションの人間が読める形式のラベル

ドキュメント内のコメントスレッドが配置されている範囲。スレッドアイコンは範囲の最後の行に表示されます。未定義に設定されている場合、コメントは特定の範囲ではなく、ファイルに関連付けられます。

コメントのスレッド状態に影響を与える可能性のあるコメントスレッドのオプションの状態。

スレッドが作成されたドキュメントの URI。

メソッド

このコメントスレッドを破棄します。

破棄されると、このコメントスレッドは適切なタイミングで可視エディターおよびコメントパネルから削除されます。

パラメーター説明
戻り値説明
void

CommentThreadCollapsibleState

コメントスレッド の折りたたみ状態

列挙型メンバー

アイテムが折りたたまれていることを示します

アイテムが展開されていることを示します

CommentThreadState

コメントスレッドの状態。

列挙型メンバー

未解決のスレッド状態

解決済みのスレッド状態

CompletionContext

補完プロバイダー がトリガーされるコンテキストに関する追加情報が含まれます。

プロパティ

補完アイテムプロバイダーをトリガーした文字。

プロバイダーが文字によってトリガーされなかった場合は undefined

補完プロバイダーがトリガーされた時点で、トリガー文字はすでにドキュメント内に存在します。

補完がどのようにトリガーされたか。

CompletionItem

補完アイテムは、入力中のテキストを補完するために提案されるテキストスニペットを表します。

ラベルのみから補完アイテムを作成すれば十分です。その場合、補完アイテムはカーソルまでの単語を、指定されたラベルまたは insertText で置き換えます。それ以外の場合は、指定された edit が使用されます。

エディターで補完アイテムを選択すると、定義済みまたは合成されたテキスト編集が*すべて*のカーソル/選択範囲に適用されますが、additionalTextEdits は提供された通りに適用されます。

関連項目

コンストラクター

新しい補完アイテムを作成します。

補完アイテムには少なくともラベルが必要であり、これは挿入テキストとして、またソートやフィルタリングにも使用されます。

パラメーター説明
label: string | CompletionItemLabel

補完のラベル。

kind?: CompletionItemKind

補完の種類

戻り値説明
CompletionItem

プロパティ

この補完を選択したときに適用される、オプションの追加のテキスト編集の配列。編集内容は、メインの edit と重複してはならず、またそれら同士で重複してもいけません。

この補完を挿入した*後*に実行される、オプションのコマンド。*注意*: 現在のドキュメントに対する追加の修正は、additionalTextEdits プロパティで記述する必要があります。

この補完がアクティブなときに押されると、それを先に受け入れてからその文字を入力する、オプションの文字セット。*注意*: すべてのコミット文字は length=1 である必要があり、不要な文字は無視されます。

型やシンボル情報など、このアイテムに関する人間が読める補完情報。

ドキュメントコメントを表す人間が読める文字列。

補完アイテムのセットをフィルタリングするときに使用する文字列。falsy の場合は、label が使用されます。

フィルターテキストは、range プロパティによって定義される先行単語(プレフィックス)に対して照合されることに注意してください。

この補完を選択したときにドキュメントに挿入する文字列またはスニペット。falsy の場合は、label が使用されます。

insertText の空白をそのまま保持します。デフォルトでは、エディターは新しい行の先行空白を調整し、アイテムが受け入れられた行のインデントと一致するようにします。これを true に設定すると、その調整が防止されます。

この補完アイテムの種類。種類に基づいて、エディターによってアイコンが選択されます。

この補完アイテムのラベル。デフォルトでは、これも補完を選択したときに挿入されるテキストになります。

表示時にこのアイテムを選択します。*注意*: 選択できる補完アイテムは1つだけであり、どのアイテムを選択するかはエディターが決定します。ルールは、最もよく一致するアイテムのうち、*最初*のアイテムが選択されるというものです。

この補完アイテムによって置き換えられるテキストを選択する範囲、または挿入および置換範囲。

省略された場合、現在の単語の範囲が置換範囲として使用され、挿入範囲としては現在の単語の開始位置から現在位置までが使用されます。

*注意 1:* 範囲は単一行でなければならず、補完が要求された位置を含んでいなければなりません。*注意 2:* 挿入範囲は置換範囲のプレフィックスでなければなりません。つまり、置換範囲に含まれ、同じ位置から開始されていなければなりません。

このアイテムを他のアイテムと比較するときに使用する文字列。falsy の場合は、label が使用されます。

sortText は補完アイテムの初期順序付けにのみ使用されることに注意してください。先行単語(プレフィックス)がある場合、順序付けは補完がそのプレフィックスにどれだけ一致するかに基づき、初期順序付けは補完が等しく一致する場合にのみ使用されます。プレフィックスは range プロパティによって定義されるため、補完ごとに異なる場合があります。

この補完アイテムのタグ。

  • 非推奨 - 代わりに CompletionItem.insertTextCompletionItem.range を使用してください。

この補完を選択したときにドキュメントに適用される編集。編集が提供されると、insertText の値は無視されます。

編集の範囲は、単一行であり、補完が要求された同じ行である必要があります。

CompletionItemKind

補完アイテムの種類。

列挙型メンバー

Text 補完アイテムの種類。

Method 補完アイテムの種類。

Function 補完アイテムの種類。

Constructor 補完アイテムの種類。

Field 補完アイテムの種類。

Variable 補完アイテムの種類。

Class 補完アイテムの種類。

Interface 補完アイテムの種類。

Module 補完アイテムの種類。

Property 補完アイテムの種類。

Unit 補完アイテムの種類。

Value 補完アイテムの種類。

Enum 補完アイテムの種類。

Keyword 補完アイテムの種類。

Snippet 補完アイテムの種類。

Color 補完アイテムの種類。

File 補完アイテムの種類。

Reference 補完アイテムの種類。

Folder 補完アイテムの種類。

EnumMember 補完アイテムの種類。

Constant 補完アイテムの種類。

Struct 補完アイテムの種類。

Event 補完アイテムの種類。

Operator 補完アイテムの種類。

TypeParameter 補完アイテムの種類。

User 補完アイテムの種類。

Issue 補完アイテムの種類。

CompletionItemLabel

補完アイテムのための構造化されたラベル。

プロパティ

CompletionItemLabel.detail の後に控えめに表示されるオプションの文字列。完全修飾名やファイルパスに使用する必要があります。

label の直後に間隔を空けず、控えめに表示されるオプションの文字列。関数シグネチャや型アノテーションに使用する必要があります。

この補完アイテムのラベル。

デフォルトでは、これがこの補完を選択したときに挿入されるテキストでもあります。

CompletionItemProvider<T>

補完アイテムプロバイダーインターフェースは、拡張機能と IntelliSense 間の契約を定義します。

プロバイダーは resolveCompletionItem 関数を実装することで、detail および documentation プロパティの計算を遅延させることができます。ただし、sortTextfilterTextinsertTextrange など、初期ソートやフィルタリングに必要なプロパティは、解決中に変更してはいけません。

プロバイダーは、ユーザーのジェスチャーによって明示的に、あるいは構成によっては単語やトリガー文字を入力したときに暗示的に、補完を求められます。

メソッド

指定された位置とドキュメントに対する補完アイテムを提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセル トークン。

context: CompletionContext

補完がどのようにトリガーされたか。

戻り値説明
ProviderResult<CompletionList<T> | T[]>

補完の配列、補完リスト、またはどちらかに解決される thenable。結果がないことは、undefinednull、または空の配列を返すことでシグナルできます。

補完アイテムが与えられたら、ドキュメントコメント詳細などのデータを補完します。

エディターは補完アイテムを一度だけ解決します。

注意: この関数は、補完アイテムがUIに表示されているとき、またはアイテムが挿入のために選択されたときに呼び出されます。そのため、表示を変更するもの(ラベル、ソート、フィルタリングなど)や、(プライマリな)挿入動作(insertText)を変更することはできません。

この関数は additionalTextEdits を埋めることができます。ただし、解決が完了する*前*にアイテムが挿入される可能性があり、その場合、エディターはそれらの追加テキスト編集を適用するために最善を尽くします。

パラメーター説明
item: T

現在UIでアクティブな補完アイテム。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T>

解決された補完アイテム、またはそれに解決される thenable。指定された item を返しても問題ありません。結果が返されない場合は、指定された item が使用されます。

CompletionItemTag

補完アイテムタグは、補完アイテムのレンダリングを微調整する追加のアノテーションです。

列挙型メンバー

補完を廃止としてレンダリングします(通常は取り消し線を使用)。

CompletionList<T>

エディターに表示される補完アイテムのコレクションを表します。

コンストラクター

新しい補完リストを作成します。

パラメーター説明
items?: T[]

補完アイテム。

isIncomplete?: boolean

リストは不完全です。

戻り値説明
CompletionList<T>

プロパティ

このリストは不完全です。さらに入力すると、このリストが再計算される必要があります。

補完アイテム。

CompletionTriggerKind

補完プロバイダーがどのようにトリガーされたか

列挙型メンバー

補完が通常通りトリガーされました。

補完がトリガー文字によってトリガーされました。

現在の補完リストが不完全であるため、補完が再トリガーされました。

ConfigurationChangeEvent

構成の変更を記述するイベント

メソッド

指定されたセクションが変更されたかどうかを確認します。スコープが提供されている場合は、そのスコープ下のリソースに対してセクションが変更されたかを確認します。

パラメーター説明
section: string

構成名。*ドット付き*名をサポートします。

scope?: ConfigurationScope

確認するスコープ。

戻り値説明
boolean

指定されたセクションが変更された場合は true

ConfigurationScope

構成スコープ。これは以下になり得ます

  • リソースを表す Uri
  • 開いているテキストドキュメントを表す TextDocument
  • ワークスペースフォルダーを表す WorkspaceFolder
  • 以下を含むオブジェクト
    • uri: テキストドキュメントのオプションの Uri
    • languageId: テキストドキュメントの言語識別子

ConfigurationTarget

構成ターゲット

列挙型メンバー

グローバル構成

ワークスペース構成

ワークスペースフォルダー構成

CustomDocument

CustomEditorProvider によって使用されるカスタムドキュメントを表します。

カスタムドキュメントは、指定された CustomEditorProvider 内でのみ使用されます。CustomDocument のライフサイクルはエディターによって管理されます。CustomDocument への参照がなくなったときに、破棄されます。

プロパティ

このドキュメントに関連付けられた URI。

メソッド

カスタムドキュメントを破棄します。

これは、指定された CustomDocument への参照がなくなったときに(たとえば、ドキュメントに関連付けられたすべてのエディターが閉じられたときに)、エディターによって呼び出されます。

パラメーター説明
戻り値説明
void

CustomDocumentBackup

CustomDocument のバックアップ。

プロパティ

バックアップの一意の識別子。

この ID は、バックアップからカスタムエディターを開くときに openCustomDocument 内で拡張機能に渡されます。

メソッド

現在のバックアップを削除します。

これは、新しいバックアップが作成されたときやファイルが保存されたときなど、現在のバックアップが不要になったことが明らかな場合に、エディターによって呼び出されます。

パラメーター説明
戻り値説明
void

CustomDocumentBackupContext

CustomDocumentBackup を実装するために使用される追加情報。

プロパティ

新しいバックアップを書き込むための推奨ファイル場所。

拡張機能はこれを無視して、バックアップ用に独自の戦略を使用することも自由であることに注意してください。

エディターが現在のワークスペースのリソース用である場合、destinationExtensionContext.storagePath 内のファイルを指します。destination の親フォルダーが存在しない可能性があるため、この場所にバックアップを書き込む前に必ず作成してください。

CustomDocumentContentChangeEvent<T>

CustomDocument の内容が変更されたことをエディターに通知するために、拡張機能によってトリガーされるイベント。

参照 CustomEditorProvider.onDidChangeCustomDocument

プロパティ

変更対象のドキュメント。

CustomDocumentEditEvent<T>

CustomDocument 上で編集が発生したことをエディターに通知するために、拡張機能によってトリガーされるイベント。

参照 CustomEditorProvider.onDidChangeCustomDocument

プロパティ

編集対象のドキュメント。

編集を記述する表示名。

これは、元に戻す/やり直し操作のために、UIでユーザーに表示されます。

メソッド

編集操作をやり直します。

これは、ユーザーがこの編集をやり直したときにエディターによって呼び出されます。redo を実装するには、拡張機能は CustomEditorProvider.onDidChangeCustomDocument によってエディターの内部編集スタックにこの編集が追加された直後の状態に、ドキュメントとエディターを復元する必要があります。

パラメーター説明
戻り値説明
void | Thenable<void>

編集操作を元に戻します。

これは、ユーザーがこの編集を元に戻したときにエディターによって呼び出されます。undo を実装するには、拡張機能は CustomEditorProvider.onDidChangeCustomDocument によってエディターの内部編集スタックにこの編集が追加される直前の状態に、ドキュメントとエディターを復元する必要があります。

パラメーター説明
戻り値説明
void | Thenable<void>

CustomDocumentOpenContext

カスタムドキュメントを開く際に関する追加情報。

プロパティ

ドキュメントを復元するためのバックアップの ID。バックアップがない場合は undefined

これが提供されている場合、拡張機能はユーザーのワークスペースからファイルを読み込むのではなく、バックアップからエディターを復元する必要があります。

URI がタイトル未設定のファイルである場合、このファイルにはそのファイルのバイトデータが設定されます。

これが提供されている場合、拡張機能は渡された URI に対して fs API を実行するのではなく、このバイトデータを利用する必要があります。

CustomEditorProvider<T>

カスタムドキュメントモデルを使用する編集可能なカスタムエディターのためのプロバイダー。

カスタムエディターは、TextDocument の代わりに CustomDocument をドキュメントモデルとして使用します。これにより、拡張機能は編集、保存、バックアップなどのアクションを完全に制御できます。

バイナリファイルや複雑なシナリオを扱う場合は、このタイプのカスタムエディターを使用してください。単純なテキストベースのドキュメントの場合は、代わりに CustomTextEditorProvider を使用してください。

イベント

カスタムエディター内で編集が発生したことを通知します。

このイベントは、カスタムエディターで編集が発生するたびに拡張機能によって発行される必要があります。編集とは、テキストの変更から画像の切り抜き、リストの並べ替えまで、何であっても構いません。編集とは何か、各編集でどのデータが保存されるかは、拡張機能が自由に定義できます。

onDidChangeCustomDocument を発行すると、エディターは変更済み(ダーティ)としてマークされます。これは、ユーザーがファイルを保存または元に戻すとクリアされます。

元に戻す/やり直しをサポートするエディターは、編集が発生するたびに CustomDocumentEditEvent を発行する必要があります。これにより、ユーザーはエディターの標準的なキーボードショートカットを使用して編集を元に戻したりやり直したりできます。また、ユーザーが最後の保存状態まで編集をすべて元に戻すと、エディターはエディターを「変更済み」ではないとマークします。

編集をサポートしているがエディターの標準的な元に戻す/やり直しメカニズムを使用できないエディターは、CustomDocumentContentChangeEvent を発行する必要があります。元に戻す/やり直しをサポートしていないエディターのダーティ状態をユーザーがクリアする唯一の方法は、ファイルを save または revert することです。

エディターは、CustomDocumentEditEvent イベントのみを発行するか、または CustomDocumentContentChangeEvent イベントのみを発行するようにしてください。

メソッド

変更済みのカスタムドキュメントをバックアップします。

バックアップはホットエグジット用、およびデータ損失を防ぐために使用されます。backupCustomDocument メソッドは、編集が適用された状態でリソースを永続化する必要があります。最も一般的なのは、ExtensionContext.storagePath にリソースをディスクへ保存することです。エディターが再読み込みされ、リソースに対してカスタムエディターが開かれると、拡張機能はそのリソースに対してバックアップが存在するかどうかを最初に確認する必要があります。バックアップが存在する場合、拡張機能はワークスペースのリソースからではなく、バックアップからファイルの内容を読み込む必要があります。

backupCustomDocument は、ユーザーがドキュメントの編集を停止してから約1秒後にトリガーされます。ユーザーがドキュメントを急速に編集する場合、編集が停止するまで backupCustomDocument は呼び出されません。

auto save が有効な場合、backupCustomDocument は呼び出されません(自動保存によってリソースがすでに永続化されているため)。

パラメーター説明
document: T

バックアップするドキュメント。

context: CustomDocumentBackupContext

ドキュメントのバックアップに使用できる情報。

cancellation: CancellationToken

新しいバックアップが来ているため、現在のバックアップを通知するトークン。キャンセルへの対応方法は拡張機能次第です。たとえば、時間がかかる操作で大きなファイルをバックアップしている場合、エディターが有効なバックアップを持つことを保証するために、拡張機能はキャンセルせずに進行中のバックアップを完了させることを選択できます。

戻り値説明
Thenable<CustomDocumentBackup>

バックアップが完了したことを通知する Thenable

指定されたリソースに対して新しいドキュメントを作成します。

openCustomDocument は、指定されたリソースのエディターが最初に開かれたときに呼び出されます。その後、開かれたドキュメントは resolveCustomEditor に渡され、ユーザーにエディターが表示されます。

すでに開いている CustomDocuments は、ユーザーが追加のエディターを開いた場合に再利用されます。指定されたリソースのすべてのエディターが閉じられると、CustomDocument は破棄されます。この時点でエディターを開くと、openCustomDocument が再度呼び出されます。

パラメーター説明
uri: Uri

開くドキュメントの URI。

openContext: CustomDocumentOpenContext

カスタムドキュメントを開く際に関する追加情報。

token: CancellationToken

結果が不要になったことを示すキャンセル トークン。

戻り値説明
T | Thenable<T>

カスタムドキュメント。

指定されたリソースのカスタムエディターを解決します。

これは、ユーザーがこの CustomEditorProvider 用の新しいエディターを開くたびに呼び出されます。

パラメーター説明
document: T

解決されるリソースのドキュメント。

webviewPanel: WebviewPanel

このリソースのエディターUIを表示するために使用される Webview パネル。

解決中、プロバイダーはコンテンツ Webview パネルの初期 HTML を埋め込み、関心のあるすべてのイベントリスナーをフックする必要があります。プロバイダーは、コマンドなどで後で使用するために WebviewPanel を保持することもできます。詳細については WebviewPanel を参照してください。

token: CancellationToken

結果が不要になったことを示すキャンセル トークン。

戻り値説明
void | Thenable<void>

カスタムエディターが解決されたことを示すオプションの thenable。

カスタムドキュメントを最後に保存された状態に戻します。

このメソッドは、ユーザーがカスタムエディターで File: Revert File をトリガーしたときにエディターによって呼び出されます。(これはエディターの File: Revert File コマンドを使用している場合のみであり、ファイルの git revert ではないことに注意してください)。

実装者は、document のすべてのエディターインスタンス(webview)が、保存された状態と同じ状態でドキュメントを表示していることを確認する必要があります。これには通常、ワークスペースからファイルを再読み込みすることが含まれます。

パラメーター説明
document: T

元に戻すドキュメント。

cancellation: CancellationToken

元に戻す操作が不要になったことを示すトークン。

戻り値説明
Thenable<void>

元に戻す操作が完了したことを通知する Thenable

カスタムドキュメントを保存します。

このメソッドは、ユーザーがカスタムエディターを保存したときにエディターによって呼び出されます。これは、カスタムエディターがアクティブなときにユーザーが保存をトリガーした場合や、save all などのコマンド、または有効な場合は自動保存によって発生する可能性があります。

実装者はカスタムエディターを永続化する必要があります。これには通常、カスタムドキュメントのファイルデータをディスクに書き込むことが含まれます。saveCustomDocument が完了すると、関連付けられたエディターインスタンスは「変更済み」としてはマークされなくなります。

パラメーター説明
document: T

保存するドキュメント。

cancellation: CancellationToken

保存が不要になったことを示すトークン(別の保存がトリガーされた場合など)。

戻り値説明
Thenable<void>

保存が完了したことを示す Thenable

カスタムドキュメントを別の場所に保存します。

このメソッドは、ユーザーがカスタムエディターで「名前を付けて保存」をトリガーしたときにエディターによって呼び出されます。実装者はカスタムエディターを destination に永続化する必要があります。

ユーザーが「名前を付けて保存」を受け入れると、現在のエディターは新しく保存されたファイルの変更済みではないエディターに置き換えられます。

パラメーター説明
document: T

保存するドキュメント。

destination: Uri

保存先。

cancellation: CancellationToken

保存が不要になったことを示すトークン。

戻り値説明
Thenable<void>

保存が完了したことを通知する Thenable

CustomExecution

拡張機能のコールバックをタスクとして実行するために使用されるクラス。

コンストラクター

CustomExecution タスクオブジェクトを構築します。タスクが実行されるとコールバックが実行され、その時点で拡張機能は「実行される」Pseudoterminal を返す必要があります。タスクは、Pseudoterminal.open が呼び出されるまでさらなる実行を待機する必要があります。タスクのキャンセルは、Pseudoterminal.close を使用して処理する必要があります。タスクが完了したら、Pseudoterminal.onDidClose を発行します。

パラメーター説明
callback: (resolvedDefinition: TaskDefinition) => Thenable<Pseudoterminal>

ユーザーがタスクを開始したときに呼び出されるコールバック。タスク定義にあった ${} スタイルの変数はすべて解決され、resolvedDefinition としてコールバックに渡されます。

戻り値説明
CustomExecution

CustomReadonlyEditorProvider<T>

カスタムドキュメントモデルを使用する読み取り専用カスタムエディターのためのプロバイダー。

カスタムエディターは、TextDocument の代わりに CustomDocument をドキュメントモデルとして使用します。

バイナリファイルや複雑なシナリオを扱う場合は、このタイプのカスタムエディターを使用してください。単純なテキストベースのドキュメントの場合は、代わりに CustomTextEditorProvider を使用してください。

メソッド

指定されたリソースに対して新しいドキュメントを作成します。

openCustomDocument は、指定されたリソースのエディターが最初に開かれたときに呼び出されます。その後、開かれたドキュメントは resolveCustomEditor に渡され、ユーザーにエディターが表示されます。

すでに開いている CustomDocuments は、ユーザーが追加のエディターを開いた場合に再利用されます。指定されたリソースのすべてのエディターが閉じられると、CustomDocument は破棄されます。この時点でエディターを開くと、openCustomDocument が再度呼び出されます。

パラメーター説明
uri: Uri

開くドキュメントの URI。

openContext: CustomDocumentOpenContext

カスタムドキュメントを開く際に関する追加情報。

token: CancellationToken

結果が不要になったことを示すキャンセル トークン。

戻り値説明
T | Thenable<T>

カスタムドキュメント。

指定されたリソースのカスタムエディターを解決します。

これは、ユーザーがこの CustomEditorProvider 用の新しいエディターを開くたびに呼び出されます。

パラメーター説明
document: T

解決されるリソースのドキュメント。

webviewPanel: WebviewPanel

このリソースのエディターUIを表示するために使用される Webview パネル。

解決中、プロバイダーはコンテンツ Webview パネルの初期 HTML を埋め込み、関心のあるすべてのイベントリスナーをフックする必要があります。プロバイダーは、コマンドなどで後で使用するために WebviewPanel を保持することもできます。詳細については WebviewPanel を参照してください。

token: CancellationToken

結果が不要になったことを示すキャンセル トークン。

戻り値説明
void | Thenable<void>

カスタムエディターが解決されたことを示すオプションの thenable。

CustomTextEditorProvider

テキストベースのカスタムエディターのためのプロバイダー。

テキストベースのカスタムエディターは、TextDocument をデータモデルとして使用します。これにより、元に戻す操作やバックアップなど、多くの一般的な操作をエディターで処理できるため、カスタムエディターの実装が大幅に簡略化されます。プロバイダーは、Webview と TextDocument 間でテキストの変更を同期する役割を担います。

メソッド

指定されたテキストリソースのカスタムエディターを解決します。

これは、ユーザーが CustomTextEditorProvider のリソースを最初に開いたとき、またはこの CustomTextEditorProvider を使用している既存のエディターを再度開いたときに呼び出されます。

パラメーター説明
document: TextDocument

解決するリソースのドキュメント。

webviewPanel: WebviewPanel

このリソースのエディターUIを表示するために使用される Webview パネル。

解決中、プロバイダーはコンテンツ Webview パネルの初期 HTML を埋め込み、関心のあるすべてのイベントリスナーをフックする必要があります。プロバイダーは、コマンドなどで後で使用するために WebviewPanel を保持することもできます。詳細については WebviewPanel を参照してください。

token: CancellationToken

結果が不要になったことを示すキャンセル トークン。

戻り値説明
void | Thenable<void>

カスタムエディターが解決されたことを示す thenable。

DataTransfer

転送された対応するデータの MIME タイプのマッピングを含むマップ。

handleDrag を実装するドラッグ&ドロップコントローラーは、DataTransfer に追加の MIME タイプを追加できます。これらの追加の MIME タイプは、ドラッグが同じドラッグ&ドロップコントローラー内の要素から開始された場合にのみ handleDrop に含まれます。

コンストラクター

パラメーター説明
戻り値説明
DataTransfer

メソッド

このデータ転送の各要素について [mime, item] ペアを取得する新しいイテレーターを取得します。

パラメーター説明
戻り値説明
IterableIterator<[mimeType: string, item: DataTransferItem]>

データ転送アイテムの反復処理を許可します。

パラメーター説明
callbackfn: (item: DataTransferItem, mimeType: string, dataTransfer: DataTransfer) => void

データ転送アイテムを反復処理するためのコールバック。

thisArg?: any

ハンドラー関数を呼び出すときに使用される this コンテキスト。

戻り値説明
void

指定された MIME タイプのデータ転送アイテムを取得します。

パラメーター説明
mimeType: string

データ転送アイテムを取得するための MIME タイプ(text/plainimage/png など)。MIME タイプの検索は大文字と小文字を区別しません。

特殊な MIME タイプ

  • text/uri-list\r\n で区切られた toString() された Uri の文字列。ファイル内のカーソル位置を指定するには、Uri のフラグメントを L3,5(3は行番号、5は列番号)に設定します。
戻り値説明
DataTransferItem

MIME タイプからデータ転送アイテムへのマッピングを設定します。

パラメーター説明
mimeType: string

データを設定する MIME タイプ。MIME タイプは小文字で保存され、検索は大文字と小文字を区別しません。

value: DataTransferItem

指定された MIME タイプのデータ転送アイテム。

戻り値説明
void

DataTransferFile

DataTransferItem に関連付けられたファイル。

この型のインスタンスは、拡張機能ではなく、エディターによってのみ作成できます。

プロパティ

ファイル名。

ファイルのフルパス。

Web 上では undefined になる可能性があります。

メソッド

ファイルのフルコンテンツ。

パラメーター説明
戻り値説明
Thenable<Uint8Array>

DataTransferItem

ドラッグ&ドロップ操作中に転送されるデータをカプセル化します。

コンストラクター

パラメーター説明
value: any

このアイテムに保存されたカスタムデータ。DataTransferItem.value を使用して取得できます。

戻り値説明
DataTransferItem

プロパティ

このアイテムに保存されたカスタムデータ。

value を使用して操作間でデータを共有できます。DataTransferItem を作成した拡張機能が同じ拡張ホストで実行されている限り、元のオブジェクトを取得できます。

メソッド

このデータ転送アイテムに関連付けられた ファイル の取得を試みます。

ファイルオブジェクトは、ドラッグ&ドロップ操作のスコープ内でのみ有効であることに注意してください。

パラメーター説明
戻り値説明
DataTransferFile

データ転送のファイル。アイテムがファイルではない、またはファイルデータにアクセスできない場合は undefined

このアイテムの文字列形式を取得します。

DataTransferItem.value がオブジェクトの場合、これは DataTransferItem.value 値を JSON 文字列化した結果を返します。

パラメーター説明
戻り値説明
Thenable<string>

DebugAdapter

Debug Adapter Protocol を実装するデバッグアダプターは、DebugAdapter インターフェースを実装していればエディターに登録できます。

イベント

デバッグアダプターがエディターに Debug Adapter Protocol メッセージを送信した後に発生するイベント。メッセージはリクエスト、レスポンス、またはイベントです。

メソッド

このオブジェクトを破棄します。

パラメーター説明
戻り値説明
any

Debug Adapter Protocol メッセージを処理します。メッセージはリクエスト、レスポンス、またはイベントです。結果またはエラーは onSendMessage イベントを通じて返されます。

パラメーター説明
message: DebugProtocolMessage

Debug Adapter Protocol メッセージ

戻り値説明
void

DebugAdapterDescriptor

さまざまな種類のデバッグアダプターを表します

DebugAdapterDescriptorFactory

デバッグアダプター記述子を作成するデバッグアダプターファクトリー。

メソッド

'createDebugAdapterDescriptor' は、デバッグセッションの開始時に呼び出され、使用するデバッグアダプターに関する詳細を提供します。これらの詳細は、DebugAdapterDescriptor 型のオブジェクトとして返される必要があります。現在、2種類のデバッグアダプターがサポートされています。

  • デバッグアダプターの実行可能ファイルは、コマンドパスと引数として指定されます(DebugAdapterExecutable を参照)。
  • 通信ポート経由で到達可能なデバッグアダプターサーバー(DebugAdapterServer を参照)。メソッドが実装されていない場合、デフォルトの動作は次のとおりです: createDebugAdapter(session: DebugSession, executable: DebugAdapterExecutable) { if (typeof session.configuration.debugServer === 'number') { return new DebugAdapterServer(session.configuration.debugServer); } return executable; }
パラメーター説明
session: DebugSession

デバッグアダプターが使用される デバッグセッション

executable: DebugAdapterExecutable

package.json で指定されているデバッグアダプターの実行可能情報(そのような情報が存在しない場合は undefined)。

戻り値説明
ProviderResult<DebugAdapterDescriptor>

DebugAdapterExecutable

デバッグアダプターの実行可能ファイルと、それに渡されるオプションの引数およびランタイムオプションを表します。

コンストラクター

実行可能プログラムに基づいてデバッグアダプターの記述を作成します。

パラメーター説明
command: string

デバッグアダプターを実装するコマンドまたは実行可能パス。

args?: string[]

コマンドまたは実行可能ファイルに渡されるオプションの引数。

options?: DebugAdapterExecutableOptions

コマンドまたは実行可能ファイルを開始するときに使用されるオプションのオプション。

戻り値説明
DebugAdapterExecutable

プロパティ

デバッグアダプターの実行可能ファイルに渡される引数。デフォルトは空の配列です。

デバッグアダプターの実行可能ファイルのコマンドまたはパス。コマンドは、実行可能ファイルの絶対パスか、PATH 環境変数を介して検索されるコマンド名のいずれかでなければなりません。特殊な値 'node' は、エディターに組み込まれている Node.js ランタイムにマップされます。

デバッグアダプターが起動される際に使用されるオプション。デフォルトは undefined です。

DebugAdapterExecutableOptions

デバッグアダプター実行可能ファイルのオプション。

プロパティ

実行されるデバッグアダプターの現在の作業ディレクトリ。

実行されるプログラムまたはシェルに追加される環境変数。省略された場合は親プロセスの環境が使用されます。指定された場合は、親プロセスの環境とマージされます。

DebugAdapterInlineImplementation

インライン実装用のデバッグアダプター記述子。

コンストラクター

デバッグアダプターのインライン実装用の記述子を作成します。

パラメーター説明
implementation: DebugAdapter
戻り値説明
DebugAdapterInlineImplementation

DebugAdapterNamedPipeServer

名前付きパイプ(Windowsの場合)/ UNIXドメインソケット(Windows以外の場合)ベースのサーバーとして実行されるデバッグアダプターを表します。

コンストラクター

名前付きパイプ(Windowsの場合)/ UNIXドメインソケット(Windows以外の場合)ベースのサーバーとして実行されるデバッグアダプターの記述を作成します。

パラメーター説明
path: string
戻り値説明
DebugAdapterNamedPipeServer

プロパティ

名前付きパイプ/UNIXドメインソケットへのパス。

DebugAdapterServer

ソケットベースのサーバーとして実行されるデバッグアダプターを表します。

コンストラクター

ソケットベースのサーバーとして実行されるデバッグアダプターの記述を作成します。

パラメーター説明
port: number
host?: string
戻り値説明
DebugAdapterServer

プロパティ

ホスト。

ポート。

DebugAdapterTracker

Debug Adapter Trackerは、エディターとデバッグアダプター間の通信を追跡する手段です。

イベント

デバッグアダプターがデバッグアダプタープロトコルメッセージをエディターに送信しました。

パラメーター説明
message: any
戻り値説明
void

デバッグアダプターがエディターからデバッグアダプタープロトコルメッセージを受信しようとしています。

パラメーター説明
message: any
戻り値説明
void

デバッグアダプターとのセッションが開始されようとしています。

パラメーター説明
戻り値説明
void

デバッグアダプターセッションが停止されようとしています。

パラメーター説明
戻り値説明
void

メソッド

デバッグアダプターでエラーが発生しました。

パラメーター説明
error: Error
戻り値説明
void

デバッグアダプターが指定された終了コードまたはシグナルで終了しました。

パラメーター説明
code: number
signal: string
戻り値説明
void

DebugAdapterTrackerFactory

デバッグアダプタートラッカーを作成するデバッグアダプターファクトリ。

メソッド

'createDebugAdapterTracker'メソッドは、デバッグセッションの開始時に呼び出され、エディターとデバッグアダプター間の通信への読み取りアクセスを提供する「トラッカー」オブジェクトを返します。

パラメーター説明
session: DebugSession

デバッグアダプタートラッカーが使用されるデバッグセッション

戻り値説明
ProviderResult<DebugAdapterTracker>

DebugConfiguration

デバッグセッションの設定。

プロパティ

デバッグセッションの名前。

デバッグセッションのリクエストタイプ。

デバッグセッションのタイプ。

DebugConfigurationProvider

デバッグ構成プロバイダーを使用すると、デバッグサービスにデバッグ構成を追加したり、デバッグセッションを開始する前に起動構成を解決したりできます。デバッグ構成プロバイダーは debug.registerDebugConfigurationProvider を通じて登録されます。

メソッド

デバッグサービスにデバッグ構成を提供します。同じタイプに対して複数のデバッグ構成プロバイダーが登録されている場合、デバッグ構成は任意の順序で連結されます。

パラメーター説明
folder: WorkspaceFolder

構成が使用されるワークスペースフォルダー。フォルダーなしの設定の場合は undefined

token?: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<DebugConfiguration[]>

デバッグ構成の配列。

不足している値を入力したり、属性を追加/変更/削除したりすることでデバッグ構成を解決します。同じタイプに対して複数のデバッグ構成プロバイダーが登録されている場合、resolveDebugConfiguration呼び出しは任意の順序でチェーンされ、初期デバッグ構成がチェーンを通じて渡されます。値 'undefined' を返すと、デバッグセッションの開始が妨げられます。値 'null' を返すと、デバッグセッションの開始が妨げられ、代わりに基になるデバッグ構成が開かれます。

パラメーター説明
folder: WorkspaceFolder

構成の元のワークスペースフォルダー。フォルダーなしの設定の場合は undefined

debugConfiguration: DebugConfiguration

解決するデバッグ構成

token?: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<DebugConfiguration>

解決されたデバッグ構成、またはundefined、またはnull。

このフックは 'resolveDebugConfiguration' の直後に呼び出されますが、すべての変数が置換されています。不足している値を入力したり、属性を追加/変更/削除したりしてデバッグ構成を解決または検証するために使用できます。同じタイプに対して複数のデバッグ構成プロバイダーが登録されている場合、'resolveDebugConfigurationWithSubstitutedVariables' 呼び出しは任意の順序でチェーンされ、初期デバッグ構成がチェーンを通じて渡されます。値 'undefined' を返すと、デバッグセッションの開始が妨げられます。値 'null' を返すと、デバッグセッションの開始が妨げられ、代わりに基になるデバッグ構成が開かれます。

パラメーター説明
folder: WorkspaceFolder

構成の元のワークスペースフォルダー。フォルダーなしの設定の場合は undefined

debugConfiguration: DebugConfiguration

解決するデバッグ構成

token?: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<DebugConfiguration>

解決されたデバッグ構成、またはundefined、またはnull。

DebugConfigurationProviderTriggerKind

DebugConfigurationProviderTriggerKindは、DebugConfigurationProviderprovideDebugConfigurations メソッドがいつトリガーされるかを指定します。現在、2つの状況があります:新しく作成されたlaunch.jsonの初期デバッグ構成を提供する場合、またはユーザーがUIを通じて(例えば「デバッグの選択と開始」コマンドを介して)要求したときに動的に生成されたデバッグ構成を提供する場合です。トリガーの種類は、debug.registerDebugConfigurationProviderDebugConfigurationProvider を登録する際に使用されます。

列挙型メンバー

DebugConfigurationProvider.provideDebugConfigurations が呼び出され、新しく作成されたlaunch.jsonの初期デバッグ構成を提供します。

DebugConfigurationProvider.provideDebugConfigurations が呼び出され、ユーザーがUIを介して(例えば「デバッグの選択と開始」コマンドを介して)要求したときに動的に生成されたデバッグ構成を提供します。

DebugConsole

デバッグコンソールを表します。

メソッド

指定された値をデバッグコンソールに追加します。

パラメーター説明
value: string

文字列。falseと評価される値は出力されません。

戻り値説明
void

指定された値と改行文字をデバッグコンソールに追加します。

パラメーター説明
value: string

文字列。falseと評価される値も出力されます。

戻り値説明
void

DebugConsoleMode

デバッグセッションで使用されるデバッグコンソールモード。オプションを参照してください。

列挙型メンバー

デバッグセッションには個別のデバッグコンソールが必要です。

デバッグセッションは、親セッションとデバッグコンソールを共有する必要があります。この値は、親セッションを持たないセッションには効果がありません。

DebugProtocolBreakpoint

DebugProtocolBreakpointは、デバッグアダプタープロトコルで定義されている Breakpoint 型の不透明な代理型です。

DebugProtocolMessage

DebugProtocolMessageは、デバッグアダプタープロトコルで定義されている ProtocolMessage 型の不透明な代理型です。

DebugProtocolSource

DebugProtocolSourceは、デバッグアダプタープロトコルで定義されている Source 型の不透明な代理型です。

DebugSession

デバッグセッション。

プロパティ

このセッションの「解決済み」デバッグ構成。「解決済み」とは、

  • すべての変数が置換され、
  • プラットフォーム固有の属性セクションが一致するプラットフォームに対して「フラット化」され、一致しないプラットフォームに対して削除されていることを意味します。

このデバッグセッションの一意のID。

デバッグセッションの名前は、最初はデバッグ構成から取得されます。変更はUIに正しく反映されます。

このデバッグセッションが子として作成された場合の親セッション。

参照 DebugSessionOptions.parentSession

デバッグ構成からのデバッグセッションのタイプ。

このセッションのワークスペースフォルダー、またはフォルダーなしの設定の場合は undefined

メソッド

カスタムリクエストをデバッグアダプターに送信します。

パラメーター説明
command: string
args?: any
戻り値説明
Thenable<any>

エディター内のブレークポイントを、デバッグセッションのデバッグアダプターによって管理される対応するデバッグアダプタープロトコル(DAP)ブレークポイントにマップします。DAPブレークポイントが存在しない場合(エディターのブレークポイントがまだ登録されていない、またはデバッグアダプターがそのブレークポイントに関心がないため)、値 undefined が返されます。

パラメーター説明
breakpoint: Breakpoint

エディター内のブレークポイント

戻り値説明
Thenable<DebugProtocolBreakpoint>

デバッグアダプタープロトコルブレークポイントまたは undefined に解決されるプロミス。

DebugSessionCustomEvent

デバッグセッションから受信したカスタムデバッグアダプタープロトコルイベント。

プロパティ

イベント固有の情報。

イベントのタイプ。

カスタムイベントが受信されたデバッグセッション

DebugSessionOptions

デバッグセッションを開始するためのオプション。

プロパティ

デバッグセッションの親セッションが、子を1つしか持たない場合でもCALL STACKビューに表示されるかどうかを制御します。デフォルトでは、デバッグセッションは親を隠すことはありません。compactがtrueの場合、子を1つしか持たないデバッグセッションは、ツリーをよりコンパクトにするためにCALL STACKビューで隠されます。

このセッションが個別のデバッグコンソールを持つべきか、親セッションと共有すべきかを制御します。親セッションを持たないセッションには効果がありません。デフォルトはSeparateです。

'restart'のようなライフサイクルリクエストが、新しく作成されたセッションに送信されるか、その親セッションに送信されるかを制御します。デフォルト(プロパティがfalseまたは欠落している場合)では、ライフサイクルリクエストは新しいセッションに送信されます。このプロパティは、セッションに親セッションがない場合は無視されます。

このセッションをデバッグなしで実行し、ブレークポイントを無視するかどうかを制御します。このプロパティが指定されていない場合、親セッションの値(ある場合)が使用されます。

指定された場合、新しく作成されたデバッグセッションは、この「親」デバッグセッションの「子」セッションとして登録されます。

trueの場合、このセッションのウィンドウステータスバーの色は変更されません。

trueの場合、このセッションのデバッグツールバーは表示されません。

trueの場合、このセッションのデバッグビューレットは自動的に表示されません。

trueの場合、debug.saveBeforeStart設定の値に関係なく、デバッグセッション開始時に開いているエディターの保存はトリガーされません。

デバッグセッションがテスト実行リクエストから開始されたことをエディターに通知します。これは、UIアクションにおけるデバッグセッションとテスト実行のライフサイクルをリンクするために使用されます。

DebugStackFrame

デバッグセッション内のスタックフレームを表します。

プロパティ

デバッグプロトコル内のスタックフレームのID。

スレッドのデバッグセッション。

デバッグプロトコル内の関連スレッドのID。

DebugThread

デバッグセッション内のスレッドを表します。

プロパティ

スレッドのデバッグセッション。

デバッグプロトコル内の関連スレッドのID。

Declaration

1つまたは複数の場所または場所のリンクとしてのシンボル表現の宣言。

DeclarationCoverage

宣言の網羅性情報を含みます。レポーターと言語によっては、関数、メソッド、または名前空間などのタイプになる可能性があります。

コンストラクター

パラメーター説明
name: string
executed: number | boolean

この宣言が実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。ゼロまたはfalseの場合、その宣言は未カバーとしてマークされます。

location: Range | Position

宣言の位置。

戻り値説明
DeclarationCoverage

プロパティ

この宣言が実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。ゼロまたはfalseの場合、その宣言は未カバーとしてマークされます。

宣言の位置。

宣言の名前。

DeclarationProvider

宣言プロバイダーインターフェースは、拡張機能と「宣言へ移動」機能との間の契約を定義します。

メソッド

指定された位置とドキュメントにあるシンボルの宣言を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<Declaration>

宣言、またはそれに解決されるthenable。結果がないことは、undefined または null を返すことで通知できます。

DecorationInstanceRenderOptions

装飾インスタンスのレンダリングオプションを表します。DecorationOptions.renderOptionsを参照してください。

プロパティ

装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。

装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。

ダークテーマのオプションを上書きします。

ライトテーマのオプションを上書きします。

DecorationOptions

装飾セット内の特定の装飾のオプションを表します。

プロパティ

装飾の上にホバーしたときにレンダリングされるメッセージ。

この装飾が適用される範囲。範囲は空であってはなりません。

現在の装飾に適用されるレンダリングオプション。パフォーマンス上の理由から、装飾固有のオプションの数は少なくし、可能な限り装飾タイプを使用してください。

DecorationRangeBehavior

入力/編集が境界で行われたときの装飾の動作を記述します。

列挙型メンバー

開始または終了で編集が発生すると、装飾の範囲が広がります。

開始または終了で編集が発生しても、装飾の範囲は広がりません。

開始で編集が発生すると装飾の範囲が広がりますが、終了では広がりません。

終了で編集が発生すると装飾の範囲が広がりますが、開始では広がりません。

DecorationRenderOptions

テキストエディター装飾のレンダリングスタイルを表します。

プロパティ

装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。

装飾の背景色。rgba()を使用し、他の装飾とうまく機能するように透明な背景色を定義してください。あるいは、カラーレジストリからの色を参照することもできます。

装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の境界プロパティの1つ以上を設定するには、'border'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の境界プロパティの1つ以上を設定するには、'border'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の境界プロパティの1つ以上を設定するには、'border'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の境界プロパティの1つ以上を設定するには、'border'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の境界プロパティの1つ以上を設定するには、'border'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

ダークテーマのオプションを上書きします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

ガターにレンダリングされる画像の絶対パスまたはURI。

ガターアイコンのサイズを指定します。利用可能な値は 'auto'、'contain'、'cover'、および任意のパーセンテージ値です。詳細情報: https://msdn.microsoft.com/en-us/library/jj127316(v=vs.85).aspx

装飾を、行テキストの後の空白にもレンダリングするかどうか。デフォルトは false です。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

ライトテーマのオプションを上書きします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の輪郭プロパティの1つ以上を設定するには、'outline'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の輪郭プロパティの1つ以上を設定するには、'outline'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の輪郭プロパティの1つ以上を設定するには、'outline'を使用することをお勧めします。

概要ルーラー内の装飾の色。他の装飾とうまく機能するように、rgba()を使用して透明な色を定義してください。

装飾がレンダリングされるべき概要ルーラー内の位置。

装飾の範囲の端で編集が発生したときの装飾の拡張動作をカスタマイズします。デフォルトは DecorationRangeBehavior.OpenOpen です。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

Definition

1つまたは複数の場所として表されるシンボルの定義。ほとんどのプログラミング言語では、シンボルが定義されている場所は1つだけです。

シンボルが定義されている場所に関する情報。

通常の場所の定義に関する追加のメタデータ(定義シンボルの範囲を含む)を提供します。

DefinitionProvider

定義プロバイダーインターフェースは、拡張機能と「定義へ移動」および「定義をピーク」機能との間の契約を定義します。

メソッド

指定された位置とドキュメントにあるシンボルの定義を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<Definition | LocationLink[]>

定義、またはそれに解決されるthenable。結果がないことは、undefined または null を返すことで通知できます。

Diagnostic

コンパイラエラーや警告などの診断を表します。診断オブジェクトは、ファイルのスコープ内でのみ有効です。

コンストラクター

新しい診断オブジェクトを作成します。

パラメーター説明
range: Range

この診断が適用される範囲。

message: string

人間が読めるメッセージ。

severity?: DiagnosticSeverity

重大度。デフォルトはエラーです。

戻り値説明
Diagnostic

プロパティ

この診断のコードまたは識別子。コードアクションを提供する際など、後の処理に使用する必要があります。

人間が読めるメッセージ。

この診断が適用される範囲。

関連する診断情報の配列。例えば、スコープ内のシンボル名が衝突した場合、すべての定義をこのプロパティを介してマークできます。

重大度。デフォルトはエラーです。

この診断のソースを説明する人間が読める文字列。例えば 'typescript' や 'super lint'。

診断に関する追加のメタデータ。

DiagnosticChangeEvent

診断が変更されたときに発生するイベント。

プロパティ

診断が変更されたリソースの配列。

DiagnosticCollection

診断コレクションは、診断のセットを管理するコンテナーです。診断は常に診断コレクションとリソースにスコープされます。

DiagnosticCollection のインスタンスを取得するには、createDiagnosticCollection を使用します。

プロパティ

この診断コレクションの名前(例:typescript)。このコレクションからのすべての診断はこの名前に関連付けられます。また、タスクフレームワークは問題のマッチャーを定義する際にこの名前を使用します。

メソッド

このコレクションからすべての診断を削除します。#set(undefined) を呼び出すのと同じです。

パラメーター説明
戻り値説明
void

このコレクションから、指定された uri に属するすべての診断を削除します。#set(uri, undefined) と同じです。

パラメーター説明
uri: Uri

リソース識別子。

戻り値説明
void

関連するリソースを破棄および解放します。clear を呼び出します。

パラメーター説明
戻り値説明
void

このコレクションの各エントリを反復処理します。

パラメーター説明
callback: (uri: Uri, diagnostics: readonly Diagnostic[], collection: DiagnosticCollection) => any

各エントリに対して実行する関数。

thisArg?: any

ハンドラー関数を呼び出すときに使用される this コンテキスト。

戻り値説明
void

指定されたリソースの診断を取得します。注意: この呼び出しから返された診断配列は変更できません。

パラメーター説明
uri: Uri

リソース識別子。

戻り値説明
readonly Diagnostic[]

診断の不変配列または undefined

このコレクションに指定されたリソースの診断が含まれているかどうかを確認します。

パラメーター説明
uri: Uri

リソース識別子。

戻り値説明
boolean

このコレクションが指定されたリソースの診断を持っている場合は true

指定されたリソースに診断を割り当てます。そのリソースの既存の診断を置き換えます。

パラメーター説明
uri: Uri

リソース識別子。

diagnostics: readonly Diagnostic[]

診断の配列または undefined

戻り値説明
void

このコレクション内の複数のリソースの診断を置き換えます。

注意: 同じuriの複数のタプルはマージされます。例えば [[file1, [d1]], [file1, [d2]]][[file1, [d1, d2]]] と同等です。診断項目が [file1, undefined] のように undefined の場合、以前のすべての診断が削除されます(後続は削除されません)。

パラメーター説明
entries: ReadonlyArray<[Uri, readonly Diagnostic[]]>

[[file1, [d1, d2]], [file2, [d3, d4, d5]]] のようなタプルの配列、または undefined

戻り値説明
void

DiagnosticRelatedInformation

診断に関連するメッセージとソースコードの場所を表します。これは、スコープ内でシンボルを複製する場合など、診断の原因となる、または関連するコードの場所を指すために使用する必要があります。

コンストラクター

新しい関連診断情報オブジェクトを作成します。

パラメーター説明
location: Location

場所。

message: string

メッセージ。

戻り値説明
DiagnosticRelatedInformation

プロパティ

この関連診断情報の場所。

この関連診断情報のメッセージ。

DiagnosticSeverity

診断の重大度を表します。

列挙型メンバー

言語やその他の手段のルールで許可されていないもの。

疑わしいが許可されているもの。

知らせるためのものですが、問題ではありません。

リファクタリングを提案するなど、より良い方法のヒント。

DiagnosticTag

診断のタイプに関する追加のメタデータ。

列挙型メンバー

未使用または不要なコード。

このタグを持つ診断は薄く表示されます。フェードの量は "editorUnnecessaryCode.opacity" テーマカラーによって制御されます。例えば、"editorUnnecessaryCode.opacity": "#000000c0" はコードを75%の不透明度でレンダリングします。ハイコントラストテーマの場合、フェードアウトする代わりに "editorUnnecessaryCode.border" テーマカラーを使用して不要なコードに下線を引きます。

非推奨または廃止されたコード。

このタグを持つ診断は取り消し線付きでレンダリングされます。

Disposable

イベントリスニングやタイマーなど、リソースを解放できるタイプを表します。

静的

多くのDisposableライクなオブジェクトを1つにまとめます。Disposable のインスタンスではないが dispose 関数を持つオブジェクトがある場合、このメソッドを使用できます。

パラメーター説明
...disposableLikes: Array<{dispose: () => any}>

少なくとも dispose 関数メンバーを持つオブジェクト。非同期の dispose 関数は待機されません。

戻り値説明
Disposable

破棄時に提供されたすべての破棄可能なオブジェクトを破棄する新しい破棄可能なオブジェクトを返します。

コンストラクター

破棄時に提供された関数を呼び出す新しい破棄可能なオブジェクトを作成します。

注意: 非同期関数は待機されません。

パラメーター説明
callOnDispose: () => any

何かを破棄する関数。

戻り値説明
Disposable

メソッド

このオブジェクトを破棄します。

パラメーター説明
戻り値説明
any

DocumentColorProvider

ドキュメントカラープロバイダーは、拡張機能と、エディター内の色の選択および変更機能との間の契約を定義します。

メソッド

色の表現を提供します。

パラメーター説明
color: Color

表示および挿入する色。

context: {document: TextDocument, range: Range}

追加情報を含むコンテキストオブジェクト。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<ColorPresentation[]>

色の表現の配列、またはそれに解決されるthenable。結果がないことは、undefinednull、または空の配列を返すことで通知できます。

指定されたドキュメントの色を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<ColorInformation[]>

色情報の配列、またはそれに解決されるthenable。結果がないことは、undefinednull、または空の配列を返すことで通知できます。

DocumentDropEdit

ドロップ時に適用される編集操作。

コンストラクター

パラメーター説明
insertText: string | SnippetString

ドロップ位置に挿入するテキストまたはスニペット。

title?: string

編集を説明する人間が読めるラベル。

kind?: DocumentDropOrPasteEditKind

編集の種類

戻り値説明
DocumentDropEdit

プロパティ

ドロップ時に適用するオプションの追加編集。

ドロップ位置に挿入するテキストまたはスニペット。

編集の種類

編集を説明する人間が読めるラベル。

複数の編集の順序を制御します。このプロバイダーが編集を譲る場合、リストの下位に表示されます。

DocumentDropEditProvider<T>

テキストエディターへのリソースのドロップを処理するプロバイダー。

これにより、ユーザーはリソース(外部アプリからのリソースを含む)をエディターにドラッグ&ドロップできます。ファイルをドラッグ&ドロップする際、ユーザーは shift キーを押しながらファイルをエディターにドロップすることで、開く代わりにエディターにドロップできます。editor.dropIntoEditor.enabled がオンである必要があります。

メソッド

ドラッグ&ドロップされたコンテンツをドキュメントに挿入する編集を提供します。

パラメーター説明
document: TextDocument

ドロップが発生したドキュメント。

position: Position

ドロップが発生したドキュメント内の位置。

dataTransfer: DataTransfer

ドラッグ&ドロップされているデータに関する情報を保持する DataTransfer オブジェクト。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T | T[]>

DocumentDropEdit、またはそれを解決するthenable。結果がないことは undefined または null を返すことで通知できます。

編集が適用される前に DocumentDropEdit.additionalEdit を補完するオプションのメソッド。

これは編集ごとに1回呼び出され、完全な編集の生成に時間がかかる場合に使用する必要があります。解決(resolve)は DocumentDropEdit.additionalEdit の変更にのみ使用できます。

パラメーター説明
edit: T

解決する DocumentDropEdit

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T>

解決された編集、またはそれを解決するthenable。指定された edit を返しても問題ありません。結果が返されない場合は、指定された edit が使用されます。

DocumentDropEditProviderMetadata

DocumentDropEditProvider がどのように動作するかに関する追加のメタデータを提供します。

プロパティ

プロバイダーが処理できる DataTransfer のMIMEタイプのリスト。

これには、image/png のような正確なMIMEタイプや、image/* のようなワイルドカードパターンを指定できます。

エクスプローラーやワークベンチ内の他のツリービューからドロップされたリソースには text/uri-list を使用します。

DataTransferファイル が存在する場合にプロバイダーを呼び出すべきであることを示すには files を使用します。なお、DataTransferFile エントリは、オペレーティングシステムなど、エディターの外部からコンテンツをドロップした場合にのみ作成されます。

プロバイダーが provideDocumentDropEdits で返す可能性のある kind のリスト。

これは、特定の kind の編集が要求されたときにプロバイダーをフィルタリングするために使用されます。

DocumentDropOrPasteEditKind

DocumentDropEdit または DocumentPasteEdit を識別します。

静的

基本的なテキスト編集のルート種別。

この種別は、基本的なテキストをドキュメントに挿入する編集に使用する必要があります。良い例としては、クリップボードのテキストを貼り付けると同時に、貼り付けられたテキストに基づいてファイル内のインポートを更新する編集が挙げられます。これには text.updateImports.someLanguageId のような種別を使用できます。

ほとんどのドロップ/貼り付け編集は最終的にテキストを挿入しますが、すべての編集の基本種別として Text を使用すべきではありません(冗長になるため)。代わりに、挿入されるコンテンツの種類を記述する、より具体的な種別を使用してください。例えば、Markdownリンクを追加する場合、挿入されるコンテンツはテキストですが、「Markdown構文を挿入する」という情報の方が重要なため、markdown.link を使用します。

テキストの挿入に加えてドキュメント内のインポートを更新する編集のためのルート種別。

コンストラクター

代わりに DocumentDropOrPasteEditKind.Empty を使用してください。

パラメーター説明
value: string
戻り値説明
DocumentDropOrPasteEditKind

プロパティ

種別の生の文字列値。

メソッド

現在の種別にスコープを追加して新しい種別を作成します。

現在の種類を変更しません。

パラメーター説明
...parts: string[]
戻り値説明
DocumentDropOrPasteEditKind

other がこの DocumentDropOrPasteEditKind のサブ種別かどうかをチェックします。

例えば、種別 "text.plain""text.plain""text.plain.list" を含みますが、"text""unicorn.text.plain" は含みません。

パラメーター説明
other: DocumentDropOrPasteEditKind

確認する種類。

戻り値説明
boolean

この種別が other と交差するかどうかをチェックします。

例えば、種別 "text.plain"text"text.plain""text.plain.list" と交差しますが、"unicorn""textUnicorn.plain" とは交差しません。

パラメーター説明
other: DocumentDropOrPasteEditKind

確認する種類。

戻り値説明
boolean

DocumentFilter

ドキュメントフィルターは、言語、リソースの スキーム、あるいは パス に適用されるglobパターンなどのさまざまなプロパティによってドキュメントを指定します。

例: ディスク上のTypeScriptファイルに適用される言語フィルター

{ language: 'typescript', scheme: 'file' }

例: すべての package.json パスに適用される言語フィルター

{ language: 'json', pattern: '**/package.json' }

プロパティ

typescript のような言語ID。

jupyter-notebook のようなノートブックの タイプ。これにより、セルドキュメント が属するノートブックのタイプを絞り込むことができます。

注意: notebookType プロパティを設定すると、schemepattern の解釈方法が変わります。設定された場合、これらはドキュメントURIではなく ノートブックURI に対して評価されます。

例: まだ保存されていない (untitled) Jupyterノートブック内のPythonドキュメントに一致させる

{ language: 'python', notebookType: 'jupyter-notebook', scheme: 'untitled' }

ドキュメントの絶対パスと照合される globパターンワークスペースフォルダー にドキュメントをフィルタリングするには、相対パターン を使用してください。

fileuntitled のようなUri スキーム

DocumentFormattingEditProvider

ドキュメントフォーマットプロバイダーインターフェースは、拡張機能とフォーマット機能の間の規約を定義します。

メソッド

ドキュメント全体に対するフォーマット編集を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

options: FormattingOptions

フォーマットを制御するオプション。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<TextEdit[]>

一連のテキスト編集、またはそれを解決するthenable。結果がないことは undefinednull、または空の配列を返すことで通知できます。

DocumentHighlight

ドキュメントハイライトは、特別な注意を必要とするテキストドキュメント内の範囲です。通常、ドキュメントハイライトはその範囲の背景色を変更することで視覚化されます。

コンストラクター

新しいドキュメントハイライトオブジェクトを作成します。

パラメーター説明
range: Range

ハイライトが適用される範囲。

kind?: DocumentHighlightKind

ハイライトの種類。デフォルトは text です。

戻り値説明
DocumentHighlight

プロパティ

ハイライトの種類。デフォルトは text です。

このハイライトが適用される範囲。

DocumentHighlightKind

ドキュメントハイライトの種類。

列挙型メンバー

テキストとしての出現。

変数の読み取りなど、シンボルの読み取りアクセス。

変数への書き込みなど、シンボルの書き込みアクセス。

DocumentHighlightProvider

ドキュメントハイライトプロバイダーインターフェースは、拡張機能とワードハイライト機能の間の規約を定義します。

メソッド

変数のすべての出現箇所や関数のすべての終了ポイントなど、一連のドキュメントハイライトを提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<DocumentHighlight[]>

ドキュメントハイライトの配列、またはそれを解決するthenable。結果がないことは undefinednull、または空の配列を返すことで通知できます。

ドキュメントリンクは、別のテキストドキュメントやWebサイトなどの内部または外部リソースにリンクする、テキストドキュメント内の範囲です。

コンストラクター

新しいドキュメントリンクを作成します。

パラメーター説明
range: Range

ドキュメントリンクが適用される範囲。空であってはなりません。

target?: Uri

ドキュメントリンクが指すURI。

戻り値説明
DocumentLink

プロパティ

このリンクが適用される範囲。

このリンクが指すURI。

このリンクにカーソルを合わせたときに表示されるツールチップテキスト。

ツールチップが提供される場合、リンクをトリガーする方法(例: {0} (ctrl + click))を含む文字列で表示されます。具体的な指示は、OS、ユーザー設定、ローカライズによって異なります。

DocumentLinkProvider<T>

ドキュメントリンクプロバイダーは、拡張機能とエディター内でリンクを表示する機能の間の規約を定義します。

メソッド

指定されたドキュメントのリンクを提供します。なお、エディターには http(s) および file リンクを検出するデフォルトのプロバイダーが組み込まれています。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T[]>

ドキュメントリンク の配列、またはそれを解決するthenable。結果がないことは undefinednull、または空の配列を返すことで通知できます。

リンクが与えられた場合、その target を補完します。このメソッドは、UIで不完全なリンクが選択されたときに呼び出されます。プロバイダーはこのメソッドを実装し、provideDocumentLinks メソッドから不完全なリンク(ターゲットなし)を返すことができます。これはパフォーマンスの向上に役立つことがよくあります。

パラメーター説明
link: T

解決対象のリンク。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T>

DocumentPasteEdit

貼り付け操作を適用する編集。

コンストラクター

新しい貼り付け編集を作成します。

パラメーター説明
insertText: string | SnippetString

貼り付けた位置に挿入するテキストまたはスニペット。

title: string

編集を説明する人間が読めるラベル。

kind: DocumentDropOrPasteEditKind

編集の種類

戻り値説明
DocumentPasteEdit

プロパティ

貼り付け時に適用するオプションの追加編集。

貼り付けた位置に挿入するテキストまたはスニペット。

編集により高度な挿入ロジックが必要な場合は、これを空の文字列に設定し、代わりに additional edit を提供してください。

編集の種類

編集を説明する人間が読めるラベル。

複数の貼り付け編集が適用される可能性がある場合の順序を制御します。

この編集が他を優先(yield to)する場合、ユーザーに表示される可能な貼り付け編集のリストで下位に表示されます。

DocumentPasteEditContext

貼り付け操作に関する追加情報。

プロパティ

返す貼り付け編集の要求された種別。

PasteAs によって明示的な種別が要求された場合、プロバイダーは要求された種別の編集を生成する際、より柔軟に対応することが推奨されます。

貼り付け編集が要求された理由。

DocumentPasteEditProvider<T>

ユーザーが TextDocument でコピーまたは貼り付けを行うときに呼び出されるプロバイダー。

メソッド

ユーザーが テキストエディター からコピーした後に呼び出されるオプションのメソッド。

これにより、プロバイダーはコピーされたテキストに関するメタデータを DataTransfer に添付できます。このデータ転送は、provideDocumentPasteEdits 内のプロバイダーに渡されます。

なお、現在 DataTransfer への変更は現在のエディターウィンドウに限定されます。つまり、追加されたメタデータは他のエディターウィンドウや他のアプリケーションからは見ることができません。

パラメーター説明
document: TextDocument

コピーが行われたテキストドキュメント。

ranges: readonly Range[]

document 内でコピーされる範囲。

dataTransfer: DataTransfer

コピーに関連付けられたデータ転送。後で provideDocumentPasteEdits で使用するために、これに値を追加できます。このオブジェクトは、このメソッドの実行期間中のみ有効です。

token: CancellationToken

キャンセル トークン。

戻り値説明
void | Thenable<void>

dataTransfer へのすべての変更が完了したときに解決されるオプションのthenable。

ユーザーが テキストエディター に貼り付ける前に呼び出されます。

返された編集は、標準の貼り付け動作を置き換えることができます。

パラメーター説明
document: TextDocument

貼り付け先のドキュメント。

ranges: readonly Range[]

貼り付け先の document 内の範囲。

dataTransfer: DataTransfer

貼り付けに関連付けられた データ転送。このオブジェクトは、貼り付け操作の期間中のみ有効です。

context: DocumentPasteEditContext

貼り付けのための追加コンテキスト。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T[]>

貼り付けを適用できる潜在的な 編集 のセット。返された DocumentPasteEdit は一度に1つだけ適用されます。すべてのプロバイダーから複数の編集が返された場合、最初のものが自動的に適用され、ユーザーが他の編集に切り替えられるウィジェットが表示されます。

編集が適用される前に DocumentPasteEdit.additionalEdit を補完するオプションのメソッド。

これは編集ごとに1回呼び出され、完全な編集の生成に時間がかかる場合に使用する必要があります。解決(resolve)は DocumentPasteEdit.insertText または DocumentPasteEdit.additionalEdit の変更にのみ使用できます。

パラメーター説明
pasteEdit: T

解決する DocumentPasteEdit

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T>

解決された貼り付け編集、またはそれを解決するthenable。指定された pasteEdit を返しても問題ありません。結果が返されない場合は、指定された pasteEdit が使用されます。

DocumentPasteProviderMetadata

DocumentPasteEditProvider がどのように動作するかに関する追加のメタデータを提供します。

プロパティ

prepareDocumentPaste がコピー時に追加する可能性のあるMIMEタイプ。

provideDocumentPasteEdits が呼び出されるべきMIMEタイプ。

これには、image/png のような正確なMIMEタイプや、image/* のようなワイルドカードパターンを指定できます。

エクスプローラーやワークベンチ内の他のツリービューからドロップされたリソースには text/uri-list を使用します。

DataTransferファイル が存在する場合にプロバイダーを呼び出すべきであることを示すには files を使用します。なお、DataTransferFile エントリは、オペレーティングシステムなど、エディターの外部からコンテンツを貼り付ける場合にのみ作成されます。

プロバイダーが provideDocumentPasteEdits で返す可能性のある kind のリスト。

これは、特定の kind の編集が要求されたときにプロバイダーをフィルタリングするために使用されます。

DocumentPasteTriggerKind

貼り付け編集が要求された理由。

列挙型メンバー

通常の貼り付け操作の一部として貼り付けが要求されました。

ユーザーによって paste as コマンドで貼り付けが要求されました。

DocumentRangeFormattingEditProvider

ドキュメントフォーマットプロバイダーインターフェースは、拡張機能とフォーマット機能の間の規約を定義します。

メソッド

ドキュメント内の範囲に対するフォーマット編集を提供します。

指定された範囲はヒントであり、プロバイダーはより小さい範囲や大きい範囲をフォーマットすることを決定できます。これは多くの場合、範囲の開始と終了を完全な構文ノードに調整することで行われます。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

range: Range

フォーマットされるべき範囲。

options: FormattingOptions

フォーマットを制御するオプション。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<TextEdit[]>

一連のテキスト編集、またはそれを解決するthenable。結果がないことは undefinednull、または空の配列を返すことで通知できます。

ドキュメント内の複数の範囲に対するフォーマット編集を提供します。

この関数はオプションですが、変更された範囲のみをフォーマットする場合や、多数の選択範囲をフォーマットする場合に、フォーマッターがより高速に動作することを可能にします。

指定された範囲はヒントであり、プロバイダーはより小さい範囲や大きい範囲をフォーマットすることを決定できます。これは多くの場合、範囲の開始と終了を完全な構文ノードに調整することで行われます。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

ranges: Range[]

フォーマットされるべき範囲。

options: FormattingOptions

フォーマットを制御するオプション。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<TextEdit[]>

一連のテキスト編集、またはそれを解決するthenable。結果がないことは undefinednull、または空の配列を返すことで通知できます。

DocumentRangeSemanticTokensProvider

ドキュメント範囲セマンティックトークンプロバイダーインターフェースは、拡張機能とセマンティックトークンの間の規約を定義します。

イベント

このプロバイダーからのセマンティックトークンが変更されたことを示すオプションのイベント。

メソッド

パラメーター説明
document: TextDocument
range: Range
token: CancellationToken
戻り値説明
ProviderResult<SemanticTokens>

DocumentSelector

言語セレクターは、1つまたは複数の言語識別子と 言語フィルター の組み合わせです。

注意: 言語識別子のみのドキュメントセレクターは、ディスクに保存されていないドキュメントを含め、すべて のドキュメントを選択します。関連する「ファイル」を解決する必要がないなど、追加のコンテキストなしで機能が動作する場合にのみ、このようなセレクターを使用してください。

let sel: DocumentSelector = { scheme: 'file', language: 'typescript' };

DocumentSemanticTokensProvider

ドキュメントセマンティックトークンプロバイダーインターフェースは、拡張機能とセマンティックトークンの間の規約を定義します。

イベント

このプロバイダーからのセマンティックトークンが変更されたことを示すオプションのイベント。

メソッド

ファイル内のトークンは整数の配列として表されます。トークンは、ファイル内で編集が行われてもその前後関係に対して安定していることが多いため、各トークンの位置は前のトークンに対する相対値で表現されます。


要するに、各トークンは5つの整数で表現されるため、ファイル内の特定のトークン i は以下の配列インデックスで構成されます。

  • インデックス 5*i - deltaLine: 前のトークンからの相対的なトークンの行番号
  • インデックス 5*i+1 - deltaStart: 前のトークンからの相対的なトークンの開始文字位置(0、または同じ行にある場合は前のトークンの開始位置からの相対値)
  • インデックス 5*i+2 - length: トークンの長さ。トークンは複数行にまたがることはできません。
  • インデックス 5*i+3 - tokenType: SemanticTokensLegend.tokenTypes から検索されます。現在、tokenType < 65536 であることが求められます。
  • インデックス 5*i+4 - tokenModifiers: 各セットビットは SemanticTokensLegend.tokenModifiers から検索されます。

トークンのエンコード方法

以下は、uint32配列内の3つのトークンを持つファイルをエンコードする例です。

   { 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. まず、凡例(legend)を作成する必要があります。この凡例は事前に提供される必要があり、可能なすべてのトークンタイプを網羅しなければなりません。この例では、プロバイダー登録時に渡される以下の凡例を選択します。
   tokenTypes: ['property', 'type', 'class'],
   tokenModifiers: ['private', 'static']
  1. 最初の変換ステップは、凡例を使用して tokenTypetokenModifiers を整数としてエンコードすることです。トークンタイプはインデックスで検索されるため、tokenType1tokenTypes[1] を意味します。複数のトークン修飾子はビットフラグを使用して設定できるため、tokenModifier3 はまずバイナリの 0b00000011 として見なされ、ビット0とビット1がセットされているため [tokenModifiers[0], tokenModifiers[1]] を意味します。この凡例を使用して、トークンは次のようになります。
   { 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. 次のステップは、ファイル内の前のトークンに対して各トークンを表現することです。この場合、2番目のトークンは最初のトークンと同じ行にあるため、2番目のトークンの startChar は最初のトークンの startChar に対して相対化され、10 - 5 になります。3番目のトークンは2番目のトークンとは異なる行にあるため、3番目のトークンの startChar は変更されません。
   { 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. 最後に、最後のステップは、トークンの5つのフィールドを単一の配列にインライン化することです。これはメモリ効率の良い表現です。
   // 1st token,  2nd token,  3rd token
   [  2,5,3,0,3,  0,5,4,1,0,  3,2,7,2,0 ]

参照: トークンを整数としてエンコードするヘルパーについては SemanticTokensBuilder を参照してください。注意: 編集を行う際、エディターがセマンティックトークンプロバイダーを呼び出すと判断するまで、複数の編集が発生する可能性があります。注意: プロバイダーが一時的にセマンティックトークンを計算できない場合は、メッセージに 'Busy' を含むエラーをスローすることで示すことができます。

パラメーター説明
document: TextDocument
token: CancellationToken
戻り値説明
ProviderResult<SemanticTokens>

ファイル内のすべてのトークンを常に返す代わりに、DocumentSemanticTokensProvider がこのメソッド(provideDocumentSemanticTokensEdits)を実装し、以前に提供されたセマンティックトークンに対する増分更新を返すことができます。


ドキュメントが変更されたときにトークンがどのように変化するか

provideDocumentSemanticTokens が以前に以下のセマンティックトークンを返したと仮定します。

   // 1st token,  2nd token,  3rd token
   [  2,5,3,0,3,  0,5,4,1,0,  3,2,7,2,0 ]

また、いくつかの編集の後、ファイル内の新しいセマンティックトークンが次のようになったと仮定します。

   // 1st token,  2nd token,  3rd token
   [  3,5,3,0,3,  0,5,4,1,0,  3,2,7,2,0 ]

これらの新しいトークンを、前のトークンに適用された編集として表現することが可能です。

   [  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

注意: プロバイダーが SemanticTokensEdits を計算できない場合は、「あきらめて」ドキュメント内のすべてのトークンを再度返すことができます。注意: SemanticTokensEdits 内のすべての編集は古い整数配列内のインデックスを含んでいるため、すべて以前の結果状態を参照します。

パラメーター説明
document: TextDocument
previousResultId: string
token: CancellationToken
戻り値説明
ProviderResult<SemanticTokens | SemanticTokensEdits>

DocumentSymbol

ドキュメント内に現れる変数、クラス、インターフェースなどのプログラミング構造を表します。ドキュメントシンボルは階層的であり、2つの範囲を持ちます。1つはその定義を囲む範囲で、もう1つは識別子の範囲のように、最も興味深い範囲を指すものです。

コンストラクター

新しいドキュメントシンボルを作成します。

パラメーター説明
name: string

シンボルの名前。

detail: string

シンボルの詳細。

kind: SymbolKind

シンボルの種類。

range: Range

シンボルの全範囲。

selectionRange: Range

表示されるべき範囲。

戻り値説明
DocumentSymbol

プロパティ

このシンボルの子要素(例: クラスのプロパティ)。

このシンボルの詳細(例: 関数のシグネチャ)。

このシンボルの種類。

このシンボルの名前。

このシンボルを囲む範囲。前後の空白は含みませんが、コメントやコードなど他のすべてを含みます。

このシンボルが選択されたときに選択され、表示される範囲(例: 関数の名前)。範囲 に含まれている必要があります。

このシンボルのタグ。

DocumentSymbolProvider

ドキュメントシンボルプロバイダーインターフェースは、拡張機能と シンボルへ移動 機能の間の規約を定義します。

メソッド

指定されたドキュメントのシンボル情報を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<DocumentSymbol[] | SymbolInformation[]>

ドキュメントハイライトの配列、またはそれを解決するthenable。結果がないことは undefinednull、または空の配列を返すことで通知できます。

DocumentSymbolProviderMetadata

ドキュメントシンボルプロバイダーに関するメタデータ。

プロパティ

1つのドキュメントに対して複数のアウトラインツリーが表示される場合に表示される、人間が読める文字列。

EndOfLine

ドキュメント 内の改行文字シーケンスを表します。

列挙型メンバー

ラインフィード \n 文字。

キャリッジリターン ラインフィード \r\n シーケンス。

EnterAction

Enterキーを押したときの動作を記述します。

プロパティ

新しい行およびインデントの後に付加されるテキストを記述します。

インデントに対する動作を記述します。

新しい行のインデントから削除する文字数を記述します。

EnvironmentVariableCollection

拡張機能がプロセス環境に適用できる変更のコレクション。

プロパティ

環境変数コレクションの説明。これはUIでの変更を説明するために使用されます。

コレクションをワークスペース用にキャッシュし、ウィンドウの再読み込み間でターミナルに適用するかどうか。trueの場合、ウィンドウ再読み込み時などにコレクションが直ちに有効になります。さらに、このAPIはキャッシュされたバージョンが存在する場合はそれを返します。コレクションは拡張機能がアンインストールされたとき、またはコレクションがクリアされたときに無効になります。デフォルトは true です。

メソッド

環境変数の値を追加します。

拡張機能は特定の変数に対して単一の変更しか行えないため、これは以前の置換、追加、または先頭追加の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

追加対象の変数。

value: string

変数に追加する値。

options?: EnvironmentVariableMutatorOptions

ミューテーター(変更者)に適用されるオプション。オプションが提供されない場合、デフォルトで { applyAtProcessCreation: true } になります。

戻り値説明
void

このコレクションからすべてのミューテーターをクリアします。

パラメーター説明
戻り値説明
void

このコレクションから変数のミューテーターを削除します。

パラメーター説明
variable: string

ミューテーターを削除する対象の変数。

戻り値説明
void

このコレクション内の各ミューテーターを反復処理します。

パラメーター説明
callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any

各エントリに対して実行する関数。

thisArg?: any

ハンドラー関数を呼び出すときに使用される this コンテキスト。

戻り値説明
void

このコレクションが変数に適用するミューテーターがあればそれを取得します。

パラメーター説明
variable: string

ミューテーターを取得する対象の変数。

戻り値説明
EnvironmentVariableMutator

環境変数の先頭に値を追加します。

拡張機能は特定の変数に対して単一の変更しか行えないため、これは以前の置換、追加、または先頭追加の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

先頭に追加する変数。

value: string

変数に追加する値。

options?: EnvironmentVariableMutatorOptions

ミューテーター(変更者)に適用されるオプション。オプションが提供されない場合、デフォルトで { applyAtProcessCreation: true } になります。

戻り値説明
void

環境変数を値で置き換えます。

拡張機能は特定の変数に対して単一の変更しか行えないため、これは以前の置換、追加、または先頭追加の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

置き換える変数。

value: string

変数と置き換える値。

options?: EnvironmentVariableMutatorOptions

ミューテーター(変更者)に適用されるオプション。オプションが提供されない場合、デフォルトで { applyAtProcessCreation: true } になります。

戻り値説明
void

EnvironmentVariableMutator

環境変数に適用される変更の種類とその値。

プロパティ

ミューテーターに適用されるオプション。

変数に発生する変更の種類。

変数に使用する値。

EnvironmentVariableMutatorOptions

ミューテーターに適用されるオプション。

プロパティ

プロセス作成直前に環境に適用します。デフォルトは false です。

シェル統合スクリプト内で環境に適用します。なお、シェル統合が無効な場合や何らかの理由で機能していない場合、これはミューテーターを適用しません。デフォルトは false です。

EnvironmentVariableMutatorType

環境変数に適用可能な変更の種類。

列挙型メンバー

変数の既存の値を置き換えます。

変数の既存の値の末尾に追加します。

変数の既存の値の先頭に追加します。

EnvironmentVariableScope

環境変数コレクションが適用されるスコープオブジェクト。

プロパティ

コレクションを取得する対象の特定のワークスペースフォルダー。

EvaluatableExpression

EvaluatableExpression(評価可能な式)は、アクティブなデバッガーやランタイムによって評価できるドキュメント内の式を表します。この評価の結果はツールチップのようなウィジェットに表示されます。範囲のみが指定されている場合、式は基になるドキュメントから抽出されます。オプションの式を使用して、抽出された式をオーバーライドできます。この場合、範囲はドキュメント内の範囲を強調表示するために引き続き使用されます。

コンストラクター

新しい評価可能な式オブジェクトを作成します。

パラメーター説明
range: Range

評価可能な式が抽出される基となるドキュメント内の範囲。

expression?: string

指定された場合、抽出された式をオーバーライドします。

戻り値説明
EvaluatableExpression

プロパティ

指定された場合、その式は抽出された式をオーバーライドします。

この範囲は、基になるドキュメントから評価可能な式を抽出し、それを強調表示するために使用されます。

EvaluatableExpressionProvider

評価可能な式プロバイダーインターフェースは、拡張機能とデバッグホバーの間の規約を定義します。この規約では、プロバイダーはドキュメント内の指定された位置に対する評価可能な式を返し、エディターはアクティブなデバッグセッションでこの式を評価し、その結果をデバッグホバーに表示します。

メソッド

指定されたドキュメントと位置に対する評価可能な式を提供します。エディターはアクティブなデバッグセッションでこの式を評価し、デバッグホバーに結果を表示します。式は、基になるドキュメント内の範囲によって暗黙的に指定することも、明示的に式を返すことによって指定することもできます。

パラメーター説明
document: TextDocument

デバッグホバーが表示されようとしているドキュメント。

position: Position

デバッグホバーが表示されようとしているドキュメント内の行と文字位置。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<EvaluatableExpression>

EvaluatableExpression、またはそれを解決するthenable。結果がないことは undefined または null を返すことで通知できます。

Event<T>

型指定されたイベントを表します。

リスナー関数を引数として呼び出すことでサブスクライブ(購読)するイベントを表す関数。

item.onDidChange(function(event) {
  console.log('Event happened: ' + event);
});

リスナー関数を引数として呼び出すことでサブスクライブ(購読)するイベントを表す関数。

パラメーター説明
listener: (e: T) => any

イベントが発生したときに呼び出されるリスナー関数。

thisArgs?: any

イベントリスナーを呼び出すときに使用される this 引数。

disposables?: Disposable[]

Disposable が追加される配列。

戻り値説明
Disposable

イベントリスナーをサブスクライブ解除するディスポーザブル。

EventEmitter<T>

イベントエミッターは、他者がサブスクライブするための Event を作成および管理するために使用できます。1つのエミッターは常に1つのイベントを所有します。

拡張機能内からイベントを提供したい場合(例えば TextDocumentContentProvider 内や、他の拡張機能にAPIを提供する場合など)に、このクラスを使用してください。

コンストラクター

パラメーター説明
戻り値説明
EventEmitter<T>

プロパティ

リスナーがサブスクライブできるイベント。

メソッド

このオブジェクトを破棄し、リソースを解放します。

パラメーター説明
戻り値説明
void

イベント のすべてのサブスクライバーに通知します。1つ以上のリスナーの失敗が、この関数呼び出しを失敗させることはありません。

パラメーター説明
data: T

イベントオブジェクト。

戻り値説明
void

Extension<T>

拡張機能を表します。

Extension のインスタンスを取得するには getExtension を使用してください。

プロパティ

この拡張機能によってエクスポートされたパブリックAPI(activate の戻り値)。このフィールドへのアクセスは、拡張機能がアクティブ化される前に行うことはできません。

拡張機能の種類は、拡張機能がUIと同じ場所で実行されるか、リモート拡張ホストと同じ場所で実行されるかを表します。拡張機能の種類は package.json ファイルで定義されますが、remote.extensionKind 設定によって調整することもできます。リモート拡張ホストが存在しない場合、値は ExtensionKind.UI となります。

この拡張機能を含むディレクトリの絶対ファイルパス。Extension.extensionUri.fsPath の省略形です(uriスキームに依存しません)。

拡張機能を含むディレクトリのURI。

publisher.name という形式の正規の拡張機能識別子。

拡張機能が有効化されている場合は true

拡張機能の package.json を解析した内容。

メソッド

この拡張機能を有効化し、そのパブリック API を返します。

パラメーター説明
戻り値説明
Thenable<T>

この拡張機能が有効化されたときに解決される promise。

ExtensionContext

拡張機能コンテキストは、拡張機能にプライベートなユーティリティのコレクションです。

ExtensionContext のインスタンスは、拡張機能の activate 呼び出しの最初のパラメータとして提供されます。

プロパティ

このワークスペースの拡張機能のグローバル環境変数コレクションを取得します。これにより、ターミナル環境変数への変更を適用できるようになります。

現在の Extension インスタンス。

拡張機能が実行されているモード。可能な値とシナリオについては ExtensionMode を参照してください。

拡張機能を含むディレクトリの絶対ファイルパス。ExtensionContext.extensionUri.fsPath の短縮表記です(URI スキームから独立)。

拡張機能を含むディレクトリのURI。

現在開いている ワークスペース から独立した状態を格納するメモオブジェクト。

拡張機能がグローバルな状態を格納できる絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられます。ただし、親ディレクトリは存在することが保証されています。

キーと値のデータを格納するには globalState を使用してください。

拡張機能がグローバルな状態を格納できるディレクトリの URI。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられます。ただし、親ディレクトリは存在することが保証されています。

キーと値のデータを格納するには globalState を使用してください。

参照: URI からファイルやフォルダーを読み書きする方法については workspace.fs を参照してください。

この拡張機能がどのように言語モデルを使用できるかに関する情報を保持するオブジェクト。

参照: LanguageModelChat.sendRequest

拡張機能がログファイルを作成できるディレクトリの絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられます。ただし、親ディレクトリは存在することが保証されています。

  • 非推奨 - 代わりに logUri を使用してください。

拡張機能がログファイルを作成できるディレクトリの URI。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられます。ただし、親ディレクトリは存在することが保証されています。

参照: URI からファイルやフォルダーを読み書きする方法については workspace.fs を参照してください。

現在開いている ワークスペース から独立した状態を格納するシークレットストレージオブジェクト。

拡張機能がプライベートな状態を格納できるワークスペース固有のディレクトリの絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられます。ただし、親ディレクトリは存在することが保証されています。

キーと値のデータを格納するには workspaceState または globalState を使用してください。

  • 非推奨 - 代わりに storageUri を使用してください。

拡張機能がプライベートな状態を格納できるワークスペース固有のディレクトリの URI。ディレクトリは存在しない可能性があり、作成は拡張機能に委ねられます。ただし、親ディレクトリは存在することが保証されています。ワークスペースもフォルダーも開かれていない場合、値は undefined です。

キーと値のデータを格納するには workspaceState または globalState を使用してください。

参照: URI からファイルやフォルダーを読み書きする方法については workspace.fs を参照してください。

破棄可能なオブジェクト(disposable)を追加できる配列。この拡張機能が無効化されると、これらは破棄されます。

注意: 非同期の破棄関数(dispose-functions)は待機されません。

現在開いている ワークスペース のコンテキストで状態を格納するメモオブジェクト。

メソッド

拡張機能に含まれるリソースの絶対パスを取得します。

注意: 絶対 URI は Uri.joinPathextensionUri を介して構築できます。例: vscode.Uri.joinPath(context.extensionUri, relativePath);

パラメーター説明
relativePath: string

拡張機能に含まれるリソースへの相対パス。

戻り値説明
string

リソースの絶対パス。

ExtensionKind

リモートウィンドウでは、拡張機能の種類(Kind)は、UI(ウィンドウ)が実行される場所で実行されるのか、それともリモートで実行されるのかを記述します。

列挙型メンバー

UI が実行される場所で拡張機能が実行されます。

リモート拡張機能ホストが実行される場所で拡張機能が実行されます。

ExtensionMode

ExtensionMode は ExtensionContext で提供され、特定の拡張機能が実行されているモードを示します。

列挙型メンバー

拡張機能はエディター内で通常の方法(マーケットプレイスや VSIX などから)でインストールされています。

拡張機能は、エディターの起動時に提供された --extensionDevelopmentPath から実行されています。

拡張機能は --extensionTestsPath から実行されており、拡張機能ホストはユニットテストを実行しています。

ExtensionTerminalOptions

仮想プロセス端末が使用すべきオプションを記述する値オブジェクト。

プロパティ

ターミナルのアイコン ThemeColor。テーマ間で最高のコントラストと一貫性を保つため、標準の terminal.ansi* テーマキーが推奨されます。

ターミナルのアイコンパスまたは ThemeIcon

再起動やリロード時のデフォルトのターミナル永続化をオプトアウトします。これは terminal.integrated.enablePersistentSessions が有効な場合にのみ適用されます。

UI でターミナルを表すために使用される人間が読める文字列。

拡張機能がターミナルを制御できるようにする Pseudoterminal の実装。

シェル統合シーケンスが信頼できるソースからのものであることを確認するために使用するナンス(nonce)。この UX への影響の例として、コマンドラインがナンス付きで報告された場合、シェル統合コマンド装飾 を通じてそれを再実行する前に、ユーザーがそのコマンドラインが正しいかを確認する必要がなくなります。

ターミナルに カスタムシェル統合サポート が含まれている場合、これを使用する必要があります。ランダムな GUID に設定してください。Pseudoterminal の実装内では、この値を関連するシーケンスに渡すことで、それらを信頼できるものにすることができます。

FileChangeEvent

ファイルシステムプロバイダーがファイル変更を通知するために使用しなければならないイベント。

プロパティ

変更のタイプ。

変更されたファイルの URI。

FileChangeType

ファイル変更タイプの列挙型。

列挙型メンバー

ファイルの内容またはメタデータが変更されました。

ファイルが作成されました。

ファイルが削除されました。

FileCoverage

ファイルのカバレッジメタデータが含まれています。

静的

カバレッジの詳細からカウントが入力された FileCoverage インスタンスを作成します。

パラメーター説明
uri: Uri

カバレッジ対象のファイルの URI。

details: readonly FileCoverageDetail[]

詳細なカバレッジ情報。

戻り値説明
FileCoverage

コンストラクター

パラメーター説明
uri: Uri

カバレッジ対象のファイルの URI。

statementCoverage: TestCoverageCount

ステートメントカバレッジ情報。レポーターがステートメントカバレッジ情報を提供しない場合、代わりにこれを使用して行カバレッジを表すことができます。

branchCoverage?: TestCoverageCount

ブランチカバレッジ情報。

declarationCoverage?: TestCoverageCount

宣言カバレッジ情報。

includesTests?: TestItem[]

このカバレッジレポートに含まれるテストケース。FileCoverage.includesTests を参照してください。

戻り値説明
FileCoverage

プロパティ

ブランチカバレッジ情報。

宣言カバレッジ情報。レポーターや言語によっては、関数、メソッド、名前空間などの型が含まれる場合があります。

このファイルでカバレッジを生成した テストケース のリスト。設定されている場合、詳細なカバレッジ情報を取得するために TestRunProfile.loadDetailedCoverageForTest も定義されている必要があります。

ステートメントカバレッジ情報。レポーターがステートメントカバレッジ情報を提供しない場合、代わりにこれを使用して行カバレッジを表すことができます。

ファイルの URI。

FileCoverageDetail

TestRunProfile.loadDetailedCoverage から返されるカバレッジ詳細。

FileCreateEvent

ファイルが作成された後に発生するイベント。

プロパティ

作成されたファイル。

FileDecoration

ファイルデコレーションは、ファイルと共にレンダリングできるメタデータを表します。

コンストラクター

新しいデコレーションを作成します。

パラメーター説明
badge?: string

デコレーションを表す文字。

tooltip?: string

デコレーションのツールチップ。

color?: ThemeColor

デコレーションの色。

戻り値説明
FileDecoration

プロパティ

このデコレーションを表す非常に短い文字列。

このデコレーションの色。

このデコレーションを親に伝播させるべきであることを示すフラグ。

このデコレーションのための、人間が読めるツールチップ。

FileDecorationProvider

デコレーションプロバイダーインターフェースは、拡張機能とファイルデコレーションの間の契約を定義します。

イベント

1つまたは複数のファイルのデコレーションが変更されたことを通知するオプションのイベント。

注意: このイベントは、子に関する情報を伝播するために使用する必要があります。

参照: EventEmitter

メソッド

指定された URI のデコレーションを提供します。

注意: この関数は、ファイルが UI にレンダリングされるときにのみ呼び出されます。つまり、上方向に伝播する子孫からのデコレーションは、onDidChangeFileDecorations イベントを介してエディターに通知する必要があります。

パラメーター説明
uri: Uri

デコレーションを提供するファイルの URI。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<FileDecoration>

デコレーション、またはそれに解決される thenable。

FileDeleteEvent

ファイルが削除された後に発生するイベント。

プロパティ

削除されたファイル。

FilePermission

ファイルのアクセス権限。

列挙型メンバー

ファイルは読み取り専用です。

注: オプション isReadonly: true で登録された FileSystemProvider からのすべての FileStat は、FilePermission.Readonly が設定されているかのように暗黙的に処理されます。その結果、一部の FileStat が読み取り専用ではないような読み取り専用ファイルシステムプロバイダーを登録することはできません。

FileRenameEvent

ファイルが名前変更された後に発生するイベント。

プロパティ

名前変更されたファイル。

FileStat

FileStat 型はファイルに関するメタデータを表します。

プロパティ

1970年1月1日 00:00:00 UTC からの経過時間(ミリ秒)による作成タイムスタンプ。

1970年1月1日 00:00:00 UTC からの経過時間(ミリ秒)による変更タイムスタンプ。

注: ファイルが変更された場合、前の値から進んだ更新済みの mtime を提供することが重要です。そうしないと、最適化機能により、例えばエディター内で更新されたファイルの内容が表示されない場合があります。

ファイルのアクセス権限(例: ファイルが読み取り専用かどうか)。

注: この値はビットマスクである可能性があります(例: FilePermission.Readonly | FilePermission.Other)。

バイト単位のサイズ。

注: ファイルが変更された場合、更新された size を提供することが重要です。そうしないと、最適化機能により、例えばエディター内で更新されたファイルの内容が表示されない場合があります。

ファイルのタイプ(例: 通常のファイル、ディレクトリ、またはファイルへのシンボリックリンク)。

注: この値はビットマスクである可能性があります(例: FileType.File | FileType.SymbolicLink)。

FileSystem

ファイルシステムインターフェースは、エディターの組み込みおよび提供された ファイルシステムプロバイダー を公開します。これにより、拡張機能はローカルディスク上のファイルだけでなく、リモート拡張機能ホストや FTP サーバーなどのリモートの場所にあるファイルを操作できるようになります。

注意: このインターフェースのインスタンスは workspace.fs として利用可能です。

メソッド

ファイルまたはフォルダーをコピーします。

パラメーター説明
source: Uri

既存のファイル。

target: Uri

宛先の場所。

options?: {overwrite: boolean}

既存のファイルを上書きするかどうかを定義します。

戻り値説明
Thenable<void>

新しいディレクトリを作成します(新しいファイルは write 呼び出しを介して作成されることに注意してください)。

: 不足しているディレクトリは自動的に作成されます(この呼び出しは mkdirp セマンティクスを持っています)。

パラメーター説明
uri: Uri

新しいフォルダーの URI。

戻り値説明
Thenable<void>

ファイルを削除します。

パラメーター説明
uri: Uri

削除対象のリソース。

options?: {recursive: boolean, useTrash: boolean}

ゴミ箱を使用するかどうか、およびフォルダーの削除を再帰的に行うかどうかを定義します。

戻り値説明
Thenable<void>

指定されたファイルシステムがファイルの書き込みをサポートしているかどうかを確認します。

ファイルシステムが書き込みをサポートしているからといって、書き込みが常に成功するとは限らないことに注意してください。アクセス権の問題やその他のエラーが書き込みを妨げる可能性があります。

パラメーター説明
scheme: string

ファイルシステムのスキーム(例: filegit)。

戻り値説明
boolean

ファイルシステムが書き込みをサポートしている場合は true、サポートしていない(読み取り専用)場合は false。エディターがファイルシステムを認識していない場合は undefined

ディレクトリ のすべてを取得します。

パラメーター説明
uri: Uri

フォルダーの URI。

戻り値説明
Thenable<Array<[string, FileType]>>

名前/タイプのタプルの配列、またはそれに解決される thenable。

ファイルの内容全体を読み取ります。

パラメーター説明
uri: Uri

ファイルの URI。

戻り値説明
Thenable<Uint8Array>

バイト配列、またはそれに解決される thenable。

ファイルまたはフォルダーの名前を変更します。

パラメーター説明
source: Uri

既存のファイル。

target: Uri

新しい場所。

options?: {overwrite: boolean}

既存のファイルを上書きするかどうかを定義します。

戻り値説明
Thenable<void>

ファイルに関するメタデータを取得します。

パラメーター説明
uri: Uri

メタデータを取得するファイルの URI。

戻り値説明
Thenable<FileStat>

ファイルに関するメタデータ。

ファイルにデータを書き込み、内容全体を置き換えます。

パラメーター説明
uri: Uri

ファイルの URI。

content: Uint8Array

ファイルの新しい内容。

戻り値説明
Thenable<void>

FileSystemError

ファイルシステムプロバイダーがエラーを通知するために使用すべき型。

このクラスには、一般的なエラーケース用のファクトリーメソッドがあります(例: ファイルやフォルダーが存在しない場合の FileNotFound)。使用例: throw vscode.FileSystemError.FileNotFound(someUri);

静的

ファイルやフォルダーが既に存在すること(例: ファイルを作成するが上書きしない場合)を示すエラーを作成します。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI。

戻り値説明
FileSystemError

ファイルがフォルダーであることを示すエラーを作成します。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI。

戻り値説明
FileSystemError

ファイルがフォルダーではないことを示すエラーを作成します。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI。

戻り値説明
FileSystemError

ファイルやフォルダーが見つからなかったことを示すエラーを作成します。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI。

戻り値説明
FileSystemError

操作に必要な権限がないことを示すエラーを作成します。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI。

戻り値説明
FileSystemError

ファイルシステムが利用できない、または要求を完了するのに忙しすぎることを示すエラーを作成します。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI。

戻り値説明
FileSystemError

コンストラクター

新しいファイルシステムエラーを作成します。

パラメーター説明
messageOrUri?: string | Uri

メッセージまたは URI。

戻り値説明
FileSystemError

プロパティ

このエラーを識別するコード。

可能な値は、FileNotFound のようなエラー名、または指定されていないエラーの場合は Unknown です。

FileSystemProvider

ファイルシステムプロバイダーは、エディターがファイルやフォルダーを読み取り、書き込み、検索し、管理するために必要なものを定義します。これにより、拡張機能は FTP サーバーのようなリモートの場所からファイルを提供し、それらをエディターにシームレスに統合できます。

  • 注 1: ファイルシステムプロバイダー API は URI を扱い、階層パスを前提とします。例: foo:/my/pathfoo:/my/ の子であり、foo:/my/path/deeper の親です。
  • 注 2: ファイルまたはフォルダーにアクセスする際に発生するアクティベーションイベント onFileSystem:<scheme> があります。
  • 注 3: 'file' という単語は、フォルダー、シンボリックリンク、通常のファイルなど、あらゆる 種類 のファイルを指すために頻繁に使用されます。

イベント

リソースが作成、変更、または削除されたことを通知するイベント。このイベントは、このプロバイダーのクライアントによって 監視 されているリソースに対して発生させる必要があります。

注意: 変更されたファイルのメタデータは、stat 内で前の値から進んだ更新済みの mtime と、正しい size 値を提供することが重要です。そうしないと、最適化機能により、例えばエディター内で変更が表示されない場合があります。

メソッド

ファイルまたはフォルダーをコピーします。この関数を実装することはオプションですが、コピー操作を高速化します。

  • throws - source が存在しない場合、FileNotFound
  • throws - destination の親が存在しない場合、FileNotFound(mkdirp ロジックは不要)。
  • throws - destination が存在し、overwrite オプションが true ではない場合、FileExists
パラメーター説明
source: Uri

既存のファイル。

destination: Uri

宛先の場所。

options: {overwrite: boolean}

既存のファイルを上書きするかどうかを定義します。

戻り値説明
void | Thenable<void>

新しいディレクトリを作成します(新しいファイルは write 呼び出しを介して作成されることに注意してください)。

  • throws - uri の親が存在しない場合、FileNotFound(mkdirp ロジックは不要)。
  • throws - uri が既に存在する場合、FileExists
パラメーター説明
uri: Uri

新しいフォルダーの URI。

戻り値説明
void | Thenable<void>

ファイルを削除します。

パラメーター説明
uri: Uri

削除対象のリソース。

options: {recursive: boolean}

フォルダーの削除を再帰的に行うかどうかを定義します。

戻り値説明
void | Thenable<void>

ディレクトリ のすべてを取得します。

パラメーター説明
uri: Uri

フォルダーの URI。

戻り値説明
Array<[string, FileType]> | Thenable<Array<[string, FileType]>>

名前/タイプのタプルの配列、またはそれに解決される thenable。

ファイルの内容全体を読み取ります。

パラメーター説明
uri: Uri

ファイルの URI。

戻り値説明
Uint8Array | Thenable<Uint8Array>

バイト配列、またはそれに解決される thenable。

ファイルまたはフォルダーの名前を変更します。

  • throws - oldUri が存在しない場合、FileNotFound
  • throws - newUri の親が存在しない場合、FileNotFound(mkdirp ロジックは不要)。
  • throws - newUri が存在し、overwrite オプションが true ではない場合、FileExists
パラメーター説明
oldUri: Uri

既存のファイル。

newUri: Uri

新しい場所。

options: {overwrite: boolean}

既存のファイルを上書きするかどうかを定義します。

戻り値説明
void | Thenable<void>

ファイルに関するメタデータを取得します。

シンボリックリンクのメタデータは、それらが参照するファイルのメタデータであるべきであることに注意してください。ただし、実際のタイプに加えて SymbolicLink タイプを使用する必要があります(例: FileType.SymbolicLink | FileType.Directory)。

パラメーター説明
uri: Uri

メタデータを取得するファイルの URI。

戻り値説明
FileStat | Thenable<FileStat>

ファイルに関するメタデータ。

uri で示されるファイルまたはフォルダー内のファイル変更イベントをサブスクライブします。フォルダーの場合、オプション recursive は、サブフォルダーやサブサブフォルダーなどもファイル変更を監視する必要があるかどうかを示します。recursive: false の場合、フォルダーの直接の子であるファイルの変更のみがイベントをトリガーします。

excludes 配列は、ファイル監視から除外すべきパスを示すために使用されます。これは通常、ユーザーが設定可能な files.watcherExclude 設定から派生します。各エントリは以下のように指定できます:

  • 除外する絶対パス
  • 除外する相対パス(例: build/output
  • 単純なグロブパターン(例: **/build, output/**

注意: 組み込みファイルシステムプロバイダーの excludes パターンの大文字と小文字の区別は、基盤となるファイルシステムに依存します。Windows および macOS では大文字と小文字が区別されず、Linux では区別されます。

これらのルールに従って変更があるたびに onDidChangeFile を呼び出すのはファイルシステムプロバイダーの役割です。提供された除外パターンのいずれかに一致するファイルについては、イベントを発生させてはいけません。

パラメーター説明
uri: Uri

監視するファイルまたはフォルダーの URI。

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

監視を構成します。

戻り値説明
Disposable

プロバイダーに uri の監視を停止するように指示する破棄可能オブジェクト。

ファイルにデータを書き込み、内容全体を置き換えます。

  • throws - uri が存在せず create が設定されていない場合、FileNotFound
  • throws - uri の親が存在せず create が設定されている場合、FileNotFound(mkdirp ロジックは不要)。
  • throws - uri が既に存在し、create が設定されているが overwrite が設定されていない場合、FileExists
パラメーター説明
uri: Uri

ファイルの URI。

content: Uint8Array

ファイルの新しい内容。

options: {create: boolean, overwrite: boolean}

欠落しているファイルを作成するか、作成しなければならないかを定義します。

戻り値説明
void | Thenable<void>

FileSystemWatcher

ファイルシステムウォッチャーは、ディスク上や他の FileSystemProviders からのファイルおよびフォルダーの変更について通知します。

FileSystemWatcher のインスタンスを取得するには createFileSystemWatcher を使用します。

イベント

ファイル/フォルダーの変更時に発生するイベント。

ファイル/フォルダーの作成時に発生するイベント。

ファイル/フォルダーの削除時に発生するイベント。

プロパティ

このファイルシステムウォッチャーがファイルシステムの変更イベントを無視するように作成されている場合は true。

このファイルシステムウォッチャーがファイルシステムの作成イベントを無視するように作成されている場合は true。

このファイルシステムウォッチャーがファイルシステムの削除イベントを無視するように作成されている場合は true。

メソッド

このオブジェクトを破棄します。

パラメーター説明
戻り値説明
any

FileType

ファイルタイプの列挙型。File および Directory 型はシンボリックリンクである可能性もあり、その場合は FileType.File | FileType.SymbolicLink および FileType.Directory | FileType.SymbolicLink を使用します。

列挙型メンバー

ファイルタイプは不明です。

通常のファイル。

ディレクトリ。

ファイルへのシンボリックリンク。

FileWillCreateEvent

ファイルが作成される前に発生するイベント。

ファイルが作成される前にワークスペースを変更するには、ワークスペース編集 に解決される thenable を指定して waitUntil 関数を呼び出します。

プロパティ

作成されようとしているファイル。

キャンセル トークン。

メソッド

イベントを一時停止し、ワークスペース編集 を適用できるようにします。

注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期に呼び出すことはできません。

workspace.onWillCreateFiles(event => {
  // async, will *throw* an error
  setTimeout(() => event.waitUntil(promise));

  // sync, OK
  event.waitUntil(promise);
});
パラメーター説明
thenable: Thenable<WorkspaceEdit>

保存を遅延させる thenable。

戻り値説明
void

提供された thenable が解決されるまでイベントを一時停止できるようにします。

注: この関数はイベントディスパッチ中にのみ呼び出すことができます。

パラメーター説明
thenable: Thenable<any>

保存を遅延させる thenable。

戻り値説明
void

FileWillDeleteEvent

ファイルが削除される前に発生するイベント。

ファイルが削除される前にワークスペースを変更するには、ワークスペース編集 に解決される thenable を指定して waitUntil 関数を呼び出します。

プロパティ

削除されようとしているファイル。

キャンセル トークン。

メソッド

イベントを一時停止し、ワークスペース編集 を適用できるようにします。

注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期に呼び出すことはできません。

workspace.onWillCreateFiles(event => {
  // async, will *throw* an error
  setTimeout(() => event.waitUntil(promise));

  // sync, OK
  event.waitUntil(promise);
});
パラメーター説明
thenable: Thenable<WorkspaceEdit>

保存を遅延させる thenable。

戻り値説明
void

提供された thenable が解決されるまでイベントを一時停止できるようにします。

注: この関数はイベントディスパッチ中にのみ呼び出すことができます。

パラメーター説明
thenable: Thenable<any>

保存を遅延させる thenable。

戻り値説明
void

FileWillRenameEvent

ファイルが名前変更される前に発生するイベント。

ファイルが名前変更される前にワークスペースを変更するには、ワークスペース編集 に解決される thenable を指定して waitUntil 関数を呼び出します。

プロパティ

名前変更されようとしているファイル。

キャンセル トークン。

メソッド

イベントを一時停止し、ワークスペース編集 を適用できるようにします。

注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期に呼び出すことはできません。

workspace.onWillCreateFiles(event => {
  // async, will *throw* an error
  setTimeout(() => event.waitUntil(promise));

  // sync, OK
  event.waitUntil(promise);
});
パラメーター説明
thenable: Thenable<WorkspaceEdit>

保存を遅延させる thenable。

戻り値説明
void

提供された thenable が解決されるまでイベントを一時停止できるようにします。

注: この関数はイベントディスパッチ中にのみ呼び出すことができます。

パラメーター説明
thenable: Thenable<any>

保存を遅延させる thenable。

戻り値説明
void

FoldingContext

折りたたみコンテキスト(将来の使用のために)

FoldingRange

行ベースの折りたたみ範囲。有効であるためには、開始行と終了行がゼロより大きく、ドキュメントの行数より小さい必要があります。無効な範囲は無視されます。

コンストラクター

新しい折りたたみ範囲を作成します。

パラメーター説明
start: number

折りたたまれる範囲の開始行。

end: number

折りたたまれる範囲の終了行。

kind?: FoldingRangeKind

折りたたみ範囲のタイプ。

戻り値説明
FoldingRange

プロパティ

折りたたむ範囲のゼロベースの終了行。折りたたまれた領域は、その行の最後の文字で終わります。有効であるためには、終了行はゼロ以上で、ドキュメントの行数より小さい必要があります。

CommentRegion などの折りたたみ範囲の 種類 を記述します。この種類は折りたたみ範囲を分類するために使用され、「すべてのコメントを折りたたむ」などのコマンドによって使用されます。すべての種類の列挙型については FoldingRangeKind を参照してください。設定されていない場合、その範囲は構文要素に由来します。

折りたたむ範囲のゼロベースの開始行。折りたたまれた領域は、その行の最後の文字の後に始まります。有効であるためには、終了行はゼロ以上で、ドキュメントの行数より小さい必要があります。

FoldingRangeKind

特定の折りたたみ範囲の種類の列挙型。この種類は FoldingRange のオプションのフィールドであり、コメントに由来する範囲などの特定の折りたたみ範囲を区別するために使用されます。この種類は すべてのコメントを折りたたむすべてのリージョンを折りたたむ といったコマンドで使用されます。範囲に種類が設定されていない場合、その範囲はコメント、インポート、リージョンマーカー以外の構文要素に由来します。

列挙型メンバー

コメントを表す折りたたみ範囲の種類。

インポートを表す折りたたみ範囲の種類。

#region#endregion のような折りたたみマーカーに由来するリージョンを表す折りたたみ範囲の種類。

FoldingRangeProvider

折りたたみ範囲プロバイダーインターフェースは、拡張機能とエディター内の 折りたたみ との間の契約を定義します。

イベント

このプロバイダーからの折りたたみ範囲が変更されたことを通知するオプションのイベント。

メソッド

折りたたみ範囲のリストを返します。プロバイダーが参加しない場合やキャンセルされた場合は null または undefined を返します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

context: FoldingContext

追加のコンテキスト情報(将来の使用のために)

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<FoldingRange[]>

FormattingOptions

フォーマットが使用すべきオプションを記述する値オブジェクト。

プロパティ

タブよりもスペースを優先します。

スペース単位でのタブのサイズ。

FunctionBreakpoint

関数名によって指定されるブレークポイント。

コンストラクター

新しい関数ブレークポイントを作成します。

パラメーター説明
functionName: string
enabled?: boolean
condition?: string
hitCondition?: string
logMessage?: string
戻り値説明
FunctionBreakpoint

プロパティ

条件付きブレークポイントの式(オプション)。

ブレークポイントが有効かどうか。

このブレークポイントが接続されている関数名。

ブレークポイントのヒットを何回無視するかを制御する式(オプション)。

ブレークポイントの一意のID。

このブレークポイントがヒットしたときにログに記録されるメッセージ(オプション)。{} 内の埋め込み式は、デバッグアダプターによって補間されます。

GlobalEnvironmentVariableCollection

拡張機能がプロセス環境に適用できるミューテーションのコレクション。すべてのスコープに適用されます。

プロパティ

環境変数コレクションの説明。これはUIでの変更を説明するために使用されます。

コレクションをワークスペース用にキャッシュし、ウィンドウの再読み込み間でターミナルに適用するかどうか。trueの場合、ウィンドウ再読み込み時などにコレクションが直ちに有効になります。さらに、このAPIはキャッシュされたバージョンが存在する場合はそれを返します。コレクションは拡張機能がアンインストールされたとき、またはコレクションがクリアされたときに無効になります。デフォルトは true です。

メソッド

環境変数の値を追加します。

拡張機能は特定の変数に対して単一の変更しか行えないため、これは以前の置換、追加、または先頭追加の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

追加対象の変数。

value: string

変数に追加する値。

options?: EnvironmentVariableMutatorOptions

ミューテーター(変更者)に適用されるオプション。オプションが提供されない場合、デフォルトで { applyAtProcessCreation: true } になります。

戻り値説明
void

このコレクションからすべてのミューテーターをクリアします。

パラメーター説明
戻り値説明
void

このコレクションから変数のミューテーターを削除します。

パラメーター説明
variable: string

ミューテーターを削除する対象の変数。

戻り値説明
void

このコレクション内の各ミューテーターを反復処理します。

パラメーター説明
callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any

各エントリに対して実行する関数。

thisArg?: any

ハンドラー関数を呼び出すときに使用される this コンテキスト。

戻り値説明
void

このコレクションが変数に適用するミューテーターがあればそれを取得します。

パラメーター説明
variable: string

ミューテーターを取得する対象の変数。

戻り値説明
EnvironmentVariableMutator

拡張機能用のスコープ固有の環境変数コレクションを取得します。これにより、指定されたスコープ内でのみターミナル環境変数を変更でき、グローバルコレクションに加えて(かつ適用後に)適用されます。

このメソッドを通じて取得された各オブジェクトは分離されており、グローバルコレクションを含む他のスコープのオブジェクトには影響を与えません。

パラメーター説明
scope: EnvironmentVariableScope

環境変数コレクションが適用されるスコープ。

スコープパラメータを省略した場合、そのパラメータに関連するすべてのスコープに適用されるコレクションが返されます。例えば、「workspaceFolder」パラメータが指定されていない場合は、すべてのワークスペースフォルダー全体に適用されるコレクションが返されます。

戻り値説明
EnvironmentVariableCollection

渡されたスコープに対する環境変数コレクション。

環境変数の先頭に値を追加します。

拡張機能は特定の変数に対して単一の変更しか行えないため、これは以前の置換、追加、または先頭追加の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

先頭に追加する変数。

value: string

変数に追加する値。

options?: EnvironmentVariableMutatorOptions

ミューテーター(変更者)に適用されるオプション。オプションが提供されない場合、デフォルトで { applyAtProcessCreation: true } になります。

戻り値説明
void

環境変数を値で置き換えます。

拡張機能は特定の変数に対して単一の変更しか行えないため、これは以前の置換、追加、または先頭追加の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

置き換える変数。

value: string

変数と置き換える値。

options?: EnvironmentVariableMutatorOptions

ミューテーター(変更者)に適用されるオプション。オプションが提供されない場合、デフォルトで { applyAtProcessCreation: true } になります。

戻り値説明
void

GlobPattern

ファイルパスを照合するためのファイルグロブパターン。これは、グロブパターン文字列(**/*.{ts,js}*.{ts,js} など)または 相対パターン のいずれかです。

グロブパターンには以下の構文を使用できます。

  • * - パスセグメント内のゼロ個以上の文字に一致する
  • ? - パスセグメント内の1文字に一致する
  • ** - ゼロ個以上のパスセグメントに一致する
  • {} は条件をグループ化します(例: **/*.{ts,js} はすべての TypeScript および JavaScript ファイルと一致します)
  • [] はパスセグメント内で一致させる文字の範囲を宣言します(例: example.[0-9]example.0, example.1, ... と一致します)
  • [!...] はパスセグメント内で一致させる文字の範囲を否定します(例: example.[!0-9]example.a, example.b と一致しますが、example.0 は一致しません)

注意: バックスラッシュ (``) はグロブパターン内では無効です。既存のファイルパスを照合する必要がある場合は、バックスラッシュをスラッシュに変換する 相対パターン のサポートを使用することを検討してください。それ以外の場合は、グロブパターンを作成する際に必ずバックスラッシュをスラッシュに変換するようにしてください。

Hover

ホバーは、シンボルや単語に関する追加情報を表します。ホバーはツールチップのようなウィジェットで表示されます。

コンストラクター

新しいホバーオブジェクトを作成します。

パラメーター説明
contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString>

ホバーの内容。

range?: Range

ホバーが適用される範囲。

戻り値説明
ホバー

プロパティ

このホバーの内容。

このホバーが適用される範囲。範囲が指定されていない場合、エディターは現在の位置における単語の範囲、または現在の位置そのものを使用します。

HoverProvider

ホバープロバイダーインターフェースは、拡張機能と ホバー 機能との間の規約を定義します。

メソッド

指定された位置とドキュメントに対するホバーを提供します。同じ位置に複数のホバーがある場合、それらはエディターによってマージされます。ホバーには範囲を含めることができ、省略された場合はその位置の単語範囲がデフォルトになります。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<Hover>

ホバー、またはそれを解決する Thenable。結果がないことは undefined または null を返すことで通知できます。

IconPath

UI 上のアイコンを表します。これは URI、ライトテーマ用とダークテーマ用の個別の URI、または テーマアイコン です。

ImplementationProvider

実装プロバイダーインターフェースは、拡張機能と「実装へ移動」機能との間の規約を定義します。

メソッド

指定された位置とドキュメントにあるシンボルの実装を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<Definition | LocationLink[]>

定義、またはそれに解決されるthenable。結果がないことは、undefined または null を返すことで通知できます。

IndentAction

Enter キーを押したときのインデントの動作を記述します。

列挙型メンバー

新しい行を挿入し、前の行のインデントをコピーします。

新しい行を挿入し、(前の行のインデントに対して)1レベルインデントします。

2つの新しい行を挿入します。

  • 1つ目はインデントされ、カーソルが配置されます。
  • 2つ目は同じインデントレベルになります。

新しい行を挿入し、(前の行のインデントに対して)1レベルアウトデントします。

IndentationRule

言語のインデントルールを記述します。

プロパティ

行がこのパターンと一致する場合、それ以降のすべての行は(別のルールが一致するまで)1レベルアウトデントされます。

行がこのパターンと一致する場合、それ以降のすべての行は(別のルールが一致するまで)1レベルインデントされます。

行がこのパターンと一致する場合、その直後の次の行のみが1レベルインデントされます。

行がこのパターンと一致する場合、そのインデントは変更されず、他のルールに対して評価されるべきではありません。

InlayHint

インレイヒント情報。

コンストラクター

新しいインレイヒントを作成します。

パラメーター説明
position: Position

ヒントの表示位置。

label: string | InlayHintLabelPart[]

ヒントのラベル。

kind?: InlayHintKind

ヒントの 種類

戻り値説明
InlayHint

プロパティ

このヒントの種類。インレイヒントの種類は、そのインレイヒントの見た目を定義します。

このヒントのラベル。人間が読める文字列、または ラベルパーツ の配列。

注意: 文字列もラベルパーツも空にすることはできません。

ヒントの前にパディングを表示します。パディングにはヒント自体の背景色ではなく、エディターの背景色が使用されます。つまり、パディングを使用してインレイヒントを視覚的に揃えたり分離したりできます。

ヒントの後にパディングを表示します。パディングにはヒント自体の背景色ではなく、エディターの背景色が使用されます。つまり、パディングを使用してインレイヒントを視覚的に揃えたり分離したりできます。

このヒントの位置。

このインレイヒントを受け入れたときに実行されるオプションの テキスト編集。インレイヒントを受け入れるためのデフォルトのジェスチャはダブルクリックです。

注意: 編集は、インレイヒント(またはその最も近いバリエーション)がドキュメントの一部となり、インレイヒント自体が不要になるようにドキュメントを変更することが期待されます。

注意: このプロパティは、インレイヒントの 解決 (resolving) 中に遅延設定することができます。

このアイテムにマウスを合わせたときに表示されるツールチップテキスト。

注意: このプロパティは、インレイヒントの 解決 (resolving) 中に遅延設定することができます。

InlayHintKind

インレイヒントの種類。

インレイヒントの種類は、対応する前景色や背景色が使用されるなど、インラインヒントの見た目を定義します。

列挙型メンバー

型注釈のためのインレイヒント。

パラメータのためのインレイヒント。

InlayHintLabelPart

インレイヒントラベルパーツを使用すると、インレイヒントのインタラクティブで複合的なラベルを作成できます。

コンストラクター

新しいインレイヒントラベルパーツを作成します。

パラメーター説明
value: string

パーツの値。

戻り値説明
InlayHintLabelPart

プロパティ

このラベルパーツのためのオプションのコマンド。

エディターはコマンドを持つパーツをクリック可能なリンクとしてレンダリングします。ラベルパーツが 場所 (location)コマンド (command) を定義している場合、コマンドがコンテキストメニューに追加されます。

注意: このプロパティは、インレイヒントの 解決 (resolving) 中に遅延設定することができます。

このラベルパーツを表す、オプションの ソースコードの場所

エディターはこの場所をホバーおよびコードナビゲーション機能に使用します: このパーツはクリック可能なリンクとなり、指定された場所のシンボルの定義へ移動します(必ずしも場所自体ではありません)。また、指定された場所で表示されるホバーを表示し、さらにコードナビゲーションコマンドを含むコンテキストメニューを表示します。

注意: このプロパティは、インレイヒントの 解決 (resolving) 中に遅延設定することができます。

このラベルパーツにマウスを合わせたときに表示されるツールチップテキスト。

注意: このプロパティは、インレイヒントの 解決 (resolving) 中に遅延設定することができます。

このラベルパーツの値。

InlayHintsProvider<T>

インレイヒントプロバイダーインターフェースは、拡張機能とインレイヒント機能との間の規約を定義します。

イベント

このプロバイダーからのインレイヒントが変更されたことを通知するためのオプションのイベント。

メソッド

指定された範囲とドキュメントに対するインレイヒントを提供します。

注意: 指定された範囲内に 含まれない インレイヒントは無視されます。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

range: Range

インレイヒントを計算すべき範囲。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T[]>

インレイヒントの配列、またはそれを解決する Thenable。

インレイヒントが与えられたら、ツールチップテキスト編集 を入力するか、ラベルの パーツ を完成させます。

注意: エディターはインレイヒントを最大1回だけ解決します。

パラメーター説明
hint: T

インレイヒント。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T>

解決されたインレイヒント、またはそれを解決する Thenable。与えられた item をそのまま返しても問題ありません。結果が返されない場合、与えられた item が使用されます。

InlineCompletionContext

インライン補完が要求されたコンテキストに関する情報を提供します。

プロパティ

オートコンプリートウィジェットが表示されている場合に、現在選択されているアイテムに関する情報を提供します。

設定されている場合、提供されるインライン補完は選択されたアイテムのテキストを拡張し、同じ範囲を使用する必要があります。そうでない場合はプレビューとして表示されません。例として、ドキュメントのテキストが console. で、選択されたアイテムがドキュメント内の . を置き換える .log である場合、インライン補完も . を置き換え、例えば .log() のように .log で始まる必要があります。

選択されたアイテムが変更されるたびに、インライン補完プロバイダーが再要求されます。

インライン補完がどのようにトリガーされたかを記述します。

InlineCompletionItem

インライン補完アイテムは、入力中のテキストを補完するためにインラインで提案されるテキストスニペットを表します。

参照 InlineCompletionItemProvider.provideInlineCompletionItems

コンストラクター

新しいインライン補完アイテムを作成します。

パラメーター説明
insertText: string | SnippetString

範囲を置き換えるためのテキスト。

range?: Range

置き換える範囲。設定されていない場合は、要求された位置の単語が使用されます。

command?: Command

この補完を挿入した に実行されるオプションの コマンド

戻り値説明
InlineCompletionItem

プロパティ

この補完を挿入した に実行されるオプションの コマンド

このインライン補完を表示するかどうかを決定するために使用されるテキスト。falsy の場合は InlineCompletionItem.insertText が使用されます。

インライン補完は、置き換えるテキストがフィルタテキストのプレフィックスである場合に表示されます。

範囲を置き換えるためのテキスト。必須です。プレビュー操作と受け入れ操作の両方に使用されます。

置き換える範囲。同じ行で開始および終了する必要があります。

ユーザーが入力したテキストを削除するときの操作性を向上させるために、挿入よりも置換を優先してください。

InlineCompletionItemProvider

インライン補完アイテムプロバイダーインターフェースは、拡張機能とインライン補完機能との間の規約を定義します。

プロバイダーは、明示的なユーザー操作、または入力時の暗黙的な操作によって補完を要求されます。

メソッド

指定された位置とドキュメントに対するインライン補完アイテムを提供します。インライン補完が有効になっている場合、ユーザーがタイピングを停止するたびにこのメソッドが呼び出されます。また、ユーザーが明示的にインライン補完をトリガーしたときや、次または前のインライン補完を明示的に要求したときにも呼び出されます。その場合、利用可能なすべてのインライン補完を返す必要があります。これらのシナリオを区別するために context.triggerKind を使用できます。

パラメーター説明
document: TextDocument

インライン補完が要求されているドキュメント。

position: Position

インライン補完が要求されている位置。

context: InlineCompletionContext

追加情報を含むコンテキストオブジェクト。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<InlineCompletionList | InlineCompletionItem[]>

補完アイテムの配列、または補完アイテムの配列を解決する Thenable。

InlineCompletionList

エディターに表示される インライン補完アイテム のコレクションを表します。

コンストラクター

新しいインライン補完アイテムのリストを作成します。

パラメーター説明
items: InlineCompletionItem[]
戻り値説明
InlineCompletionList

プロパティ

インライン補完アイテム。

InlineCompletionTriggerKind

インライン補完プロバイダー がどのようにトリガーされたかを記述します。

列挙型メンバー

補完がユーザーのジェスチャによって明示的にトリガーされました。それらを切り替えるために複数の補完アイテムを返してください。

補完が編集中に自動的にトリガーされました。この場合、単一の補完アイテムを返すだけで十分です。

InlineValue

インライン値情報は、様々な方法で提供できます。

  • 直接のテキスト値として(クラス InlineValueText)。
  • 変数ルックアップに使用する名前として(クラス InlineValueVariableLookup)
  • 評価可能な式として(クラス InlineValueEvaluatableExpression)。InlineValue 型は、すべてのインライン値タイプを1つの型に結合します。

InlineValueContext

InlineValuesProvider からインライン値を要求する際のコンテキスト情報を含む値オブジェクト。

プロパティ

実行が停止したスタックフレーム(DAP IDとして)。

実行が停止したドキュメント範囲。通常、範囲の終了位置はインライン値が表示される行を示します。

InlineValueEvaluatableExpression

式の評価を通じてインライン値を提供します。範囲のみが指定された場合、式は基になるドキュメントから抽出されます。オプションの式を使用して、抽出された式をオーバーライドできます。

コンストラクター

新しい InlineValueEvaluatableExpression オブジェクトを作成します。

パラメーター説明
range: Range

評価可能な式が抽出される基となるドキュメント内の範囲。

expression?: string

指定された場合、抽出された式をオーバーライドします。

戻り値説明
InlineValueEvaluatableExpression

プロパティ

指定された場合、その式は抽出された式をオーバーライドします。

インライン値が適用されるドキュメント範囲。範囲は、基になるドキュメントから評価可能な式を抽出するために使用されます。

InlineValuesProvider

インライン値プロバイダーインターフェースは、拡張機能とエディターのデバッガーインライン値機能との間の規約を定義します。この規約では、プロバイダーは指定されたドキュメント範囲に対するインライン値情報を返し、エディターは行の末尾にこの情報を表示します。

イベント

インライン値が変更されたことを通知するためのオプションのイベント。

参照: EventEmitter

メソッド

指定されたドキュメントと範囲に対する「インライン値」情報を提供します。エディターは、指定されたドキュメントでのデバッグが停止するたびにこのメソッドを呼び出します。返されたインライン値情報は、エディターの行末にレンダリングされます。

パラメーター説明
document: TextDocument

インライン値情報が必要なドキュメント。

viewPort: Range

インライン値を計算する必要がある、表示されているドキュメント範囲。

context: InlineValueContext

現在の場所などのコンテキスト情報を含むバッグ。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<InlineValue[]>

InlineValueDescriptors の配列、またはそれを解決する Thenable。結果がないことは undefined または null を返すことで通知できます。

InlineValueText

テキストとしてインライン値を提供します。

コンストラクター

新しい InlineValueText オブジェクトを作成します。

パラメーター説明
range: Range

インライン値を表示するドキュメント行。

text: string

行に対して表示される値。

戻り値説明
InlineValueText

プロパティ

インライン値が適用されるドキュメント範囲。

インライン値のテキスト。

InlineValueVariableLookup

変数ルックアップを通じてインライン値を提供します。範囲のみが指定された場合、変数名は基になるドキュメントから抽出されます。オプションの変数名を使用して、抽出された名前をオーバーライドできます。

コンストラクター

新しい InlineValueVariableLookup オブジェクトを作成します。

パラメーター説明
range: Range

インライン値を表示するドキュメント行。

variableName?: string

ルックアップする変数の名前。

caseSensitiveLookup?: boolean

ルックアップの実行方法。指定がない場合、ルックアップは大文字と小文字を区別します。

戻り値説明
InlineValueVariableLookup

プロパティ

ルックアップの実行方法。

インライン値が適用されるドキュメント範囲。範囲は、基になるドキュメントから変数名を抽出するために使用されます。

指定されている場合、ルックアップする変数の名前。

InputBox

ユーザーがテキスト値を入力できるようにするための具体的な QuickInput

多くの場合、より便利な window.showInputBox の方が使いやすいことに注意してください。window.createInputBox は、window.showInputBox が必要な柔軟性を提供しない場合に使用する必要があります。

イベント

ユーザーが入力値の受け入れを示したときにシグナルを送るイベント。

値が変更されたときにシグナルを送るイベント。

この入力 UI が非表示になったときにシグナルを送るイベント。

この UI が非表示にならなければならない理由はいくつかあり、拡張機能は onDidHide を通じて通知されます。例としては、hide への明示的な呼び出し、ユーザーが Esc キーを押した場合、他の入力 UI が開いた場合などがあります。

ボタンがトリガーされたときにシグナルを送るイベント。

プロパティ

UI に進行状況インジケーターを表示するかどうかを決定します。デフォルトは false です。

例えば、より多くのデータを読み込んでいる間やユーザーの入力を検証している間などに、これを true に変更します。

UI 内の操作用ボタン。

UI がユーザー入力を許可するかどうかを決定します。デフォルトは true です。

例えば、ユーザー入力を検証している間やユーザー入力の次のステップのためにデータを読み込んでいる間などに、これを false に変更します。

UI フォーカスを失った場合でも UI を開いたままにするかどうかを決定します。デフォルトは false です。この設定は iPad では無視され、常に false になります。

入力値を隠すべきかどうかを決定します。デフォルトは false です。

値が入力されていないときに表示されるオプションのプレースホルダーテキスト。

ユーザーへの質問や説明を提供するオプションのプロンプトテキスト。

マルチステップ入力フローのためのオプションの現在のステップ数。

入力 UI のためのオプションのタイトル。

マルチステップ入力フローのためのオプションの合計ステップ数。

現在の入力値に問題があることを示すオプションの検証メッセージ。

文字列を設定することにより、InputBox はデフォルトの InputBoxValidationSeverity として Error を使用します。undefined を返すと検証メッセージがクリアされます。

現在の入力値。

入力値の選択範囲。

2つの数値のタプルとして定義され、1つ目が開始インデックス(含む)、2つ目が終了インデックス(含まず)です。undefined の場合は事前に設定された値全体が選択され、空(開始と終了が等しい)の場合はカーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。

このプロパティは、ユーザーが入力したり選択したりしても更新されませんが、拡張機能によって更新することは可能です。

メソッド

この入力 UI と関連リソースを破棄します。

まだ表示されている場合は、まず非表示になります。この呼び出し以降、入力 UI は機能しなくなり、そのメソッドやプロパティにアクセスすべきではありません。代わりに新しい入力 UI を作成する必要があります。

パラメーター説明
戻り値説明
void

この入力 UI を非表示にします。

これは onDidHide イベントも発生させます。

パラメーター説明
戻り値説明
void

現在の構成で入力 UI を表示します。

他の入力 UI は、まず onDidHide イベントを発生させます。

パラメーター説明
戻り値説明
void

InputBoxOptions

入力ボックス UI の動作を構成するためのオプション。

プロパティ

フォーカスがエディターの他の部分や他のウィンドウに移動しても入力ボックスを開いたままにするには true に設定します。この設定は iPad では無視され、常に false です。

パスワード入力を表示するかどうかを制御します。パスワード入力は入力されたテキストを隠します。

ユーザーに何をすべきかを示すための、入力ボックス内のプレースホルダーとして表示されるオプションの文字列。

入力ボックスの下に表示されるテキスト。

入力ボックスのタイトルを表すオプションの文字列。

入力ボックスにあらかじめ設定しておく値。

事前に設定された の選択範囲。2つの数値のタプルとして定義され、1つ目が開始インデックス(含む)、2つ目が終了インデックス(含まず)です。undefined の場合は事前に設定された値全体が選択され、空(開始と終了が等しい)の場合はカーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。

メソッド

入力を検証し、ユーザーにヒントを与えるために呼び出されるオプションの関数。

パラメーター説明
value: string

入力ボックスの現在の値。

戻り値説明
string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage>

エラーメッセージとして表示される人間が読める文字列、または特定のメッセージの深刻度を提供できる InputBoxValidationMessage。'value' が有効な場合は undefinednull、または空の文字列を返します。

InputBoxValidationMessage

InputBox のための検証メッセージを表します。

プロパティ

ユーザーに表示する検証メッセージ。

検証メッセージの深刻度レベル。

注: InputBoxValidationSeverity.Error を使用する場合、ユーザーは入力を受け入れること(例: Enter キーを押す)ができなくなります。Info および Warning の深刻度では、入力の受け入れは引き続き許可されます。

InputBoxValidationSeverity

入力ボックス検証メッセージの深刻度レベル。

列挙型メンバー

入力の受け入れを妨げない情報メッセージを示します。

入力の受け入れを妨げない警告メッセージを示します。

ユーザーが入力を受け入れることを妨げるエラーメッセージを示します。

LanguageConfiguration

言語構成インターフェースは、拡張機能と、自動括弧挿入、自動インデントなど、さまざまなエディター機能との間の規約を定義します。

プロパティ

非推奨 使用しないでください。

  • 非推奨 - 代わりに言語構成ファイルの autoClosingPairs プロパティを使用してください。
パラメーター説明
autoClosingPairs: Array<{close: string, notIn: string[], open: string}>
  • 非推奨

非推奨 使用しないでください。

  • 非推奨 - 近い将来、より良い API に置き換えられます。
パラメーター説明
brackets: any

このプロパティは非推奨であり、エディターから 無視 されます。

  • 非推奨
docComment: {close: string, lineStart: string, open: string, scope: string}

このプロパティは非推奨であり、エディターによって完全にはサポートされなくなりました(scope と lineStart は無視されます)。代わりに言語構成ファイルの autoClosingPairs プロパティを使用してください。

  • 非推奨

言語の自動クロージングペア。

言語の括弧。この構成は、これらの括弧の周辺で Enter キーを押す動作に暗黙的に影響します。

言語のコメント設定。

言語のインデント設定。

Enter キーを押したときに評価される言語のルール。

言語の単語定義。言語が Unicode 識別子(JavaScript など)をサポートしている場合は、既知の区切り文字の除外を使用する単語定義を提供することが望ましいです。例:既知の区切り文字以外に一致する正規表現(浮動小数点数にドットが出現することは許可されます)。

/(-?\d*\.\d\w*)|([^\`\~\!\\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>/\?\s]+)/g

LanguageModelAccessInformation

言語モデルへのアクセスに関する拡張機能固有の情報を表します。

イベント

アクセス情報が変更されたときに発生するイベント。

メソッド

言語モデルへのリクエストが可能かどうかを確認します。

注: この関数を呼び出しても同意 UI はトリガーされず、永続化された状態を確認するだけです。

パラメーター説明
chat: LanguageModelChat

言語モデルチャットオブジェクト。

戻り値説明
boolean

リクエスト可能な場合は true、不可能な場合は false、言語モデルが存在しないか同意が求められていない場合は undefined

LanguageModelChat

チャットリクエストを行うための言語モデルを表します。

参照 lm.selectChatModels

プロパティ

言語モデルの不透明なファミリ名。値は gpt-3.5-turbo, gpt4, phi2, llama などですが、これらは言語を寄与する拡張機能によって定義され、変更される可能性があります。

言語モデルの不透明な識別子。

単一のリクエストでモデルに送信できる最大トークン数。

人間が読める言語モデルの名前。

言語モデルベンダーのよく知られた識別子。例として copilot がありますが、値はチャットモデルを寄与する拡張機能によって定義され、それらでルックアップする必要があります。

モデルの不透明なバージョン文字列。これは言語モデルを寄与する拡張機能によって定義され、変更される可能性があります。

メソッド

モデル固有のトークナイザーロジックを使用して、メッセージ内のトークン数をカウントします。

パラメーター説明
text: string | LanguageModelChatMessage

文字列またはメッセージインスタンス。

token?: CancellationToken

オプションのキャンセル トークン。作成方法については CancellationTokenSource を参照してください。

戻り値説明
Thenable<number>

トークン数に解決される Thenable。

言語モデルを使用してチャットリクエストを行います。

注: 言語モデルの使用にはアクセス制限やユーザーの同意が必要な場合があります。(拡張機能にとって)初めてこの関数を呼び出すと、ユーザーに同意ダイアログが表示されるため、この関数は ユーザーの操作に応答してのみ呼び出す必要があります! 拡張機能は LanguageModelAccessInformation.canSendRequest を使用して、リクエストを行うために必要な権限があるかどうかを確認できます。

言語モデルへのリクエストが不可能な場合、この関数は拒否された Promise を返します。その理由は以下の通りです。

  • ユーザーの同意が得られていない、NoPermissions を参照
  • モデルがすでに存在しない、NotFound を参照
  • クォータ制限を超過した、Blocked を参照
  • その他の問題がある場合、拡張機能は [LanguageModelError.cause LanguageModelError.cause](#_LanguageModelError.cause LanguageModelError.cause) を確認する必要があります

拡張機能は、一連のツールを LanguageModelChatRequestOptions.tools に渡すことで、言語モデルのツール呼び出し機能を利用できます。言語モデルは LanguageModelToolCallPart を返し、拡張機能はそのツールを呼び出して、結果とともに再度リクエストを行うことができます。

パラメーター説明
messages: LanguageModelChatMessage[]

メッセージインスタンスの配列。

options?: LanguageModelChatRequestOptions

リクエストを制御するオプション。

token?: CancellationToken

リクエストを制御するキャンセル用トークン。作成方法については CancellationTokenSource を参照してください。

戻り値説明
Thenable<LanguageModelChatResponse>

LanguageModelChatResponse に解決される Thenable。リクエストが行えなかった場合、プロミスは拒否されます。

LanguageModelChatCapabilities

LanguageModelChatInformation がサポートするツール呼び出しや画像入力などのさまざまな機能。

プロパティ

モデルが画像入力をサポートしているかどうか。一般的にサポートされる画像形式は jpg や png ですが、対応する MIME タイプはモデルによって異なります。

モデルがツール呼び出しをサポートしているかどうか。数値が指定された場合、それがモデルへのリクエストで提供できるツールの最大数となります。

LanguageModelChatInformation

LanguageModelChatProvider によって提供される言語モデルを表します。

プロパティ

ツール呼び出しや画像入力など、モデルがサポートするさまざまな機能。

モデルと一緒に表示される、人間が判読可能なオプションの文字列。UI上で同じ名前のモデルを区別するのに便利です。

言語モデルの非公開のファミリー名。値には gpt-3.5-turbogpt4phi2llama などが考えられます。

言語モデルの一意の識別子。プロバイダーごとに一意である必要がありますが、グローバルに一意である必要はありません。

モデルが入力として受け入れることができる最大トークン数。

モデルが生成可能な最大トークン数。

人間が読める言語モデルの名前。

モデルにホバーしたときに表示されるツールチップ。モデルに関する詳細情報を提供するために使用されます。

モデルの非公開のバージョン文字列。これは LanguageModelChatSelector.version での検索値として使用されます。例として、GPT 4o には 2024-11-20 や 2024-08-06 のような複数のバージョンが存在します。

LanguageModelChatMessage

チャット内のメッセージを表します。ユーザーやアシスタントなど、異なる役割を持つことができます。

静的

新しいアシスタントメッセージを作成するためのユーティリティ。

パラメーター説明
content: string | Array<LanguageModelTextPart | LanguageModelDataPart | LanguageModelToolCallPart>

メッセージの内容。

name?: string

メッセージに対するオプションのユーザー名。

戻り値説明
LanguageModelChatMessage

新しいユーザーメッセージを作成するためのユーティリティ。

パラメーター説明
content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelDataPart>

メッセージの内容。

name?: string

メッセージに対するオプションのユーザー名。

戻り値説明
LanguageModelChatMessage

コンストラクター

新しいユーザーメッセージを作成する。

パラメーター説明
role: LanguageModelChatMessageRole

メッセージの役割。

content: string | LanguageModelInputPart[]

メッセージの内容。

name?: string

メッセージに対するオプションのユーザー名。

戻り値説明
LanguageModelChatMessage

プロパティ

メッセージがコンテンツとして含めることができる、文字列またはヘテロジニアスな配列。一部のパートは、特定のモデルにとってメッセージタイプ固有の場合があります。

このメッセージに対するオプションのユーザー名。

このメッセージの役割。

LanguageModelChatMessageRole

チャットメッセージの役割を表します。これはユーザーまたはアシスタントのいずれかです。

列挙型メンバー

ユーザーの役割。例えば、言語モデルと対話する人間。

アシスタントの役割。例えば、応答を生成する言語モデル。

LanguageModelChatProvider<T>

LanguageModelChatProvider は、言語モデルへのアクセスを実装します。ユーザーはチャットビューを通じて、または LanguageModelChat を取得することで拡張 API を通じてこれを使用できます。例として、gpt-5、o3 などのモデルを提供する OpenAI プロバイダーがあります。

イベント

利用可能な言語モデルのセットが変更されたときに発生するオプションのイベント。

メソッド

このプロバイダーによって提供される利用可能な言語モデルのリストを取得する

パラメーター説明
options: PrepareLanguageModelChatModelOptions

この関数の呼び出しコンテキストを指定するオプション

token: CancellationToken

キャンセル用トークン

戻り値説明
ProviderResult<T[]>

利用可能な言語モデルのリスト

チャットリクエストの応答を返し、結果を進行状況コールバックに渡す。LanguageModelChatProvider は、言語モデルから受信した応答パートを進行状況コールバックに発行する必要があります。

パラメーター説明
model: T

使用する言語モデル

messages: readonly LanguageModelChatRequestMessage[]

リクエストに含めるメッセージ

options: ProvideLanguageModelChatResponseOptions

リクエストのオプション

progress: Progress<LanguageModelResponsePart>

ストリーミングされた応答チャンクを発行するための進行状況

token: CancellationToken

キャンセル用トークン

戻り値説明
Thenable<void>

応答が完了したときに解決されるプロミス。結果は実際には進行状況コールバックに渡されます。

モデル固有のトークナイザーロジックを使用して、特定のテキストのトークン数を返す

パラメーター説明
model: T

使用する言語モデル

text: string | LanguageModelChatRequestMessage

トークン数をカウントする対象のテキスト

token: CancellationToken

キャンセル用トークン

戻り値説明
Thenable<number>

トークン数

LanguageModelChatRequestMessage

LanguageModelChatMessage のプロバイダーバージョン。

プロパティ

メッセージがコンテンツとして含めることができる、ヘテロジニアスな配列。一部のパートは、特定のモデルにとってメッセージタイプ固有の場合があります。

このメッセージに対するオプションのユーザー名。

このメッセージの役割。

LanguageModelChatRequestOptions

言語モデルを使用してチャットリクエストを行うためのオプション。

参照: LanguageModelChat.sendRequest

プロパティ

言語モデルへのアクセスが必要な理由と、それによって有効になる機能を説明する、人間が判読可能なメッセージ。

言語モデルの動作を制御する一連のオプション。これらのオプションは言語モデル固有のものであり、それぞれのドキュメントで確認する必要があります。

使用するツール選択モード。デフォルトは LanguageModelChatToolMode.Auto です。

言語モデルが利用可能なオプションのツールリスト。これらは lm.tools を通じて利用可能な登録済みツール、または呼び出し側の拡張機能内で実装されたプライベートツールのいずれかです。

LLMがいずれかのツールの呼び出しをリクエストした場合、LanguageModelChatResponse.stream 内で LanguageModelToolCallPart が返されます。ツールを呼び出す責任は呼び出し側にあります。lm.tools に登録されているツールの場合、それは lm.invokeTool を呼び出すことを意味します。

次に、LanguageModelToolCallPart を持つアシスタントタイプの LanguageModelChatMessage を作成し、続いて LanguageModelToolResultPart を持つユーザータイプのメッセージを作成することで、LLMにツール結果を提供できます。

LanguageModelChatResponse

言語モデルの応答を表します。

参照 ChatRequest

プロパティ

全体の応答を形成するテキストおよびツール呼び出しパートのストリームである非同期イテラブル。LanguageModelTextPart は、ユーザーに表示されるアシスタントの応答の一部です。LanguageModelToolCallPart は、言語モデルからツールを呼び出すようリクエストするものです。後者は、LanguageModelChatRequestOptions.tools を通じてツールがリクエストに渡された場合にのみ返されます。unknown 型は、画像データパートのような将来のパートのプレースホルダーとして使用されます。

注意:このストリームは、データ受信中にエラーが発生するとエラーになります。ストリームの消費者は、それに応じてエラーを処理する必要があります。

ストリームをキャンセルするには、消費者はリクエストに使用されたトークンを キャンセル するか、forループを中断します。

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

これは、LanguageModelChatResponse.stream からテキストパート以外をすべてフィルタリングするのと同じです。

参照 LanguageModelChatResponse.stream

LanguageModelChatSelector

チャットリクエストの言語モデルを選択する方法について記述します。

参照 lm.selectChatModels

プロパティ

言語モデルのファミリー。

参照 LanguageModelChat.family

言語モデルの識別子。

参照 LanguageModelChat.id

言語モデルのベンダー。

参照 LanguageModelChat.vendor

言語モデルのバージョン。

参照 LanguageModelChat.version

LanguageModelChatTool

LanguageModelChatRequestOptions を通じて言語モデルが利用可能なツール。言語モデルは、どのツールを呼び出し、どのように呼び出すかを決定するために、このインターフェースのすべてのプロパティを使用します。

プロパティ

ツールの説明。

このツールが受け入れる入力のための JSON スキーマ。

ツールの名前。

LanguageModelChatToolMode

言語モデルが使用するツール呼び出しモード。

列挙型メンバー

言語モデルはツールを呼び出すか、メッセージを生成するかを選択できます。これがデフォルトです。

言語モデルは提供されたツールのいずれかを呼び出す必要があります。このモードを使用する場合、単一のツールのみをサポートするモデルがあることに注意してください。

LanguageModelDataPart

任意のデータを含む言語モデル応答パート。応答チャットメッセージツール結果、その他の言語モデルの対話で使用できます。

静的

画像用の新しい LanguageModelDataPart を作成する。

パラメーター説明
data: Uint8Array

バイナリ画像データ

mime: string

画像の MIME タイプ。一般的な値は image/png および image/jpeg です。

戻り値説明
LanguageModelDataPart

JSON用の新しい LanguageModelDataPart を作成する。

注意:この関数は "文字列化されたJSON" ではなく、文字列化可能なオブジェクトを期待しています。渡された値をJSON文字列化できない場合、この関数はエラーをスローします。

パラメーター説明
value: any

JSON文字列化可能な値。

mime?: string

オプションの MIME タイプ、デフォルトは application/json

戻り値説明
LanguageModelDataPart

テキスト用の新しい LanguageModelDataPart を作成する。

注意:文字列のバイトを作成するために UTF-8 エンコーダーが使用されます。

パラメーター説明
value: string

テキストデータ

mime?: string

MIME タイプ(もしあれば)。一般的な値は text/plain および text/markdown です。

戻り値説明
LanguageModelDataPart

コンストラクター

指定されたコンテンツで汎用データパートを構築する。

パラメーター説明
data: Uint8Array

このパートのバイトデータ。

mimeType: string

データの mime タイプ。

戻り値説明
LanguageModelDataPart

プロパティ

このパートのバイトデータ。

data プロパティがどのように解釈されるかを決定する mime タイプ。

LanguageModelError

言語モデル固有のエラータイプ。

言語モデルの消費者は、code プロパティを確認して特定の失敗原因を判断する必要があります。例えば、未知の言語モデルを参照した場合の if(someError.code === vscode.LanguageModelError.NotFound.name) {...} などです。特定されていないエラーの場合、cause プロパティに実際のエラーが含まれます。

静的

リクエスターはこの言語モデルを使用することがブロックされています。

パラメーター説明
message?: string
戻り値説明
LanguageModelError

リクエスターにはこの言語モデルを使用する権限がありません。

パラメーター説明
message?: string
戻り値説明
LanguageModelError

言語モデルが存在しません。

パラメーター説明
message?: string
戻り値説明
LanguageModelError

コンストラクター

パラメーター説明
message?: string
戻り値説明
LanguageModelError

プロパティ

このエラーを識別するコード。

可能な値は、NotFound のようなエラー名、または言語モデル自体からの指定されていないエラーの場合は Unknown です。後者の場合、cause プロパティに実際のエラーが含まれます。

LanguageModelInputPart

LanguageModelChat.sendRequest を通じて送信され、LanguageModelChatProvider によって処理されるさまざまなメッセージタイプ。

LanguageModelPromptTsxPart

vscode/prompt-tsx からの PromptElementJSON を含む言語モデル応答パート。

参照 LanguageModelToolResult

コンストラクター

指定されたコンテンツで prompt-tsx パートを構築する。

パラメーター説明
value: unknown

パートの値。vscode/prompt-tsxrenderElementJSON の結果。

戻り値説明
LanguageModelPromptTsxPart

プロパティ

パーツの値。

LanguageModelResponsePart

LanguageModelChatProvider がチャット応答ストリームで発行できるさまざまなメッセージタイプ

LanguageModelTextPart

LanguageModelChatResponse から返される、テキストの一部を含む言語モデル応答パート。

コンストラクター

指定されたコンテンツでテキストパートを構築する。

パラメーター説明
value: string

パートのテキストコンテンツ。

戻り値説明
LanguageModelTextPart

プロパティ

パートのテキストコンテンツ。

LanguageModelTool<T>

LanguageModelChat への呼び出しによって起動できるツール。

メソッド

指定された入力でツールを呼び出し、結果を返す。

提供された LanguageModelToolInvocationOptions.input は、宣言されたスキーマに対して検証済みです。

パラメーター説明
options: LanguageModelToolInvocationOptions<T>
token: CancellationToken
戻り値説明
ProviderResult<LanguageModelToolResult>

ツールが呼び出される前に一度呼び出されます。ツールの実行中に表示される進行状況メッセージをカスタマイズし、呼び出し入力からのコンテキストを含むより有用なメッセージを提供するためにこれを実装することをお勧めします。必要に応じて、実行前にユーザーの確認が必要なツールであることも通知できます。

  • 注 1: 副作用がないこと。
  • 注 2: prepareInvocation の呼び出しの後に必ずしも invoke が呼び出されるとは限りません。
パラメーター説明
options: LanguageModelToolInvocationPrepareOptions<T>
token: CancellationToken
戻り値説明
ProviderResult<PreparedToolInvocation>

LanguageModelToolCallPart

LanguageModelChatResponse から返されるツール呼び出しを示す言語モデル応答パート。チャットリクエストにおける以前のツール呼び出しを表すために、LanguageModelChatMessage のコンテンツパートとして含めることもできます。

コンストラクター

新しい LanguageModelToolCallPart を作成する。

パラメーター説明
callId: string

ツール呼び出しの ID。

name: string

呼び出すツールの名前。

input: object

ツールを呼び出すための入力。

戻り値説明
LanguageModelToolCallPart

プロパティ

ツール呼び出しの ID。これはチャットリクエスト内のツール呼び出しの一意の識別子です。

ツールを呼び出すための入力。

呼び出すツールの名前。

LanguageModelToolConfirmationMessages

これが PreparedToolInvocation で返された場合、ユーザーはツールを実行する前に確認を求められます。これらのメッセージは「続行」および「キャンセル」というボタンと共に表示されます。

プロパティ

確認メッセージの本文。

確認メッセージのタイトル。

LanguageModelToolInformation

lm.tools で利用可能な、登録されたツールに関する情報。

プロパティ

言語モデルに渡される可能性のあるこのツールの説明。

このツールが受け入れる入力のための JSON スキーマ。

ツールの一意の名前。

ツールが宣言する、ツールの機能を大まかに記述する一連のタグ。ツールユーザーは、これらを使用してツールセットを現在のタスクに関連するものだけにフィルタリングすることができます。

LanguageModelToolInvocationOptions<T>

ツール呼び出しに対して提供されるオプション。

プロパティ

ツールを呼び出すための入力。入力は LanguageModelToolInformation.inputSchema で定義されたスキーマに一致する必要があります。

ツールが応答で返すトークン数についてのヒントを与え、ツールが正確にトークンをカウントできるようにするためのオプション。

ツール呼び出しを チャット参加者 からのチャットリクエストに関連付ける非公開のオブジェクト。

有効なツール呼び出しトークンを取得する唯一の方法は、チャットリクエストから提供された toolInvocationToken を使用することです。その場合、チャット応答ビューにツール呼び出しの進行状況バーが自動的に表示され、ツールにユーザーの確認が必要な場合は、チャットビュー内にインラインで表示されます。

チャットリクエストの外でツールが呼び出されている場合は、代わりに undefined を渡す必要があり、確認以外に特別なUIは表示されません。

:呼び出し中に別のツールを呼び出すツールは、受け取った toolInvocationToken を引き継ぐことができます。

LanguageModelToolInvocationPrepareOptions<T>

LanguageModelTool.prepareInvocation 用のオプション。

プロパティ

ツールを呼び出す際の入力。

LanguageModelToolResult

ツール呼び出しから返される結果。vscode/prompt-tsx を使用している場合、この結果は ToolResult を使用してレンダリングされる可能性があります。

コンストラクター

LanguageModelToolResult を作成する

パラメーター説明
content: unknown[]

ツール結果コンテンツパートのリスト

戻り値説明
LanguageModelToolResult

プロパティ

ツール結果コンテンツパートのリスト。このリストは将来新しいコンテンツタイプで拡張される可能性があるため、unknown を含みます。

参照 lm.invokeTool.

LanguageModelToolResultPart

ツール呼び出しの結果。これは ツール呼び出し の対となるもので、ユーザーメッセージのコンテンツにのみ含めることができます。

コンストラクター

パラメーター説明
callId: string

ツール呼び出しの ID。

content: unknown[]

ツール結果のコンテンツ。

戻り値説明
LanguageModelToolResultPart

プロパティ

ツール呼び出しの ID。

:これはツール呼び出しパートの callId と一致する必要があります。

ツール結果の値。

LanguageModelToolTokenizationOptions

ツール呼び出しのトークン化に関連するオプション。

プロパティ

既知の場合、ツールがその結果で生成すべき最大トークン数。

メソッド

モデル固有のトークナイザーロジックを使用して、メッセージ内のトークン数をカウントします。

パラメーター説明
text: string

文字列。

token?: CancellationToken

オプションのキャンセル トークン。作成方法については CancellationTokenSource を参照してください。

戻り値説明
Thenable<number>

トークン数に解決される Thenable。

LanguageStatusItem

言語ステータスアイテムは、選択されたリンターや構成の問題の通知など、アクティブなテキストエディターの言語ステータスレポートを表示する推奨される方法です。

プロパティ

スクリーンリーダーがこのアイテムと対話するときに使用されるアクセシビリティ情報。

アイテムを「ビジー」として表示するかどうかを制御します。デフォルトは false です。

このアイテムの コマンド

このアイテムのオプションの、人間が判読可能な詳細。

このアイテムの識別子。

「Java Language Status」のような、このアイテムの短い名前。

このアイテムが表示されるエディターを定義する セレクター

このアイテムの重要度。

デフォルトは information です。このプロパティを使用して、不足している実行可能ファイルや無効な構成など、注意が必要な問題があることをユーザーに通知できます。

エントリに表示するテキスト。構文を利用してテキストにアイコンを埋め込むことができます。

My text $(icon-name) contains icons like $(icon-name) this one.

ここで icon-name は ThemeIcon アイコンセット から取得されます(例:light-bulbthumbsupzap など)。

メソッド

関連するリソースを破棄し、解放する。

パラメーター説明
戻り値説明
void

LanguageStatusSeverity

言語ステータスの重要度レベルを表します。

列挙型メンバー

情報レベルの重要度。

警告レベルの重要度。

エラーレベルの重要度。

LineCommentRule

行コメントの構成。

プロパティ

// のような行コメントトークン。

コメントトークンをインデントせず、最初の列に配置するかどうか。デフォルトは false。

LinkedEditingRangeProvider

リンク編集範囲プロバイダーインターフェースは、拡張機能とリンク編集機能との間の契約を定義します。

メソッド

ドキュメント内の指定された位置に対して、その位置にあるシンボルの範囲と、同じコンテンツを持つすべての範囲を返します。新しいコンテンツが有効であれば、範囲の1つへの変更を他のすべての範囲に適用できます。有効なコンテンツを記述するために、結果とともにオプションのワードパターンを返すことができます。結果固有のワードパターンが提供されない場合は、言語構成のワードパターンが使用されます。

パラメーター説明
document: TextDocument

プロバイダーが呼び出されたドキュメント。

position: Position

プロバイダーが呼び出された位置。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<LinkedEditingRanges>

一緒に編集可能な範囲のリスト

LinkedEditingRanges

有効な範囲コンテンツを記述するためのワードパターンとともに、一緒に編集可能な範囲のリストを表します。

コンストラクター

新しいリンク編集範囲オブジェクトを作成する。

パラメーター説明
ranges: Range[]

一緒に編集可能な範囲のリスト

wordPattern?: RegExp

指定された範囲の有効なコンテンツを記述するオプションのワードパターン

戻り値説明
LinkedEditingRanges

プロパティ

一緒に編集可能な範囲のリスト。範囲は同一の長さとテキストコンテンツを持つ必要があります。範囲を重ねることはできません。

指定された範囲の有効なコンテンツを記述するオプションのワードパターン。パターンが提供されない場合は、言語構成のワードパターンが使用されます。

Location

テキストファイル内の行など、リソース内の場所を表します。

コンストラクター

新しい場所オブジェクトを作成する。

パラメーター説明
uri: Uri

リソース識別子。

rangeOrPosition: Range | Position

範囲または位置。位置は空の範囲に変換されます。

戻り値説明
場所

プロパティ

この場所のドキュメント範囲。

この場所のリソース識別子。

2つの場所の接続を表します。オリジン範囲を含む、通常の 場所 以上の追加メタデータを提供します。

プロパティ

このリンクのオリジンの範囲。

マウス定義ホバーの下線付きスパンとして使用されます。定義位置の単語範囲にデフォルト設定されます。

このリンクの完全なターゲット範囲。

このリンクの範囲。

このリンクのターゲットリソース識別子。

LogLevel

ログレベル

列挙型メンバー

このレベルではメッセージはログに記録されません。

すべてのメッセージがこのレベルでログに記録されます。

デバッグおよびそれ以上のログレベルを持つメッセージがこのレベルでログに記録されます。

情報およびそれ以上のログレベルを持つメッセージがこのレベルでログに記録されます。

警告およびそれ以上のログレベルを持つメッセージがこのレベルでログに記録されます。

エラーメッセージのみがこのレベルでログに記録されます。

LogOutputChannel

ログ出力を含むためのチャネル。

LogOutputChannel のインスタンスを取得するには createOutputChannel を使用してください。

イベント

チャネルのログレベルが変更されたときに発生する イベント

プロパティ

チャネルの現在のログレベル。デフォルトは エディターのログレベル です。

この出力チャネルの人間が判読可能な名前。

メソッド

指定された値をチャネルに追加する。

パラメーター説明
value: string

文字列。falseと評価される値は出力されません。

戻り値説明
void

指定された値と改行文字をチャネルに追加する。

パラメーター説明
value: string

文字列。falseと評価される値も出力されます。

戻り値説明
void

チャネルからすべての出力を削除する。

パラメーター説明
戻り値説明
void

指定されたデバッグメッセージをチャネルに出力する。

メッセージは、チャネルが デバッグ ログレベル以下を表示するように構成されている場合にのみ記録されます。

パラメーター説明
message: string

ログに記録するデバッグメッセージ

...args: any[]
戻り値説明
void

関連するリソースを破棄し、解放する。

パラメーター説明
戻り値説明
void

指定されたエラーまたはエラーメッセージをチャネルに出力する。

メッセージは、チャネルが エラー ログレベル以下を表示するように構成されている場合にのみ記録されます。

パラメーター説明
error: string | Error

ログに記録するエラーまたはエラーメッセージ

...args: any[]
戻り値説明
void

このチャネルをUIから非表示にする。

パラメーター説明
戻り値説明
void

指定された情報メッセージをチャネルに出力する。

メッセージは、チャネルが 情報 ログレベル以下を表示するように構成されている場合にのみ記録されます。

パラメーター説明
message: string

ログに記録する情報メッセージ

...args: any[]
戻り値説明
void

チャネルのすべての出力を指定された値で置き換えます。

パラメーター説明
value: string

文字列。falseと評価される値は出力されません。

戻り値説明
void

UIでこのチャネルを表示します。

パラメーター説明
preserveFocus?: boolean

trueの場合、チャネルはフォーカスを取得しません。

戻り値説明
void

UIでこのチャネルを表示します。

  • 非推奨 - 引数が1つのオーバーロード(show(preserveFocus?: boolean): void)を使用してください。
パラメーター説明
column?: ViewColumn

この引数は非推奨であり、無視されます。

preserveFocus?: boolean

trueの場合、チャネルはフォーカスを取得しません。

戻り値説明
void

指定されたトレースメッセージをチャネルに出力します。詳細な情報をログに記録するには、このメソッドを使用してください。

メッセージは、チャネルがトレースログレベルを表示するように設定されている場合にのみ記録されます。

パラメーター説明
message: string

ログに記録するトレースメッセージ

...args: any[]
戻り値説明
void

指定された警告メッセージをチャネルに出力します。

メッセージは、チャネルが警告ログレベル以下を表示するように設定されている場合にのみ記録されます。

パラメーター説明
message: string

ログに記録する警告メッセージ

...args: any[]
戻り値説明
void

MarkdownString

マークダウン構文によるフォーマットをサポートする、人間が読める形式のテキスト。

supportThemeIconstrueに設定されている場合、$(<name>)構文によるテーマアイコンのレンダリングがサポートされます。

supportHtmltrueに設定されている場合、埋め込みHTMLのレンダリングがサポートされます。

コンストラクター

指定された値で新しいマークダウン文字列を作成します。

パラメーター説明
value?: string

任意、初期値。

supportThemeIcons?: boolean

任意、MarkdownString内でThemeIconsがサポートされているかどうかを指定します。

戻り値説明
MarkdownString

プロパティ

相対パスが解決される基準となるURI。

baseUri/で終わる場合、ディレクトリと見なされ、マークダウン内の相対パスはそのディレクトリを基準に解決されます。

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'

baseUriがファイルである場合、マークダウン内の相対パスはそのファイルの親ディレクトリを基準に解決されます。

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'

このマークダウン文字列が信頼できるソースからのものであることを示します。信頼されたマークダウンのみが、[実行](command:myCommandId)のようにコマンドを実行するリンクをサポートします。

デフォルトはfalseです(コマンドは無効です)。

このマークダウン文字列に生のHTMLタグを含めることができることを示します。デフォルトはfalseです。

supportHtmlがfalseの場合、マークダウンレンダラーはマークダウンテキストに含まれるすべての生のHTMLタグを取り除きます。つまり、レンダリングにはマークダウン構文のみを使用できます。

supportHtmlがtrueの場合、マークダウンレンダラーは、安全なサブセットのHTMLタグと属性のレンダリングも許可します。サポートされているすべてのタグと属性のリストについては、こちらを参照してください。

このマークダウン文字列に$(zap)のようなThemeIconsを含めることができることを示します。

マークダウン文字列。

メソッド

指定された文字列を、提供された言語を使用してコードブロックとして追加します。

パラメーター説明
value: string

コードスニペット。

language?: string

任意、言語識別子

戻り値説明
MarkdownString

指定された文字列を「そのまま」このマークダウン文字列に追加します。supportThemeIconstrueの場合、value内のThemeIconsがアイコン化されます。

パラメーター説明
value: string

マークダウン文字列。

戻り値説明
MarkdownString

指定された文字列をエスケープして、このマークダウン文字列に追加します。

パラメーター説明
value: string

プレーンテキスト。

戻り値説明
MarkdownString

MarkedString

MarkedStringは、人間が読める形式のテキストをレンダリングするために使用できます。マークダウン文字列、または言語とコードスニペットを提供するコードブロックのいずれかです。マークダウン文字列はサニタイズ(HTMLはエスケープ)されることに注意してください。

  • 非推奨 - この型は非推奨です。代わりにMarkdownStringを使用してください。

McpHttpServerDefinition

McpHttpServerDefinitionは、Streamable HTTPトランスポートを使用して利用可能なMCPサーバーを表します。

コンストラクター

パラメーター説明
label: string

サーバーの人間が読める名前。

uri: Uri

サーバーのURI。

headers?: Record<string, string>

サーバーへの各リクエストに含まれる、オプションの追加ヘッダー。

version?: string
戻り値説明
McpHttpServerDefinition

プロパティ

サーバーへの各リクエストに含まれる、オプションの追加ヘッダー。

サーバーの人間が読める名前。

サーバーのURI。エディターは各セッションを開始するために、このURIへのPOSTリクエストを行います。

サーバーのオプションのバージョン識別。これが変更されると、エディターはツールが変更されたことを示し、リフレッシュを促します。

McpServerDefinition

McpServerDefinitionProviderから返される、さまざまな種類のModel Context Protocolサーバーを記述する定義。

McpServerDefinitionProvider<T>

Model Context Protocolサーバー定義を提供できる型。これは拡張機能のアクティブ化中にlm.registerMcpServerDefinitionProviderを使用して登録する必要があります。

イベント

利用可能なサーバーのセットが変更されたことを知らせるために発生する、オプションのイベント。

メソッド

利用可能なMCPサーバーを提供します。エディターはこのメソッドを即座に呼び出し、言語モデル用のサーバーの可用性を確保します。そのため、拡張機能は認証などのユーザーインタラクションを必要とするアクションを実行してはいけません。

パラメーター説明
token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T[]>

利用可能なMCPサーバーの配列

この関数は、エディターがMCPサーバーを起動する必要があるときに呼び出されます。この時点で、拡張機能は認証など、ユーザーインタラクションを必要とする可能性のあるアクションを実行できます。サーバーのreadonlyではないプロパティは変更可能であり、拡張機能は解決されたサーバーを返す必要があります。

拡張機能は、サーバーを起動すべきでないことを示すためにundefinedを返すか、エラーをスローできます。保留中のツール呼び出しがある場合、エディターはそれをキャンセルし、言語モデルにエラーメッセージを返します。

パラメーター説明
server: T

解決するMCPサーバー

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T>

解決されたサーバー、またはそのようなものに解決されるthenable。これは、読み取り専用ではないプロパティが入力された、指定されたserver定義である可能性があります。

McpStdioServerDefinition

McpStdioServerDefinitionは、ローカルプロセスを実行し、その標準入力および標準出力ストリームで操作することで利用可能なMCPサーバーを表します。プロセスは拡張機能ホストの子プロセスとして生成され、デフォルトではシェル環境では実行されません。

コンストラクター

パラメーター説明
label: string

サーバーの人間が読める名前。

command: string

サーバーの起動に使用されるコマンド。

args?: string[]

サーバーに渡される追加のコマンドライン引数。

env?: Record<string, string | number>

サーバーのオプションの追加環境情報。

version?: string

サーバーのオプションのバージョン識別。

戻り値説明
McpStdioServerDefinition

プロパティ

サーバーに渡される追加のコマンドライン引数。

サーバーの起動に使用されるコマンド。Node.jsベースのサーバーは、process.execPathを使用して、エディターのバージョンのNode.jsでスクリプトを実行できます。

サーバーの起動に使用される作業ディレクトリ。

サーバーのオプションの追加環境情報。この環境内の変数は、エディターの拡張機能ホストのデフォルトの環境変数を上書きまたは削除(nullの場合)します。

サーバーの人間が読める名前。

サーバーのオプションのバージョン識別。これが変更されると、エディターはツールが変更されたことを示し、リフレッシュを促します。

Memento

Mementoはストレージユーティリティを表します。値を保存および取得できます。

メソッド

値を返します。

パラメーター説明
key: string

文字列。

戻り値説明
T

保存された値またはundefined

値を返します。

パラメーター説明
key: string

文字列。

defaultValue: T

指定されたキーの値がない(undefinedである)場合に返されるべき値。

戻り値説明
T

保存された値またはdefaultValue。

保存されたキーを返します。

パラメーター説明
戻り値説明
readonly string[]

保存されたキー。

値を保存します。値はJSON文字列化可能である必要があります。

注意: 値としてundefinedを使用すると、基盤となるストレージからキーが削除されます。

パラメーター説明
key: string

文字列。

value: any

値。循環参照を含んではいけません。

戻り値説明
Thenable<void>

MessageItem

情報、警告、またはエラーメッセージと共に表示されるアクションを表します。

関連項目

プロパティ

ユーザーがダイアログをキャンセルしたとき(例:ESCキーを押したとき)にアイテムがトリガーされるべきであるという、モーダルダイアログ用のヒント。

注:このオプションは、非モーダルメッセージでは無視されます。

'再試行', 'ログを開く'などの短いタイトル。

MessageOptions

メッセージの動作を設定するためのオプション。

関連項目

プロパティ

目立たないようにレンダリングされる、人間が読める詳細メッセージ。注意: 詳細情報はモーダルメッセージに対してのみ表示されます。

このメッセージがモーダルであることを示します。

NotebookCell

ノートブックのセルを表し、コードセルまたはマークアップセルのいずれかです。

NotebookCellインスタンスは不変であり、ノートブックの一部である限り同期が保たれます。

プロパティ

テキストドキュメントとして表される、このセルのテキスト

このセルの最新の実行サマリー

包含ノートブック内でのこのセルのインデックス。インデックスは、セルがノートブック内で移動されたときに更新されます。セルがノートブックから削除されると、インデックスは-1になります。

このセルの種類。

このセルのメタデータ。任意ですが、JSON文字列化可能である必要があります。

このセルを含むノートブック

このセルの出力。

NotebookCellData

NotebookCellDataは、ノートブックセルの生の表現です。これはNotebookDataの一部です。

コンストラクター

新しいセルデータを作成します。最小限のセルデータは、その種類、ソース値、およびソースの言語識別子を指定します。

パラメーター説明
kind: NotebookCellKind

種類。

value: string

ソース値。

languageId: string

ソース値の言語識別子。

戻り値説明
NotebookCellData

プロパティ

このセルデータの実行サマリー。

このセルデータの種類

このセルデータのソース値の言語識別子。getLanguagesからの値が可能です。

このセルデータの任意のメタデータ。任意ですが、JSON文字列化可能である必要があります。

このセルデータの出力。

このセルデータのソース値 - ソースコードまたはフォーマットされたテキスト。

NotebookCellExecution

NotebookCellExecutionは、ノートブックコントローラーがノートブックセルを実行中に変更する方法です。

セル実行オブジェクトが作成されると、セルは[NotebookCellExecutionState.Pending Pending](#_NotebookCellExecutionState.Pending Pending)状態に入ります。実行タスクでstart(...)が呼び出されると、[NotebookCellExecutionState.Executing Executing](#_NotebookCellExecutionState.Executing Executing)状態に入ります。end(...)が呼び出されると、[NotebookCellExecutionState.Idle Idle](#_NotebookCellExecutionState.Idle Idle)状態に入ります。

プロパティ

この実行が作成されたセル

このセル実行の順序を設定および解除します。

UIからセル実行がキャンセルされたときにトリガーされるキャンセル・トークン。

: この実行を作成したコントローラー割り込みハンドラーを使用している場合、キャンセル・トークンはトリガーされません。

メソッド

実行中のセル、またはこの実行によって影響を受ける別のセルの出力に追加します。

パラメーター説明
out: NotebookCellOutput | readonly NotebookCellOutput[]

現在の出力に追加される出力。

cell?: NotebookCell

出力がクリアされるセル。デフォルトはこの実行のセルです。

戻り値説明
Thenable<void>

操作が完了したときに解決されるthenable。

既存のセル出力に出力アイテムを追加します。

パラメーター説明
items: NotebookCellOutputItem | readonly NotebookCellOutputItem[]

既存の出力に追加される出力アイテム。

output: NotebookCellOutput

すでに存在する出力オブジェクト。

戻り値説明
Thenable<void>

操作が完了したときに解決されるthenable。

実行中のセル、またはこの実行によって影響を受ける別のセルの出力をクリアします。

パラメーター説明
cell?: NotebookCell

出力がクリアされるセル。デフォルトはこの実行のセルです。

戻り値説明
Thenable<void>

操作が完了したときに解決されるthenable。

実行が終了したことを通知します。

パラメーター説明
success: boolean

trueの場合、緑色のチェックがセルステータスバーに表示されます。falseの場合、赤色のXが表示されます。undefinedの場合、チェックもXアイコンも表示されません。

endTime?: number

実行が終了した時間(Unixエポックのミリ秒単位)。

戻り値説明
void

実行中のセル、またはこの実行によって影響を受ける別のセルの出力を置き換えます。

パラメーター説明
out: NotebookCellOutput | readonly NotebookCellOutput[]

現在の出力を置き換える出力。

cell?: NotebookCell

出力がクリアされるセル。デフォルトはこの実行のセルです。

戻り値説明
Thenable<void>

操作が完了したときに解決されるthenable。

既存のセル出力のすべての出力アイテムを置き換えます。

パラメーター説明
items: NotebookCellOutputItem | readonly NotebookCellOutputItem[]

既存の出力のアイテムを置き換える出力アイテム。

output: NotebookCellOutput

すでに存在する出力オブジェクト。

戻り値説明
Thenable<void>

操作が完了したときに解決されるthenable。

実行が開始されたことを通知します。

パラメーター説明
startTime?: number

実行が開始された時間(Unixエポックのミリ秒単位)。セルがどれくらいの時間実行されているかを表示するクロックを駆動するために使用されます。指定されない場合、クロックは表示されません。

戻り値説明
void

NotebookCellExecutionSummary

ノートブックセル実行のサマリー。

プロパティ

実行が発生した順序。

実行が正常に終了した場合。

実行が開始および終了した時間(Unixタイムスタンプ)。

パラメーター説明
endTime: number

実行終了時間。

startTime: number

実行開始時間。

NotebookCellKind

ノートブックセルの種類。

列挙型メンバー

マークアップセルは、表示に使用されるフォーマットされたソースです。

コードセルは、実行可能で、出力を生成するソースです。

NotebookCellOutput

ノートブックセルの出力は、セルを実行した結果を表します。これは複数の出力アイテムのコンテナ型であり、含まれるアイテムは同じ結果を表しますが、異なるMIMEタイプを使用します。

コンストラクター

新しいノートブック出力を作成します。

パラメーター説明
items: NotebookCellOutputItem[]

ノートブック出力アイテム。

metadata?:

オプションのメタデータ。

戻り値説明
NotebookCellOutput

プロパティ

この出力の出力アイテム。各アイテムは同じ結果を表す必要があります。: 出力ごとの重複するMIMEタイプは無効であり、エディターはそのうちの1つを選択するだけです。

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

このセル出力の任意のメタデータ。任意ですが、JSON文字列化可能である必要があります。

NotebookCellOutputItem

MIMEタイプとデータによって定義された、ノートブック出力の1つの表現。

静的

application/vnd.code.notebook.error MIMEタイプを使用するNotebookCellOutputItemを作成するファクトリ関数。

パラメーター説明
value: Error

エラーオブジェクト。

戻り値説明
NotebookCellOutputItem

新しい出力アイテムオブジェクト。

JSONオブジェクトからNotebookCellOutputItemを作成するファクトリ関数。

注意:この関数は "文字列化されたJSON" ではなく、文字列化可能なオブジェクトを期待しています。渡された値をJSON文字列化できない場合、この関数はエラーをスローします。

パラメーター説明
value: any

JSON文字列化可能な値。

mime?: string

オプションの MIME タイプ、デフォルトは application/json

戻り値説明
NotebookCellOutputItem

新しい出力アイテムオブジェクト。

application/vnd.code.notebook.stderr MIMEタイプを使用するNotebookCellOutputItemを作成するファクトリ関数。

パラメーター説明
value: string

文字列。

戻り値説明
NotebookCellOutputItem

新しい出力アイテムオブジェクト。

application/vnd.code.notebook.stdout MIMEタイプを使用するNotebookCellOutputItemを作成するファクトリ関数。

パラメーター説明
value: string

文字列。

戻り値説明
NotebookCellOutputItem

新しい出力アイテムオブジェクト。

文字列からNotebookCellOutputItemを作成するファクトリ関数。

注意:文字列のバイトを作成するために UTF-8 エンコーダーが使用されます。

パラメーター説明
value: string

文字列。

mime?: string

オプションのMIMEタイプ。デフォルトはtext/plainです。

戻り値説明
NotebookCellOutputItem

新しい出力アイテムオブジェクト。

コンストラクター

新しいノートブックセル出力アイテムを作成します。

パラメーター説明
data: Uint8Array

出力アイテムの値。

mime: string

出力アイテムのMIMEタイプ。

戻り値説明
NotebookCellOutputItem

プロパティ

この出力アイテムのデータ。常に符号なし8ビット整数の配列である必要があります。

データプロパティの解釈方法を決定するMIMEタイプ。

ノートブックには特定のMIMEタイプの組み込みサポートがあり、拡張機能は新しいタイプのサポートを追加したり、既存のタイプをオーバーライドしたりできます。

NotebookCellStatusBarAlignment

ステータスバーアイテムの配置を表します。

列挙型メンバー

左側に配置。

右側に配置。

NotebookCellStatusBarItem

セルのステータスバーへの貢献。

コンストラクター

新しいNotebookCellStatusBarItemを作成します。

パラメーター説明
text: string

アイテムに表示するテキスト。

alignment: NotebookCellStatusBarAlignment

アイテムが左揃えか右揃えか。

戻り値説明
NotebookCellStatusBarItem

プロパティ

スクリーンリーダーがこのアイテムと対話する際に使用されるアクセシビリティ情報。

アイテムが左揃えか右揃えか。

クリック時に実行する、オプションのコマンドまたはコマンドの識別子。

コマンドは既知である必要があります。

これがCommandオブジェクトの場合、コマンド引数のみがエディターによって使用されることに注意してください。

アイテムの優先順位。値が大きいほど、アイテムは左側に表示されます。

アイテムに表示するテキスト。

アイテムにホバーしたときに表示されるツールチップ。

NotebookCellStatusBarItemProvider

セルのエディターの下に表示されるステータスバーにアイテムを貢献できるプロバイダー。

イベント

ステータスバーアイテムが変更されたことを知らせるためのオプションのイベント。provideメソッドが再度呼び出されます。

メソッド

プロバイダーは、セルがビューにスクロールインしたとき、そのコンテンツ、出力、言語、またはメタデータが変更されたとき、および実行状態が変更されたときに呼び出されます。

パラメーター説明
cell: NotebookCell

アイテムを返すセル。

token: CancellationToken

このリクエストをキャンセルする必要がある場合にトリガーされるトークン。

戻り値説明
ProviderResult<NotebookCellStatusBarItem | NotebookCellStatusBarItem[]>

NotebookController

ノートブックコントローラーは、ノートブックセルを実行できるエンティティを表します。これはカーネルと呼ばれることが多いです。

複数のコントローラーが存在する可能性があり、エディターはユーザーが特定のノートブックにどのコントローラーを使用するかを選択できるようにします。notebookTypeプロパティは、コントローラーがどのような種類のノートブック用かを定義し、updateNotebookAffinity関数を使用すると、コントローラーは特定のノートブックドキュメントに対する優先順位を設定できます。コントローラーが選択されると、そのonDidChangeSelectedNotebooksイベントが発生します。

セルが実行されるとき、エディターはexecuteHandlerを呼び出し、コントローラーはノートブックセル実行を作成して完了することが期待されます。ただし、コントローラーは自身で実行を作成することも自由です。

イベント

コントローラーがノートブックドキュメントに対して選択または非選択されたときに発生するイベント。

ノートブックには複数のコントローラーが存在する可能性があり、その場合コントローラーを選択する必要があります。これはユーザーのジェスチャーであり、明示的に、またはコントローラーが提案されたノートブックを操作するときに暗黙的に発生します。可能な場合、エディターは選択される可能性が最も高いコントローラーを提案します。

: コントローラーの選択は(コントローラーのidによって)永続化され、コントローラーが再作成されるか、ノートブックが開かれるとすぐに復元されます。

プロパティ

目立たないようにレンダリングされる、人間が読める説明。

目立たないようにレンダリングされる、人間が読める詳細。

実行ハンドラーは、UIで実行ジェスチャーが選択されたときに呼び出されます(例:セルの実行、すべて実行、選択範囲の実行など)。実行ハンドラーは、実行オブジェクトの作成と管理を担当します。

パラメーター説明
cells: NotebookCell[]
notebook: NotebookDocument
controller: NotebookController
戻り値説明
void | Thenable<void>

このノートブックコントローラーの識別子。

: コントローラーは識別子によって記憶され、拡張機能はセッション間で安定した識別子を使用する必要があります。

オプションの割り込みハンドラー。

デフォルトでは、セルの実行はトークンによってキャンセルされます。キャンセル・トークンでは、コントローラーが実行を追跡し、後で特定の実行をキャンセルできるようにする必要があります。REPLスタイルのコントローラーなど、すべてのシナリオでそれが許可されるわけではなく、多くの場合、現在実行中のものを中断することで機能します。そのような場合に割り込みハンドラーが存在します。これはターミナルにおけるSIGINTControl+Cと同等と考えることができます。

: キャンセル・トークンをサポートすることが推奨され、割り込みハンドラーはトークンをサポートできない場合にのみ使用すべきです。

パラメーター説明
notebook: NotebookDocument
戻り値説明
void | Thenable<void>

このノートブックコントローラーの人間が読めるラベル。

このコントローラーが対象とするノートブックの種類。

このコントローラーによってサポートされている言語識別子の配列。getLanguagesからの言語識別子が可能です。偽値の場合、すべての言語がサポートされます。

サンプル

// support JavaScript and TypeScript
myController.supportedLanguages = ['javascript', 'typescript'];

// support all languages
myController.supportedLanguages = undefined; // falsy
myController.supportedLanguages = []; // falsy

このコントローラーが実行順序をサポートしているかどうか。エディターはそれらのプレースホルダーをレンダリングできます。

メソッド

セル実行タスクを作成します。

: 一度に1つのセルにつき1つの実行しか存在できず、別の実行がアクティブな間にセル実行が作成されるとエラーがスローされます。

これは、実行ハンドラーが呼び出された際や、セルがすでに実行されていた場合、または別のソースからセル実行がトリガーされた場合など、それ以外でセル実行が開始されたときに使用される必要があります。

パラメーター説明
cell: NotebookCell

実行を作成するノートブックセル。

戻り値説明
NotebookCellExecution

ノートブックセル実行。

関連するリソースを破棄し、解放する。

パラメーター説明
戻り値説明
void

コントローラーは特定のノートブックドキュメントに対してアフィニティを設定できます。これにより、特定のノートブックに対してコントローラーをより目立たせることができます。

パラメーター説明
notebook: NotebookDocument

優先順位が設定されるノートブック。

affinity: NotebookControllerAffinity

コントローラーアフィニティ

戻り値説明
void

NotebookControllerAffinity

ノートブックドキュメントのノートブックコントローラーアフィニティ。

参照 NotebookController.updateNotebookAffinity

列挙型メンバー

デフォルトのアフィニティ。

コントローラーはノートブックに対して優先されます。

NotebookData

ノートブックの生の表現。

拡張機能は、エディターがNotebookDocumentを作成できるようにNotebookDataを作成する責任があります。

参照 NotebookSerializer

コンストラクター

新しいノートブックデータを作成します。

パラメーター説明
cells: NotebookCellData[]

セルデータの配列。

戻り値説明
NotebookData

プロパティ

このノートブックデータのセルデータ。

ノートブックデータの任意のメタデータ。

NotebookDocument

コードセルまたはマークアップセルのシーケンスであるノートブックを表します。ノートブックドキュメントはノートブックデータから作成されます。

プロパティ

ノートブック内のセルの数。

ノートブックが閉じられている場合true。閉じられたノートブックは同期されず、同じリソースが再度開かれたときに再利用されません。

永続化されていない変更がある場合true

このノートブックは、まだ保存されていない無題のファイルを表しているか。

このノートブックの任意のメタデータ。任意ですが、JSON文字列化可能である必要があります。

ノートブックの種類。

このノートブックに関連付けられたURI。

: ほとんどのノートブックはfileスキームを使用します。つまり、それらはディスク上のファイルです。ただし、すべてのノートブックがディスク上に保存されるわけではないため、基盤となるファイルやディスク上の兄弟ファイルにアクセスしようとする前に、schemeを確認する必要があります。

参照 FileSystemProvider

このノートブックのバージョン番号(元に戻す/やり直しを含む、変更のたびに厳密に増加します)。

メソッド

指定されたインデックスのセルを返します。インデックスはノートブックに合わせて調整されます。

パラメーター説明
index: number

取得するセルのインデックス。

戻り値説明
NotebookCell

セル

このノートブックのセルを取得します。範囲を指定することでサブセットを取得できます。範囲はノートブックに合わせて調整されます。

パラメーター説明
range?: NotebookRange

ノートブックの範囲。

戻り値説明
NotebookCell[]

範囲内に含まれるセル、またはすべてのセル。

ドキュメントを保存します。保存は対応するシリアライザーによって処理されます。

パラメーター説明
戻り値説明
Thenable<boolean>

ドキュメントが保存されたときにtrueに解決されるプロミス。ファイルがダーティでなかった場合、または保存に失敗した場合はfalseを返します。

NotebookDocumentCellChange

ノートブックセルの変更を記述します。

参照 NotebookDocumentChangeEvent

プロパティ

影響を受けたセル。

セルのドキュメント、または変更されなかった場合はundefined

: どのような編集が実行されたかなど、詳細な変更情報についてはonDidChangeTextDocumentイベントを使用する必要があります。

セルの新しい実行サマリー、または変更されなかった場合はundefined

セルの新しいメタデータ。変更がない場合は undefined

セルの新しい出力。変更がない場合は undefined

NotebookDocumentChangeEvent

ノートブックのトランザクション的な変更を記述するイベント。

プロパティ

セル変更の配列。

追加または削除されたセルを記述するコンテンツ変更の配列。

ノートブックの新しいメタデータ。変更がない場合は undefined

影響を受けたノートブック。

NotebookDocumentContentChange

ノートブックドキュメントに対する構造的な変更(例:新しく追加または削除されたセル)を記述します。

参照 NotebookDocumentChangeEvent

プロパティ

ドキュメントに追加されたセル。

セルが追加または削除された範囲。

この範囲が の場合、セルは 削除 されていないことに注意してください。

ドキュメントから削除されたセル。

NotebookDocumentContentOptions

ノートブックのコンテンツオプションは、ノートブックのどの部分が永続化されるかを定義します。

例えば、ノートブックシリアライザーが出力の保存をオプトアウトした場合、その出力が変更されてもエディターはノートブックを ダーティ(未保存) としてマークしません。

プロパティ

セルメタデータのプロパティ変更イベントがノートブックドキュメントのコンテンツ変更イベントをトリガーするかどうか、およびそれがdiffエディターで使用されるかどうかを制御します。デフォルトは false です。コンテンツプロバイダーがメタデータのプロパティをファイルドキュメントに永続化しない場合は、true に設定する必要があります。

ドキュメントメタデータのプロパティ変更イベントがノートブックドキュメントのコンテンツ変更イベントをトリガーするかどうか、およびそれがdiffエディターで使用されるかどうかを制御します。デフォルトは false です。コンテンツプロバイダーがメタデータのプロパティをファイルドキュメントに永続化しない場合は、true に設定する必要があります。

出力変更イベントがノートブックドキュメントのコンテンツ変更イベントをトリガーするかどうか、およびそれがdiffエディターで使用されるかどうかを制御します。デフォルトは false です。コンテンツプロバイダーが出力をファイルドキュメントに永続化しない場合は、true に設定する必要があります。

NotebookDocumentShowOptions

ノートブックエディターノートブックドキュメント を表示する際の動作を設定するオプションを表します。

プロパティ

true の場合に ノートブックエディター がフォーカスを受け取らないようにするオプションのフラグ。

ノートブックエディターのタブをプレビューとして表示するかどうかを制御するオプションのフラグ。プレビュータブは、明示的または編集によって固定されるまで、置換および再利用されます。既定の動作は workbench.editor.enablePreview 設定に依存します。

ノートブックエディターでドキュメントに適用するオプションの選択範囲。

ノートブックエディターを表示するオプションのビューカラム。デフォルトは アクティブ です。存在しないカラムは ViewColumn.Nine を上限として必要に応じて作成されます。現在アクティブなエディターの横にエディターを開くには ViewColumn.Beside を使用してください。

NotebookDocumentWillSaveEvent

ノートブックドキュメントが保存される直前に発生するイベント。

保存前にドキュメントを修正するには、ワークスペース編集に解決される thenable を指定して waitUntil 関数を呼び出します。

プロパティ

保存がトリガーされた理由。

キャンセル トークン。

メソッド

イベントループを一時停止し、ワークスペース編集を適用します。この関数への後続の呼び出しによる編集は順番に適用されます。ノートブックドキュメントに同時変更が発生した場合、編集は 無視 されます。

注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期に呼び出すことはできません。

workspace.onWillSaveNotebookDocument(event => {
  // async, will *throw* an error
  setTimeout(() => event.waitUntil(promise));

  // sync, OK
  event.waitUntil(promise);
});
パラメーター説明
thenable: Thenable<WorkspaceEdit>

ワークスペース編集に解決される thenable。

戻り値説明
void

提供された thenable が解決されるまでイベントループを一時停止します。

注: この関数はイベントディスパッチ中にのみ呼び出すことができます。

パラメーター説明
thenable: Thenable<any>

保存を遅延させる thenable。

戻り値説明
void

NotebookEdit

ノートブック編集は、ノートブックのコンテンツに適用されるべき編集を表します。

静的

ノートブック内のセルを削除する編集を作成するユーティリティ。

パラメーター説明
range: NotebookRange

削除するセルの範囲。

戻り値説明
NotebookEdit

ノートブック内のセルを置き換える編集を作成するユーティリティ。

パラメーター説明
index: number

セルを挿入するインデックス。

newCells: NotebookCellData[]

新しいノートブックセル。

戻り値説明
NotebookEdit

ノートブック内のセルを置き換える編集を作成するユーティリティ。

パラメーター説明
range: NotebookRange

置き換えるセルの範囲

newCells: NotebookCellData[]

新しいノートブックセル。

戻り値説明
NotebookEdit

セルのメタデータを更新する編集を作成するユーティリティ。

パラメーター説明
index: number

更新するセルのインデックス。

newCellMetadata:

セルの新しいメタデータ。

戻り値説明
NotebookEdit

ノートブックのメタデータを更新する編集を作成するユーティリティ。

パラメーター説明
newNotebookMetadata:

ノートブックの新しいメタデータ。

戻り値説明
NotebookEdit

コンストラクター

新しいノートブック編集を作成します。

パラメーター説明
range: NotebookRange

ノートブックの範囲。

newCells: NotebookCellData[]

新しいセルデータの配列。

戻り値説明
NotebookEdit

プロパティ

セル用のオプションの新しいメタデータ。

挿入される新しいセル。空の場合もあります。

ノートブック用のオプションの新しいメタデータ。

編集されるセルの範囲。空の場合もあります。

NotebookEditor

ノートブックにアタッチされたノートブックエディターを表します。NotebookEditor の追加プロパティは提案された API で利用可能であり、後日確定されます。

プロパティ

このノートブックエディターに関連付けられた ノートブックドキュメント

このノートブックエディターにおける主選択範囲。

このノートブックエディターにおけるすべての選択範囲。

主選択範囲(またはフォーカスされた範囲)は selections[0] です。ドキュメントにセルがない場合、主選択範囲は空 { start: 0, end: 0 } となります。

このエディターが表示されているカラム。

エディター内の現在表示されている範囲(垂直方向)。

メソッド

指定された範囲を表示するために revealType に従ってスクロールします。

パラメーター説明
range: NotebookRange

範囲。

revealType?: NotebookEditorRevealType

range を表示するためのスクロール戦略。

戻り値説明
void

NotebookEditorRevealType

ノートブックにアタッチされたノートブックエディターを表します。

列挙型メンバー

可能な限り少ないスクロール量で範囲を表示します。

範囲は常にビューポートの中央に表示されます。

範囲がビューポートの外にある場合は、ビューポートの中央に表示されます。そうでない場合は、可能な限り少ないスクロール量で表示されます。

範囲は常にビューポートの最上部に表示されます。

NotebookEditorSelectionChangeEvent

ノートブックエディターの選択範囲の変更を記述するイベントを表します。

プロパティ

選択範囲が変更された ノートブックエディター

NotebookEditorVisibleRangesChangeEvent

ノートブックエディターの表示範囲の変更を記述するイベントを表します。

プロパティ

表示範囲が変更された ノートブックエディター

NotebookRange

ノートブック範囲は、2つのセルインデックスの順序付きペアを表します。開始が終了以下であることが保証されています。

コンストラクター

新しいノートブック範囲を作成します。startend 以下でない場合、値は入れ替えられます。

パラメーター説明
start: number

開始インデックス

end: number

終了インデックス。

戻り値説明
NotebookRange

プロパティ

この範囲の排他的終了インデックス(0から始まる)。

startend が等しい場合は true

この範囲の0から始まる開始インデックス。

メソッド

この範囲から新しい範囲を派生させます。

パラメーター説明
change: {end: number, start: number}

この範囲への変更を記述するオブジェクト。

戻り値説明
NotebookRange

指定された変更を反映した範囲。変更がない場合は this 範囲を返します。

NotebookRendererMessaging

レンダラーメッセージングは、単一のレンダラーと通信するために使用されます。notebooks.createRendererMessaging から返されます。

イベント

レンダラーからメッセージを受信したときに発生するイベント。

メソッド

1つまたはすべてのレンダラーにメッセージを送信します。

パラメーター説明
message: any

送信するメッセージ

editor?: NotebookEditor

メッセージのターゲットとなるエディター。指定しない場合、メッセージはすべてのレンダラーに送信されます。

戻り値説明
Thenable<boolean>

いずれかのレンダラーにメッセージが正常に配信されたかどうかを示すブール値。

NotebookSerializer

ノートブックシリアライザーにより、エディターはノートブックファイルを開くことができます。

本質的に、エディターは ノートブックデータ構造 は知っていますが、そのデータ構造がどのようにファイルに書き込まれ、どのようにファイルから読み取られるかは知りません。ノートブックシリアライザーは、バイト列をノートブックデータにデシリアライズし、その逆を行うことで、このギャップを埋めます。

メソッド

ノートブックファイルのコンテンツをノートブックデータ構造にデシリアライズします。

パラメーター説明
content: Uint8Array

ノートブックファイルのコンテンツ。

token: CancellationToken

キャンセル トークン。

戻り値説明
NotebookData | Thenable<NotebookData>

ノートブックデータ、またはノートブックデータに解決される thenable。

ノートブックデータをファイルコンテンツにシリアライズします。

パラメーター説明
data: NotebookData

ノートブックデータ構造。

token: CancellationToken

キャンセル トークン。

戻り値説明
Uint8Array | Thenable<Uint8Array>

バイト配列、またはそれに解決される thenable。

OnEnterRule

Enter キーを押したときに評価されるルールを記述します。

プロパティ

実行するアクション。

カーソルの後のテキストがこの正規表現に一致する場合にのみ、このルールが実行されます。

カーソルの前のテキストがこの正規表現に一致する場合にのみ、このルールが実行されます。

現在の行の上のテキストがこの正規表現に一致する場合にのみ、このルールが実行されます。

OnTypeFormattingEditProvider

ドキュメントフォーマットプロバイダーインターフェースは、拡張機能とフォーマット機能の間の規約を定義します。

メソッド

文字が入力された後のフォーマット編集を提供します。

指定された位置と文字は、プロバイダーに対して位置を展開すべき範囲のヒントを与える必要があります(例:`}` が入力されたときに一致する `{` を探すなど)。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

ch: string

入力された文字。

options: FormattingOptions

フォーマットを制御するオプション。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<TextEdit[]>

一連のテキスト編集、またはそれを解決するthenable。結果がないことは undefinednull、または空の配列を返すことで通知できます。

OpenDialogOptions

ファイルを開くダイアログの動作を設定するオプション。

  • 注意 1: Windows および Linux では、ファイルダイアログはファイルセレクターとフォルダーセレクターの両方であることはできません。そのため、これらのプラットフォームで canSelectFilescanSelectFolders の両方を true に設定した場合、フォルダーセレクターが表示されます。
  • 注意 2: 明示的に canSelectFilescanSelectFoldersfalse に設定することは無益であり、エディターはファイルをセレクターとして開くように自動的に調整します。

プロパティ

ファイルの選択を許可します。デフォルトは true です。

フォルダーの選択を許可します。デフォルトは false です。

複数のファイルまたはフォルダーの選択を許可します。

ダイアログが開かれたときに表示されるリソース。

ダイアログで使用されるファイルフィルターのセット。各エントリは人間が読めるラベル(例:"TypeScript")と、拡張子の配列です。

{
    'Images': ['png', 'jpg'],
    'TypeScript': ['ts', 'tsx']
}

開くボタンのための人間が読める文字列。

ダイアログのタイトル。

すべてのオペレーティングシステムが開くダイアログにタイトルを表示するわけではないため(例: macOS)、このパラメーターは無視される可能性があります。

OutputChannel

出力チャネルは、読み取り専用のテキスト情報を保持するコンテナです。

OutputChannel のインスタンスを取得するには createOutputChannel を使用してください。

プロパティ

この出力チャネルの人間が判読可能な名前。

メソッド

指定された値をチャネルに追加する。

パラメーター説明
value: string

文字列。falseと評価される値は出力されません。

戻り値説明
void

指定された値と改行文字をチャネルに追加する。

パラメーター説明
value: string

文字列。falseと評価される値も出力されます。

戻り値説明
void

チャネルからすべての出力を削除する。

パラメーター説明
戻り値説明
void

関連するリソースを破棄し、解放する。

パラメーター説明
戻り値説明
void

このチャネルをUIから非表示にする。

パラメーター説明
戻り値説明
void

チャネルのすべての出力を指定された値で置き換えます。

パラメーター説明
value: string

文字列。falseと評価される値は出力されません。

戻り値説明
void

UIでこのチャネルを表示します。

パラメーター説明
preserveFocus?: boolean

trueの場合、チャネルはフォーカスを取得しません。

戻り値説明
void

UIでこのチャネルを表示します。

  • 非推奨 - 引数が1つのオーバーロード(show(preserveFocus?: boolean): void)を使用してください。
パラメーター説明
column?: ViewColumn

この引数は非推奨であり、無視されます。

preserveFocus?: boolean

trueの場合、チャネルはフォーカスを取得しません。

戻り値説明
void

OverviewRulerLane

オーバービュー・ルーラーでデコレーションをレンダリングするためのさまざまな位置を表します。オーバービュー・ルーラーは3つのレーンをサポートしています。

列挙型メンバー

オーバービュー・ルーラーの左レーン。

オーバービュー・ルーラーの中央レーン。

オーバービュー・ルーラーの右レーン。

オーバービュー・ルーラーのすべてのレーン。

ParameterInformation

呼び出し可能なシグネチャのパラメーターを表します。パラメーターはラベルとドキュメントコメントを持つことができます。

コンストラクター

新しいパラメーター情報オブジェクトを作成します。

パラメーター説明
label: string | [number, number]

ラベル文字列、またはそれを含むシグネチャラベル内の包括的な開始オフセットと排他的な終了オフセット。

documentation?: string | MarkdownString

ドキュメント文字列。

戻り値説明
ParameterInformation

プロパティ

このシグネチャの人間が読めるドキュメントコメント。UI に表示されますが、省略可能です。

このシグネチャのラベル。

文字列、またはそれを含む シグネチャラベル 内の包括的な開始オフセットと排他的な終了オフセットのいずれか。: 文字列型のラベルは、それを含むシグネチャ情報の ラベル の部分文字列でなければなりません。

Position

カーソルの位置など、行と文字の位置を表します。

Position オブジェクトは イミュータブル(不変) です。既存の位置から新しい位置を派生させるには、with または translate メソッドを使用してください。

コンストラクター

パラメーター説明
line: number

0から始まる行の値。

character: number

0から始まる文字の値。

戻り値説明
Position

プロパティ

0から始まる文字の値。

文字オフセットは UTF-16 コードユニット を使用して表現されます。

0から始まる行の値。

メソッド

これを other と比較します。

パラメーター説明
other: Position

位置。

戻り値説明
number

この位置が与えられた位置より前であれば0未満の数、後であれば0より大きい数、この位置と与えられた位置が等しければ0を返します。

この位置が other より後かどうかを確認します。

パラメーター説明
other: Position

位置。

戻り値説明
boolean

位置がより大きい行にあるか、同じ行でより大きい文字位置にある場合に true

この位置が other より後または等しいかどうかを確認します。

パラメーター説明
other: Position

位置。

戻り値説明
boolean

位置がより大きい行にあるか、同じ行でより大きいか等しい文字位置にある場合に true

この位置が other より前かどうかを確認します。

パラメーター説明
other: Position

位置。

戻り値説明
boolean

位置がより小さい行にあるか、同じ行でより小さい文字位置にある場合に true

この位置が other より前または等しいかどうかを確認します。

パラメーター説明
other: Position

位置。

戻り値説明
boolean

位置がより小さい行にあるか、同じ行でより小さいか等しい文字位置にある場合に true

この位置が other と等しいかどうかを確認します。

パラメーター説明
other: Position

位置。

戻り値説明
boolean

与えられた位置の行と文字がこの位置の行と文字と等しい場合に true

この位置を基準とした新しい位置を作成します。

パラメーター説明
lineDelta?: number

行の値の差分値。デフォルトは 0 です。

characterDelta?: number

文字の値の差分値。デフォルトは 0 です。

戻り値説明
Position

現在の行と文字、および対応する差分値の合計を新しい行と文字とする位置。

この位置を基準とした新しい位置を導出します。

パラメーター説明
change: {characterDelta: number, lineDelta: number}

この位置への差分を記述するオブジェクト。

戻り値説明
Position

指定された差分を反映した位置。変更がない場合は this 位置を返します。

この位置から派生した新しい位置を作成します。

パラメーター説明
line?: number

行の値として使用すべき値。デフォルトは 既存の値 です。

character?: number

文字の値として使用すべき値。デフォルトは 既存の値 です。

戻り値説明
Position

行と文字が指定された値に置換された位置。

この位置から新しい位置を導出します。

パラメーター説明
change: {character: number, line: number}

この位置への変更を記述するオブジェクト。

戻り値説明
Position

指定された変更を反映した位置。変更がない場合は this 位置を返します。

PreparedToolInvocation

LanguageModelTool.prepareInvocation への呼び出しの結果。

プロパティ

このプロパティが存在することは、ツールを実行する前にユーザーに確認を求める必要があることを示します。副作用がある、または危険である可能性があるツールについては、ユーザーに確認を求める必要があります。

ツール実行中に表示されるカスタマイズされた進行メッセージ。

PrepareLanguageModelChatModelOptions

LanguageModelChatProvider.provideLanguageModelChatInformation に渡されるオプションのリスト。

プロパティ

UI フローを通じてユーザーにプロンプトを表示するか、モデルをサイレントに解決するかどうか。silent が true の場合、API キーなどの情報不足により、すべてのモデルが解決されない可能性があります。

ProcessExecution

タスクの実行は、シェル対話なしの外部プロセスとして行われます。

コンストラクター

プロセス実行を作成します。

パラメーター説明
process: string

開始するプロセス。

options?: ProcessExecutionOptions

開始されたプロセスのためのオプション(任意)。

戻り値説明
ProcessExecution

プロセス実行を作成します。

パラメーター説明
process: string

開始するプロセス。

args: string[]

プロセスに渡される引数。

options?: ProcessExecutionOptions

開始されたプロセスのためのオプション(任意)。

戻り値説明
ProcessExecution

プロパティ

プロセスに渡される引数。デフォルトは空の配列です。

プロセスが実行されるときに使用されるプロセスオプション。デフォルトは undefined です。

実行されるプロセス。

ProcessExecutionOptions

プロセス実行のためのオプション。

プロパティ

実行されるプログラムまたはシェルの現在の作業ディレクトリ。省略された場合、ツールの現在のワークスペースルートが使用されます。

実行されるプログラムまたはシェルに追加される環境変数。省略された場合は親プロセスの環境が使用されます。指定された場合は、親プロセスの環境とマージされます。

Progress<T>

進捗状況の更新を報告する汎用的な方法を定義します。

メソッド

進捗状況の更新を報告します。

パラメーター説明
value: T

メッセージや、どの程度の作業が完了したかの報告などの進捗項目。

戻り値説明
void

ProgressLocation

進捗情報を表示できるエディター内の場所。進捗がどのように視覚的に表現されるかは場所に依存します。

列挙型メンバー

ソース管理表示の進捗(アイコンのオーバーレイとして、および表示されている場合はビューレット内のプログレスバーとして)を表示します。キャンセル、個別の進捗、または操作を説明するラベルはサポートされていません。

エディターのステータスバーに進捗を表示します。キャンセルおよび個別の進捗はサポートされていません。進捗ラベル内の $(<name>) 構文による テーマアイコン のレンダリングをサポートしています。

オプションのキャンセルボタン付きの通知として進捗を表示します。無限進捗と個別進捗の表示をサポートしていますが、アイコンのレンダリングはサポートしていません。

ProgressOptions

進捗をどこに、どのように表示するかを記述する値オブジェクト。

プロパティ

ユーザーが長時間実行されている操作をキャンセルできるように、キャンセルボタンを表示するかどうかを制御します。現在、キャンセルボタンの表示をサポートしているのは ProgressLocation.Notification だけであることに注意してください。

進捗を表示する場所。

操作の説明に使用される人間が読める文字列。

ProvideLanguageModelChatResponseOptions

LanguageModelChatRequestOptions のプロバイダー版。

プロパティ

言語モデルの動作を制御する一連のオプション。これらのオプションは言語モデル固有のものです。

使用するツール選択モード。プロバイダーはこれを尊重するように実装しなければなりません。

言語モデルが利用可能なオプションのツールリスト。これらは lm.tools を通じて利用可能な登録済みツール、または呼び出し側の拡張機能内で実装されたプライベートツールのいずれかです。

LLMがいずれかのツールの呼び出しをリクエストした場合、LanguageModelChatResponse.stream 内で LanguageModelToolCallPart が返されます。ツールを呼び出す責任は呼び出し側にあります。lm.tools に登録されているツールの場合、それは lm.invokeTool を呼び出すことを意味します。

次に、LanguageModelToolCallPart を持つアシスタントタイプの LanguageModelChatMessage を作成し、続いて LanguageModelToolResultPart を持つユーザータイプのメッセージを作成することで、LLMにツール結果を提供できます。

ProviderResult<T>

プロバイダー結果は、HoverProvider などのプロバイダーが返す可能性のある値を表します。これは、実際の戻り値の型 T(例:Hover)、またはその型 T に解決される thenable です。さらに、直接または thenable から null および undefined を返すこともできます。

以下のスニペットはすべて 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

端末 pty のインターフェースを定義し、拡張機能が端末を制御できるようにします。

イベント

発生時に端末の名前を変更できるようにするイベント。

Pseudoterminal.open が呼び出される前に発生したイベントは無視されます。

例: 端末名を "My new 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 });

発生時に pty が閉じられ、端末を破棄するシグナルを送るイベント。

Pseudoterminal.open が呼び出される前に発生したイベントは無視されます。

数値を使用して端末の終了コードを提供できます。終了コードは正でなければならず、0以外の終了コードは失敗を示します。これは通常の端末では通知を表示し、CustomExecution API と一緒に使用された場合は依存タスクの進行を許可します。

例: "y" が押されたときに端末を終了し、それ以外の場合は通知を表示します。

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

発生時に端末の 寸法 を上書きできるようにするイベント。設定された場合、上書きされた寸法は、実際の端末の寸法よりも小さい場合にのみ有効になります(つまり、スクロールバーは表示されません)。端末の通常の寸法(パネルのサイズに合わせる)に戻すには undefined に設定してください。

Pseudoterminal.open が呼び出される前に発生したイベントは無視されます。

例: 端末の寸法を20列10行に上書きします。

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

発生時に端末にデータを書き込むイベント。Terminal.sendText がテキストを基礎となる子疑似デバイス(子)に送信するのと異なり、これはテキストを親疑似デバイス(端末 自体)に書き込みます。

注意: \n を書き込むとカーソルが1行下に移動するだけなので、カーソルを一番左のセルに移動するには \r も書き込む必要があります。

Pseudoterminal.open が呼び出される前に発生したイベントは無視されます。

例: 端末に赤いテキストを書き込みます。

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

例: カーソルを10行目20列目に移動してアスタリスクを書き込みます。

writeEmitter.fire('\x1b[10;20H*');

メソッド

ユーザーの操作によって端末が閉じられた場合を処理するように実装してください。

パラメーター説明
戻り値説明
void

端末へのキーストロークや、拡張機能が Terminal.sendText を呼び出したときに入力を処理するように実装してください。data には、対応する VT シーケンス表現にシリアライズされたキーストローク/テキストが含まれています。

パラメーター説明
data: string

入力データ。

例: 端末に入力をエコーします。Enter のシーケンス(\r)は新しい行に移動して行の先頭にカーソルを移動するために CRLF に変換されます。

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 });
戻り値説明
void

pty が開き、イベントの発生を開始する準備ができたときを処理するように実装してください。

パラメーター説明
initialDimensions: TerminalDimensions

端末の寸法。これが呼び出される前に端末パネルが開かれていない場合、これは undefined になります。

戻り値説明
void

フォントサイズの変更やパネルのサイズ変更など、端末パネルに収まる行数と列数が変わったときを処理するように実装してください。端末の寸法の初期状態は、ユーザーインターフェースに表示されるまでサイズが不明なため、これがトリガーされるまでは undefined として扱われるべきです。

寸法が onDidOverrideDimensions によって上書きされている場合でも、setDimensions は通常のパネル寸法で呼び出され続け、拡張機能が寸法変更に反応し続けられるようにします。

パラメーター説明
dimensions: TerminalDimensions

新しい寸法。

戻り値説明
void

QuickDiffProvider

Quick diff プロバイダーは、変更されたリソースの元の状態への uri を提供します。エディターはこの情報を使用して、テキスト内のアドホックな diff をレンダリングします。

メソッド

指定されたリソース URI の元のリソースへの Uri を提供します。

パラメーター説明
uri: Uri

テキストエディターで開かれているリソースの URI。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<Uri>

一致する元のリソースの URI に解決される thenable。

QuickInput

すべてのクイック入力型の基本インターフェース。

クイック入力は、拡張機能がシンプルな UI 要素を通じてユーザーと対話するための統合された方法を提供します。クイック入力 UI は最初は表示されません。プロパティを設定した後、拡張機能は show を呼び出すことで UI を表示できます。

この UI が非表示にならなければならない理由はいくつかあり、拡張機能は onDidHide を通じて通知されます。例としては、hide への明示的な呼び出し、ユーザーが Esc キーを押した場合、他の入力 UI が開いた場合などがあります。

ユーザーが Enter キーを押すなど、現在の状態を受け入れるようなジェスチャーを行っても、この UI コンポーネントは自動的には隠れません。ユーザーの入力を受け入れるかどうか、および hide の呼び出しによって UI を実際に隠すべきかどうかは、拡張機能の判断に委ねられます。

拡張機能がこの入力 UI を必要としなくなった場合は、関連付けられたリソースを解放できるように dispose する必要があります。

具体的な UI については QuickPick および InputBox を参照してください。

イベント

この入力 UI が非表示になったときにシグナルを送るイベント。

この UI が非表示にならなければならない理由はいくつかあり、拡張機能は onDidHide を通じて通知されます。例としては、hide への明示的な呼び出し、ユーザーが Esc キーを押した場合、他の入力 UI が開いた場合などがあります。

プロパティ

UI に進行状況インジケーターを表示するかどうかを決定します。デフォルトは false です。

例えば、より多くのデータを読み込んでいる間やユーザーの入力を検証している間などに、これを true に変更します。

UI がユーザー入力を許可するかどうかを決定します。デフォルトは true です。

例えば、ユーザー入力を検証している間やユーザー入力の次のステップのためにデータを読み込んでいる間などに、これを false に変更します。

UI フォーカスを失った場合でも UI を開いたままにするかどうかを決定します。デフォルトは false です。この設定は iPad では無視され、常に false になります。

マルチステップ入力フローのためのオプションの現在のステップ数。

入力 UI のためのオプションのタイトル。

マルチステップ入力フローのためのオプションの合計ステップ数。

メソッド

この入力 UI と関連リソースを破棄します。

まだ表示されている場合は、まず非表示になります。この呼び出し以降、入力 UI は機能しなくなり、そのメソッドやプロパティにアクセスすべきではありません。代わりに新しい入力 UI を作成する必要があります。

パラメーター説明
戻り値説明
void

この入力 UI を非表示にします。

これは onDidHide イベントも発生させます。

パラメーター説明
戻り値説明
void

現在の構成で入力 UI を表示します。

他の入力 UI は、まず onDidHide イベントを発生させます。

パラメーター説明
戻り値説明
void

QuickInputButton

QuickPick または InputBox 内のアクション用ボタン。

プロパティ

ボタンのアイコン。

ボタンを表示する場所。

デフォルトは QuickInputButtonLocation.Title です。

注: このプロパティは、ボタンが QuickPickItem に追加された場合は無視されます。

存在する場合、ボタンがオン/オフを切り替え可能なトグルボタンであることを示します。

パラメーター説明
checked: boolean

トグルボタンが現在オンかどうかを示します。このプロパティはボタンが切り替えられたときに更新されます。

ボタンの上にマウスを置いたときに表示されるオプションのツールチップ。

QuickInputButtonLocation

QuickInputButton をレンダリングする場所を指定します。

列挙型メンバー

ボタンはタイトルバーにレンダリングされます。

ボタンは入力ボックスの右側にインラインでレンダリングされます。

ボタンは入力ボックス内の右端にレンダリングされます。

QuickInputButtons

QuickPickおよびInputBox用の定義済みボタン。

静的

QuickPickおよびInputBox用の定義済み戻るボタン。

ナビゲーションの戻るボタンが必要な場合、一貫性を保つためにこのボタンを使用する必要があります。あらかじめ定義されたアイコン、ツールチップ、および配置が設定されています。

QuickPick<T>

ユーザーが型 T のリストからアイテムを選択できるようにする具体的な QuickInput です。

アイテムはフィルタテキストフィールドを介してフィルタリングでき、canSelectMany オプションで複数選択を許可することもできます。

多くの場合、より便利な window.showQuickPick の方が使いやすいことに注意してください。window.createQuickPick は、window.showQuickPick が必要な柔軟性を提供しない場合に使用する必要があります。

イベント

ユーザーが選択したアイテムを受け入れたことを示すイベント。

アクティブなアイテムが変更されたことを通知するイベント。

選択されたアイテムが変更されたことを通知するイベント。

フィルタテキストの値が変更されたことを通知するイベント。

この入力 UI が非表示になったときにシグナルを送るイベント。

この UI が非表示にならなければならない理由はいくつかあり、拡張機能は onDidHide を通じて通知されます。例としては、hide への明示的な呼び出し、ユーザーが Esc キーを押した場合、他の入力 UI が開いた場合などがあります。

ボタンがトリガーされたときにシグナルを送るイベント。

このイベントは、buttons 配列に格納されているボタンがトリガーされたときに発生します。QuickPickItem 上のボタンでは発生しません。

特定の QuickPickItem 内のボタンがトリガーされたことを通知するイベント。

このイベントは、buttons の一部であるタイトルバーのボタンでは発生しません。

プロパティ

アクティブなアイテム。拡張機能から読み取りおよび更新が可能です。

UI に進行状況インジケーターを表示するかどうかを決定します。デフォルトは false です。

例えば、より多くのデータを読み込んでいる間やユーザーの入力を検証している間などに、これを true に変更します。

UI 内の操作用ボタン。

同時に複数のアイテムを選択できるかどうかを決定します。デフォルトは false です。

UI がユーザー入力を許可するかどうかを決定します。デフォルトは true です。

例えば、ユーザー入力を検証している間やユーザー入力の次のステップのためにデータを読み込んでいる間などに、これを false に変更します。

UI フォーカスを失った場合でも UI を開いたままにするかどうかを決定します。デフォルトは false です。この設定は iPad では無視され、常に false になります。

選択対象のアイテム。拡張機能から読み取りおよび更新が可能です。

QuickPick アイテムが更新されたときにスクロール位置を維持するかどうかを決定します。デフォルトは false です。

フィルタテキストをアイテムの description に対してもマッチングするかどうかを決定します。デフォルトは false です。

フィルタテキストをアイテムの detail に対してもマッチングするかどうかを決定します。デフォルトは false です。

値が入力されていないときにフィルタテキストボックスに表示されるオプションのプレースホルダーテキスト。

ユーザーに指示やコンテキストを提供するオプションのテキスト。

プロンプトは入力ボックスの下、アイテムリストの上に表示されます。

選択されたアイテム。拡張機能から読み取りおよび更新が可能です。

マルチステップ入力フローのためのオプションの現在のステップ数。

入力 UI のためのオプションのタイトル。

マルチステップ入力フローのためのオプションの合計ステップ数。

フィルタテキストの現在の値。

メソッド

この入力 UI と関連リソースを破棄します。

まだ表示されている場合は、まず非表示になります。この呼び出し以降、入力 UI は機能しなくなり、そのメソッドやプロパティにアクセスすべきではありません。代わりに新しい入力 UI を作成する必要があります。

パラメーター説明
戻り値説明
void

この入力 UI を非表示にします。

これは onDidHide イベントも発生させます。

パラメーター説明
戻り値説明
void

現在の構成で入力 UI を表示します。

他の入力 UI は、まず onDidHide イベントを発生させます。

パラメーター説明
戻り値説明
void

QuickPickItem

アイテムのリストから選択可能なアイテムを表します。

プロパティ

ユーザーの入力によってフィルタリングされた場合でも、このアイテムを常に表示するかどうかを決定します。

注: このプロパティは、kindQuickPickItemKind.Separator に設定されている場合は無視されます。

この特定のアイテム上にレンダリングされるオプションのボタン。

これらのボタンは、押されると QuickPickItemButtonEvent をトリガーします。ボタンは createQuickPick API で作成された Quick Pick を使用している場合にのみレンダリングされます。showQuickPick API を使用している場合はレンダリングされません。

注: このプロパティは、kindQuickPickItemKind.Separator に設定されている場合は無視されます。

同じ行に目立たないようにレンダリングされる人間が読める文字列。

$(<name>) 構文による テーマアイコン のレンダリングをサポートしています。

注: このプロパティは、kindQuickPickItemKind.Separator に設定されている場合は無視されます。

別の行に目立たないようにレンダリングされる人間が読める文字列。

$(<name>) 構文による テーマアイコン のレンダリングをサポートしています。

注: このプロパティは、kindQuickPickItemKind.Separator に設定されている場合は無視されます。

アイテムのアイコン。

Quick Pick 内でのレンダリング方法を決定するアイテムの種類。

指定されていない場合、デフォルトは QuickPickItemKind.Default です。

目立つようにレンダリングされる人間が読める文字列。

$(<name>) 構文による テーマアイコン のレンダリングをサポートしています。

注: kindQuickPickItemKind.Default に設定されている場合(セパレーターではなく通常のアイテム)、$(<name>) 構文による テーマアイコン のレンダリングをサポートします。

このアイテムが初期状態で選択されているかどうかを示すオプションのフラグ。

これは showQuickPick API を使用している場合にのみ適用されます。createQuickPick API で同様のことを行うには、単純に selectedItems を初期状態で選択したいアイテムに設定してください。

注: これはピッカーが複数選択を許可している場合にのみ適用されます。

参照: QuickPickOptions.canPickMany

注: このプロパティは、kindQuickPickItemKind.Separator に設定されている場合は無視されます。

このアイテムに関連付けられたリソースを表す Uri

設定されている場合、このプロパティは明示的に提供されていない場合にいくつかのアイテムプロパティを自動的に派生させるために使用されます。

  • ラベル: label が提供されていないか空の場合、リソースのファイル名から派生します。
  • 説明: description が提供されていないか空の場合、リソースのパスから派生します。
  • アイコン: iconPathThemeIcon.File または ThemeIcon.Folder に設定されている場合、現在のファイルアイコンテーマから派生します。

QuickPickItemButtonEvent<T>

QuickPickItem 上で押されたボタンを記述するイベント。

プロパティ

押されたボタン。

ボタンが属するアイテム。

QuickPickItemKind

quick pick item の種類を定義します。

列挙型メンバー

視覚的なグループ化を提供するセパレーターアイテム。

QuickPickItem の種類が Separator の場合、そのアイテムは視覚的な区切りであり、選択可能なアイテムではありません。適用されるプロパティは label のみです。QuickPickItem 上の他のすべてのプロパティは無視され、効果はありません。

Quick Pick で選択可能なアイテムのデフォルトの種類。

QuickPickOptions

Quick Pick UI の動作を設定するオプション。

イベント

アイテムが選択されるたびに呼び出されるオプション関数。

パラメーター説明
item: string | QuickPickItem
戻り値説明
any

プロパティ

ピッカーが複数選択を許可するかどうかを決定します。true の場合、結果は選択されたアイテムの配列になります。

エディターの別の部分や別のウィンドウにフォーカスが移動したときにピッカーを開いたままにするには true を設定します。この設定は iPad では無視され、常に false になります。

アイテムをフィルタリングするときに description を含めるかどうかを決定します。デフォルトは false です。

アイテムをフィルタリングするときに detail を含めるかどうかを決定します。デフォルトは false です。

ユーザーをガイドするために、入力ボックス内にプレースホルダーとして表示されるオプションの文字列。

ユーザーに指示やコンテキストを提供するオプションのテキスト。

プロンプトは入力ボックスの下、アイテムリストの上に表示されます。

Quick Pick のオプションのタイトル。

Range

Range(範囲)は、2つの位置の順序付けられたペアを表します。start.isBeforeOrEqual(end) であることが保証されます。

Range オブジェクトは イミュータブル(不変) です。既存の範囲から新しい範囲を派生させるには、withintersection、または union メソッドを使用してください。

コンストラクター

2つの位置から新しい範囲を作成します。startend より前または等しくない場合、値は入れ替えられます。

パラメーター説明
start: Position

位置。

end: Position

位置。

戻り値説明
Range

数値座標から新しい範囲を作成します。これは new Range(new Position(startLine, startCharacter), new Position(endLine, endCharacter)) を使用するのより短い同等のコードです。

パラメーター説明
startLine: number

0から始まる行の値。

startCharacter: number

0から始まる文字の値。

endLine: number

0から始まる行の値。

endCharacter: number

0から始まる文字の値。

戻り値説明
Range

プロパティ

終了位置。start より後ろまたは等しい位置です。

startend が等しい場合は true

start.lineend.line が等しい場合に true

開始位置。end より前または等しい位置です。

メソッド

位置または範囲がこの範囲に含まれているかどうかを確認します。

パラメーター説明
positionOrRange: Range | Position

位置または範囲。

戻り値説明
boolean

位置または範囲がこの範囲内にある、または等しい場合に true

range とこの範囲の共通部分を計算し、新しい範囲を返します。範囲が重なっていない場合は undefined を返します。

パラメーター説明
range: Range

範囲。

戻り値説明
Range

大きい方の開始位置と小さい方の終了位置による範囲。重なりがない場合は undefined を返します。

other がこの範囲と等しいかどうかを確認します。

パラメーター説明
other: Range

範囲。

戻り値説明
boolean

開始位置と終了位置がこの範囲と 等しい 場合に true

other とこの範囲の和集合を計算します。

パラメーター説明
other: Range

範囲。

戻り値説明
Range

小さい方の開始位置と大きい方の終了位置による範囲。

この範囲から新しい範囲を派生させます。

パラメーター説明
start?: Position

開始位置として使用すべき位置。デフォルト値は 現在の開始位置 です。

end?: Position

終了位置として使用すべき位置。デフォルト値は 現在の終了位置 です。

戻り値説明
Range

指定された開始位置と終了位置でこの範囲から派生した範囲。開始位置と終了位置に違いがない場合は this が返されます。

この範囲から新しい範囲を派生させます。

パラメーター説明
change: {end: Position, start: Position}

この範囲への変更を記述するオブジェクト。

戻り値説明
Range

指定された変更を反映した範囲。変更がない場合は this 範囲を返します。

ReferenceContext

リファレンスを要求する際に付加情報を含む値オブジェクト。

プロパティ

現在のシンボルの宣言を含めます。

ReferenceProvider

ReferenceProvider(参照プロバイダー)インターフェースは、拡張機能と find references(参照検索)機能との間の契約を定義します。

メソッド

指定された位置とドキュメントに対するプロジェクト全体のリファレンスセットを提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

context: ReferenceContext

リファレンスリクエストに関する付加情報。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<Location[]>

場所の配列、またはその解決を待機する thenable。結果がないことは undefinednull、または空の配列を返すことで通知できます。

RelativePattern

RelativePattern(相対パターン)は、ベースとなるファイルパスを基準にしてマッチングされるグロブパターンを作成するためのヘルパーです。ベースパスは、文字列または URI としての絶対ファイルパスか、ワークスペースフォルダー のいずれかです。ワークスペースフォルダーの使用が推奨される方法です。

コンストラクター

ベースファイルパスとマッチングさせるパターンを使用して、新しい相対パターンオブジェクトを作成します。このパターンは、ベースを基準としたファイルパスに対してマッチングされます。

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');
}
パラメーター説明
base: string | Uri | WorkspaceFolder

このパターンを相対的にマッチングさせるベース。パターンがワークスペース内でのマッチングを意図している場合は、ワークスペースフォルダー を渡すことが推奨されます。そうでない場合、URI または文字列は、パターンがワークスペース外のファイルパス用である場合にのみ使用すべきです。

pattern: string

*.{ts,js} のようなファイルグロブパターンで、ベースからの相対パスに対してマッチングされます。

戻り値説明
RelativePattern

プロパティ

このパターンを相対的にマッチングさせるベースファイルパス。

これは RelativePattern.baseUrifsPath 値と一致します。

注意: この値を更新すると、RelativePattern.baseUrifile スキームを持つ URI に更新されます。

このパターンを相対的にマッチングさせるベースファイルパス。ファイルパスは絶対パスである必要があり、末尾にパスセパレーターを含めてはならず、相対的なセグメント(. または ..)を含めてはなりません。

ベースパスからの相対ファイルパスに対してマッチングされる *.{ts,js} のようなファイルグロブパターン。

例: ベースが /home/work/folder でファイルパスが /home/work/folder/index.js の場合、ファイルグロブパターンは index.js にマッチします。

RenameProvider

RenameProvider(名前変更プロバイダー)インターフェースは、拡張機能と rename(名前変更)機能との間の契約を定義します。

メソッド

名前変更を実行する に位置を解決および検証するためのオプション関数。結果は、範囲、または範囲とプレースホルダーテキストにすることができます。プレースホルダーテキストは名前変更されるシンボルの識別子である必要があります。省略された場合は、返された範囲内のテキストが使用されます。

注意: この関数は、提供された場所で名前変更が許可されていない場合に、エラーをスローするか、拒否された thenable を返す必要があります。

パラメーター説明
document: TextDocument

名前変更が呼び出されるドキュメント。

position: Position

名前変更が呼び出される位置。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<Range | {placeholder: string, range: Range}>

名前変更される識別子の範囲、または範囲とプレースホルダーテキスト。結果がないことは undefined または null を返すことで通知できます。

シンボルを別の名前に変更するために、1つまたは複数のリソースに対して行わなければならない変更を記述した編集を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

newName: string

シンボルの新しい名前。指定された名前が無効な場合、プロバイダーは拒否された Promise を返さなければなりません。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<WorkspaceEdit>

ワークスペース編集、またはその解決を待機する thenable。結果がないことは undefined または null を返すことで通知できます。

RunOptions

タスクの実行オプション。

プロパティ

再実行時にタスク変数を再評価するかどうかを制御します。

SaveDialogOptions

ファイル保存ダイアログの動作を設定するオプション。

プロパティ

ダイアログが開かれたときに表示されるリソース。

ダイアログで使用されるファイルフィルターのセット。各エントリは人間が読めるラベル(例:"TypeScript")と、拡張子の配列です。

{
    'Images': ['png', 'jpg'],
    'TypeScript': ['ts', 'tsx']
}

保存ボタンの人間が読める文字列。

ダイアログのタイトル。

すべてのオペレーティングシステムが保存ダイアログにタイトルを表示するわけではないため(例: macOS)、このパラメータは無視される可能性があります。

SecretStorage

暗号化されて保存されるシークレット(または機密情報)のためのストレージユーティリティを表します。シークレットストレージの実装は各プラットフォームで異なり、シークレットはマシン間で同期されません。

イベント

シークレットが保存または削除されたときに発生します。

メソッド

ストレージからシークレットを削除します。

パラメーター説明
key: string

シークレットが保存されていたキー。

戻り値説明
Thenable<void>

キーで保存されたシークレットを取得します。そのキーに一致するパスワードがない場合は undefined を返します。

パラメーター説明
key: string

シークレットが保存されていたキー。

戻り値説明
Thenable<string>

保存された値またはundefined

この拡張機能によって保存されたすべてのシークレットのキーを取得します。

パラメーター説明
戻り値説明
Thenable<string[]>

シークレットを指定されたキーで保存します。

パラメーター説明
key: string

シークレットを保存するためのキー。

value: string

シークレット。

戻り値説明
Thenable<void>

SecretStorageChangeEvent

シークレットが追加または削除されたときに発生するイベントデータ。

プロパティ

変更されたシークレットのキー。

SelectedCompletionInfo

現在選択されている補完アイテムを記述します。

プロパティ

この補完アイテムが受け入れられた場合に置き換えられる範囲。

この補完が受け入れられた場合に範囲が置き換えられるテキスト。

Selection

エディター内のテキスト選択を表します。

コンストラクター

2つの位置から選択を作成します。

パラメーター説明
anchor: Position

位置。

active: Position

位置。

戻り値説明
Selection

4つの座標から選択を作成します。

パラメーター説明
anchorLine: number

0から始まる行の値。

anchorCharacter: number

0から始まる文字の値。

activeLine: number

0から始まる行の値。

activeCharacter: number

0から始まる文字の値。

戻り値説明
Selection

プロパティ

カーソルの位置。この位置は anchor の前または後になる場合があります。

選択が開始される位置。この位置は active の前または後になる場合があります。

終了位置。start より後ろまたは等しい位置です。

startend が等しい場合は true

選択は、その anchorend 位置である場合に逆転しています。

start.lineend.line が等しい場合に true

開始位置。end より前または等しい位置です。

メソッド

位置または範囲がこの範囲に含まれているかどうかを確認します。

パラメーター説明
positionOrRange: Range | Position

位置または範囲。

戻り値説明
boolean

位置または範囲がこの範囲内にある、または等しい場合に true

range とこの範囲の共通部分を計算し、新しい範囲を返します。範囲が重なっていない場合は undefined を返します。

パラメーター説明
range: Range

範囲。

戻り値説明
Range

大きい方の開始位置と小さい方の終了位置による範囲。重なりがない場合は undefined を返します。

other がこの範囲と等しいかどうかを確認します。

パラメーター説明
other: Range

範囲。

戻り値説明
boolean

開始位置と終了位置がこの範囲と 等しい 場合に true

other とこの範囲の和集合を計算します。

パラメーター説明
other: Range

範囲。

戻り値説明
Range

小さい方の開始位置と大きい方の終了位置による範囲。

この範囲から新しい範囲を派生させます。

パラメーター説明
start?: Position

開始位置として使用すべき位置。デフォルト値は 現在の開始位置 です。

end?: Position

終了位置として使用すべき位置。デフォルト値は 現在の終了位置 です。

戻り値説明
Range

指定された開始位置と終了位置でこの範囲から派生した範囲。開始位置と終了位置に違いがない場合は this が返されます。

この範囲から新しい範囲を派生させます。

パラメーター説明
change: {end: Position, start: Position}

この範囲への変更を記述するオブジェクト。

戻り値説明
Range

指定された変更を反映した範囲。変更がない場合は this 範囲を返します。

SelectionRange

SelectionRange(選択範囲)は、選択階層の一部を表します。選択範囲は、それを含む親選択範囲を持つ場合があります。

コンストラクター

新しい選択範囲を作成します。

パラメーター説明
range: Range

選択範囲の範囲。

parent?: SelectionRange

選択範囲の親。

戻り値説明
SelectionRange

プロパティ

この範囲を含む親選択範囲。

この選択範囲の Range

SelectionRangeProvider

SelectionRangeProvider(選択範囲プロバイダー)インターフェースは、拡張機能と「選択範囲の展開と縮小」機能との間の契約を定義します。

メソッド

指定された位置に対する選択範囲を提供します。

選択範囲は、各位置に対して個別かつ独立して計算される必要があります。エディターは範囲をマージして重複を排除しますが、プロバイダーは選択範囲の階層を返す必要があり、それによって範囲が親によって 含まれる ようにします。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

positions: readonly Position[]

コマンドが呼び出された位置。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<SelectionRange[]>

選択範囲、またはその解決を待機する thenable。結果がないことは undefined または null を返すことで通知できます。

SemanticTokens

範囲内、またはドキュメント全体でのセマンティックトークンを表します。

関連項目

コンストラクター

新しいセマンティックトークンを作成します。

パラメーター説明
data: Uint32Array

トークンデータ。

resultId?: string

結果識別子。

戻り値説明
SemanticTokens

プロパティ

実際のトークンデータ。

参照: フォーマットの説明については provideDocumentSemanticTokens を参照してください。

トークンの結果ID。

これは DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits (実装されている場合)に渡されるIDです。

SemanticTokensBuilder

SemanticTokensBuilder(セマンティックトークンビルダー)は、デルタエンコードされたセマンティックトークンを含む SemanticTokens インスタンスの作成を支援します。

コンストラクター

セマンティックトークンビルダーを作成します。

パラメーター説明
legend?: SemanticTokensLegend

セマンティックトークンの凡例。

戻り値説明
SemanticTokensBuilder

メソッド

完了して SemanticTokens インスタンスを作成します。

パラメーター説明
resultId?: string
戻り値説明
SemanticTokens

別のトークンを追加します。

パラメーター説明
line: number

トークンの開始行番号(絶対値)。

char: number

トークンの開始文字位置(絶対値)。

length: number

トークンの長さ(文字数)。

tokenType: number

エンコードされたトークンタイプ。

tokenModifiers?: number

エンコードされたトークン修飾子。

戻り値説明
void

別のトークンを追加します。凡例を提供する場合にのみ使用してください。

パラメーター説明
range: Range

トークンの範囲。単一行である必要があります。

tokenType: string

トークンタイプ。

tokenModifiers?: readonly string[]

トークン修飾子。

戻り値説明
void

SemanticTokensEdit

セマンティックトークンへの編集を表します。

参照: フォーマットの説明については provideDocumentSemanticTokensEdits を参照してください。

コンストラクター

セマンティックトークンの編集を作成します。

パラメーター説明
start: number

開始オフセット

deleteCount: number

削除する要素の数。

data?: Uint32Array

挿入する要素

戻り値説明
SemanticTokensEdit

プロパティ

挿入する要素。

削除する要素の数。

編集の開始オフセット。

SemanticTokensEdits

セマンティックトークンへの編集を表します。

参照: フォーマットの説明については provideDocumentSemanticTokensEdits を参照してください。

コンストラクター

新しいセマンティックトークンの編集を作成します。

パラメーター説明
edits: SemanticTokensEdit[]

セマンティックトークンの編集の配列

resultId?: string

結果識別子。

戻り値説明
SemanticTokensEdits

プロパティ

トークンデータへの編集。すべての編集は初期のデータ状態を参照します。

トークンの結果ID。

これは DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits (実装されている場合)に渡されるIDです。

SemanticTokensLegend

セマンティックトークンの凡例には、整数でエンコードされたセマンティックトークンの表現を解読するために必要な情報が含まれています。

コンストラクター

セマンティックトークンの凡例を作成します。

パラメーター説明
tokenTypes: string[]

トークンタイプの配列。

tokenModifiers?: string[]

トークン修飾子の配列。

戻り値説明
SemanticTokensLegend

プロパティ

可能なトークン修飾子。

可能なトークンタイプ。

ShellExecution

シェル内で行われるタスク実行を表します。

コンストラクター

完全なコマンドラインを持つシェル実行を作成します。

パラメーター説明
commandLine: string

実行するコマンドライン。

options?: ShellExecutionOptions

開始されたシェル用のオプション。

戻り値説明
ShellExecution

コマンドと引数を使用してシェル実行を作成します。実際の実行のために、エディターはコマンドと引数からコマンドラインを作成します。これは、特に引用符に関して解釈の対象となります。コマンドラインを完全に制御する必要がある場合は、完全なコマンドラインで ShellExecution を作成するコンストラクターを使用してください。

パラメーター説明
command: string | ShellQuotedString

実行するコマンド。

args: Array<string | ShellQuotedString>

コマンド引数。

options?: ShellExecutionOptions

開始されたシェル用のオプション。

戻り値説明
ShellExecution

プロパティ

シェル引数。完全なコマンドラインで作成された場合は undefined です。

シェルコマンド。完全なコマンドラインで作成された場合は undefined です。

シェルコマンドライン。コマンドと引数で作成された場合は undefined です。

シェル内でコマンドラインが実行されるときに使用されるシェルオプション。デフォルトは undefined です。

ShellExecutionOptions

シェル実行のためのオプション

プロパティ

実行されるシェルの現在の作業ディレクトリ。省略された場合は、ツールの現在のワークスペースルートが使用されます。

実行されるシェルの追加環境変数。省略された場合は、親プロセスの環境が使用されます。提供された場合は、親プロセスの環境とマージされます。

シェル実行可能ファイル。

タスクを実行するために使用されるシェル実行可能ファイルに渡される引数。ほとんどのシェルは、コマンドを実行するために特別な引数を必要とします。たとえば bash はコマンドを実行するために -c 引数を必要とし、PowerShell-Command を、cmd/d/c の両方を必要とします。

このシェルによってサポートされるシェルの引用符。

ShellQuotedString

使用されるシェルに応じて引用される文字列。

プロパティ

使用する引用スタイル。

実際の文字列値。

ShellQuoting

スペースやサポートされていない文字が含まれている場合に、引数をどのように引用すべきかを定義します。

列挙型メンバー

文字のエスケープを使用する必要があります。これは、たとえば bash では \ を、PowerShell では ` を使用します。

強い文字列引用を使用する必要があります。これは、たとえば Windows cmd では " を、bash と PowerShell では ' を使用します。強い引用は引数をリテラル文字列として扱います。PowerShell では、echo 'The value is $(2 * 3)' とすると The value is $(2 * 3) が表示されます。

弱い文字列引用を使用する必要があります。これは、たとえば Windows cmd、bash、PowerShell では " を使用します。弱い引用は、引用された文字列内で何らかの評価を行います。PowerShell では、echo "The value is $(2 * 3)" とすると The value is 6 が表示されます。

ShellQuotingOptions

シェルの引用オプション。

プロパティ

文字エスケープに使用される文字。文字列が提供された場合、スペースのみがエスケープされます。{ escapeChar, charsToEscape } リテラルが提供された場合、charsToEscape 内のすべての文字が escapeChar を使用してエスケープされます。

強い引用に使用される文字。文字列の長さは1でなければなりません。

弱クォートに使用する文字。文字列の長さは1である必要があります。

SignatureHelp

Signature help(シグネチャヘルプ)は、呼び出し可能なもののシグネチャを表します。複数のシグネチャが存在する可能性がありますが、アクティブなシグネチャとアクティブなパラメータはそれぞれ1つだけです。

コンストラクター

パラメーター説明
戻り値説明
SignatureHelp

プロパティ

アクティブなシグネチャにおける、アクティブなパラメータ。

アクティブなシグネチャ。

1つ以上のシグネチャ。

SignatureHelpContext

SignatureHelpProvider がトリガーされたコンテキストに関する追加情報。

プロパティ

現在アクティブな SignatureHelp

activeSignatureHelpactiveSignature フィールドは、ユーザーが利用可能なシグネチャを矢印キーで操作する際に更新されます。

シグネチャヘルプがトリガーされた時点で既に表示されていた場合は true

再トリガーは、シグネチャヘルプが既にアクティブな状態で発生し、トリガー文字の入力、カーソルの移動、ドキュメント内容の変更などのアクションによって引き起こされる可能性があります。

シグネチャヘルプをトリガーした文字。

これは、シグネチャヘルプを手動で呼び出したりカーソルを移動したりする場合など、入力によってトリガーされない場合は undefined になります。

シグネチャヘルプをトリガーしたアクション。

SignatureHelpProvider

シグネチャヘルププロバイダーインターフェースは、拡張機能と パラメータヒント 機能との間の契約を定義します。

メソッド

指定された位置とドキュメントにあるシグネチャのヘルプを提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセル トークン。

context: SignatureHelpContext

シグネチャヘルプがどのようにトリガーされたかに関する情報。

戻り値説明
ProviderResult<SignatureHelp>

シグネチャヘルプ、またはそれを解決する Thenable オブジェクト。結果がない場合は、undefined または null を返すことで通知できます。

SignatureHelpProviderMetadata

登録された SignatureHelpProvider に関するメタデータ。

プロパティ

シグネチャヘルプを再トリガーする文字のリスト。

これらのトリガー文字は、シグネチャヘルプが既に表示されている場合にのみアクティブになります。すべてのトリガー文字は再トリガー文字としてもカウントされます。

シグネチャヘルプをトリガーする文字のリスト。

SignatureHelpTriggerKind

SignatureHelpProvider がどのようにトリガーされたか。

列挙型メンバー

ユーザーまたはコマンドによって手動でシグネチャヘルプが呼び出されました。

トリガー文字によってシグネチャヘルプがトリガーされました。

カーソルの移動またはドキュメントの内容の変更によってシグネチャヘルプがトリガーされました。

SignatureInformation

呼び出し可能なもののシグネチャを表します。シグネチャは、関数名などのラベル、ドキュメントコメント、およびパラメータのセットを持つことができます。

コンストラクター

新しいシグネチャ情報オブジェクトを作成します。

パラメーター説明
label: string

ラベル文字列。

documentation?: string | MarkdownString

ドキュメント文字列。

戻り値説明
SignatureInformation

プロパティ

アクティブなパラメータのインデックス。

指定された場合、これは SignatureHelp.activeParameter の代わりに使用されます。

このシグネチャの人間が読めるドキュメントコメント。UI に表示されますが、省略可能です。

このシグネチャのラベル。UI に表示されます。

このシグネチャのパラメータ。

SnippetString

スニペット文字列は、テキストを挿入し、挿入時にエディタのカーソルを制御するためのテンプレートです。

スニペットは $1$2、および ${3:foo} でタブストップとプレースホルダーを定義できます。$0 は最終的なタブストップを定義し、デフォルトはスニペットの末尾です。変数は $name および ${name:デフォルト値} で定義されます。完全なスニペット構文も参照してください。

コンストラクター

新しいスニペット文字列を作成します。

パラメーター説明
value?: string

スニペット文字列。

戻り値説明
SnippetString

プロパティ

スニペット文字列。

メソッド

このスニペット文字列の に選択肢 (${1|a,b,c|}) を追加するビルダー関数です。

パラメーター説明
values: readonly string[]

選択肢の値 - 文字列の配列

number?: number

このタブストップの番号。デフォルトは 1 から始まる自動インクリメント値です。

戻り値説明
SnippetString

このスニペット文字列。

このスニペット文字列の にプレースホルダー (${1:value}) を追加するビルダー関数です。

パラメーター説明
value: string | (snippet: SnippetString) => any

このプレースホルダーの値 - 文字列、またはネストされたスニペットを作成できる関数。

number?: number

このタブストップの番号。デフォルトは 1 から始まる自動インクリメント値です。

戻り値説明
SnippetString

このスニペット文字列。

このスニペット文字列の にタブストップ ($1$2 など) を追加するビルダー関数です。

パラメーター説明
number?: number

このタブストップの番号。デフォルトは 1 から始まる自動インクリメント値です。

戻り値説明
SnippetString

このスニペット文字列。

指定された文字列をこのスニペット文字列の に追加するビルダー関数です。

パラメーター説明
string: string

'与えられた通りに' 追加する値。文字列はエスケープされます。

戻り値説明
SnippetString

このスニペット文字列。

このスニペット文字列の に変数 (${VAR}) を追加するビルダー関数です。

パラメーター説明
name: string

変数名 - $ を除く。

defaultValue: string | (snippet: SnippetString) => any

変数名を解決できない場合に使用されるデフォルト値 - 文字列、またはネストされたスニペットを作成できる関数。

戻り値説明
SnippetString

このスニペット文字列。

SnippetTextEdit

スニペット編集は、エディタによって実行される対話的な編集を表します。

注意: スニペット編集は、通常の テキスト編集 として常に実行可能です。これは、対応するエディタが開いていない場合や、ワークスペース編集 に複数のファイルに対するスニペット編集が含まれている場合に発生します。その場合、アクティブなエディタに一致するものだけがスニペット編集として実行され、その他は通常のテキスト編集として実行されます。

静的

挿入スニペット編集を作成するためのユーティリティ。

パラメーター説明
position: Position

位置。空の範囲になります。

snippet: SnippetString

スニペット文字列。

戻り値説明
SnippetTextEdit

新しいスニペット編集オブジェクト。

置換スニペット編集を作成するためのユーティリティ。

パラメーター説明
range: Range

範囲。

snippet: SnippetString

スニペット文字列。

戻り値説明
SnippetTextEdit

新しいスニペット編集オブジェクト。

コンストラクター

新しいスニペット編集を作成します。

パラメーター説明
range: Range

範囲。

snippet: SnippetString

スニペット文字列。

戻り値説明
SnippetTextEdit

プロパティ

スニペット編集を適用する際に、既存の空白を保持するかどうか。

この編集が適用される範囲。

この編集が実行する スニペット

SourceBreakpoint

ソース上の場所によって指定されるブレークポイント。

コンストラクター

ソースの場所に対して新しいブレークポイントを作成します。

パラメーター説明
location: Location
enabled?: boolean
condition?: string
hitCondition?: string
logMessage?: string
戻り値説明
SourceBreakpoint

プロパティ

条件付きブレークポイントの式(オプション)。

ブレークポイントが有効かどうか。

ブレークポイントのヒットを何回無視するかを制御する式(オプション)。

ブレークポイントの一意のID。

このブレークポイントのソースと行の位置。

このブレークポイントがヒットしたときにログに記録されるメッセージ(オプション)。{} 内の埋め込み式は、デバッグアダプターによって補間されます。

SourceControl

ソース管理は、エディタに リソース状態 を提供し、ソース管理に関連するいくつかの方法でエディタとやり取りすることができます。

プロパティ

オプションの入力受付コマンド。

このコマンドは、ユーザーがソース管理入力の値を確定したときに呼び出されます。

オプションのコミットテンプレート文字列。

ソース管理ビューレットは、適切な場合にソース管理入力をこの値で埋めます。

UI に表示されるこのソース管理の リソース状態 の数。

未定義の場合、このソース管理は

  • UI に表示される数をゼロとして表示し、
  • その リソース状態 の数を、すべてのソース管理の集計された UI 表示数に貢献します。

このソース管理の ID。

このソース管理の 入力ボックス

このソース管理の人間が読めるラベル。

このソース管理のルートの (オプションの) Uri。

オプションのステータスバーコマンド。

これらのコマンドは、エディタのステータスバーに表示されます。

メソッド

新しい リソースグループ を作成します。

パラメーター説明
id: string
label: string
戻り値説明
SourceControlResourceGroup

このソース管理を破棄します。

パラメーター説明
戻り値説明
void

SourceControlInputBox

ソース管理ビューレットの入力ボックスを表します。

プロパティ

入力ボックスが有効かどうかを制御します (デフォルトは true)。

ユーザーを案内するために、入力ボックスのプレースホルダーとして表示する文字列。

入力ボックスの内容のセッターとゲッター。

入力ボックスが表示されるかどうかを制御します (デフォルトは true)。

SourceControlResourceDecorations

ソース管理リソース状態 の装飾。ライトテーマとダークテーマで個別に指定できます。

プロパティ

ダークテーマの装飾。

ソース管理リソース状態 が UI でフェードアウトされるべきかどうか。

特定の ソース管理リソース状態 のアイコンパス。

ライトテーマの装飾。

ソース管理リソース状態 が UI で取り消し線されるべきかどうか。

特定の ソース管理リソース状態 のタイトル。

SourceControlResourceGroup

ソース管理リソースグループは、ソース管理リソース状態 のコレクションです。

プロパティ

リソースグループのコンテキスト値。これは、リソースグループ固有のアクションを追加するために使用できます。たとえば、リソースグループに exportable というコンテキスト値が与えられた場合、menus 拡張ポイントを使用して scm/resourceGroup/context にアクションを追加する際、when 式で scmResourceGroupState == exportable のようにキー scmResourceGroupState のコンテキスト値を指定できます。

"contributes": {
  "menus": {
    "scm/resourceGroup/context": [
      {
        "command": "extension.export",
        "when": "scmResourceGroupState == exportable"
      }
    ]
  }
}

これにより、contextValueexportable と等しいリソースグループに対してのみ extension.export アクションが表示されます。

このソース管理リソースグループに ソース管理リソース状態 が含まれていない場合に非表示にするかどうか。

このソース管理リソースグループの ID。

このソース管理リソースグループのラベル。

このグループの ソース管理リソース状態 のコレクション。

メソッド

このソース管理リソースグループを破棄します。

パラメーター説明
戻り値説明
void

SourceControlResourceState

ソース管理リソース状態は、特定の ソース管理グループ 内の基礎となるワークスペースリソースの状態を表します。

プロパティ

ソース管理ビューレットでリソース状態が開かれたときに実行される コマンド

リソース状態のコンテキスト値。これは、リソース固有のアクションを追加するために使用できます。たとえば、リソースに diffable というコンテキスト値が与えられた場合。menus 拡張ポイントを使用して scm/resourceState/context にアクションを追加する際、when 式で scmResourceState == diffable のようにキー scmResourceState のコンテキスト値を指定できます。

"contributes": {
  "menus": {
    "scm/resourceState/context": [
      {
        "command": "extension.diff",
        "when": "scmResourceState == diffable"
      }
    ]
  }
}

これにより、contextValuediffable であるリソースに対してのみ extension.diff アクションが表示されます。

このソース管理リソース状態の 装飾

ワークスペース内の基礎となるリソースの Uri

SourceControlResourceThemableDecorations

ソース管理リソース状態 のテーマ対応の装飾。

プロパティ

特定の ソース管理リソース状態 のアイコンパス。

StatementCoverage

単一のステートメントまたは行の実行範囲情報を含みます。

コンストラクター

パラメーター説明
executed: number | boolean

このステートメントが実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。0 または false の場合、ステートメントは未実行としてマークされます。

location: Range | Position

ステートメントの位置。

branches?: BranchCoverage[]

この行の分岐からの実行範囲。条件式ではない場合は省略する必要があります。

戻り値説明
StatementCoverage

プロパティ

この行またはステートメントの分岐からの実行範囲。条件式ではない場合、これは空になります。

このステートメントが実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。0 または false の場合、ステートメントは未実行としてマークされます。

ステートメントの位置。

StatusBarAlignment

ステータスバーアイテムの配置を表します。

列挙型メンバー

左側に配置。

右側に配置。

StatusBarItem

ステータスバーアイテムは、テキストやアイコンを表示し、クリック時にコマンドを実行できるステータスバーへの貢献です。

プロパティ

スクリーンリーダーがこの StatusBar アイテムとやり取りする際に使用されるアクセシビリティ情報。

このアイテムの配置。

このエントリの背景色。

注意: 以下の色のみがサポートされています。

  • new ThemeColor('statusBarItem.errorBackground')
  • new ThemeColor('statusBarItem.warningBackground')

将来的にはより多くの背景色がサポートされる可能性があります。

注意: 背景色が設定されている場合、すべてのテーマでエントリが読み取り可能であることを保証するために、ステータスバーが color の選択を上書きする可能性があります。

このエントリの前景色。

クリック時に実行する コマンド またはコマンドの識別子。

コマンドは既知である必要があります。

これがCommandオブジェクトの場合、コマンド引数のみがエディターによって使用されることに注意してください。

このアイテムの識別子。

注意: window.createStatusBarItem メソッドによって識別子が提供されなかった場合、識別子は 拡張機能の識別子 と一致します。

'Python Language Indicator'、'Git Status' などのエントリ名。名前は短くしつつも、ユーザーがそのステータスバーアイテムが何であるかを理解できる程度に記述的であるようにしてください。

このアイテムの優先度。値が大きいほど、アイテムがより左側に表示されます。

エントリに表示するテキスト。構文を利用してテキストにアイコンを埋め込むことができます。

My text $(icon-name) contains icons like $(icon-name) this one.

ここで icon-name は ThemeIcon アイコンセット から取得されます(例:light-bulbthumbsupzap など)。

このエントリにホバーしたときのツールチップテキスト。

メソッド

破棄して関連リソースを解放します。hide を呼び出してください。

パラメーター説明
戻り値説明
void

ステータスバーのエントリを非表示にします。

パラメーター説明
戻り値説明
void

ステータスバーにエントリを表示します。

パラメーター説明
戻り値説明
void

SymbolInformation

変数、クラス、インターフェースなどのプログラミング構成に関する情報を表します。

コンストラクター

新しいシンボル情報オブジェクトを作成します。

パラメーター説明
name: string

シンボルの名前。

kind: SymbolKind

シンボルの種類。

containerName: string

シンボルを含むシンボルの名前。

location: Location

シンボルの位置。

戻り値説明
SymbolInformation

新しいシンボル情報オブジェクトを作成します。

  • 非推奨 - Location オブジェクトを受け取るコンストラクターを使用してください。
パラメーター説明
name: string

シンボルの名前。

kind: SymbolKind

シンボルの種類。

range: Range

シンボルの場所の範囲。

uri?: Uri

シンボルの場所のリソース。デフォルトは現在のドキュメントです。

containerName?: string

シンボルを含むシンボルの名前。

戻り値説明
SymbolInformation

プロパティ

このシンボルを含むシンボルの名前。

このシンボルの種類。

このシンボルの場所。

このシンボルの名前。

このシンボルのタグ。

SymbolKind

シンボルの種類。

列挙型メンバー

File シンボル種別。

Module シンボル種別。

Namespace シンボル種別。

Package シンボル種別。

Class シンボル種別。

Method シンボル種別。

Property シンボル種別。

Field シンボル種別。

Constructor シンボル種別。

Enum シンボル種別。

Interface シンボル種別。

Function シンボル種別。

Variable シンボル種別。

Constant シンボル種別。

String シンボル種別。

Number シンボル種別。

Boolean シンボル種別。

Array シンボル種別。

Object シンボル種別。

Key シンボル種別。

Null シンボル種別。

EnumMember シンボル種別。

Struct シンボル種別。

Event シンボル種別。

Operator シンボル種別。

TypeParameter シンボル種別。

SymbolTag

シンボルタグは、シンボルのレンダリングを調整する追加の注釈です。

列挙型メンバー

シンボルを廃止としてレンダリングします。通常は取り消し線を使用します。

SyntaxTokenType

一般的に見られる構文トークン型の列挙。

列挙型メンバー

コメント、文字列リテラル、正規表現の一部であるトークン以外のすべて。

コメント。

文字列リテラル。

正規表現。

Tab

タブのグループ 内のタブを表します。タブはエディタ領域内のグラフィカルな表現に過ぎません。バッキングエディタがあることは保証されません。

プロパティ

タブが属するグループ。

タブの構造(テキスト、ノートブック、カスタムなど)を定義します。リソースやその他の有用なプロパティはタブの種類に定義されています。

タブが現在アクティブかどうか。これは、グループ内で選択されているタブであることによって決定されます。

タブに未保存のインジケーターが表示されているかどうか。

タブが固定されているかどうか(ピンアイコンが表示されている)。

タブがプレビューモードであるかどうか。

タブに表示されるテキスト。

TabChangeEvent

タブへの変更を記述するイベント。

プロパティ

変更されたタブ。例えば、アクティブ 状態が変更されたもの。

閉じられたタブ。

開かれたタブ。

TabGroup

タブのグループを表します。タブグループ自体は複数のタブで構成されます。

プロパティ

グループ内のアクティブな タブ。これは現在内容がレンダリングされているタブです。

注意: グループごとに1つのアクティブなタブを持つことができますが、アクティブなグループ は1つしか存在できません。

グループが現在アクティブかどうか。

注意: 一度にアクティブなタブグループは1つだけですが、複数のタブグループが アクティブなタブ を持つことができます。

関連項目 Tab.isActive

グループ内に含まれるタブのリスト。グループに開いているタブがない場合、これは空になる可能性があります。

グループのビュー列。

TabGroupChangeEvent

タブグループへの変更を記述するイベント。

プロパティ

変更されたタブグループ。例えば、アクティブ 状態が変更されたもの。

閉じられたタブグループ。

開かれたタブグループ。

TabGroups

タブを含む複数のグループで構成されるメインエディタ領域を表します。

イベント

タブグループ が変更されたときに発生する イベント

タブ が変更されたときに発生する イベント

プロパティ

現在アクティブなグループ。

グループコンテナ内のすべてのグループ。

メソッド

タブを閉じます。これによりタブオブジェクトは無効になり、それ以降の操作でタブを使用すべきではありません。注意: 未保存のタブの場合、キャンセルされる可能性のある確認ダイアログが表示されます。キャンセルされた場合、タブは依然として有効です。

パラメーター説明
tab: Tab | readonly Tab[]

閉じるタブ。

preserveFocus?: boolean

true の場合、フォーカスは現在の位置に保持されます。false の場合、次のタブに移動します。

戻り値説明
Thenable<boolean>

すべてのタブが閉じられたときに true に解決される Promise。

タブグループを閉じます。これによりタブグループオブジェクトは無効になり、それ以降の操作でタブグループを使用すべきではありません。

パラメーター説明
tabGroup: TabGroup | readonly TabGroup[]

閉じるタブグループ。

preserveFocus?: boolean

true の場合、フォーカスは現在の位置に保持されます。

戻り値説明
Thenable<boolean>

すべてのタブグループが閉じられたときに true に解決される Promise。

TabInputCustom

このタブはカスタムエディタを表します。

コンストラクター

カスタムエディタタブ入力を構築します。

パラメーター説明
uri: Uri

タブの URI。

viewType: string

カスタムエディタのビュータイプ。

戻り値説明
TabInputCustom

プロパティ

タブが表している URI。

カスタムエディタの種類。

TabInputNotebook

このタブはノートブックを表します。

コンストラクター

ノートブック用の新しいタブ入力を構築します。

パラメーター説明
uri: Uri

ノートブックの URI。

notebookType: string

ノートブックの種類。NotebookDocument の notebookType にマップされます。

戻り値説明
TabInputNotebook

プロパティ

ノートブックの種類。NotebookDocument の notebookType にマップされます。

タブが表している URI。

TabInputNotebookDiff

このタブは、diff 構成内の2つのノートブックを表します。

コンストラクター

ノートブック diff タブ入力を構築します。

パラメーター説明
original: Uri

元の未変更のノートブックの URI。

modified: Uri

変更されたノートブックの URI。

notebookType: string

ノートブックの種類。NotebookDocument の notebookType にマップされます。

戻り値説明
TabInputNotebookDiff

プロパティ

変更されたノートブックの URI。

ノートブックの種類。NotebookDocument の notebookType にマップされます。

元のノートブックの URI。

TabInputTerminal

このタブはエディタ領域内のターミナルを表します。

コンストラクター

ターミナルタブ入力を構築します。

パラメーター説明
戻り値説明
TabInputTerminal

TabInputText

このタブは単一のテキストベースのリソースを表します。

コンストラクター

指定された URI を持つテキストタブ入力を構築します。

パラメーター説明
uri: Uri

タブの URI。

戻り値説明
TabInputText

プロパティ

タブによって表される URI。

TabInputTextDiff

このタブは、diff としてレンダリングされる2つのテキストベースのリソースを表します。

コンストラクター

指定された URI を持つ新しいテキスト diff タブ入力を構築します。

パラメーター説明
original: Uri

元のテキストリソースの URI。

modified: Uri

変更されたテキストリソースの URI。

戻り値説明
TabInputTextDiff

プロパティ

変更されたテキストリソースの URI。

元のテキストリソースの URI。

TabInputWebview

このタブは Webview を表します。

コンストラクター

指定されたビュータイプを持つ Webview タブ入力を構築します。

パラメーター説明
viewType: string

Webview の種類。WebviewPanel の viewType にマップされます。

戻り値説明
TabInputWebview

プロパティ

Webview の種類。WebviewPanel の viewType にマップされます。

Task

実行するタスク。

コンストラクター

新しいタスクを作成します。

パラメーター説明
taskDefinition: TaskDefinition

taskDefinitions 拡張ポイントで定義されたタスク定義。

scope: WorkspaceFolder | Global | Workspace

タスクのスコープを指定します。グローバルタスク、ワークスペースタスク、または特定のワークスペースフォルダーのタスクのいずれかです。グローバルタスクは現在サポートされていません。

name: string

タスクの名前。ユーザーインターフェースに表示されます。

source: string

タスクのソース (例: 'gulp', 'npm', ...)。ユーザーインターフェースに表示されます。

execution?: ProcessExecution | ShellExecution | CustomExecution

プロセスまたはシェル実行。

problemMatchers?: string | string[]

使用する問題マッチャーの名前(例: '$tsc' や '$eslint')。問題マッチャーは、problemMatchers 拡張ポイントを使用して拡張機能によって提供されます。

戻り値説明
Task

新しいタスクを作成します。

  • 非推奨 - タスクのスコープを指定できる新しいコンストラクターを使用してください。
パラメーター説明
taskDefinition: TaskDefinition

taskDefinitions 拡張ポイントで定義されたタスク定義。

name: string

タスクの名前。ユーザーインターフェースに表示されます。

source: string

タスクのソース (例: 'gulp', 'npm', ...)。ユーザーインターフェースに表示されます。

execution?: ProcessExecution | ShellExecution

プロセスまたはシェル実行。

problemMatchers?: string | string[]

使用する問題マッチャーの名前(例: '$tsc' や '$eslint')。問題マッチャーは、problemMatchers 拡張ポイントを使用して拡張機能によって提供されます。

戻り値説明
Task

プロパティ

タスクの定義。

タスク名が表示される場所で、別の行に目立たなくレンダリングされる人間が読める文字列。$(<name>) 構文による テーマアイコン のレンダリングをサポートしています。

タスクの実行エンジン。

このタスクが属するタスクグループ。利用可能な事前定義済みグループのセットについては TaskGroup を参照してください。デフォルトは未定義で、タスクが特別なグループに属していないことを意味します。

タスクがバックグラウンドタスクかどうか。

タスクの名前。

プレゼンテーションオプション。デフォルトは空のリテラルです。

タスクに添付された問題マッチャー。デフォルトは空の配列です。

タスクの実行オプション。

タスクのスコープ。

このシェルタスクのソースを説明する、人間が読める形式の文字列(例: 'gulp' や 'npm')。$(<name>) 構文によるテーマアイコンのレンダリングをサポートしています。

TaskDefinition

システム内のタスクの種類を定義する構造体。値は JSON 文字列化可能である必要があります。

プロパティ

拡張機能によって提供されるタスクを記述するタスク定義。通常、タスクプロバイダーはタスクを識別するためにさらなるプロパティを定義します。これらは、拡張機能の package.json 内の 'taskDefinitions' 拡張ポイントの下で定義する必要があります。例えば、npm のタスク定義は以下のようになります。

interface NpmTaskDefinition extends TaskDefinition {
  script: string;
}

'$' で始まる型識別子は内部使用のために予約されており、拡張機能で使用すべきではないことに注意してください。

TaskEndEvent

実行されたタスクの終了を通知するイベント。

このインターフェースは実装されることを意図していません。

プロパティ

終了したタスクを表すタスクアイテム。

TaskExecution

実行されたタスクを表すオブジェクト。タスクの終了(停止)に使用できます。

このインターフェースは実装されることを意図していません。

プロパティ

開始されたタスク。

メソッド

タスクの実行を終了します。

パラメーター説明
戻り値説明
void

TaskFilter

タスクフィルターは、バージョンと型によってタスクを指定します。

プロパティ

返すタスクの型。

tasks.json ファイルで使用されるタスクのバージョン。この文字列は package.json のセマンティックバージョニング(semver)表記をサポートしています。

TaskGroup

タスクのグループ化。エディタはデフォルトで 'Clean'、'Build'、'RebuildAll'、'Test' グループをサポートしています。

静的

ビルドタスクグループ。

クリーンタスクグループ。

リビルド(全て再構築)タスクグループ。

テスト(全て)タスクグループ。

コンストラクター

非公開のコンストラクター。

パラメーター説明
id: string

タスクグループの識別子。

label: string

タスクグループの人間が読める名前。

戻り値説明
TaskGroup

プロパティ

タスクグループの ID。TaskGroup.Clean.id、TaskGroup.Build.id、TaskGroup.Rebuild.id、または TaskGroup.Test.id のいずれかです。

このグループに含まれるタスクが、そのグループのデフォルトであるかどうか。このプロパティは API を通じて設定することはできず、ユーザーのタスク構成によって制御されます。

TaskPanelKind

タスク間でタスクチャネルがどのように使用されるかを制御します。

列挙型メンバー

他のタスクとパネルを共有します。これがデフォルトです。

このタスク専用のパネルを使用します。パネルは他のタスクと共有されません。

このタスクが実行されるたびに新しいパネルを作成します。

TaskPresentationOptions

UI におけるタスクの表示方法を制御します。

プロパティ

タスクの実行前にターミナルをクリアするかどうかを制御します。

タスクの実行後にターミナルを閉じるかどうかを制御します。

タスクに関連付けられたコマンドをユーザーインターフェースにエコー表示(出力)するかどうかを制御します。

タスク出力を表示するパネルにフォーカスを当てるかどうかを制御します。

タスクパネルをこのタスク専用にするか(Dedicated)、タスク間で共有するか(Shared)、あるいは実行のたびに新しいパネルを作成するか(New)を制御します。デフォルトは TaskInstanceKind.Shared です。

タスクの出力をユーザーインターフェースに表示(Reveal)するかどうかを制御します。デフォルトは RevealKind.Always です。

"Terminal will be reused by tasks, press any key to close it"(ターミナルはタスクによって再利用されます。キーを押すと閉じます)というメッセージを表示するかどうかを制御します。

TaskProcessEndEvent

タスクを通じてトリガーされたプロセス実行の終了を通知するイベント。

プロパティ

プロセスが開始されたタスクの実行。

プロセスの終了コード。タスクが強制終了された場合は undefined になります。

TaskProcessStartEvent

タスクを通じてトリガーされたプロセス実行の開始を通知するイベント。

プロパティ

プロセスが開始されたタスクの実行。

基礎となるプロセスID。

TaskProvider<T>

タスクプロバイダーにより、タスクサービスにタスクを追加できます。タスクプロバイダーは tasks.registerTaskProvider を介して登録されます。

メソッド

タスクを提供します。

パラメーター説明
token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T[]>

タスクの配列。

実行が設定されていないタスクを解決します。タスクは多くの場合、tasks.json ファイルで見つかった情報から作成されます。そのようなタスクには実行方法に関する情報が欠けているため、タスクプロバイダーは resolveTask メソッドで欠けている情報を補完する必要があります。このメソッドは、上記の provideTasks メソッドから返されたタスクに対しては呼び出されません。それらのタスクは常に完全に解決されているためです。resolveTask メソッドの妥当なデフォルト実装は undefined を返すことです。

task のプロパティを埋める際は、新しいものを作成するのではなく、まったく同じ TaskDefinition を使用するように必ず注意してください。他のプロパティは変更しても構いません。

パラメーター説明
task: T

解決するタスク。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T>

解決されたタスク。

TaskRevealKind

ターミナルの可視性の動作を制御します。

列挙型メンバー

タスクが実行されると、常にターミナルを前面に表示します。

タスクの実行中に問題(開始できなかったなど)が検出された場合にのみ、ターミナルを前面に表示します。

タスクが実行されても、ターミナルは決して前面に表示されません。

TaskScope

タスクのスコープ。

列挙型メンバー

タスクはグローバルタスクです。グローバルタスクは現在サポートされていません。

タスクはワークスペースタスクです。

TaskStartEvent

タスク実行の開始を通知するイベント。

このインターフェースは実装されることを意図していません。

プロパティ

開始されたタスクを表すタスクアイテム。

TelemetryLogger

拡張機能が使用状況とエラーのテレメトリをログに記録するために使用できるテレメトリロガー。

ロガーは 送信者 をラップしますが、以下のことを保証します。

  • テレメトリを無効化または調整するユーザー設定が尊重されること、および
  • 潜在的に機密性の高いデータが削除されること。

また、送信されたデータを表示する「echo UI」を有効にし、エディタが未処理のエラーをそれぞれの拡張機能に転送できるようにします。

TelemetryLogger のインスタンスを取得するには、createTelemetryLogger を使用してください。

イベント

使用状況またはエラーのテレメトリの有効状態が変更されたときに発生する イベント

プロパティ

このロガーでエラーテレメトリが有効かどうか。

このロガーで使用状況テレメトリが有効かどうか。

メソッド

このオブジェクトを破棄し、リソースを解放します。

パラメーター説明
戻り値説明
void

エラーイベントをログに記録します。

クリーンアップ、テレメトリ設定のチェック、データ・ミックスインが完了した後、TelemetrySender.sendEventData を呼び出してイベントを記録します。テレメトリ設定が「Error+」の場合にイベントをログに記録するという点で logUsage とは異なります。自動的に拡張機能のテレメトリ出力チャネルへのエコーをサポートします。

パラメーター説明
eventName: string

ログに記録するイベント名。

data?: Record<string, any>

ログに記録するデータ。

戻り値説明
void

エラーイベントをログに記録します。

TelemetrySender.sendErrorData を呼び出します。クリーンアップ、テレメトリチェック、データ・ミックスインを行います。自動的に拡張機能のテレメトリ出力チャネルへのエコーをサポートします。また、拡張機能ホストプロセス内でスローされた例外も自動的にログに記録します。

パラメーター説明
error: Error

PII(個人を特定できる情報)がクリーニングされたスタックトレースを含むエラーオブジェクト。

data?: Record<string, any>

スタックトレースと一緒にログに記録する追加データ。

戻り値説明
void

使用状況イベントをログに記録します。

クリーンアップ、テレメトリ設定のチェック、データ・ミックスインが完了した後、TelemetrySender.sendEventData を呼び出してイベントをログに記録します。自動的に拡張機能のテレメトリ出力チャネルへのエコーをサポートします。

パラメーター説明
eventName: string

ログに記録するイベント名。

data?: Record<string, any>

ログに記録するデータ。

戻り値説明
void

TelemetryLoggerOptions

TelemetryLogger を作成するためのオプション。

プロパティ

データオブジェクトに注入する必要がある追加の共通プロパティ。

OS、拡張機能名などの組み込み共通プロパティをデータオブジェクトに注入したくないかどうか。定義されていない場合のデフォルトは false です。

拡張機能が原因で拡張ホスト上で発生した未処理のエラーを送信者にログ記録するかどうか。定義されていない場合のデフォルトは false です。

TelemetrySender

テレメトリ送信者は、テレメトリロガーと何らかのテレメトリサービス間の契約です。注: ロガーは追加の保護とクリーニング機能を提供するため、拡張機能は送信者のメソッドを直接呼び出してはなりません。

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

メソッド

TelemetryLogger が破棄される際に、残りのイベントを送信する機会をこの送信者に与えるためのオプションのフラッシュ関数。

パラメーター説明
戻り値説明
void | Thenable<void>

エラーを送信する関数。TelemetryLogger 内で使用されます。

パラメーター説明
error: Error

記録されているエラー。

data?: Record<string, any>

例外と共に収集される追加データ。

戻り値説明
void

スタックトレースなしでイベントデータを送信する関数。TelemetryLogger 内で使用されます。

パラメーター説明
eventName: string

記録しているイベント名。

data?: Record<string, any>

記録されているシリアル化可能なキーと値のペア。

戻り値説明
void

TelemetryTrustedValue<T>

クリーニングを行わなくても安全である値を示す特別な値ラッパー。値に識別可能な情報が含まれていないことが保証されており、クリーニングによって不適切に情報が編集されてしまう場合に使用します。

コンストラクター

新しいテレメトリ信頼値を作成します。

パラメーター説明
value: T

信頼する値。

戻り値説明
TelemetryTrustedValue<T>

プロパティ

PII を含まないことが信頼されている値。

Terminal

統合ターミナル内の個別のターミナルインスタンス。

プロパティ

ターミナルの初期化に使用されるオブジェクト。例えば、この拡張機能によって起動されなかったターミナルのシェルタイプを検出したり、シェルがどのフォルダーで起動されたかを検出したりするのに役立ちます。

ターミナルの終了ステータス。ターミナルがアクティブな間は undefined になります。

例: ターミナルが非ゼロの終了コードで終了したときに、終了コードを表示する通知を表示します。

window.onDidCloseTerminal(t => {
  if (t.exitStatus && t.exitStatus.code) {
    vscode.window.showInformationMessage(`Exit code: ${t.exitStatus.code}`);
  }
});

ターミナルの名前。

シェルプロセスのプロセスID。

ターミナル向けの シェル統合 機能を持つオブジェクト。ターミナル作成直後は常に undefined になります。ターミナルでシェル統合がアクティブになったときに通知を受け取るには、window.onDidChangeTerminalShellIntegration をリッスンしてください。

シェル統合がアクティブにならない場合、このオブジェクトは undefined のままになる可能性があることに注意してください。例えば、コマンドプロンプトはシェル統合をサポートしておらず、ユーザーのシェル設定が自動的なシェル統合のアクティブ化と競合する可能性があります。

Terminal の現在の状態。

メソッド

関連するリソースを破棄し、解放する。

パラメーター説明
戻り値説明
void

このターミナルが現在表示されている場合、ターミナルパネルを非表示にします。

パラメーター説明
戻り値説明
void

ターミナルにテキストを送信します。テキストは、ターミナルの基礎となる pty プロセス(シェル)の標準入力に書き込まれます。

パラメーター説明
text: string

送信するテキスト。

shouldExecute?: boolean

送信されるテキストがターミナルに挿入されるだけでなく、実行される必要があることを示します。追加される文字は、プラットフォームに応じて \n または \r\n です。デフォルトは true です。

戻り値説明
void

ターミナルパネルを表示し、UI でこのターミナルを明らかにします。

パラメーター説明
preserveFocus?: boolean

true の場合、ターミナルはフォーカスを取得しません。

戻り値説明
void

TerminalDimensions

ターミナルの寸法を表します。

プロパティ

ターミナルの列数。

ターミナルの行数。

TerminalEditorLocationOptions

エディタの TerminalLocation を想定し、ViewColumn および preserveFocus プロパティの指定を許可します。

プロパティ

true の場合、Terminal がフォーカスを取得するのを防ぐオプションのフラグ。

エディタ領域で ターミナル を表示するビュー列。デフォルトは アクティブ です。存在しない列は、最大 ViewColumn.Nine まで必要に応じて作成されます。現在アクティブなエディタの横にエディタを開くには ViewColumn.Beside を使用してください。

TerminalExitReason

ターミナルの終了理由の種別。

列挙型メンバー

不明な理由。

ウィンドウが閉じられたか、リロードされました。

シェルプロセスが終了しました。

ユーザーがターミナルを閉じました。

拡張機能がターミナルを破棄しました。

TerminalExitStatus

ターミナルがどのように終了したかを表します。

プロパティ

ターミナルが終了した際の終了コード。以下の値を持つ可能性があります。

  • ゼロ: ターミナルプロセスまたはカスタム実行が成功しました。
  • 非ゼロ: ターミナルプロセスまたはカスタム実行が失敗しました。
  • undefined: ユーザーがターミナルを強制終了したか、カスタム実行が終了コードを提供せずに終了しました。

ターミナルの終了をトリガーした理由。

ターミナル行上のリンク。

コンストラクター

新しいターミナルリンクを作成します。

パラメーター説明
startIndex: number

TerminalLinkContext.line 上のリンクの開始インデックス。

length: number

TerminalLinkContext.line 上のリンクの長さ。

tooltip?: string

このリンクにカーソルを合わせたときに表示されるツールチップテキスト。

ツールチップが提供される場合、リンクをトリガーする方法(例: {0} (ctrl + click))を含む文字列で表示されます。具体的な指示は、OS、ユーザー設定、ローカライズによって異なります。

戻り値説明
TerminalLink

プロパティ

TerminalLinkContext.line 上のリンクの長さ。

TerminalLinkContext.line 上のリンクの開始インデックス。

このリンクにカーソルを合わせたときに表示されるツールチップテキスト。

ツールチップが提供される場合、リンクをトリガーする方法(例: {0} (ctrl + click))を含む文字列で表示されます。具体的な指示は、OS、ユーザー設定、ローカライズによって異なります。

TerminalLinkContext

リンクを提供するために、ターミナル内の行に関する情報を提供します。

プロパティ

これはターミナル内の折り返されていない行からのテキストです。

リンクが属するターミナル。

TerminalLinkProvider<T>

ターミナル内のリンクの検出と処理を可能にするプロバイダー。

メソッド

アクティブ化されたターミナルリンクを処理します。

パラメーター説明
link: T

処理するリンク。

戻り値説明
ProviderResult<void>

指定されたコンテキストに対してターミナルリンクを提供します。これは、以前の呼び出しが解決される前であっても複数回呼び出される可能性があるため、非同期使用が重なったときに問題が発生する可能性のあるグローバルオブジェクト(例: RegExp)を共有しないように注意してください。

パラメーター説明
context: TerminalLinkContext

どのリンクが提供されているかに関する情報。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T[]>

指定された行のターミナルリンクのリスト。

TerminalLocation

ターミナルの場所。

列挙型メンバー

ターミナルビュー内。

エディタ領域内。

TerminalOptions

ターミナルが使用すべきオプションを記述する値オブジェクト。

プロパティ

ターミナルのアイコン ThemeColor。テーマ全体で最高のコントラストと一貫性を実現するために、terminal.ansi* テーマキーが推奨されます。

ターミナルに使用される現在の作業ディレクトリへのパスまたは Uri。

エディタプロセスに追加される環境変数を持つオブジェクト。

有効にすると、ターミナルはプロセスを通常通り実行しますが、Terminal.show が呼び出されるまでユーザーには表示されません。これの典型的な用途は、対話が必要になる可能性があり、かつ対話が必要になったときにのみユーザーに知らせたいものを実行する必要がある場合です。ターミナルは通常通りすべての拡張機能に公開されることに注意してください。隠されたターミナルは、次にワークスペースを開いたときに復元されません。

ターミナルのアイコンパスまたは ThemeIcon

再起動やリロード時のデフォルトのターミナル永続化をオプトアウトします。これは terminal.integrated.enablePersistentSessions が有効な場合にのみ適用されます。

最初の起動時にターミナルに書き込むメッセージ。これはプロセスに送信されるのではなく、ターミナルに直接書き込まれます。これは、テキストスタイルの設定などのエスケープシーケンスをサポートしています。

UI でターミナルを表すために使用される人間が読める文字列。

カスタムシェル実行可能ファイルの引数。文字列は Windows でのみ使用でき、コマンドライン形式でのシェル引数の指定が可能です。

シェル統合シーケンスが信頼できるソースからのものであることを確認するために使用するナンス(nonce)。この UX への影響の例として、コマンドラインがナンス付きで報告された場合、シェル統合コマンド装飾 を通じてそれを再実行する前に、ユーザーがそのコマンドラインが正しいかを確認する必要がなくなります。

ターミナルが カスタムシェル統合サポート を含む場合に使用する必要があります。ランダムな GUID に設定されるべきであり、その後 VSCODE_NONCE 環境変数が設定されます。シェル内では、一般的なアクセスから保護するために、これを環境から削除する必要があります。それが完了すると、関連するシーケンスに渡して信頼できるようにすることができます。

ターミナルで使用されるカスタムシェル実行可能ファイルへのパス。

ターミナルプロセスの環境を TerminalOptions.env で提供された通りに厳密にするかどうか。これが false(デフォルト)の場合、環境はウィンドウの環境に基づき、さらに terminal.integrated.env.windows のような構成されたプラットフォーム設定が上乗せされます。これが true の場合、プロセスや構成から継承されるものはないため、完全な環境を提供する必要があります。

TerminalProfile

ターミナルプロファイルは、ターミナルがどのように起動されるかを定義します。

コンストラクター

新しいターミナルプロファイルを作成します。

パラメーター説明
options: TerminalOptions | ExtensionTerminalOptions

ターミナルが起動する際のオプション。

戻り値説明
TerminalProfile

プロパティ

ターミナルが起動する際のオプション。

TerminalProfileProvider

UI またはコマンドから起動されたときに、提供されたターミナルプロファイルのためにターミナルプロファイルを提供します。

メソッド

ターミナルプロファイルを提供します。

パラメーター説明
token: CancellationToken

結果が不要になったことを示すキャンセル トークン。

戻り値説明
ProviderResult<TerminalProfile>

ターミナルプロファイル。

TerminalShellExecution

ターミナルで実行されたコマンド。

プロパティ

実行されたコマンドライン。この値の 信頼度 は、特定のシェルのシェル統合実装に依存します。この値は window.onDidEndTerminalShellExecution が発生した後に、より正確になる可能性があります。

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

このコマンドが実行されたときにシェルによって報告された作業ディレクトリ。この Uri は他のマシン上のファイルを表している可能性があります(例: 他のマシンへの ssh 接続)。これには、シェル統合が作業ディレクトリの報告をサポートしている必要があります。

メソッド

ターミナルに書き込まれた(エスケープシーケンスを含む)生のデータのストリームを作成します。これには、read が最初に呼び出された後に書き込まれたデータのみが含まれます。つまり、データを欠かさないためには、TerminalShellIntegration.executeCommand または window.onDidStartTerminalShellExecution を介してコマンドが実行された直後に read を呼び出す必要があります。

// 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);
}
パラメーター説明
戻り値説明
AsyncIterable<string>

TerminalShellExecutionCommandLine

ターミナルで実行されたコマンドライン。

プロパティ

値がどのように取得されたかによって決定されるコマンドライン値の信頼度。これはシェル統合スクリプトの実装に依存します。

コマンドライン値が信頼されたソースから来たものであり、したがって「(コマンド)を実行しますか?」といったユーザーの追加確認なしで実行しても安全かどうか。この確認は、コマンドを再度実行する場合にのみ必要となる可能性があります。

これは、コマンドラインがシェル統合スクリプトによって明示的に報告され(例: 高信頼度)、検証のためにナンス(nonce)が使用された場合にのみ true になります。

コマンドと引数の両方を含む、実行された完全なコマンドライン。

TerminalShellExecutionCommandLineConfidence

列挙型メンバー

コマンドライン値の信頼度は低いです。これは、値がシェル統合スクリプトによって報告されたマーカーを使用してターミナルバッファから読み取られたことを意味します。さらに、次の条件のいずれかが満たされます。

  • コマンドが左端の列で開始された(これは珍しいことです)、または
  • コマンドが複数行にわたっている(これは、行継続文字や右プロンプトのために正確に検出するのが困難です)。
  • コマンドラインマーカーがシェル統合スクリプトによって報告されなかった。

コマンドライン値の信頼度は中程度です。これは、値がシェル統合スクリプトによって報告されたマーカーを使用してターミナルバッファから読み取られたことを意味します。コマンドは単一行であり、左端の列(これは珍しいことです)では開始されません。

コマンドライン値の信頼度は高いです。これは、値がシェル統合スクリプトから明示的に送信されたか、コマンドが TerminalShellIntegration.executeCommand API を介して実行されたことを意味します。

TerminalShellExecutionEndEvent

ターミナルでの実行が終了したことを通知するイベント。

プロパティ

終了したターミナルシェル実行。

シェルによって報告された終了コード。

これが undefined の場合、いくつかの意味を持つ可能性があります。

  • シェルが終了コードを報告しなかった(つまり、シェル統合スクリプトが正しく動作していない)。
  • シェルがコマンド完了前に別のコマンド開始を報告した(例: サブシェルが開かれた)。
  • ユーザーが ctrl+c を介してコマンドをキャンセルした。
  • 入力がない状態でユーザーが enter を押した。

一般的に、これは発生すべきではありません。ユースケースによっては、これを失敗として扱うのが最善かもしれません。

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

シェル統合オブジェクト。

シェル統合がアクティブ化されたターミナル。

TerminalShellExecutionStartEvent

ターミナルでの実行が開始されたことを通知するイベント。

プロパティ

終了したターミナルシェル実行。

シェル統合オブジェクト。

シェル統合がアクティブ化されたターミナル。

TerminalShellIntegration

ターミナルが所有する シェル統合 駆動機能。

プロパティ

ターミナルの現在の作業ディレクトリ。この Uri は他のマシン上のファイルを表している可能性があります(例: 他のマシンへの ssh 接続)。これには、シェル統合が作業ディレクトリの報告をサポートしている必要があります。

メソッド

コマンドを実行し、必要に応じて実行中のコマンドを中断するために ^C を送信します。

  • スローされるエラー - タスクターミナルのように、この API をサポートしていないターミナルで実行された場合。

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

// 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.
}
パラメーター説明
commandLine: string

実行するコマンドライン。これがターミナルに送信される正確なテキストです。

戻り値説明
TerminalShellExecution

コマンドを実行し、必要に応じて実行中のコマンドを中断するために ^C を送信します。

これは動作が保証されていません。シェル統合 がアクティブ化されている必要があるためです。TerminalShellExecution.exitCode が拒否されたかどうかを確認して、成功したかどうかを検証してください。

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

// 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.
}
パラメーター説明
executable: string

実行するコマンド。

args: string[]

実行ファイルで起動する引数。引数に空白が含まれ、かつ単一引用符、二重引用符、バックティック文字が含まれていない場合、それらは単一の引数として解釈されるようにエスケープされます。

このエスケープはセキュリティ対策を意図したものではないため、信頼できないデータをこの API に渡すときは注意してください。文字列内の $(...) のような文字列は、多くの場合、シェル内でコードを実行するために悪用される可能性があるためです。

戻り値説明
TerminalShellExecution

TerminalShellIntegrationChangeEvent

ターミナルのシェル統合が変更されたことを通知するイベント。

プロパティ

シェル統合オブジェクト。

シェル統合がアクティブ化されたターミナル。

TerminalSplitLocationOptions

ターミナルに親 Terminal の場所を使用します。

プロパティ

このターミナルを横に分割して配置するための親ターミナル。親ターミナルがパネルにあるかエディタ領域にあるかに関係なく機能します。

TerminalState

Terminal の状態を表します。

プロパティ

Terminal が操作されたかどうか。操作とは、ターミナルのモードに応じて、ターミナルがプロセスにデータを送信したことを意味します。デフォルトでは、キーが押されたとき、またはコマンドや拡張機能がテキストを送信したときに、入力が送信されますが、ターミナルのモードによっては、以下の場合にも発生します。

  • ポインタのクリックイベント
  • ポインタのスクロールイベント
  • ポインタの移動イベント
  • ターミナルのフォーカスイン/アウト

データを送信できるイベントの詳細については、https://invisible-island.net/xterm/ctlseqs/ctlseqs.html の「DEC Private Mode Set (DECSET)」を参照してください。

Terminal の検出されたシェルタイプ。シェルが何であるか明確なシグナルがない場合、またはシェルがまだサポートされていない場合は undefined になります。この値は、起動されたとき(例: zsh 内で bash を実行している場合)に、サブシェルのシェルタイプに変更されるべきです。

可能な値は現在、'bash', 'cmd', 'csh', 'fish', 'gitbash', 'julia', 'ksh', 'node', 'nu', 'pwsh', 'python', 'sh', 'wsl', 'xonsh', 'zsh' のいずれかとして定義されています。

TestController

テストを発見して実行するためのエントリポイント。これには、エディタ UI を構築するために使用される TestController.items が含まれており、テストを実行できるように 実行プロファイル に関連付けられています。

プロパティ

tests.createTestController に渡されるコントローラーのID。これはグローバルに一意である必要があります。

「テストツリー」を形成するために、それ自体が独自の 子(children) を持つことができる「トップレベル」の TestItem インスタンスのコレクション。

拡張機能は、いつテストを追加するかを制御します。例えば、ファイル内のテストの装飾を可視化するために、workspace.onDidOpenTextDocument が発生したときにテストを追加するべきです。

ただし、エディタは時折 resolveHandler を使用して子を明示的に要求することがあります。詳細については、そのメソッドのドキュメントを参照してください。

テストコントローラーの人間が読めるラベル。

このメソッドが存在する場合、UI に更新ボタンが表示され、クリックされるとこのメソッドが呼び出されます。呼び出されたとき、拡張機能はワークスペースをスキャンして、新規、変更済み、または削除されたテストを確認する必要があります。

拡張機能が、例えば FileSystemWatcher を使用してリアルタイムでテストを更新しようとし、フォールバックとしてこのメソッドを使用することを推奨します。

パラメーター説明
token: CancellationToken
戻り値説明
void | Thenable<void>

テストが更新されたときに解決される Thenable。

TestItem.canResolveChildrentrue の場合に、エディタがテストアイテムの子を要求するために呼び出す可能性がある、拡張機能によって提供される関数。呼び出されると、アイテムは子を発見し、子が発見されるたびに TestController.createTestItem を呼び出す必要があります。

一般的に、拡張機能がテストアイテムのライフサイクルを管理しますが、特定の条件下ではエディタが特定のアイテムの子の読み込みを要求することがあります。例えば、ユーザーがエディタのリロード後にテストの再実行を要求した場合、エディタは以前に実行されたテストを解決するためにこのメソッドを呼び出す必要があるかもしれません。

エクスプローラー内のアイテムは、関数が戻るか、返された thenable が解決されるまで、自動的に「busy(ビジー)」としてマークされます。

パラメーター説明
item: TestItem

子が要求されている未解決のテストアイテム。またはコントローラーの初期 アイテム を解決するための undefined

戻り値説明
void | Thenable<void>

メソッド

テストを実行するために使用されるプロファイルを作成します。拡張機能は、テストを実行できるようにするために少なくとも1つのプロファイルを作成する必要があります。

パラメーター説明
label: string

このプロファイルの人間が読めるラベル。

kind: TestRunProfileKind

このプロファイルが管理する実行の種類を構成します。

runHandler: (request: TestRunRequest, token: CancellationToken) => void | Thenable<void>

テスト実行を開始するために呼び出される関数。

isDefault?: boolean

これがその種類のデフォルトアクションかどうか。

tag?: TestTag

プロファイルテストタグ。

supportsContinuousRun?: boolean

プロファイルが継続的な実行をサポートするかどうか。

戻り値説明
TestRunProfile

このコントローラーに自動的に関連付けられた TestRunProfile のインスタンス。

新しい管理対象の TestItem インスタンスを作成します。これは既存アイテムの TestItem.children に追加するか、TestController.items に追加できます。

パラメーター説明
id: string

TestItem の識別子。テストアイテムの ID は、それが追加される TestItemCollection 内で一意である必要があります。

label: string

テストアイテムの人間が読めるラベル。

uri?: Uri

この TestItem に関連付けられた URI。ファイルまたはディレクトリを指定できます。

戻り値説明
TestItem

TestRun を作成します。これは、テストを実行する要求が行われたときに TestRunProfile によって呼び出される必要があり、外部からテスト実行が検出された場合にも呼び出される可能性があります。一度作成されると、要求に含まれるテストはキューに入れられた状態になります。

同じ request インスタンスを使用して作成されたすべての実行はグループ化されます。これは、例えば単一のテストスイートが複数のプラットフォームで実行される場合に便利です。

パラメーター説明
request: TestRunRequest

テスト実行要求。include 内のテストのみが変更可能であり、exclude 内のテストは無視されます。

name?: string

実行の人間が読める名前。これは、テスト実行の結果の複数のセットを区別するために使用できます。例えば、テストが複数のプラットフォームで実行される場合に便利です。

persist?: boolean

実行によって作成された結果をエディタ内で永続化するかどうか。結果がカバレッジ情報ファイルのように外部に既に保存されたファイルから来ている場合、これは false になる可能性があります。

戻り値説明
TestRun

TestRun のインスタンス。このメソッドが呼び出された瞬間から TestRun.end が呼び出されるまで「実行中」と見なされます。

テストコントローラーの登録を解除し、関連付けられたテストおよび永続化されていない結果を破棄します。

パラメーター説明
戻り値説明
void

アイテムの結果を期限切れとしてマークします。これは、コードや構成が変更され、以前の結果が関連性がないと見なされるべき場合に一般的に呼び出されます。結果を期限切れとしてマークするために使用される同じロジックは、継続的なテスト実行 を推進するために使用される場合があります。

アイテムがこのメソッドに渡されると、そのアイテムとそのすべての子のテスト結果が期限切れとしてマークされます。アイテムが渡されない場合、TestController が所有するすべてのテストが期限切れとしてマークされます。

このメソッドが呼び出される瞬間より前に開始されたテスト実行は、進行中の実行を含め、期限切れとしてマークされ、エディタの UI で優先順位が下げられます。

パラメーター説明
items?: TestItem | readonly TestItem[]

期限切れとしてマークするアイテム。未定義の場合は、コントローラーのすべてのアイテムが期限切れとしてマークされます。

戻り値説明
void

TestCoverageCount

カバーされたリソースに関する情報を含むクラス。ファイル内の行、分岐、および宣言の数を与えることができます。

コンストラクター

パラメーター説明
covered: number
total: number
戻り値説明
TestCoverageCount

プロパティ

ファイル内でカバーされたアイテムの数。

ファイル内のカバー可能なアイテムの総数。

TestItem

「テストエクスプローラー」ビューに表示されるアイテム。

TestItem は、テストスイートまたはテスト自体のいずれかを表すことができます(両者は類似した機能を持っているため)。

プロパティ

アイテムをテストエクスプローラービューで「ビジー」として表示するかどうかを制御します。これは、子を発見している間のステータスを表示するのに便利です。

デフォルトは false です。

このテストアイテムが解決によって発見される子を持つ可能性があるかどうかを示します。

true の場合、このアイテムはテストエクスプローラービューで展開可能として表示され、アイテムを展開すると TestController.resolveHandler がこのアイテムで呼び出されます。

デフォルトは false です。

このテストアイテムの子。テストスイートの場合、これには個別のテストケースまたはネストされたスイートが含まれる場合があります。

ラベルの横に表示されるオプションの説明。

テストの読み込み中に発生したオプションのエラー。

これはテスト結果ではないため、構文エラーなどのテスト発見中のエラーを表すためにのみ使用されるべきであることに注意してください。

TestItem の識別子。これは、テスト結果とドキュメント内のテストをワークスペース(テストエクスプローラー)内のものと関連付けるために使用されます。これは TestItem の存続期間中は変更できず、親の直接の子の中で一意である必要があります。

テストケースを説明する表示名。

この項目の親です。これは自動的に設定され、TestController.items 内のトップレベル項目や、まだ他の項目の children に含まれていない項目については未定義(undefined)となります。

その uri 内でのテスト項目の場所です。

これは uri がファイルを指している場合にのみ意味を持ちます。

この項目を他の項目と比較する際に使用すべき文字列です。falsy(偽値)の場合、label が使用されます。

このテスト項目に関連付けられたタグです。tags と組み合わせて使用したり、単に整理機能として使用したりできます。

この TestItem が関連付けられている URI です。ファイルまたはディレクトリを指定できます。

TestItemCollection

TestItem.children および TestController.items に見られるテスト項目のコレクションです。

プロパティ

コレクション内の項目数を取得します。

メソッド

テスト項目を子に追加します。同じ ID を持つ項目が既に存在する場合は置換されます。

パラメーター説明
item: TestItem

追加する項目。

戻り値説明
void

コレクションから単一のテスト項目を削除します。

パラメーター説明
itemId: string

削除する項目の ID。

戻り値説明
void

このコレクションの各エントリを反復処理します。

パラメーター説明
callback: (item: TestItem, collection: TestItemCollection) => unknown

各エントリに対して実行する関数。

thisArg?: any

ハンドラー関数を呼び出すときに使用される this コンテキスト。

戻り値説明
void

子の中に存在する場合、ID によって効率的にテスト項目を取得します。

パラメーター説明
itemId: string

取得する項目の ID。

戻り値説明
TestItem

見つかった項目。存在しない場合は undefined を返します。

コレクションによって格納されている項目を置換します。

パラメーター説明
items: readonly TestItem[]

格納する項目。

戻り値説明
void

TestMessage

テスト状態に関連付けられたメッセージです。特定のソース範囲にリンクできるため、例えばアサーション失敗などに役立ちます。

静的

エディター内で差分(diff)として表示される新しい TestMessage を作成します。

パラメーター説明
message: string | MarkdownString

ユーザーに表示するメッセージ。

expected: string

期待される出力。

actual: string

実際の出力。

戻り値説明
TestMessage

コンストラクター

新しい TestMessage インスタンスを作成します。

パラメーター説明
message: string | MarkdownString

ユーザーに表示するメッセージ。

戻り値説明
TestMessage

プロパティ

実際のテスト出力。expectedOutput と一緒に提供された場合、差分ビューが表示されます。

テスト項目のコンテキスト値です。これは、テストのピークビュー(peek view)にメッセージ固有のアクションを提供するために使用できます。ここで設定された値は、以下の menus 貢献ポイントの testMessage プロパティで見つけることができます。

  • testing/message/context - 結果ツリー内のメッセージ用のコンテキストメニュー
  • testing/message/content - メッセージが表示されているエディターコンテンツに重なる目立つボタン。

例えば

"contributes": {
  "menus": {
    "testing/message/content": [
      {
        "command": "extension.deleteCommentThread",
        "when": "testMessage == canApplyRichDiff"
      }
    ]
  }
}

コマンドは、以下のプロパティを含むオブジェクトで呼び出されます。

期待されるテスト出力。actualOutput と一緒に提供された場合、差分ビューが表示されます。

関連付けられたファイル位置。

表示する人間が読めるメッセージテキスト。

メッセージまたは障害に関連付けられたスタックトレース。

TestMessageStackFrame

TestMessage.stackTrace にあるスタックフレーム。

コンストラクター

パラメーター説明
label: string

スタックフレームの名前

uri?: Uri
position?: Position

ファイル内でのスタックフレームの位置

戻り値説明
TestMessageStackFrame

プロパティ

スタックフレームの名前。通常はメソッド名または関数名。

ファイル内でのスタックフレームの位置。

このスタックフレームの場所。エディターから呼び出しフレームの場所へアクセスできる場合は、URI として提供する必要があります。

TestRun

TestRun は実行中または完了したテストランを表し、ラン内の個々のテストの状態を報告するためのメソッドを提供します。

イベント

エディターがテストランに関連付けられたデータを必要としなくなったときに発生するイベント。

プロパティ

テストランがエディターによってリロード後も保持されるかどうか。

実行の人間が読める名前。これは、テスト実行の結果の複数のセットを区別するために使用できます。例えば、テストが複数のプラットフォームで実行される場合に便利です。

UI からテストランがキャンセルされたときにトリガーされるキャンセル用トークン。

メソッド

ラン内のファイルに対するカバレッジを追加します。

パラメーター説明
fileCoverage: FileCoverage
戻り値説明
void

テストランナーからの生出力を追加します。ユーザーの要求により、出力はターミナルに表示されます。色やテキストスタイルなどの ANSI エスケープシーケンスがサポートされています。新しい行は LF (\n) ではなく CRLF (\r\n) として指定する必要があります。

パラメーター説明
output: string

追加する出力テキスト。

location?: Location

出力が指定された場所で記録されたことを示します。

test?: TestItem

出力に関連付けるテスト項目。

戻り値説明
void

テストランの終了を通知します。ランに含まれていて状態が更新されていないテストは、状態がリセットされます。

パラメーター説明
戻り値説明
void

テストが後続の実行のためにキューに入れられたことを示します。

パラメーター説明
test: TestItem

更新するテスト項目。

戻り値説明
void

テストがエラーになったことを示します。失敗を説明するために 1 つ以上の TestMessages を渡す必要があります。これは「failed(失敗)」状態とは異なり、コンパイルエラーなどにより、テスト自体が実行できなかったことを示します。

パラメーター説明
test: TestItem

更新するテスト項目。

message: TestMessage | readonly TestMessage[]

テスト失敗に関連付けられたメッセージ。

duration?: number

テストの実行にかかった時間(ミリ秒)。

戻り値説明
void

テストが失敗したことを示します。失敗を説明するために 1 つ以上の TestMessages を渡す必要があります。

パラメーター説明
test: TestItem

更新するテスト項目。

message: TestMessage | readonly TestMessage[]

テスト失敗に関連付けられたメッセージ。

duration?: number

テストの実行にかかった時間(ミリ秒)。

戻り値説明
void

テストが合格したことを示します。

パラメーター説明
test: TestItem

更新するテスト項目。

duration?: number

テストの実行にかかった時間(ミリ秒)。

戻り値説明
void

テストがスキップされたことを示します。

パラメーター説明
test: TestItem

更新するテスト項目。

戻り値説明
void

テストの実行が開始されたことを示します。

パラメーター説明
test: TestItem

更新するテスト項目。

戻り値説明
void

TestRunProfile

TestRunProfile は、TestController 内でテストを実行する 1 つの方法を表します。

イベント

ユーザーがデフォルトのプロファイルであるかどうかを変更したときに発生します。イベントには isDefault の新しい値が含まれます。

プロパティ

このメソッドが存在する場合、UI に設定用歯車アイコンが表示され、クリックされるとこのメソッドが呼び出されます。呼び出された際、クイックピックの表示や設定ファイルのオープンなど、他のエディターアクションを実行できます。

パラメーター説明
戻り値説明
void

その種類のアクションが実行されたときに、このプロファイルがデフォルトのアクションとなるかどうかを制御します。例えば、ユーザーが一般的な「すべて実行」ボタンをクリックした場合、TestRunProfileKind.Run のデフォルトプロファイルが実行されます(ただし、これはユーザーが構成可能です)。

ユーザーがデフォルトプロファイルに対して行った変更は、onDidChangeDefault イベントの後、このプロパティに反映されます。

このプロファイルがどのような実行種類を制御するかを設定します。特定の種類のプロファイルがない場合、UI では利用できません。

UI でユーザーに表示されるラベル。

ユーザーがテストの再実行を要求した際、ラベルにはいくつかの意味があることに注意してください。例えば、通常通りテストが実行され、ユーザーがデバッグモードでの再実行を要求した場合、エディターは Debug 種類の同じラベルを持つ構成の使用を試みます。そのような構成がない場合は、デフォルトが使用されます。

拡張機能によって提供される、ファイルに対する詳細なステートメントおよび関数レベルのカバレッジを提供する関数です。エディターは、エディターでファイルが開かれたときや、テストカバレッジビューで展開されたときなど、ファイルに詳細が必要なときにこれを呼び出します。

この関数に渡される FileCoverage オブジェクトは、このプロファイルに関連付けられた TestRun.addCoverage 呼び出しで生成されたものと同じインスタンスです。

パラメーター説明
testRun: TestRun
fileCoverage: FileCoverage
token: CancellationToken
戻り値説明
Thenable<FileCoverageDetail[]>

ファイル内の単一テストに対する詳細なステートメントおよび関数レベルのカバレッジを提供する、拡張機能によって提供される関数です。これは TestRunProfile.loadDetailedCoverage のテストごとの兄弟にあたり、FileCoverage.includesTests でテスト項目が提供され、そのようなデータが報告されているファイルに対してのみ呼び出されます。

多くの場合、ユーザーがファイルを開くと最初に TestRunProfile.loadDetailedCoverage が呼び出され、次にテストごとの特定のカバレッジ情報を深掘りした場合にこのメソッドが呼び出されます。このメソッドは、ラン中に特定のテストによって実行されたステートメントと宣言に対するカバレッジデータのみを返す必要があります。

この関数に渡される FileCoverage オブジェクトは、このプロファイルに関連付けられた TestRun.addCoverage 呼び出しで生成されたものと同じインスタンスです。

パラメーター説明
testRun: TestRun

カバレッジデータを生成したテストラン。

fileCoverage: FileCoverage

詳細なカバレッジを読み込むファイルカバレッジオブジェクト。

fromTestItem: TestItem

カバレッジ情報を要求するテスト項目。

token: CancellationToken

操作をキャンセルすべきであることを示すキャンセル用トークン。

戻り値説明
Thenable<FileCoverageDetail[]>

テストランを開始するために呼び出されるハンドラーです。呼び出された際、関数は TestController.createTestRun を少なくとも一度呼び出す必要があり、リクエストに関連付けられたすべてのテストランは、関数が戻るか返された promise が解決される前に作成される必要があります。

supportsContinuousRun が設定されている場合、TestRunRequest.continuoustrue になることがあります。この場合、プロファイルはソースコードの変更を監視し、token でキャンセルが要求されるまで TestController.createTestRun を呼び出して新しいテストランを作成する必要があります。

パラメーター説明
request: TestRunRequest

テストランのリクエスト情報。

token: CancellationToken
戻り値説明
void | Thenable<void>

このプロファイルがリクエストの継続的な実行をサポートするかどうか。サポートする場合、TestRunRequest.continuoustrue に設定される可能性があります。デフォルトは false です。

プロファイルに関連付けられたタグ。これが設定されている場合、同じタグを TestItem.tags 配列に含む TestItem インスタンスのみがこのプロファイルで実行可能です。

メソッド

ランプロファイルを削除します。

パラメーター説明
戻り値説明
void

TestRunProfileKind

TestRunProfiles が制御する実行の種類。

列挙型メンバー

Run テストプロファイルの種類。

Debug テストプロファイルの種類。

Coverage テストプロファイルの種類。

TestRunRequest

TestRunRequest は TestRun の前身であり、リクエストを TestController.createTestRun に渡すことによって作成されます。TestRunRequest には、どのテストを実行すべきか、実行すべきでないか、およびどのように実行されるか(profile 経由)に関する情報が含まれています。

通常、TestRunRequest はエディターによって作成され TestRunProfile.runHandler に渡されますが、runHandler の外でテストリクエストやテストランを作成することも可能です。

コンストラクター

パラメーター説明
include?: readonly TestItem[]

実行する特定のテストの配列、またはすべてのテストを実行する場合は undefined

exclude?: readonly TestItem[]

ランから除外するテストの配列。

profile?: TestRunProfile

このリクエストに使用されるランプロファイル。

continuous?: boolean

ソース変更時に継続的にテストを実行するかどうか。

preserveFocus?: boolean

ランが開始されたときにユーザーのフォーカスを保持するかどうか

戻り値説明
TestRunRequest

プロパティ

ソースコードの変更に伴ってプロファイルが継続的に実行されるかどうか。TestRunProfile.supportsContinuousRun を設定するプロファイルにのみ関連します。

ユーザーがこのランに含まれるテストから除外したとマークしたテストの配列。除外は包含の後に適用されるべきです。

除外が要求されなかった場合は省略可能です。テストコントローラーは、除外されたテストや除外されたテストの子を実行してはなりません。

実行する特定のテストのフィルター。指定された場合、拡張機能は TestRunRequest.exclude に現れるテストを除き、含まれるすべてのテストとその子をすべて実行する必要があります。このプロパティが undefined の場合、拡張機能は単純にすべてのテストを実行する必要があります。

テストを実行するプロセスでは、まだ解決されていないテスト項目の子を解決する必要があります。

テスト結果ビューがどのようにフォーカスされるかを制御します。true の場合、エディターはユーザーのフォーカスを維持します。false の場合、エディターはテスト結果ビューへフォーカスを移動することを優先しますが、これはユーザーによって構成される場合があります。

このリクエストに使用されるプロファイル。エディター UI から発行されたリクエストについては常に定義されますが、拡張機能はプロファイルに関連付けられていないリクエストをプログラムで作成することも可能です。

TestTag

タグは TestItems および TestRunProfiles に関連付けることができます。タグを持つプロファイルは、そのタグを TestItem.tags 配列に含むテストのみを実行できます。

コンストラクター

新しい TestTag インスタンスを作成します。

パラメーター説明
id: string

テストタグの ID。

戻り値説明
TestTag

プロパティ

テストタグの ID。同じ ID を持つ TestTag インスタンスは同一であると見なされます。

TextDocument

ソースファイルのようなテキストドキュメントを表します。テキストドキュメントには があり、ファイルのような基礎となるリソースについての知識を持っています。

プロパティ

ドキュメントが保存されるときに使用される、このドキュメントのファイルエンコーディングです。

ドキュメントのエンコーディングが変更されたときに通知を受けるには、onDidChangeTextDocument イベントを使用します。

可能なエンコーディング値は現在、以下のいずれかとして定義されています:'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'。

このドキュメントで主に使用されている 改行 シーケンスです。

関連付けられたリソースのファイルシステムパス。TextDocument.uri.fsPath の省略形です。URI スキーマから独立しています。

ドキュメントが閉じられている場合は true。閉じられたドキュメントは同期されなくなり、同じリソースが再度開かれても再利用されません。

永続化されていない変更がある場合true

このドキュメントがまだ一度も保存されていない名称未設定のファイルを表しているかどうか。注意:これはドキュメントがディスクに保存されることを意味するものではありません。ドキュメントがどこに保存されるか(例: file, ftp など)を確認するには Uri.scheme を使用してください。

このドキュメントに関連付けられた言語の識別子。

このドキュメントの行数。

このドキュメントに関連付けられた URI。

注意:ほとんどのドキュメントは file スキーマを使用しており、これらはディスク上のファイルであることを意味します。しかし、すべてのドキュメントがディスク上に保存されるわけではないため、基礎となるファイルやディスク上の兄弟ファイルにアクセスしようとする前に、scheme を確認する必要があります。

関連項目

このドキュメントのバージョン番号(undo/redo を含む各変更の後に厳密に増加します)。

メソッド

このドキュメントのテキストを取得します。範囲を指定することで部分文字列を取得できます。範囲は調整されます。

パラメーター説明
range?: Range

範囲に含まれるテキストのみを含めます。

戻り値説明
string

指定された範囲内のテキスト、またはテキスト全体。

指定された位置での単語範囲を取得します。デフォルトでは、単語はスペース、-、_ などの一般的なセパレーターによって定義されます。さらに、言語ごとにカスタムの [単語定義] を定義できます。カスタムの正規表現を提供することも可能です。

  • 注1: カスタム正規表現は空文字列に一致してはならず、一致した場合は無視されます。
  • 注2: カスタム正規表現は複数行の文字列に一致できません。速度の観点から、正規表現はスペースを含む単語と一致させるべきではありません。より複雑な単語以外のシナリオには TextLine.text を使用してください。

位置は調整されます。

パラメーター説明
position: Position

位置。

regex?: RegExp

単語とは何かを記述するオプションの正規表現。

戻り値説明
Range

単語にまたがる範囲、または undefined

行番号で示されるテキスト行を返します。返されるオブジェクトは ライブではなく、ドキュメントの変更は反映されないことに注意してください。

パラメーター説明
line: number

[0, lineCount) の範囲内の行番号。

戻り値説明
TextLine

位置で示されるテキスト行を返します。返されるオブジェクトは ライブではなく、ドキュメントの変更は反映されないことに注意してください。

位置は調整されます。

参照 TextDocument.lineAt

パラメーター説明
position: Position

位置。

戻り値説明
TextLine

位置を 0 から始まるオフセットに変換します。

位置は調整されます。

パラメーター説明
position: Position

位置。

戻り値説明
number

UTF-16 コード単位 での有効な 0 から始まるオフセット。

0 から始まるオフセットを位置に変換します。

パラメーター説明
offset: number

ドキュメントへの 0 から始まるオフセット。このオフセットは UTF-16 コード単位 です。

戻り値説明
Position

有効な Position

基礎となるファイルを保存します。

パラメーター説明
戻り値説明
Thenable<boolean>

ファイルが保存されたときに true で解決される promise。保存に失敗した場合は false を返します。

位置がこのドキュメントの範囲内に含まれていることを保証します。

パラメーター説明
position: Position

位置。

戻り値説明
Position

指定された位置、または新しく調整された位置。

範囲がこのドキュメント内に完全に含まれていることを保証します。

パラメーター説明
range: Range

範囲。

戻り値説明
Range

指定された範囲、または新しく調整された範囲。

TextDocumentChangeEvent

トランザクション的な ドキュメント の変更を記述するイベント。

プロパティ

コンテンツ変更の配列。

影響を受けるドキュメント。

ドキュメントが変更された理由。理由が不明な場合は undefined です。

TextDocumentChangeReason

テキストドキュメントが変更された理由。

列挙型メンバー

テキストの変更は元に戻す(undo)操作によって引き起こされました。

テキストの変更はやり直し(redo)操作によって引き起こされました。

TextDocumentContentChangeEvent

ドキュメント のテキスト内の個々の変更を記述するイベント。

プロパティ

置き換えられた範囲。

置き換えられた範囲の長さ。

置き換えられた範囲のオフセット。

範囲の新しいテキスト。

TextDocumentContentProvider

テキストドキュメントコンテンツプロバイダーを使用すると、dll からのソースや md から生成された html のように、読み取り専用ドキュメントをエディターに追加できます。

コンテンツプロバイダーは、URI スキーマ に対して 登録 されます。そのスキーマを持つ URI を 読み込む 際に、コンテンツプロバイダーに問い合わせが行われます。

イベント

リソースが変更されたことを知らせるイベント。

メソッド

指定された URI に対してテキストコンテンツを提供します。

エディターは、返された文字列コンテンツを使用して、読み取り専用の ドキュメント を作成します。割り当てられたリソースは、対応するドキュメントが 閉じられた 時に解放されるべきです。

: 作成された ドキュメント の内容は、改行シーケンスの正規化により、提供されたテキストと同一ではない可能性があります。

パラメーター説明
uri: Uri

このプロバイダーが 登録 されたスキーマと一致するスキーマを持つ URI。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<string>

文字列、またはその文字列に解決される thenable。

TextDocumentSaveReason

テキストドキュメントが保存される理由を表します。

列挙型メンバー

手動でトリガーされました。例:ユーザーが保存を押した場合、デバッグを開始した場合、または API 呼び出しによる場合。

遅延後の自動保存。

エディターがフォーカスを失った場合。

TextDocumentShowOptions

エディター 内で ドキュメント を表示する動作を構成するためのオプションを表します。

プロパティ

true の場合、エディター がフォーカスを取得するのを止めるオプションのフラグ。

エディター タブをプレビューとして表示するかどうかを制御するオプションのフラグ。プレビュータブは、明示的または編集を通じてそのままの状態になるように設定されるまで、置換および再利用されます。

:ユーザーが設定でプレビューエディターを無効にしている場合、このフラグは無視されます。

エディター 内でドキュメントに適用するオプションの選択範囲。

エディター を表示するオプションのビュー列。デフォルトは アクティブ です。存在しない列は、最大 ViewColumn.Nine まで必要に応じて作成されます。現在アクティブなエディターの横にエディターを開くには ViewColumn.Beside を使用してください。

TextDocumentWillSaveEvent

ドキュメント が保存される直前に発生するイベント。

保存前にドキュメントに変更を加えるには、テキスト編集 の配列に解決される thenable を指定して waitUntil 関数を呼び出します。

プロパティ

保存される予定のドキュメント。

保存がトリガーされた理由。

メソッド

イベントループを一時停止し、保存前編集 を適用できます。この関数への後続の呼び出しによる編集は、順番に適用されます。ドキュメントの同時変更が発生した場合、編集は 無視 されます。

注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期に呼び出すことはできません。

workspace.onWillSaveTextDocument(event => {
  // async, will *throw* an error
  setTimeout(() => event.waitUntil(promise));

  // sync, OK
  event.waitUntil(promise);
});
パラメーター説明
thenable: Thenable<readonly TextEdit[]>

保存前編集 に解決される thenable。

戻り値説明
void

提供された thenable が解決されるまでイベントループを一時停止します。

注: この関数はイベントディスパッチ中にのみ呼び出すことができます。

パラメーター説明
thenable: Thenable<any>

保存を遅延させる thenable。

戻り値説明
void

TextEdit

テキスト編集は、ドキュメントに適用されるべき編集を表します。

静的

削除編集を作成するためのユーティリティ。

パラメーター説明
range: Range

範囲。

戻り値説明
TextEdit

新しいテキスト編集オブジェクト。

挿入編集を作成するためのユーティリティ。

パラメーター説明
position: Position

位置。空の範囲になります。

newText: string

文字列。

戻り値説明
TextEdit

新しいテキスト編集オブジェクト。

置換編集を作成するためのユーティリティ。

パラメーター説明
range: Range

範囲。

newText: string

文字列。

戻り値説明
TextEdit

新しいテキスト編集オブジェクト。

改行コード編集を作成するためのユーティリティ。

パラメーター説明
eol: EndOfLine

改行シーケンス

戻り値説明
TextEdit

新しいテキスト編集オブジェクト。

コンストラクター

新しい TextEdit を作成します。

パラメーター説明
range: Range

範囲。

newText: string

文字列。

戻り値説明
TextEdit

プロパティ

ドキュメントで使用される改行シーケンス。

:改行シーケンスはドキュメント全体に適用されます。

この編集が挿入する文字列。

この編集が適用される範囲。

TextEditor

ドキュメント にアタッチされたエディターを表します。

プロパティ

このテキストエディターに関連付けられたドキュメント。ドキュメントは、このテキストエディターの存続期間全体を通じて同じものです。

テキストエディターオプション。

このテキストエディター上のプライマリ選択範囲。TextEditor.selections[0] の省略形です。

このテキストエディター内の選択範囲。プライマリ選択範囲は常にインデックス 0 にあります。

このエディターが表示されている列。埋め込みエディターなど、メインエディターの 1 つではない場合、またはエディター列が 3 を超える場合は undefined になります。

エディター内(垂直方向)の現在の可視範囲。これは垂直スクロールのみを考慮しており、水平スクロールは考慮していません。

メソッド

このテキストエディターに関連付けられたドキュメントに対して編集を実行します。

指定されたコールバック関数は、編集を行うために使用しなければならない 編集ビルダー で呼び出されます。編集ビルダーは、コールバックの実行中のみ有効であることに注意してください。

パラメーター説明
callback: (editBuilder: TextEditorEdit) => void

編集ビルダー を使用して編集を作成できる関数。

options?: {undoStopAfter: boolean, undoStopBefore: boolean}

この編集周辺の undo/redo 動作。デフォルトでは、この編集の前後に undo の停止位置が作成されます。

戻り値説明
Thenable<boolean>

編集が適用できたかどうかを示す値で解決される promise。

テキストエディターを隠します。

  • 非推奨 - 代わりにコマンド workbench.action.closeActiveEditor を使用してください。このメソッドは予期しない動作を示し、次のメジャーアップデートで削除されます。
パラメーター説明
戻り値説明
void

スニペット を挿入し、エディターをスニペットモードにします。「スニペットモード」とは、ユーザーがスニペットを完了または受け入れられるように、エディターがプレースホルダーと追加のカーソルを追加することを意味します。

パラメーター説明
snippet: SnippetString

この編集で挿入するスニペット。

location?: Range | Position | readonly Range[] | readonly Position[]

スニペットを挿入する位置または範囲。デフォルトは現在のエディター選択範囲です。

options?: {keepWhitespace: boolean, undoStopAfter: boolean, undoStopBefore: boolean}

この編集周辺の undo/redo 動作。デフォルトでは、この編集の前後に undo の停止位置が作成されます。

戻り値説明
Thenable<boolean>

スニペットが挿入できたかどうかを示す値で解決される promise。promise は、スニペットが完全に記入されたことや受け入れられたことを通知するものではないことに注意してください。

指定された範囲を表示するために revealType に従ってスクロールします。

パラメーター説明
range: Range

範囲。

revealType?: TextEditorRevealType

range を表示するためのスクロール戦略。

戻り値説明
void

テキストエディターに装飾のセットを追加します。指定された 装飾タイプ を持つ装飾セットが既に存在する場合、それらは置換されます。rangesOrOptions が空の場合、指定された 装飾タイプ を持つ既存の装飾は削除されます。

参照 createTextEditorDecorationType

パラメーター説明
decorationType: TextEditorDecorationType

装飾タイプ。

rangesOrOptions: readonly Range[] | readonly DecorationOptions[]

範囲、またはより詳細なオプションのいずれか。

戻り値説明
void

テキストエディタを表示します。

パラメーター説明
column?: ViewColumn

このエディタを表示するカラム。このメソッドは予期しない動作をするため、次回のメジャーアップデートで削除される予定です。

戻り値説明
void

TextEditorCursorStyle

カーソルのレンダリングスタイル。

列挙型メンバー

カーソルを太い垂直線としてレンダリングします。

カーソルを塗りつぶしのブロックとしてレンダリングします。

カーソルを太い水平線としてレンダリングします。

カーソルを細い垂直線としてレンダリングします。

カーソルを枠線付きのブロックとしてレンダリングします。

カーソルを細い水平線としてレンダリングします。

TextEditorDecorationType

テキストエディタ内で同じスタイリングオプションを共有する一連の装飾へのハンドルを表します。

TextEditorDecorationType のインスタンスを取得するには、createTextEditorDecorationType を使用してください。

プロパティ

ハンドルの内部表現。

メソッド

この装飾タイプと、それを使用しているすべてのテキストエディタ上のすべての装飾を削除します。

パラメーター説明
戻り値説明
void

TextEditorEdit

TextEditor上で1つのトランザクションとして適用される複雑な編集。これは編集内容の説明を保持しており、編集が有効(例:重なる領域がない、その間にドキュメントが変更されていない等)であれば、テキストエディタに関連付けられたドキュメントに適用できます。

メソッド

特定のテキスト領域を削除します。

パラメーター説明
location: Range | Selection

この操作で削除する範囲。

戻り値説明
void

指定した位置にテキストを挿入します。value 内で \r\n または \n を使用でき、これらは現在のドキュメントに合わせて正規化されます。replace でも同様の編集は可能ですが、insert は(挿入位置が移動するため)結果として異なる選択範囲を生じさせます。

パラメーター説明
location: Position

新しいテキストを挿入する位置。

value: string

この操作で挿入する新しいテキスト。

戻り値説明
void

特定のテキスト領域を新しい値に置換します。value 内で \r\n または \n を使用でき、これらは現在のドキュメントに合わせて正規化されます。

パラメーター説明
location: Range | Position | Selection

この操作で削除する範囲。

value: string

location を削除した後に挿入する新しいテキスト。

戻り値説明
void

行末シーケンスを設定します。

パラメーター説明
endOfLine: EndOfLine

ドキュメントの新しい行末。

戻り値説明
void

TextEditorLineNumbersStyle

行番号のレンダリングスタイル。

列挙型メンバー

行番号を表示しません。

行番号を表示します。

主カーソルの位置からの相対的な値で行番号を表示します。

10行ごとに番号を表示します。

TextEditorOptions

プロパティ

このエディタにおけるカーソルのレンダリングスタイル。テキストエディタのオプションを取得する場合、このプロパティは常に存在します。テキストエディタのオプションを設定する場合、このプロパティは省略可能です。

insertSpaces が true のときに挿入されるスペースの数。

テキストエディタのオプションを取得する場合、このプロパティは常に数値(解決済み)となります。設定する場合、このプロパティは省略可能で、数値または "tabSize" を指定できます。

Tab を押したときに n 個のスペースを挿入します。テキストエディタのオプションを取得する場合、このプロパティは常にブール値(解決済み)となります。設定する場合、このプロパティは省略可能で、ブール値または "auto" を指定できます。

現在の行番号に対する相対行番号を表示します。テキストエディタのオプションを取得する場合、このプロパティは常に存在します。設定する場合、このプロパティは省略可能です。

タブが占めるスペースのサイズ。これは以下の2つの目的で使用されます:

  • タブ文字のレンダリング幅;
  • insertSpaces が true で、かつ indentSize"tabSize" に設定されているときに挿入されるスペースの数。

テキストエディタのオプションを取得する場合、このプロパティは常に数値(解決済み)となります。設定する場合、このプロパティは省略可能で、数値または "auto" を指定できます。

TextEditorOptionsChangeEvent

テキストエディタのオプションの変更を説明するイベントを表します。

プロパティ

オプションが変更されたテキストエディタ

TextEditorRevealType

テキストエディタにおける表示戦略を表します。

列挙型メンバー

可能な限り少ないスクロール量で範囲を表示します。

範囲は常にビューポートの中央に表示されます。

範囲がビューポートの外にある場合は、ビューポートの中央に表示されます。そうでない場合は、可能な限り少ないスクロール量で表示されます。

範囲は常にビューポートの最上部に表示されます。

TextEditorSelectionChangeEvent

テキストエディタの選択範囲の変更を説明するイベントを表します。

プロパティ

このイベントをトリガーした変更の種類undefined の場合もあります。

選択範囲が変更されたテキストエディタ

TextEditorSelectionChangeKind

選択範囲変更イベントを引き起こす可能性のあるソースを表します。

列挙型メンバー

エディタ内でのタイピングによる選択範囲の変更。

エディタ内でのクリックによる選択範囲の変更。

コマンドが実行されたことによる選択範囲の変更。

TextEditorViewColumnChangeEvent

テキストエディタのビューカラムの変更を説明するイベントを表します。

プロパティ

ビューカラムが変更されたテキストエディタ

TextEditorVisibleRangesChangeEvent

テキストエディタの表示範囲の変更を説明するイベントを表します。

プロパティ

表示範囲が変更されたテキストエディタ

TextLine

ソースコードの行のような、テキストの行を表します。

TextLine オブジェクトは不変です。ドキュメントが変更されると、以前に取得した行は最新の状態を表さなくなります。

プロパティ

/\s/ で定義される空白文字ではない最初の文字のオフセット。注意: 行がすべて空白文字の場合は、行の長さが返されます。

この行が空白のみであるかどうか。TextLine.firstNonWhitespaceCharacterIndex === TextLine.text.length の省略形です。

0から始まる行番号。

行区切り文字を除いた、この行がカバーする範囲。

行区切り文字を含めた、この行がカバーする範囲。

行区切り文字を除いたこの行のテキスト。

ThemableDecorationAttachmentRenderOptions

テキスト装飾の内容ののテーマ固有のレンダリングスタイルを表します。

プロパティ

装飾アタッチメントに適用される CSS スタイルプロパティ。

装飾アタッチメントに適用される CSS スタイルプロパティ。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

装飾アタッチメントに適用される CSS スタイルプロパティ。

アタッチメント内にレンダリングされる画像の絶対パスまたは URI。アイコンまたはテキストのいずれかを表示できますが、両方は表示できません。

アタッチメント内に表示されるテキストコンテンツを定義します。アイコンまたはテキストのいずれかを表示できますが、両方は表示できません。

装飾アタッチメントに適用される CSS スタイルプロパティ。

装飾アタッチメントに適用される CSS スタイルプロパティ。

装飾アタッチメントに適用される CSS スタイルプロパティ。

装飾アタッチメントに適用される CSS スタイルプロパティ。

装飾アタッチメントに適用される CSS スタイルプロパティ。

装飾アタッチメントに適用される CSS スタイルプロパティ。

ThemableDecorationInstanceRenderOptions

装飾インスタンスのテーマ対応レンダリングオプションを表します。

プロパティ

装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。

装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。

ThemableDecorationRenderOptions

テキストエディタの装飾のテーマ固有のレンダリングスタイルを表します。

プロパティ

装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。

装飾の背景色。rgba()を使用し、他の装飾とうまく機能するように透明な背景色を定義してください。あるいは、カラーレジストリからの色を参照することもできます。

装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の境界プロパティの1つ以上を設定するには、'border'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の境界プロパティの1つ以上を設定するには、'border'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の境界プロパティの1つ以上を設定するには、'border'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の境界プロパティの1つ以上を設定するには、'border'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の境界プロパティの1つ以上を設定するには、'border'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

ガターにレンダリングされる画像の絶対パスまたはURI。

ガターアイコンのサイズを指定します。利用可能な値は 'auto'、'contain'、'cover'、および任意のパーセンテージ値です。詳細情報: https://msdn.microsoft.com/en-us/library/jj127316(v=vs.85).aspx

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の輪郭プロパティの1つ以上を設定するには、'outline'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の輪郭プロパティの1つ以上を設定するには、'outline'を使用することをお勧めします。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。個々の輪郭プロパティの1つ以上を設定するには、'outline'を使用することをお勧めします。

概要ルーラー内の装飾の色。他の装飾とうまく機能するように、rgba()を使用して透明な色を定義してください。

装飾で囲まれたテキストに適用されるCSSスタイリングプロパティ。

ThemeColor

https://vscode.dokyumento.jp/api/references/theme-color で定義されているワークベンチカラーへの参照。テーマの作成者やユーザーが色を変更できるようにするため、カスタムカラーよりもテーマカラーの使用が推奨されます。

コンストラクター

テーマカラーへの参照を作成します。

パラメーター説明
id: string

色のID。利用可能な色は https://vscode.dokyumento.jp/api/references/theme-color にリストされています。

戻り値説明
ThemeColor

プロパティ

この色の ID。

ThemeIcon

名前付きアイコンへの参照。現在、FileFolder、および ThemeIcon ID がサポートされています。製品のテーマ作成者がアイコンを変更できるようにするため、カスタムアイコンよりもテーマアイコンの使用が推奨されます。

注意: テーマアイコンはラベルや説明の中にもレンダリングできます。テーマアイコンをサポートする場所ではその旨が記載されており、$(<name>) 構文が使用されます。例: quickPick.label = "Hello World $(globe)"

静的

ファイルを表すアイコンへの参照。現在のファイルアイコンテーマから取得されるか、プレースホルダーアイコンが使用されます。

フォルダーを表すアイコンへの参照。現在のファイルアイコンテーマから取得されるか、プレースホルダーアイコンが使用されます。

コンストラクター

テーマアイコンへの参照を作成します。

パラメーター説明
id: string

アイコンのID。利用可能なアイコンは https://vscode.dokyumento.jp/api/references/icons-in-labels#icon-listing にリストされています。

color?: ThemeColor

アイコン用のオプションの ThemeColor。この色は現在 TreeItem でのみ使用されています。

戻り値説明
ThemeIcon

プロパティ

アイコンのオプションの ThemeColor。この色は現在 TreeItem でのみ使用されています。

アイコンのID。利用可能なアイコンは https://vscode.dokyumento.jp/api/references/icons-in-labels#icon-listing にリストされています。

TreeCheckboxChangeEvent<T>

ツリーアイテムのチェックボックス状態の変化を説明するイベント。

プロパティ

チェックまたはチェック解除されたアイテム。

TreeDataProvider<T>

ツリーデータを提供するデータプロバイダー。

イベント

要素またはルートが変更されたことを通知するオプションのイベント。これにより、変更された要素/ルートとその子要素が(表示されている場合)再帰的に更新されます。ルートが変更されたことを通知するには、引数を渡さないか、undefined または null を渡します。

メソッド

element の子要素を取得します。要素が渡されない場合はルートの子要素を取得します。

パラメーター説明
element?: T

プロバイダーが子要素を取得するための要素。undefined の可能性があります。

戻り値説明
ProviderResult<T[]>

element の子要素。要素が渡されない場合はルートの子要素。

element の親を返すためのオプションのメソッド。element がルートの子である場合は null または undefined を返します。

注意: reveal API にアクセスするには、このメソッドを実装する必要があります。

パラメーター説明
element: T

親を返す必要のある要素。

戻り値説明
ProviderResult<T>

element の親。

elementTreeItem 表現を取得します。

パラメーター説明
element: T

TreeItem 表現が要求されている要素。

戻り値説明
TreeItem | Thenable<TreeItem>

要素の TreeItem 表現。

ホバー時に TreeItem プロパティが undefined の場合に解決するために呼び出されます。ツリーアイテムのクリック/オープン時に TreeItem プロパティが undefined の場合に解決するために呼び出されます。resolveTreeItem では、undefined だったプロパティのみを解決できます。機能は将来、選択時やオープン時に他の欠落しているプロパティを解決するために呼び出されるように拡張される可能性があります。

TreeItem ごとに一度だけ呼び出されます。

onDidChangeTreeData は resolveTreeItem 内からトリガーすべきではありません。

注意: この関数は、ツリーアイテムがすでに UI に表示されているときに呼び出されます。そのため、表示(ラベル、説明など)を変更するプロパティは変更できません。

パラメーター説明
item: TreeItem

item の未定義のプロパティが設定され、その後 item が返されるべきです。

element: T

TreeItem に関連付けられたオブジェクト。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<TreeItem>

解決されたツリーアイテム、またはそれを解決する Thenable。与えられた item を返しても問題ありません。結果が返されない場合は、与えられた item が使用されます。

TreeDragAndDropController<T>

TreeView でのドラッグ&ドロップをサポートします。

プロパティ

この TreeDragAndDropControllerhandleDrag メソッドがツリーデータ転送に追加できる MIME タイプ。これには、定義済みの既存の MIME タイプや、拡張機能によって定義された MIME タイプが含まれます。

推奨されるツリーの MIME タイプ(application/vnd.code.tree.<treeidlowercase>)が自動的に追加されます。

この DragAndDropControllerhandleDrop メソッドがサポートする MIME タイプ。これには、定義済みの既存の MIME タイプや、拡張機能によって定義された MIME タイプが含まれます。

ツリーからのドロップをサポートするには、そのツリーの MIME タイプを追加する必要があります。これには同じツリー内からのドロップも含まれます。ツリーの MIME タイプは、application/vnd.code.tree.<treeidlowercase> という形式にすることをお勧めします。

ドロップされたあらゆるタイプのファイルをサポートするには、ファイルの実際の MIME タイプに関係なく、特別な files MIME タイプを使用して files をサポートします。

ドラッグされたアイテムの MIME タイプを調べるには:

  1. DragAndDropController をセットアップします。
  2. Developer: Set Log Level... コマンドを使用して、レベルを "Debug" に設定します。
  3. 開発者ツールを開き、不明な MIME タイプのアイテムをツリー上にドラッグします。MIME タイプが開発者コンソールにログ出力されます。

拡張機能に送信できない MIME タイプは省略されることに注意してください。

メソッド

ユーザーがこの DragAndDropController からアイテムのドラッグを開始すると、handleDrag が呼び出されます。拡張機能は handleDrag を使用して、ドラッグ&ドロップに DataTransferItem アイテムを追加できます。

handleDrag で追加された MIME タイプは、アプリケーション外では利用できません。

アイテムが同じツリー内別のツリーアイテムにドロップされると、DataTransferItem オブジェクトは保持されます。データ転送にツリーオブジェクトを追加するには、推奨されるツリーの MIME タイプ(application/vnd.code.tree.<treeidlowercase>)を使用してください。これを最大限に活用する方法については、DataTransferItem のドキュメントを参照してください。

エディタ内にドラッグ可能なデータ転送アイテムを追加するには、アプリケーション固有の MIME タイプ "text/uri-list" を使用します。"text/uri-list" のデータは、\r\n で区切られた toString() された Uri の文字列である必要があります。ファイル内のカーソル位置を指定するには、Uri のフラグメントを L3,5 に設定します(3は行番号、5は列番号)。

パラメーター説明
source: readonly T[]

ドラッグ&ドロップ操作のソースアイテム。

dataTransfer: DataTransfer

このドラッグに関連付けられたデータ転送。

token: CancellationToken

ドラッグがキャンセルされたことを示すキャンセル・トークン。

戻り値説明
void | Thenable<void>

ドラッグ&ドロップ操作の結果、この DragAndDropController が属するツリー上にドロップが発生したときに呼び出されます。

拡張機能は、更新が必要な要素に対して onDidChangeTreeData を発行する必要があります。

パラメーター説明
target: T

ドロップが発生しているターゲットのツリー要素。undefined の場合、ターゲットはルートです。

dataTransfer: DataTransfer

ドラッグソースのデータ転送アイテム。

token: CancellationToken

ドロップがキャンセルされたことを示すキャンセル・トークン。

戻り値説明
void | Thenable<void>

TreeItem

ツリーアイテムはツリーの UI 要素です。ツリーアイテムは データプロバイダー によって作成されます。

コンストラクター

パラメーター説明
label: string | TreeItemLabel

このアイテムを説明する人間が読める文字列

collapsibleState?: TreeItemCollapsibleState

ツリーアイテムの TreeItemCollapsibleState。デフォルトは TreeItemCollapsibleState.None

戻り値説明
TreeItem

パラメーター説明
resourceUri: Uri

このアイテムを表すリソースの Uri

collapsibleState?: TreeItemCollapsibleState

ツリーアイテムの TreeItemCollapsibleState。デフォルトは TreeItemCollapsibleState.None

戻り値説明
TreeItem

プロパティ

スクリーンリーダーがこのツリーアイテムとやり取りする際に使用されるアクセシビリティ情報。一般的に、TreeItem はアクセシビリティ情報の role を設定する必要はありませんが、TreeItem がツリー状に表示されない場合など、role を設定することが意味を持つケースがあります。

ツリーアイテムの TreeItemCheckboxStatecheckboxState が変更されたときは onDidChangeTreeData を発行する必要があります。

ツリーアイテムの TreeItemCollapsibleState

ツリーアイテムが選択されたときに実行される Command

ツリーアイテムがエディタで何かを開く場合は、コマンド ID として vscode.open または vscode.diff を使用してください。これらのコマンドを使用することで、生成されるエディタが他の組み込みツリーでのエディタの開き方と一貫性を保つことができます。

ツリーアイテムのコンテキスト値。これを使用して、ツリー内でアイテム固有のアクションを寄与させることができます。例えば、ツリーアイテムのコンテキスト値が folder であるとします。menus 拡張ポイントを使用して view/item/context にアクションを寄与させる際、when 式でキー viewItemviewItem == folder のようにコンテキスト値を指定できます。

"contributes": {
  "menus": {
    "view/item/context": [
      {
        "command": "extension.deleteFolder",
        "when": "viewItem == folder"
      }
    ]
  }
}

これにより、contextValuefolder であるアイテムに対してのみ extension.deleteFolder アクションが表示されます。

より目立たないようにレンダリングされる、人間が読める文字列。true の場合、resourceUri から派生し、偽(falsy)の場合は表示されません。

ツリーアイテムのアイコンパスまたは ThemeIcon。偽(falsy)の場合、アイテムが折りたたみ可能な場合は フォルダーテーマアイコン が、それ以外の場合は ファイルテーマアイコン が割り当てられます。ファイルまたはフォルダーの ThemeIcon が指定された場合、アイコンは resourceUri(提供されている場合)を使用して現在のファイルアイコンテーマから取得されます。

ツリー全体で一意である必要のあるツリーアイテムのオプションの ID。ID はツリーアイテムの選択状態と展開状態を維持するために使用されます。

提供されない場合は、ツリーアイテムのラベルを使用して ID が生成されます。注意: ラベルが変更されると ID も変更され、選択状態と展開状態を安定して維持できなくなる可能性があります。

このアイテムを説明する人間が読める文字列。偽(falsy)の場合、resourceUri から派生します。

このアイテムに関連付けられたリソースを表す Uri

設定されている場合、このプロパティは明示的に提供されていない場合にいくつかのアイテムプロパティを自動的に派生させるために使用されます。

  • ラベルlabel が提供されていない場合、リソースのファイル名から派生します。
  • 説明descriptiontrue に設定されている場合、リソースのパスから派生します。
  • アイコンiconPathThemeIcon.File または ThemeIcon.Folder に設定されている場合、現在のファイルアイコンテーマから派生します。

このアイテムにマウスを合わせたときに表示されるツールチップテキスト。

TreeItemCheckboxState

ツリーアイテムのチェックボックス状態

列挙型メンバー

アイテムがチェックされていない状態を決定します

アイテムがチェックされている状態を決定します

TreeItemCollapsibleState

ツリーアイテムの折りたたみ状態

列挙型メンバー

アイテムが折りたたむことも展開することもできないことを決定します。子要素がないことを意味します。

アイテムが折りたたまれていることを示します

アイテムが展開されていることを示します

TreeItemLabel

ツリーアイテムを説明するラベル

プロパティ

ラベル内で強調表示する範囲。範囲は2つの数値のタプルとして定義され、最初の数値は包括的な開始インデックス、2番目の数値は排他的な終了インデックスです。

ツリーアイテムを説明する人間が読める文字列。

TreeView<T>

ツリービューを表します

イベント

要素またはルートがチェックまたはチェック解除されたことを通知するイベント。

選択範囲が変更されたときに発行されるイベント

可視性が変更されたときに発行されるイベント

要素が折りたたまれたときに発行されるイベント

要素が展開されたときに発行されるイベント

プロパティ

この TreeView に表示するバッジ。バッジを削除するには、undefined に設定します。

ビューのタイトルで目立たずにレンダリングされるオプションの人間が読める説明。タイトル説明を null、undefined、または空文字列に設定すると、ビューから説明が削除されます。

ビュー内にレンダリングされるオプションの人間が読めるメッセージ。メッセージを null、undefined、または空文字列に設定すると、ビューからメッセージが削除されます。

現在選択されている要素。

ツリービューのタイトルは、最初は extension の package.json から取得されます。タイトルプロパティへの変更は、ビューのタイトル内の UI に適切に反映されます。

ツリービューが表示されている場合は true、それ以外の場合は false

メソッド

このオブジェクトを破棄します。

パラメーター説明
戻り値説明
any

指定された要素をツリービューで表示します。ツリービューが表示されていない場合は、ツリービューが表示され、要素が表示されます。

デフォルトでは表示された要素が選択されます。選択しないようにするには、オプション selectfalse に設定します。フォーカスするには、オプション focustrue に設定します。表示された要素を展開するには、オプション expandtrue に設定します。再帰的に展開するには、expand に展開するレベル数を設定します。

  • 注意: 最大3レベルまでしか展開できません。
  • 注意: TreeView登録されている TreeDataProvider は、この API にアクセスするために getParent メソッドを実装する必要があります。
パラメーター説明
element: T
options?: {expand: number | boolean, focus: boolean, select: boolean}
戻り値説明
Thenable<void>

TreeViewExpansionEvent<T>

TreeView 内の要素が展開または折りたたまれたときに発行されるイベント

プロパティ

展開または折りたたまれた要素。

TreeViewOptions<T>

TreeView を作成するためのオプション

プロパティ

ツリーが複数選択をサポートするかどうか。ツリーが複数選択をサポートし、ツリーからコマンドが実行された場合、コマンドの最初の引数はコマンドが実行されたツリーアイテム、2番目の引数は選択されたすべてのツリーアイテムを含む配列になります。

ツリービューでドラッグ&ドロップを実装するためのオプションのインターフェース。

デフォルトでは、ツリーアイテムの子がすでに取得されている場合、子チェックボックスは親ツリーアイテムのチェック状態に基づいて自動的に管理されます。ツリーアイテムがデフォルトで折りたたまれている場合(つまり、子がまだ取得されていないことを意味します)、子チェックボックスは更新されません。この動作を上書きし、拡張機能で子および親のチェックボックス状態を管理するには、これを true に設定します。

TreeViewOptions.manageCheckboxStateManually が false(デフォルトの動作)である例

  1. ツリーアイテムがチェックされ、その子が取得されます。子要素がチェックされます。

  2. ツリーアイテムの親がチェックされます。ツリーアイテムとそのすべての兄弟がチェックされます。

    • 子 1
    • 子 2 ユーザーが親をチェックすると、ツリーは次のようになります
    • 子 1
    • 子 2
  1. ツリーアイテムとそのすべての兄弟がチェックされます。親がチェックされます。
    • 子 1
    • 子 2 ユーザーが子 1 と子 2 をチェックすると、ツリーは次のようになります
    • 子 1
    • 子 2
  1. ツリーアイテムがチェック解除されます。親がチェック解除されます。
    • 子 1
    • 子 2 ユーザーが子 1 をチェック解除すると、ツリーは次のようになります
    • 子 1
    • 子 2

すべて折りたたむアクションを表示するかどうか。

ツリーデータを提供するデータプロバイダー。

TreeViewSelectionChangeEvent<T>

ツリービューの選択範囲が変更されたときに発行されるイベント

プロパティ

選択された要素。

TreeViewVisibilityChangeEvent

ツリービューの可視性が変更されたときに発行されるイベント

プロパティ

ツリービューが表示されている場合は true、それ以外の場合は false

TypeDefinitionProvider

型定義プロバイダーは、拡張機能と型定義への移動機能との間の契約を定義します。

メソッド

指定された位置とドキュメントにあるシンボルの型定義を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<Definition | LocationLink[]>

定義、またはそれに解決されるthenable。結果がないことは、undefined または null を返すことで通知できます。

TypeHierarchyItem

クラスやインターフェースのような、型階層のアイテムを表します。

コンストラクター

新しい型階層アイテムを作成します。

パラメーター説明
kind: SymbolKind

アイテムの種類。

name: string

アイテムの名前。

detail: string

アイテムの詳細。

uri: Uri

アイテムの Uri。

range: Range

アイテムの全範囲。

selectionRange: Range

アイテムの選択範囲。

戻り値説明
TypeHierarchyItem

プロパティ

このアイテムの詳細(例:関数のシグネチャ)。

このアイテムの種類。

このアイテムの名前。

このシンボルを囲む範囲。前後の空白は含みませんが、コメントやコードなど他のすべてを含みます。

このシンボルが選択されたときに選択および表示される範囲(例:クラス名)。range プロパティに含まれている必要があります。

このアイテムのタグ。

このアイテムのリソース識別子。

TypeHierarchyProvider

型階層プロバイダーインターフェースは、拡張機能と型階層機能との間の契約を説明します。

メソッド

指定されたドキュメントと位置によって示されるアイテムを返すことで、型階層をブートストラップします。このアイテムは型グラフへのエントリとして使用されます。プロバイダーは、指定された場所にアイテムがない場合、undefined または null を返す必要があります。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<TypeHierarchyItem | TypeHierarchyItem[]>

1つまたは複数の型階層アイテム、またはそれを解決する Thenable。結果がないことは、undefinednull、または空の配列を返すことで通知できます。

アイテムのすべてのサブタイプ(例:指定されたアイテムから派生/継承されたすべての型)を提供します。グラフ用語では、これは型グラフ内の有向および注釈付きエッジを記述します。例えば、指定されたアイテムが開始ノードであり、結果は到達可能なノードです。

パラメーター説明
item: TypeHierarchyItem

サブタイプを計算する必要のある階層アイテム。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<TypeHierarchyItem[]>

直接のサブタイプのセット、またはそれを解決する Thenable。結果がないことは、undefined または null を返すことで通知できます。

アイテムのすべてのスーパータイプ(例:型が派生/継承されるすべての型)を提供します。グラフ用語では、これは型グラフ内の有向および注釈付きエッジを記述します。例えば、指定されたアイテムが開始ノードであり、結果は到達可能なノードです。

パラメーター説明
item: TypeHierarchyItem

スーパータイプを計算する必要のある階層アイテム。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<TypeHierarchyItem[]>

直接のスーパータイプのセット、またはそれを解決する Thenable。結果がないことは、undefined または null を返すことで通知できます。

UIKind

拡張機能を使用できる UI の種類。

列挙型メンバー

拡張機能はデスクトップアプリケーションからアクセスされます。

拡張機能は Web ブラウザからアクセスされます。

Uri

ディスク上のファイルまたは、無題リソースのような別のリソースを表す汎用リソース識別子。

静的

ファイルシステムパスから URI を作成します。schemefile になります。

Uri.parseUri.file違いは、後者は引数を文字列化された URI ではなくパスとして扱う点です。例えば、Uri.file(path)Uri.parse('file://' + path) とは同じではありません。なぜなら、パスには解釈される可能性のある文字(#_ や ?)が含まれている可能性があるためです。以下のサンプルを参照してください。

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';
パラメーター説明
path: string

ファイルシステムパスまたは UNC パス。

戻り値説明
Uri

新しい Uri インスタンス。

コンポーネントパーツからURIを作成します

参照: Uri.toString

パラメーター説明
components: {authority: string, fragment: string, path: string, query: string, scheme: string}

Uriのコンポーネントパーツです。

戻り値説明
Uri

新しい Uri インスタンス。

ベースとなるUriのパスと、提供されたパスセグメントを結合した結果をパスとする新しいUriを作成します。

  • 注1: joinPath はパスコンポーネントのみに影響し、他のすべてのコンポーネント(scheme、authority、query、fragment)はそのまま残ります。
  • 注2: ベースUriはパスを持っている必要があります。そうでない場合はエラーがスローされます。

パスセグメントは以下の方法で正規化されます

  • パスセパレータ(/ または \)の連続は、単一のセパレータに置き換えられます
  • Windows上の file-uri では、バックスラッシュ文字(\)はパスセパレータとみなされます
  • ..-セグメントは親セグメントを、. は現在のセグメントを示します
  • パスには常に残るルートがあります。例えばWindowsのドライブレターはルートであるため、joinPath(Uri.file('file:///c:/root'), '../../other').fsPath === 'c:/other' は真となります
パラメーター説明
base: Uri

Uriです。パスを持っている必要があります。

...pathSegments: string[]

1つ以上のパスフラグメント

戻り値説明
Uri

パスが指定されたフラグメントと結合された新しいUri

文字列からURIを作成します。例: http://www.example.com/some/path, file:///usr/home, scheme:with/path など。

注意: しばらくの間、scheme のないuriも受け入れられていました。しかし、すべてのuriはスキームを持つべきであるため、これは正しくありません。既存のコードの破壊を防ぐため、オプションの strict 引数が追加されました。Uri.parse('my:uri', true) のように使用することを強く推奨します。

参照: Uri.toString

パラメーター説明
value: string

Uriの文字列値です。

strict?: boolean

value が空の場合、または scheme が解析できない場合にエラーをスローします。

戻り値説明
Uri

新しい Uri インスタンス。

コンストラクター

新しい Uri オブジェクトを作成するには、file および parse ファクトリ関数を使用してください。

パラメーター説明
scheme: string
authority: string
path: string
query: string
fragment: string
戻り値説明
Uri

プロパティ

Authority は http://www.example.com/some/path?query#fragment における www.example.com の部分です。最初のダブルスラッシュと次のスラッシュの間の部分です。

Fragment は http://www.example.com/some/path?query#fragment における fragment の部分です。

このUriに対応するファイルシステムパスを表す文字列です。

UNCパスを処理し、Windowsのドライブレターを小文字に正規化します。また、プラットフォーム固有のパスセパレータを使用します。

  • パスの不正な文字やセマンティクスについての検証は行いません
  • このUriのスキームは参照しません
  • 結果の文字列は表示目的ではなく、readFile などのディスク操作に使用されるべきです。

path プロパティとの違いは、プラットフォーム固有のパスセパレータの使用とUNCパスの扱いです。以下のサンプルでその違いを概説します。

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

Path は http://www.example.com/some/path?query#fragment における /some/path の部分です。

Query は http://www.example.com/some/path?query#fragment における query の部分です。

Scheme は http://www.example.com/some/path?query#fragment における http の部分です。最初のコロンより前の部分です。

メソッド

このUriのJSON表現を返します。

パラメーター説明
戻り値説明
any

オブジェクトです。

このUriの文字列表現を返します。URIの表現と正規化はスキームに依存します。

  • 結果の文字列は Uri.parse で安全に使用できます。
  • 結果の文字列は表示目的で使用してはいけません

注意: 実装ではアグレッシブなエンコードを行うため、予期しない(ただし不正確ではない)結果になることがよくあります。例えば、コロンは %3A にエンコードされますが、これは file-uri では予期しない可能性があります。また、&= もエンコードされますが、これも http-uri では予期しない可能性があります。安定性の理由から、これはこれ以上変更できません。アグレッシブすぎるエンコードにお困りの場合は、skipEncoding 引数を使用してください: uri.toString(true)

パラメーター説明
skipEncoding?: boolean

結果をパーセントエンコードしないようにします。デフォルトは false です。パスに含まれる # および ? 文字は常にエンコードされることに注意してください。

戻り値説明
string

このUriの文字列表現。

このUriから新しいUriを派生させます。

let file = Uri.parse('before:some/file/path');
let other = file.with({ scheme: 'after' });
assert.ok(other.toString() === 'after:some/file/path');
パラメーター説明
change: {authority: string, fragment: string, path: string, query: string, scheme: string}

このUriへの変更を記述するオブジェクト。コンポーネントを未設定にするには null または空文字列を使用します。

戻り値説明
Uri

指定された変更を反映した新しいUri。変更が何もない場合は、このUri(this)を返します。

UriHandler

URIハンドラーは、システム全体の uri を処理する役割を担います。

参照: window.registerUriHandler

メソッド

提供されたシステム全体の Uri を処理します。

参照: window.registerUriHandler

パラメーター説明
uri: Uri
戻り値説明
ProviderResult<void>

ViewBadge

ビューの値を表示するバッジ

プロパティ

バッジのツールチップに表示するラベル。

バッジに表示する値。

ViewColumn

ウィンドウ内のエディターの場所を示します。エディターはグリッド状に配置でき、各列はエディターの表示順序によってそのグリッド内の1つのエディターの場所を表します。

列挙型メンバー

アクティブな列の横にある列を表す象徴的なエディター列です。この値はエディターを開くときに使用できますが、エディターの解決された viewColumn 値は常に OneTwoThree、... または undefined であり、Beside になることはありません。

現在アクティブな列を表す象徴的なエディター列です。この値はエディターを開くときに使用できますが、エディターの解決された viewColumn 値は常に OneTwoThree、... または undefined であり、Active になることはありません。

最初のエディター列。

2番目のエディター列。

3番目のエディター列。

4番目のエディター列。

5番目のエディター列。

6番目のエディター列。

7番目のエディター列。

8番目のエディター列。

9番目のエディター列。

Webview

iframeと同様に、htmlコンテンツを表示します。

イベント

webviewコンテンツがメッセージを投稿したときに発生します。

Webviewコンテンツは、文字列またはJSONシリアライズ可能なオブジェクトを拡張機能に送り返すことができます。拡張機能はブラウザ環境で実行されないため、BlobFileImageData、その他のDOM固有オブジェクトを投稿することはできません。

プロパティ

webviewリソースのコンテンツセキュリティポリシーソースです。

これは、コンテンツセキュリティポリシーのルールで使用されるべきオリジンです。

`img-src https: ${webview.cspSource} ...;`;

webviewのHTMLコンテンツです。

これは完全で有効なhtmlドキュメントである必要があります。このプロパティを変更すると、webviewが再読み込みされます。

Webviewは通常の拡張機能プロセスからサンドボックス化されているため、webviewとの通信はすべてメッセージパッシングを使用する必要があります。拡張機能からwebviewにメッセージを送るには postMessage を使用してください。webviewから拡張機能にメッセージを送り返すには、webview内で acquireVsCodeApi 関数を使用してエディターのapiへのハンドルを取得し、.postMessage() を呼び出してください。

<script>
    const vscode = acquireVsCodeApi(); // acquireVsCodeApi can only be invoked once
    vscode.postMessage({ message: 'hello!' });
</script>

webview内でワークスペースからリソースを読み込むには、asWebviewUri メソッドを使用し、リソースのディレクトリが WebviewOptions.localResourceRoots にリストされていることを確認してください。

Webviewはサンドボックス化されているとはいえ、スクリプトの実行や任意のコンテンツの読み込みを許可しているため、拡張機能はwebviewを扱う際にすべての標準的なWebセキュリティのベストプラクティスに従う必要があります。これには、すべての信頼できない入力(ワークスペースからのコンテンツを含む)の適切なサニタイズと、コンテンツセキュリティポリシーの設定が含まれます。

webviewのコンテンツ設定です。

メソッド

ローカルファイルシステムのuriをwebview内で使用できるuriに変換します。

Webviewは file: uriを使用して、ワークスペースやローカルファイルシステムからリソースを直接読み込むことはできません。asWebviewUri 関数はローカルの file: uriを受け取り、それをwebview内で同じリソースを読み込むために使用できるuriに変換します。

webview.html = `<img src="${webview.asWebviewUri(
  vscode.Uri.file('/Users/codey/workspace/cat.gif')
)}">`;
パラメーター説明
localResource: Uri
戻り値説明
Uri

webviewコンテンツにメッセージを投稿します。

メッセージは、webviewがライブ状態(表示中、または retainContextWhenHidden を設定してバックグラウンドにある状態)の場合にのみ配信されます。

パラメーター説明
message: any

メッセージの本文。文字列または他のJSONシリアライズ可能なオブジェクトである必要があります。

vscodeの古いバージョンでは、messageArrayBuffer が含まれている場合、正しくシリアライズされず、webviewで受信されません。同様に、Uint8Array などのTypedArrayも非常に非効率にシリアライズされ、webview内でtyped arrayとして再作成されません。

ただし、拡張機能の package.jsonengines フィールドでvscode 1.57+をターゲットにしている場合、message に含まれる ArrayBuffer 値はより効率的にwebviewに転送され、webview内で正しく再作成されます。

戻り値説明
Thenable<boolean>

メッセージがwebviewに投稿されたとき、または配信不能で破棄されたときに解決されるpromise。

メッセージがwebviewに投稿された場合は true を返します。メッセージは、ライブ状態のwebview(表示中のwebview、または retainContextWhenHidden を設定した非表示のwebview)にのみ投稿できます。

true が返されたからといって、メッセージが実際にwebviewで受信されたとは限りません。例えば、webview内にメッセージリスナーが設定されていなかったり、メッセージ投稿後にwebviewが破棄されたりした可能性があります。

メッセージが実際に受信されたことを確認したい場合は、webviewから確認メッセージを拡張機能に送り返すようにしてみてください。

WebviewOptions

webviewのコンテンツ設定。

プロパティ

webviewコンテンツ内でコマンドuriが有効かどうかを制御します。

デフォルトは false (コマンドuriは無効)です。

配列を渡すと、その配列内のコマンドのみが許可されます。

webviewコンテンツ内でフォームが有効かどうかを制御します。

スクリプトが有効な場合はデフォルトでtrueになり、それ以外はデフォルトでfalseになります。このプロパティを明示的にtrueまたはfalseに設定すると、デフォルトが上書きされます。

webviewコンテンツ内でスクリプトが有効かどうかを制御します。

デフォルトは false (スクリプト無効)です。

asWebviewUri からのuriを使用して、webviewがローカル(ファイルシステム)リソースを読み込めるルートパス

デフォルトは、現在のワークスペースのルートフォルダと拡張機能のインストールディレクトリです。

ローカルリソースへのアクセスを一切許可しない場合は、空の配列を渡してください。

webview内で使用されるlocalhostポートのマッピング。

ポートマッピングを使用すると、webviewはlocalhostポートがどのように解決されるかを透過的に定義できます。これは、webview内で静的なlocalhostポートを使用し、それをサービスが実行されているランダムなポートに解決するために使用できます。

webviewがlocalhostコンテンツにアクセスする場合、webviewPortextensionHostPort が同じであっても、ポートマッピングを指定することを推奨します。

注意: ポートマッピングは http または https URLに対してのみ機能します。Websocket URL(例: ws://:3000)を別のポートにマップすることはできません。

WebviewPanel

Webview を含むパネルです。

イベント

パネルの表示状態が変化したときに発生します。

パネルが破棄されたときに発生します。

これはユーザーがパネルを閉じたか、パネルに対して dispose が呼び出されたためである可能性があります。

破棄されたパネルを使用しようとすると、例外がスローされます。

プロパティ

パネルがアクティブ(ユーザーによってフォーカスされている)かどうか。

UIに表示されるパネルのアイコン。

webviewパネルのコンテンツ設定。

UIに表示されるパネルのタイトル。

パネルのエディター位置。このプロパティは、webviewがエディターの表示列のいずれかにある場合にのみ設定されます。

'markdown.preview' などのwebviewパネルのタイプを識別します。

パネルが表示されているかどうか。

パネルに属する Webview です。

メソッド

webviewパネルを破棄します。

これは、表示されているパネルを閉じ、webviewが所有するリソースを破棄します。ユーザーがwebviewパネルを閉じると、webviewパネルも破棄されます。どちらの場合も onDidDispose イベントが発生します。

パラメーター説明
戻り値説明
any

webviewパネルを指定された列に表示します。

webviewパネルは一度に1つの列にのみ表示されます。すでに表示されている場合は、このメソッドによって新しい列に移動されます。

パラメーター説明
viewColumn?: ViewColumn

パネルを表示するビュー列。未定義の場合は現在の WebviewPanel.viewColumn に表示されます。

preserveFocus?: boolean

true の場合、webviewはフォーカスを取得しません。

戻り値説明
void

WebviewPanelOnDidChangeViewStateEvent

webviewパネルの表示状態が変化したときに発生するイベント。

プロパティ

表示状態が変化した WebviewPanel です。

WebviewPanelOptions

webviewパネルのコンテンツ設定。

プロパティ

パネル内で検索ウィジェットが有効かどうかを制御します。

デフォルトは false です。

パネルが表示されなくなったときでも、webviewパネルのコンテンツ(iframe)を保持するかどうかを制御します。

通常、webviewパネルのhtmlコンテキストは、パネルが表示されたときに作成され、非表示になると破棄されます。複雑な状態やUIを持つ拡張機能は、retainContextWhenHidden を設定して、webviewがバックグラウンドのタブに移動しても、エディターにwebviewコンテキストを保持させることができます。retainContextWhenHidden を使用しているwebviewが非表示になると、そのスクリプトやその他の動的コンテンツは一時停止されます。パネルが再び表示されると、コンテキストは元の状態とまったく同じ状態で自動的に復元されます。retainContextWhenHidden を有効にしていても、非表示のwebviewにメッセージを送ることはできません。

retainContextWhenHidden はメモリ消費量が多いため、パネルのコンテキストを素早く保存・復元できない場合にのみ使用してください。

WebviewPanelSerializer<T>

vscodeがシャットダウンしたときに永続化されたwebviewパネルを復元します。

webviewの永続化には2つのタイプがあります

  • セッション内の永続化。
  • セッション間の永続化(エディターの再起動をまたぐ)。

WebviewPanelSerializer は、2番目のケースである、セッションをまたいでwebviewを永続化する場合にのみ必要です。

セッション内の永続化では、webviewが非表示になったときに状態を保存し、再度表示されたときにこの状態からコンテンツを復元できます。これは完全にwebviewコンテンツ自体によって実現されます。永続化された状態を保存するには、JSONシリアライズ可能な任意のオブジェクトを指定して acquireVsCodeApi().setState() を呼び出します。状態を復元するには、getState() を呼び出します。

// Within the webview
const vscode = acquireVsCodeApi();

// Get existing state
const oldState = vscode.getState() || { value: 0 };

// Update state
setState({ value: oldState.value + 1 });

WebviewPanelSerializer は、この永続化をエディターの再起動まで拡張します。エディターがシャットダウンされると、シリアライザーを持つすべてのwebviewの setState から状態が保存されます。再起動後、webviewが最初に表示されるときに、この状態が deserializeWebviewPanel に渡されます。拡張機能はこの状態から古い WebviewPanel を復元できます。

メソッド

シリアライズされた state からwebviewパネルを復元します。

シリアライズされたwebviewが最初に表示されたときに呼び出されます。

パラメーター説明
webviewPanel: WebviewPanel

復元するwebviewパネル。シリアライザーはこのパネルの所有権を取得する必要があります。シリアライザーはwebviewの .html を復元し、すべてのwebviewイベントをフックする必要があります。

state: T

webviewコンテンツからの永続化された状態。

戻り値説明
Thenable<void>

webviewが完全に復元されたことを示すThenable。

WebviewPortMapping

webview内のlocalhostに使用されるポートマッピングを定義します。

プロパティ

宛先ポート。webviewPort はこのポートに解決されます。

webview内で再マップするlocalhostポート。

WebviewView

webviewベースのビュー。

イベント

ビューの表示状態が変化したときに発生するイベント。

表示状態の変化をトリガーするアクション

  • ビューが折りたたまれた、または展開された場合。
  • ユーザーがサイドバーまたはパネル内の別のビューグループに切り替えた場合。

コンテキストメニューを使用してビューを非表示にすると、代わりにビューが破棄され、onDidDispose が発生することに注意してください。

ビューが破棄されたときに発生するイベント。

ビューがユーザーによって明示的に非表示にされたときに、ビューは破棄されます(これはユーザーがビュー内で右クリックし、webviewビューのチェックを外したときに発生します)。

破棄されたビューを使用しようとすると、例外がスローされます。

プロパティ

このwebviewビューに表示するバッジ。バッジを削除するには、undefinedに設定してください。

タイトル内で目立たないようにレンダリングされる、人間が読める文字列。

UIに表示されるビュータイトル。

ビュータイトルは、最初は拡張機能の package.json のコントリビューションから取得されます。

'hexEditor.dataView' などのwebviewビューのタイプを識別します。

webviewが現在表示されているかどうかを追跡します。

ビューは、画面上にあり、展開されているときに表示されます。

ビューの背後にあるwebviewです。

メソッド

UIにビューを表示します。

ビューが折りたたまれている場合は、これを展開します。

パラメーター説明
preserveFocus?: boolean

true の場合、ビューはフォーカスを取得しません。

戻り値説明
void

WebviewViewProvider

WebviewView 要素を作成するためのプロバイダーです。

メソッド

webviewビューを解決します。

resolveWebviewView は、ビューが最初に表示されたときに呼び出されます。これは、ビューが最初に読み込まれたとき、またはユーザーがビューを非表示にしてから再度表示したときに発生する可能性があります。

パラメーター説明
webviewView: WebviewView

復元するwebviewビュー。プロバイダーはこのビューの所有権を取得する必要があります。プロバイダーはwebviewの .html を設定し、関心のあるすべてのwebviewイベントをフックする必要があります。

context: WebviewViewResolveContext<unknown>

解決中のビューに関する追加のメタデータ。

token: CancellationToken

提供されているビューが不要になったことを示すキャンセル トークン。

戻り値説明
void | Thenable<void>

ビューが完全に解決されたことを示すオプションのThenable。

WebviewViewResolveContext<T>

解決中のwebviewビューに関する追加情報。

プロパティ

webviewコンテンツからの永続化された状態。

リソースを節約するため、エディターは通常、表示されていないwebviewドキュメント(iframeコンテンツ)の割り当てを解除します。例えば、ユーザーがビューを折りたたんだり、サイドバーの別のトップレベルアクティビティに切り替えたりすると、WebviewView 自体は存続しますが、webviewの背後にあるドキュメントの割り当ては解除されます。これはビューが再び表示されるときに再作成されます。

この動作は、WebviewOptions で [WebviewOptions.retainContextWhenHidden retainContextWhenHidden](#_WebviewOptions.retainContextWhenHidden retainContextWhenHidden) を設定することで防ぐことができます。ただし、これによりリソース使用量が増加するため、可能な限り避けるべきです。代わりに、永続化された状態を使用してwebviewの状態を保存し、必要に応じて素早く再作成できるようにすることができます。

永続化された状態を保存するには、webview内でJSONシリアライズ可能なオブジェクトを指定して acquireVsCodeApi().setState() を呼び出します。状態を復元するには、getState() を呼び出します。例:

// Within the webview
const vscode = acquireVsCodeApi();

// Get existing state
const oldState = vscode.getState() || { value: 0 };

// Update state
setState({ value: oldState.value + 1 });

エディターは、webviewが非表示になったとき、およびエディターの再起動をまたいで、永続化された状態が正しく保存されることを保証します。

WindowState

ウィンドウの状態を表します。

プロパティ

最近ウィンドウが操作されたかどうか。これはアクティビティがある直後、またはユーザーが操作しない時間が短期間続いた後に変化します。

現在のウィンドウにフォーカスがあるかどうか。

WorkspaceConfiguration

構成を表します。これは以下の統合ビューです

  • デフォルト設定
  • グローバル(ユーザー)設定
  • ワークスペースの設定
  • ワークスペースフォルダー設定 - 要求されたリソースが属する ワークスペースフォルダー のいずれかから取得されます。
  • 言語設定 - 要求された言語の下で定義された設定。

有効な値(get によって返される)は、以下の順序で値を上書きまたはマージすることによって計算されます

  1. defaultValuepackage.json で定義されている場合、それ以外は値の型から派生します)
  2. globalValue(定義されている場合)
  3. workspaceValue(定義されている場合)
  4. workspaceFolderValue(定義されている場合)
  5. defaultLanguageValue(定義されている場合)
  6. globalLanguageValue(定義されている場合)
  7. workspaceLanguageValue(定義されている場合)
  8. workspaceFolderLanguageValue(定義されている場合)

注意: マージされるのは object 値の型のみで、他のすべての値の型は上書きされます。

例 1: 上書き

defaultValue = 'on';
globalValue = 'relative';
workspaceFolderValue = 'off';
value = 'off';

例 2: 言語値

defaultValue = 'on';
globalValue = 'relative';
workspaceFolderValue = 'off';
globalLanguageValue = 'on';
value = 'on';

例 3: オブジェクト値

defaultValue = { a: 1, b: 2 };
globalValue = { b: 3, c: 4 };
value = { a: 1, b: 3, c: 4 };

注意: ワークスペースおよびワークスペースフォルダーの構成には launch および tasks 設定が含まれています。それらのベース名はセクション識別子の一部になります。以下のスニペットは launch.json からすべての構成を取得する方法を示しています

// launch.json configuration
const config = workspace.getConfiguration(
  'launch',
  vscode.workspace.workspaceFolders[0].uri
);

// retrieve values
const values = config.get('configurations');

詳細については、設定を参照してください。

メソッド

この構成から値を返します。

パラメーター説明
section: string

構成名。*ドット付き*名をサポートします。

戻り値説明
T

section 値は指定されているか、または undefined です。

この構成から値を返します。

パラメーター説明
section: string

構成名。*ドット付き*名をサポートします。

defaultValue: T

値が見つからない、または undefined の場合に値を返す必要があります。

戻り値説明
T

section 値は指定されているか、またはデフォルト値です。

この構成に特定の値があるかどうかを確認します。

パラメーター説明
section: string

構成名。*ドット付き*名をサポートします。

戻り値説明
boolean

セクションが undefined に解決されない場合に true となります。

構成設定に関するすべての情報を取得します。構成値は多くの場合、デフォルト値、グローバルまたはインストール全体の値、ワークスペース固有の値、フォルダー固有の値、および言語固有の値(WorkspaceConfiguration が言語にスコープされている場合)で構成されます。

また、指定された構成設定が定義されているすべての言語IDも提供します。

注意: 構成名は構成ツリーのリーフ(editor ではなく editor.fontSize)を示す必要があります。そうでない場合、結果は返されません。

パラメーター説明
section: string

構成名。*ドット付き*名をサポートします。

戻り値説明
{defaultLanguageValue: T, defaultValue: T, globalLanguageValue: T, globalValue: T, key: string, languageIds: string[], workspaceFolderLanguageValue: T, workspaceFolderValue: T, workspaceLanguageValue: T, workspaceValue: T}

構成設定に関する情報、または undefined

構成値を更新します。更新された構成値は永続化されます。

値は以下で変更できます

注意: 構成値を削除するには undefined を使用してください。例: config.update('somekey', undefined)

  • スロー - 更新中にエラーが発生しました
    • 未登録の構成。
    • ワークスペースフォルダーへのウィンドウ構成
    • ワークスペースが開かれていない場合のワークスペースまたはワークスペースフォルダーへの構成。
    • ワークスペースフォルダー設定がない場合のワークスペースフォルダーへの構成。
    • WorkspaceConfiguration がリソースにスコープされていない場合のワークスペースフォルダーへの構成。
パラメーター説明
section: string

構成名。*ドット付き*名をサポートします。

value: any

新しい値。

configurationTarget?: boolean | ConfigurationTarget

構成ターゲットまたはブール値。 - true の場合は グローバル設定 を更新します。 - false の場合は ワークスペース設定 を更新します。 - undefined または null で、構成がリソース固有の場合は ワークスペースフォルダー設定 を更新し、それ以外の場合は ワークスペース設定 を更新します。

overrideInLanguage?: boolean

要求された languageId の範囲内で値を更新するかどうか。 - true の場合、要求された languageId の下で値を更新します。 - undefined の場合、その言語に対して構成が定義されている場合にのみ、要求された languageId の下で値を更新します。

戻り値説明
Thenable<void>

WorkspaceEdit

ワークスペース編集は、複数のリソースおよびドキュメントに対するテキスト変更とファイル変更のコレクションです。

ワークスペース編集を適用するには applyEdit 関数を使用してください。

コンストラクター

パラメーター説明
戻り値説明
WorkspaceEdit

プロパティ

テキスト変更またはリソース変更の影響を受けるリソースの数。

メソッド

通常のファイルを作成します。

パラメーター説明
uri: Uri

新しいファイルのUri。

options?: {contents: Uint8Array | DataTransferFile, ignoreIfExists: boolean, overwrite: boolean}

既存のファイルを上書きするか無視するかを定義します。overwriteignoreIfExists の両方が設定されている場合、overwrite が優先されます。両方とも設定されておらず、ファイルがすでに存在する場合、編集は正常に適用できません。content プロパティを使用すると、ファイル作成時の初期コンテンツを設定できます。

metadata?: WorkspaceEditEntryMetadata

エントリのオプションのメタデータ。

戻り値説明
void

指定された範囲のテキストを削除します。

パラメーター説明
uri: Uri

リソース識別子。

range: Range

範囲。

metadata?: WorkspaceEditEntryMetadata

エントリのオプションのメタデータ。

戻り値説明
void

ファイルまたはフォルダーを削除します。

パラメーター説明
uri: Uri

削除するファイルのUri。

options?: {ignoreIfNotExists: boolean, recursive: boolean}
metadata?: WorkspaceEditEntryMetadata

エントリのオプションのメタデータ。

戻り値説明
void

リソースごとにグループ化されたすべてのテキスト編集を取得します。

パラメーター説明
戻り値説明
Array<[Uri, TextEdit[]]>

[Uri, TextEdit[]] タプルのシャローコピー。

リソースのテキスト編集を取得します。

パラメーター説明
uri: Uri

リソース識別子。

戻り値説明
TextEdit[]

テキスト編集の配列。

リソースのテキスト編集が存在するかどうかを確認します。

パラメーター説明
uri: Uri

リソース識別子。

戻り値説明
boolean

指定されたリソースがこの編集によって影響を受ける場合は true

指定された位置に指定されたテキストを挿入します。

パラメーター説明
uri: Uri

リソース識別子。

position: Position

位置。

newText: string

文字列。

metadata?: WorkspaceEditEntryMetadata

エントリのオプションのメタデータ。

戻り値説明
void

ファイルまたはフォルダーの名前を変更します。

パラメーター説明
oldUri: Uri

既存のファイル。

newUri: Uri

新しい場所。

options?: {ignoreIfExists: boolean, overwrite: boolean}

既存のファイルを上書きするか無視するかを定義します。overwriteとignoreIfExistsの両方が設定されている場合、overwriteが優先されます。

metadata?: WorkspaceEditEntryMetadata

エントリのオプションのメタデータ。

戻り値説明
void

指定されたリソースの指定された範囲を、指定されたテキストに置き換えます。

パラメーター説明
uri: Uri

リソース識別子。

range: Range

範囲。

newText: string

文字列。

metadata?: WorkspaceEditEntryMetadata

エントリのオプションのメタデータ。

戻り値説明
void

リソースのテキスト編集またはスニペット編集を設定(および置換)します。

パラメーター説明
uri: Uri

リソース識別子。

edits: ReadonlyArray<TextEdit | SnippetTextEdit>

編集の配列。

戻り値説明
void

メタデータを使用してリソースのテキスト編集またはスニペット編集を設定(および置換)します。

パラメーター説明
uri: Uri

リソース識別子。

edits: ReadonlyArray<[TextEdit | SnippetTextEdit, WorkspaceEditEntryMetadata]>

編集の配列。

戻り値説明
void

リソースのノートブック編集を設定(および置換)します。

パラメーター説明
uri: Uri

リソース識別子。

edits: readonly NotebookEdit[]

編集の配列。

戻り値説明
void

メタデータを使用してリソースのノートブック編集を設定(および置換)します。

パラメーター説明
uri: Uri

リソース識別子。

edits: ReadonlyArray<[NotebookEdit, WorkspaceEditEntryMetadata]>

編集の配列。

戻り値説明
void

WorkspaceEditEntryMetadata

ワークスペース編集のエントリの追加データ。エントリのラベル付けや、ユーザーによる確認が必要なエントリのマークをサポートします。エディターは同じラベルを持つ編集をツリーノードにグループ化します。例えば、「文字列内の変更」というラベルが付いたすべての編集は1つのツリーノードになります。

プロパティ

同じ行で目立たないようにレンダリングされる、人間が読める文字列。

編集のためのアイコンパスまたは ThemeIcon

目立つようにレンダリングされる、人間が読める文字列。

ユーザー確認が必要であることを示すフラグ。

WorkspaceEditMetadata

ワークスペース編集に関する追加データ。

プロパティ

この編集がリファクタリングであることをエディターに知らせます。

WorkspaceFolder

ワークスペースフォルダーは、エディターによって開かれる可能性のある多くのルートの1つです。すべてのワークスペースフォルダーは等価であり、アクティブまたはプライマリなワークスペースフォルダーという概念はありません。

プロパティ

このワークスペースフォルダーの序数。

このワークスペースフォルダーの名前。デフォルトは uri-path のベース名です。

このワークスペースフォルダーに関連付けられたuri。

注意: Uri 型は、将来のエディターのリリースでローカルディスクに保存されていないワークスペースフォルダー(例: ftp://server/workspaces/foo)をサポートできるように意図的に選択されました。

WorkspaceFolderPickOptions

ワークスペースフォルダーの選択UIの動作を構成するためのオプション。

プロパティ

エディターの別の部分や別のウィンドウにフォーカスが移動したときにピッカーを開いたままにするには true を設定します。この設定は iPad では無視され、常に false になります。

ユーザーをガイドするために、入力ボックス内にプレースホルダーとして表示されるオプションの文字列。

WorkspaceFoldersChangeEvent

ワークスペースフォルダーのセットに対する変更を記述するイベント。

プロパティ

追加されたワークスペースフォルダー。

削除されたワークスペースフォルダー。

WorkspaceSymbolProvider<T>

ワークスペースシンボルプロバイダーインターフェースは、拡張機能と シンボル検索 機能の間の契約を定義します。

メソッド

指定されたクエリ文字列に一致するシンボルのプロジェクト全体検索。

query パラメーターは、エディターが結果に対して独自のハイライトとスコアリングを適用するため、リラックスした方法で解釈される必要があります。経験則として、大文字と小文字を区別せず、単にクエリの文字が候補シンボル内に順序通りに出現するかどうかを確認するのが適切です。プレフィックス、部分文字列、または同様の厳密な一致は使用しないでください。

パフォーマンスを向上させるために、実装者は resolveWorkspaceSymbol を実装し、range が定義されていない部分的な location オブジェクトを持つシンボルを提供できます。その後、エディターは選択されたシンボルに対してのみ resolveWorkspaceSymbol を呼び出します(例えば、ワークスペースシンボルを開くときなど)。

パラメーター説明
query: string

クエリ文字列。空の文字列にすることもでき、その場合はすべてのシンボルが返される必要があります。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T[]>

ドキュメントハイライトの配列、またはそれを解決するthenable。結果がないことは undefinednull、または空の配列を返すことで通知できます。

シンボルが与えられた場合、その location を埋めます。このメソッドは、UIでシンボルが選択されるたびに呼び出されます。プロバイダーはこのメソッドを実装し、provideWorkspaceSymbols から不完全なシンボルを返すことができます。これはパフォーマンスの向上に役立つことがよくあります。

パラメーター説明
symbol: T

解決されるシンボル。以前の provideWorkspaceSymbols の呼び出しから返されたオブジェクトのインスタンスであることが保証されています。

token: CancellationToken

キャンセル トークン。

戻り値説明
ProviderResult<T>

解決されたシンボル、またはそれに解決されるThenable。結果が返されない場合、指定された symbol が使用されます。

APIパターン

これらはVS Code APIで使用される一般的なパターンのいくつかです。

Promise

VS Code APIは非同期操作を promise で表します。拡張機能からは、ES6、WinJS、A+など、あらゆるタイプのpromiseを返すことができます。

特定のpromiseライブラリから独立していることは、API内で Thenable 型によって表現されます。Thenable は、共通の分母である then メソッドを表します。

ほとんどの場合、promiseの使用はオプションであり、VS Codeが拡張機能に呼び出す際、結果の型だけでなく、結果の型Thenable も処理できます。promiseの使用がオプションである場合、APIは or 型を返すことでこれを示します。

provideNumber(): number | Thenable<number>

キャンセル トークン

操作は多くの場合、完了する前に変化する可能性のある不安定な状態に対して開始されます。例えば、IntelliSenseの計算が開始された後にユーザーがタイピングを続けると、その操作の結果は陳腐化してしまいます。

こうした動作の影響を受けるAPIには、CancellationTokenが渡されます。これを使用してキャンセルを確認(isCancellationRequested)したり、キャンセルが発生した際に通知を受け取ったり(onCancellationRequested)できます。キャンセル・トークンは通常、関数呼び出しの最後の引数であり、省略可能です。

Disposable(使い捨てオブジェクト)

VS Code APIでは、VS Codeから取得したリソースに対してDisposeパターンを使用します。これはイベントリスナー、コマンド、UIとの対話、および様々な言語拡張機能に適用されます。

例えば、setStatusBarMessage(value: string)関数はDisposableを返します。これに対してdisposeを呼び出すと、メッセージが削除されます。

イベント

VS Code APIのイベントは、リスナー関数を引数として渡して呼び出す関数として公開されています。サブスクライブ(登録)するとDisposableが返され、それをdisposeすることでイベントリスナーが削除されます。

var listener = function(event) {
  console.log('It happened', event);
};

// start listening
var subscription = fsWatcher.onDidDelete(listener);

// do more stuff

subscription.dispose(); // stop listening

イベント名は on[Will|Did]VerbNoun? というパターンに従います。イベントがこれから発生するのか(onWill)、すでに発生したのか(onDid)、何が起こったのか(verb)、そしてコンテキストから自明でない限り何に関するものなのか(noun)が名前から示されます。

VS Code APIの例として window.onDidChangeActiveTextEditor があります。これは、アクティブなテキストエディター(noun)が変更された(verb)時に発生するイベントです(onDid)

厳密なnullチェック

VS Code APIでは、厳密なnullチェックをサポートするため、適切に undefined および null のTypeScript型を使用しています。

© . This site is unofficial and not affiliated with Microsoft.