に参加して、VS Code の AI 支援開発について学びましょう。

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 つだけです。それらのプロバイダー ID は「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

チャット

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

関数

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

パラメーター説明
id: string

参加者の一意識別子。

handler: ChatRequestHandler

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

戻り値説明
ChatParticipant

新しいチャット参加者

コマンド

コマンドを扱うための名前空間。簡単に言えば、コマンドとは一意の識別子を持つ関数です。この関数は、コマンドハンドラと呼ばれることもあります。

registerCommand 関数と registerTextEditorCommand 関数を使用して、エディターにコマンドを追加できます。コマンドは 手動で 実行したり、UI ジェスチャから実行したりできます。それらは次のとおりです

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

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

これは、コマンドハンドラを登録し、そのコマンドのエントリをパレットに追加するサンプルです。最初に、識別子 `extension.sayHello` を持つコマンドハンドラを登録します。

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

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

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

関数

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

  • 注1: エディタコマンドを実行する場合、すべての型が引数として渡せるわけではありません。許容されるのは、プリミティブ型 `string`、`boolean`、`number`、`undefined`、`null`、および 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。

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

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

パラメーター説明
command: string

コマンドの一意識別子。

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

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

thisArg?: any

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

戻り値説明
Disposable

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

コメント

関数

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

パラメーター説明
id: string

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

label: string

コメントコントローラーの人間が読める文字列。

戻り値説明
CommentController

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

debug

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

変数

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

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

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

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

イベント

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

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

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

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

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

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

関数

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

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

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

戻り値説明
void

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

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

パラメーター説明
source: DebugProtocolSource

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

session?: DebugSession

ソース記述子が参照番号を使用してアクティブなデバッグセッションからコンテンツをロードする場合に使用されるオプションのデバッグセッション。

戻り値説明
Uri

ソースのコンテンツをロードするために使用できる Uri。

特定のデバッグタイプに対して デバッグアダプター記述子ファクトリ を登録します。拡張機能は、拡張機能によって定義されたデバッグタイプにのみ DebugAdapterDescriptorFactory を登録できます。それ以外の場合はエラーがスローされます。デバッグタイプに複数の 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。

環境

エディターが実行される環境を記述する名前空間。

変数

アプリケーションのホストされた場所。デスクトップでは「desktop」。ウェブでは、指定された埋め込み先、つまり「github.dev」、「codespaces」、または埋め込み先がその情報を提供しない場合は「web」。

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

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

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

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

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

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

`de-CH`、`fr`、`en-US`のような、優先されるユーザー言語を表します。

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

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

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

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

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

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

UIの種類プロパティは、拡張機能がどのUIからアクセスされるかを示します。例えば、拡張機能はデスクトップアプリケーションまたはウェブブラウザからアクセスできます。

エディターがオペレーティングシステムに登録するカスタム 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);

: 拡張機能は `asExternalUri` の結果をキャッシュすべきではありません。なぜなら、解決された uri はシステムまたはユーザーのアクション (例えば、リモートの場合、ユーザーが `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>

開くのが成功したかどうかを示すプロミス。

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.json` に `extensionDependencies` エントリを追加し、以下のように 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` ファイルが存在している必要があります。`.json` ファイル。`bundle.l10n.json` ファイルの生成方法については、`.json` ファイルの生成方法については、vscode-l10n リポジトリ を参照してください。

注: 組み込み拡張機能 (例: Git、TypeScript 言語機能、GitHub 認証) は `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 など) のレコードの値に置き換えられる名前付きテンプレートをサポートします。

args: Record<string, any>

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

戻り値説明
string

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

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

パラメーター説明
options: {args: Array<string | number | boolean> | Record<string, any>, 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。

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

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

  1. DocumentSelector が配列の場合、含まれる各 `DocumentFilter` または言語識別子に対してマッチを計算し、最大値を取得します。
  2. 文字列は非糖衣構文化されて DocumentFilter の `language` 部分になるため、`"fooLang"` は `{ language: "fooLang" }` のようになります。
  3. DocumentFilter は、その部分とドキュメントを比較することによってドキュメントと照合されます。以下のルールが適用されます。
    1. `DocumentFilter` が空 (`{}`) の場合、結果は `0` です。
    2. `scheme`、`language`、`pattern`、または`notebook`が定義されているが、いずれか1つが一致しない場合、結果は`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

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

1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、グループごとに順次ドキュメントハイライトを要求されます。プロセスは、プロバイダーがnon-falsyまたはnon-failureの結果を返すときに停止します。

パラメーター説明
selector: DocumentSelector

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

provider: DocumentHighlightProvider

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

戻り値説明
Disposable

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

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

複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。

パラメーター説明
selector: DocumentSelector

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

provider: DocumentLinkProvider<DocumentLink>

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

戻り値説明
Disposable

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

新しいDocumentPasteEditProviderを登録します。

言語ごとに複数のプロバイダーを登録できます。言語に登録されているすべてのプロバイダーは、DocumentPasteProviderMetadataで指定された処理対象のMIMEタイプに基づいて、コピー&ペースト操作のために呼び出されます。

コピー操作の場合、各プロバイダーによって行われたDataTransferへの変更は、クリップボードにデータを投入するために使用される単一のDataTransferにマージされます。

[DocumentPasteEditProvider.providerDocumentPasteEdits ペースト操作](#DocumentPasteEditProvider.providerDocumentPasteEdits ペースト操作)の場合、各プロバイダーが呼び出され、1つ以上のDocumentPasteEditを返すことができます。編集は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

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

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

パラメーター説明
selector: DocumentSelector

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

provider: EvaluatableExpressionProvider

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

戻り値説明
Disposable

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

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

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

失敗したプロバイダー (拒否されたプロミスまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
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

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

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

パラメーター説明
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

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

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

パラメーター説明
selector: DocumentSelector

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

provider: RenameProvider

名前変更プロバイダー。

戻り値説明
Disposable

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

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

複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。

パラメーター説明
selector: DocumentSelector

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

provider: SelectionRangeProvider

選択範囲プロバイダー。

戻り値説明
Disposable

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

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

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

パラメーター説明
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

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

複数のプロバイダーを登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否されたプロミスまたは例外) は、操作全体の失敗を引き起こしません。

パラメーター説明
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

このプロバイダーのベンダー。グローバルに一意である必要があります。例としてcopilotopenaiがあります。

provider: LanguageModelChatProvider<LanguageModelChatInformation>

登録するプロバイダー。

戻り値説明
Disposable

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

エディターが消費するモデルコンテキストプロトコルサーバーを公開するプロバイダーを登録します。これにより、ユーザーが設定ファイルで作成するサーバーに加えて、MCPサーバーをエディターに動的に提供できます。

このメソッドを呼び出す前に、拡張機能は対応するidcontributes.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インスタンスを登録し、次にTestItemを追加することで公開されます。コントローラーは、1つ以上のTestRunProfileインスタンスを作成することで、テストの実行方法を記述することもできます。

関数

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

パラメーター説明
id: string

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

label: string

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

戻り値説明
TestController

TestControllerのインスタンス。

window

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

変数

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

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

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

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

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

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

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

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

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

イベント

アクティブなカラーテーマが変更されたとき、または変更があるときに発火するイベント

アクティブなノートブックエディターが変更されたときに発火するイベント: アクティブなエディターがundefinedに変更された場合にもイベントが発火します。

アクティブなターミナルが変更されたときに発火するイベント: アクティブなターミナルがundefinedに変更された場合にもイベントが発火します。

アクティブなエディターが変更されたときに発火するイベント: アクティブなエディターがundefinedに変更された場合にもイベントが発火します。

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

ノートブックエディターの表示範囲が変更されたときに発火するイベント

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

ターミナルの状態が変更されたときに発火するイベント

エディターのオプションが変更されたときに発火するイベント

エディターの選択範囲が変更されたときに発火するイベント

エディターのビュー列が変更されたときに発火するイベント

エディターの可視範囲が変更されたときに発火するイベント

表示されているエディターの配列が変更されたときに発火するイベント

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

ターミナルが破棄されたときに発火するイベント

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

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

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

関数

ユーザーにテキスト入力を入力させるための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

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

バッキングシェルプロセスを持つターミナルを作成します。ターミナルのCWDは、存在する場合はワークスペースディレクトリになります。

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

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

shellPath?: string

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

shellArgs?: string | readonly string[]

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

戻り値説明
ターミナル

新しいターミナル。

バッキングシェルプロセスを持つターミナルを作成します。

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

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

戻り値説明
ターミナル

新しいターミナル。

拡張機能がその入力と出力を制御するターミナルを作成します。

パラメーター説明
options: ExtensionTerminalOptions

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

戻り値説明
ターミナル

新しいターミナル。

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

パラメーター説明
options: DecorationRenderOptions

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

戻り値説明
TextEditorDecorationType

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

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

パラメーター説明
viewId: string

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

options: TreeViewOptions<T>

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

戻り値説明
TreeView<T>

新しいウェブビューパネルを作成して表示します。

パラメーター説明
viewType: string

ウェブビューパネルのタイプを識別します。

title: string

パネルのタイトル。

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

エディターでウェブビューを表示する場所。preserveFocusが設定されている場合、新しいウェブビューはフォーカスを取得しません。

options?: WebviewPanelOptions & WebviewOptions

新しいパネルの設定。

戻り値説明
WebviewPanel

新しいウェブビューパネル。

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

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

パラメーター説明
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

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

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

たとえば、my.extension拡張機能がURIハンドラーを登録する場合、product-name://my.extensionというプレフィックスを持つURIのみを処理できます。

拡張機能は、そのアクティベーションライフタイム全体で1つのURIハンドラーのみを登録できます。

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

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

戻り値説明
Disposable

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

ウェブビューパネルシリアライザーを登録します。

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

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

パラメーター説明
viewType: string

シリアル化できるウェブビューパネルのタイプ。

serializer: WebviewPanelSerializer<unknown>

ウェブビューシリアライザー。

戻り値説明
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に解決されるPromise。

指定された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に解決されるPromise。

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

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

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

options?: QuickPickOptions

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

token?: CancellationToken

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

戻り値説明
Thenable<string | undefined>

選択、またはundefinedに解決されるPromise。

複数の選択を可能にする選択リストを表示します。

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

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

options: QuickPickOptions & {canPickMany: true}

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

token?: CancellationToken

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

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

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

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

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

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

options?: QuickPickOptions

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

token?: CancellationToken

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

戻り値説明
Thenable<T | undefined>

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

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

パラメーター説明
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が解決または拒否されるまで、ソース管理ビューレットに進行状況を表示します。

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

Promiseを返すコールバック。提供されたProgressオブジェクトで進行状況の増分を報告できます。

戻り値説明
Thenable<R>

タスクが返したthenable。

workspace

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

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

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

ワークスペースは、fsイベントのリッスンとファイルの検索をサポートしています。どちらもパフォーマンスが良く、エディタープロセスで実行されるため、nodejsの同等物を使用する代わりに常に使用する必要があります。

変数

ローカルファイルおよびリモートファイルと対話できるファイルシステムインスタンス。例: 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を参照してください。

イベント

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注意2: 子を含むフォルダーを削除すると、イベントは1つしか発生しません。

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

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

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

表示されているテキストドキュメントが開かれたときにイベントリスナーを追加するには、window名前空間の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つ以上のリソースを変更したり、リソースを作成、削除、名前変更したりします。

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

テキスト編集のみで構成されるワークスペース編集を適用する場合、「すべてか無か」戦略が使用されます。リソースの作成または削除を含むワークスペース編集は操作を中止します。例えば、1つの編集が失敗した場合、連続する編集は試行されません。

パラメーター説明
edit: WorkspaceEdit

ワークスペース編集。

metadata?: WorkspaceEditMetadata

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

戻り値説明
Thenable<boolean>

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

ワークスペースフォルダーまたは複数のフォルダーに対する相対パスを返します。

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

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

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

includeWorkspaceFolder?: boolean

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

戻り値説明
string

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

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

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

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

注意 ファイルシステムに存在しないパスは、作成されるまで遅延して監視され、その後、提供されたパラメータに応じて監視されます。監視対象のパスが削除された場合、ウォッチャーは一時停止し、パスが再度作成されるまでイベントを報告しません。

再帰的なファイルウォッチャーの使用は最小限に抑えるようにしてください。再帰的なファイル監視は非常に多くのリソースを消費します。

globPatternとしてstringを提供することは、開いているすべてのワークスペースフォルダーでファイルイベントを監視するための便利な方法として機能します。これは、ファイル監視のためにより多くのフォルダーを追加したり、開いているワークスペースフォルダーの一部ではないフォルダーからのファイルイベントを報告したりするために使用することはできません。

オプションで、特定の種類のイベントを無視するフラグを提供できます。

イベントのリッスンを停止するには、ウォッチャーを破棄する必要があります。

注意: 再帰的なファイルウォッチャーからのファイルイベントは、ユーザー設定に基づいて除外される場合があります。設定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にコンテンツをデコードします。エンコーディングが適切に適用されるように、コンテンツ全体を一度に提供する必要があります。このメソッドをチャンクでコンテンツをデコードするために使用しないでください。正しくない結果につながる可能性があります。

設定とバッファのコンテンツ(バイトオーダーマークなど)に基づいてエンコーディングを選択します。

注意: エンコーディングでサポートされていないコンテンツをデコードした場合、結果には必要に応じて置換文字が含まれる場合があります。

  • throws - このメソッドは、コンテンツがバイナリの場合にエラーをスローします。
パラメーター説明
content: Uint8Array

デコードするテキストコンテンツをUint8Arrayとして。

戻り値説明
Thenable<string>

デコードされたstringに解決されるthenable。

提供されたエンコーディングを使用して、Uint8Arrayからstringにコンテンツをデコードします。エンコーディングが適切に適用されるように、コンテンツ全体を一度に提供する必要があります。このメソッドをチャンクでコンテンツをデコードするために使用しないでください。正しくない結果につながる可能性があります。

注意: エンコーディングでサポートされていないコンテンツをデコードした場合、結果には必要に応じて置換文字が含まれる場合があります。

  • throws - このメソッドは、コンテンツがバイナリの場合にエラーをスローします。
パラメーター説明
content: Uint8Array

デコードするテキストコンテンツをUint8Arrayとして。

options: {encoding: string}

エンコーディングを選択するための追加のコンテキスト。

戻り値説明
Thenable<string>

デコードされたstringに解決されるthenable。

Uint8Arrayからstringにコンテンツをデコードします。エンコーディングが適切に適用されるように、コンテンツ全体を一度に提供する必要があります。このメソッドをチャンクでコンテンツをデコードするために使用しないでください。正しくない結果につながる可能性があります。

エンコーディングは、設定とバッファのコンテンツ(バイトオーダーマークなど)に基づいて選択されます。

注意: エンコーディングでサポートされていないコンテンツをデコードした場合、結果には必要に応じて置換文字が含まれる場合があります。

  • throws - このメソッドは、コンテンツがバイナリの場合にエラーをスローします。
パラメーター説明
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。

戻り値説明
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 のセットに置き換えます。この「スプライス」動作は、単一の操作でワークスペースフォルダーを追加、削除、変更するために使用できます。

注: このメソッドを呼び出すと、現在実行中の拡張機能 (このメソッドを呼び出した拡張機能を含む) が終了して再起動される場合があります。たとえば、最初のワークスペースフォルダーが追加、削除、または変更されると、(非推奨の) 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

対話型オプション forceNewSessioncreateIfNone を指定して authentication.getSession を呼び出すときに使用されるオプション。

プロパティ

再認証を要求する際にユーザーに表示されるオプションのメッセージです。ユーザーに再認証を求める理由に関する追加のコンテキストを提供することで、ユーザーが承認する可能性を高めることができます。

AuthenticationProvider

サービスへの認証を実行するためのプロバイダーです。

イベント

セッションの配列が変更されたとき、またはセッション内のデータが変更されたときに発生する イベント です。

メソッド

ユーザーにログインを促します。

ログインが成功した場合、onDidChangeSessions イベントが発生するはずです。

ログインに失敗した場合、拒否されたプロミスが返されるはずです。

プロバイダーが複数のアカウントをサポートしていないと指定している場合、これらのスコープに一致する既存のセッションがすでに存在する場合は、このメソッドは呼び出されるべきではありません。

パラメーター説明
scopes: readonly string[]

新しいセッションが作成されるべきスコープ、つまりアクセス許可のリストです。

options: AuthenticationProviderSessionOptions

セッション作成のための追加オプションです。

戻り値説明
Thenable<AuthenticationSession>

認証セッションに解決されるプロミスです。

セッションのリストを取得します。

パラメーター説明
scopes: readonly string[]

スコープのオプションのリストです。指定された場合、返されるセッションはこれらのアクセス許可に一致する必要があります。そうでない場合は、すべてのセッションが返されるべきです。

options: AuthenticationProviderSessionOptions

セッションを取得するための追加オプションです。

戻り値説明
Thenable<AuthenticationSession[]>

認証セッションの配列に解決されるプロミスです。

セッション ID に対応するセッションを削除します。

削除が成功した場合、onDidChangeSessions イベントが発生するはずです。

セッションを削除できない場合、プロバイダーはエラーメッセージとともに拒否されるべきです。

パラメーター説明
sessionId: string

削除するセッションの ID です。

戻り値説明
Thenable<void>

AuthenticationProviderAuthenticationSessionsChangeEvent

AuthenticationSession が追加、削除、または変更されたときに発生する イベント です。

プロパティ

変更された AuthenticationProviderAuthenticationSessions です。セッションのデータが ID を除いて更新されたときにセッションが変更されます。この例としては、新しいアクセストークンがセッションに設定されるセッション更新があります。

AuthenticationProviderInformation

AuthenticationProvider の基本情報

プロパティ

認証プロバイダーの一意の識別子です。

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

AuthenticationProviderOptions

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

プロパティ

このプロバイダーで複数のアカウントに同時にサインインできるかどうか。指定されていない場合、デフォルトは false になります。

AuthenticationProviderSessionOptions

AuthenticationProvider.getSessions および AuthenticationProvider.createSession の呼び出しに渡されるオプション。

プロパティ

尋ねられているアカウントです。これが渡された場合、プロバイダーはこのアカウントにのみ関連するセッションを返すことを試みるべきです。

AuthenticationSession

現在ログインしているユーザーのセッションを表します。

プロパティ

アクセストークン。

セッションに関連付けられたアカウント。

認証セッションの識別子。

セッションのアクセストークンによって付与された権限。利用可能なスコープは AuthenticationProvider によって定義されます。

AuthenticationSessionAccountInformation

AuthenticationSession に関連付けられたアカウントの情報。

プロパティ

アカウントの一意の識別子。

アカウントの人間が読める名前。

AuthenticationSessionsChangeEvent

AuthenticationSession が追加、削除、または変更されたときに発生する イベント です。

プロパティ

セッションが変更された AuthenticationProvider

AuthenticationWwwAuthenticateRequest

WWW-Authenticate ヘッダー値に基づいてセッションを作成するためのパラメーターを表します。これは、API が追加の認証が必要であることを示す WWW-Authenticate ヘッダー付きで 401 を返す場合に使用されます。その詳細は、セッションを作成するために認証プロバイダーに渡されます。

  • - 認証プロバイダーは、チャレンジ、特にこの WWW-Authenticate 値内のチャレンジを処理することをサポートする必要があります。

プロパティ

WWW-Authenticate ヘッダーにスコープが見つからない場合に使用するフォールバックスコープ。

このチャレンジをトリガーした生の WWW-Authenticate ヘッダー値。これは、必要なチャレンジ情報を抽出するために認証プロバイダーによって解析されます。

AutoClosingPair

開始文字列を入力すると、閉じ文字列が自動的に挿入される文字列のペアを記述します。

プロパティ

開始文字列を入力すると自動的に挿入される閉じ文字列。

ペアが自動的に閉じられないトークンのセット。

閉じ文字列の自動挿入をトリガーする文字列。

BranchCoverage

StatementCoverage のブランチのコードカバレッジ情報を含みます。

コンストラクター

パラメーター説明
executed: number | boolean

このブランチが実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。ゼロまたは false の場合、ブランチはカバーされていないとマークされます。

location?: Range | Position

ブランチの位置。

label?: string
戻り値説明
BranchCoverage

プロパティ

このブランチが実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。ゼロまたは false の場合、ブランチはカバーされていないとマークされます。

ブランチのラベルで、例えば「${label} ブランチは実行されなかった」という文脈で使用されます。

ブランチの位置。

Breakpoint

すべてのブレークポイント型の基底クラス。

コンストラクター

新しいブレークポイントを作成します

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

ブレークポイントが有効かどうか。

condition?: string

条件付きブレークポイントの式

hitCondition?: string

ブレークポイントが無視されるヒット数を制御する式

logMessage?: string

ブレークポイントにヒットしたときに表示されるログメッセージ

戻り値説明
ブレークポイント

プロパティ

条件付きブレークポイントのオプションの式。

ブレークポイントが有効かどうか。

ブレークポイントが無視されるヒット数を制御するオプションの式。

ブレークポイントの一意の 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 です。

キャンセル時に発生する イベント です。

CancellationTokenSource

キャンセルソースは、キャンセル・トークンを作成し、制御します。

コンストラクター

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

プロパティ

このソースのキャンセル・トークン。

メソッド

トークンにキャンセルを通知します。

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

オブジェクトを破棄し、リソースを解放します。

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

CharacterPair

開閉括弧のペアのように、2文字のタプル。

ChatContext

参加者に渡される追加のコンテキスト。

プロパティ

現在のチャットセッションにおけるこれまでのすべてのチャットメッセージ。現在、現在の参加者に対するチャットメッセージのみが含まれます。

ChatErrorDetails

チャットリクエストからのエラー結果を表します。

プロパティ

ユーザーに表示されるエラーメッセージ。

true に設定すると、応答の一部がぼかされます。

ChatFollowup

参加者が提案するフォローアップの質問。

プロパティ

デフォルトでは、フォローアップは同じ参加者/コマンドに送信されます。しかし、このプロパティを設定することで、別のコマンドを呼び出すことができます。

ユーザーに表示するタイトルです。指定されていない場合、デフォルトでプロンプトが表示されます。

デフォルトでは、フォローアップは同じ参加者/コマンドに送信されます。しかし、このプロパティを設定することで、ID で別の参加者を呼び出すことができます。フォローアップは、同じ拡張機能によって貢献された参加者のみを呼び出すことができます。

チャットに送信するメッセージ。

ChatFollowupProvider

ユーザーに表示するフォローアップの質問を提案するために、各リクエストの後に一度呼び出されます。ユーザーはフォローアップをクリックしてチャットに送信できます。

メソッド

指定された結果に対するフォローアップを提供します。

パラメーター説明
result: ChatResult

このオブジェクトは、metadata を含む、参加者コールバックから返された結果と同じプロパティを持ちますが、同じインスタンスではありません。

context: ChatContext

参加者に渡される追加のコンテキスト。

token: CancellationToken

キャンセル・トークン。

戻り値説明
ProviderResult<ChatFollowup[]>

ChatLanguageModelToolReference

ユーザーが手動でリクエストに添付したツールの参照で、インラインの # 構文を使用するか、ペーパークリップボタンを介して添付したものです。

プロパティ

ツール名。lm.tools にリストされているツールを参照します。

プロンプトにおける参照の開始インデックスと終了インデックス。未定義の場合、参照はプロンプトテキストの一部ではありませんでした。

注意: インデックスは先頭の # 文字を考慮しているため、プロンプトをそのまま変更するために使用できます。

ChatParticipant

チャット参加者は、チャットセッションでユーザーによって プレフィックスを使用して呼び出すことができます。呼び出されると、チャットリクエストを処理し、ユーザーに応答を提供する責任を単独で負います。ChatParticipant は chat.createChatParticipant を使用して作成されます。

イベント

結果に対するフィードバックが受信されたとき、例えばユーザーが結果に賛成または反対したときに発生するイベントです。

渡された result は、以前にこのチャット参加者のハンドラーから返された結果と同じプロパティを持つことが保証されています。

プロパティ

このプロバイダーは、提案されたフォローアップの質問を取得するために、各リクエストの後に一度呼び出されます。

UI に表示される参加者のアイコン。

この参加者の一意のID。

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

メソッド

この参加者を破棄し、リソースを解放します。

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

ChatParticipantToolToken

チャットリクエストの処理コンテキスト内でツールを呼び出す際に lm.invokeTool に渡すことができるトークン。

ChatPromptReference

ユーザーがチャットリクエストに追加した値への参照。

プロパティ

この種の参照の一意の識別子。

LLM プロンプトで使用できる、この値の説明。

プロンプトにおける参照の開始インデックスと終了インデックス。未定義の場合、参照はプロンプトテキストの一部ではありませんでした。

注意: インデックスは先頭の # 文字を考慮しているため、プロンプトをそのまま変更するために使用できます。

この参照の値。現在、string | Uri | Location 型が使用されていますが、将来的に拡張される可能性があります。

ChatRequest

チャット参加者へのリクエスト。

プロパティ

このリクエストに対して選択された [ChatCommand command](#ChatCommand command) の名前。

これは現在 UI で選択されているモデルです。拡張機能はこれを使用することも、lm.selectChatModels を使用して別のモデルを選択することもできます。リクエストのライフタイムを超えてこれを保持しないでください。

ユーザーが入力したプロンプト。

このリクエストで使用される参照に関する情報は ChatRequest.references に保存されています。

: 参加者の [ChatParticipant.name name](#ChatParticipant.name name) および [ChatCommand.name command](#ChatCommand.name command) はプロンプトの一部ではありません。

プロンプトで参照されている参照とその値のリスト。

注意: プロンプトは作成されたままの参照を含んでおり、参照値をインライン化したり、解決された値を含む見出しへのリンクを作成したりするなど、プロンプトをさらに変更するのは参加者の責任です。参照はプロンプト内の範囲によって逆順にソートされています。これは、プロンプト内の最後の参照がこのリストの最初の参照であることを意味します。これにより、プロンプトの文字列操作が簡素化されます。

チャットリクエストの処理コンテキスト内でツールを呼び出す際に lm.invokeTool に渡すことができるトークンです。これにより、ツール呼び出しがチャットセッションに関連付けられます。

ユーザーがリクエストに添付したツールのリスト。

ツール参照が存在する場合、チャット参加者は LanguageModelChatToolMode.Required を使用してチャットリクエストを作成し、言語モデルにツール用の入力を生成するように強制する必要があります。その後、参加者は lm.invokeTool を使用してツールを使用し、その結果をユーザーのプロンプトに対するリクエストに添付できます。このツールは、ユーザーのリクエストに対して有用な追加のコンテキストを提供できます。

ChatRequestHandler

ChatRequestTurn

チャット履歴におけるユーザーリクエストを表します。

プロパティ

このリクエストに対して選択された [ChatCommand command](#ChatCommand command) の名前。

このリクエストが向けられたチャット参加者のID。

ユーザーが入力したプロンプト。

このリクエストで使用される参照に関する情報は ChatRequestTurn.references に保存されています。

: 参加者の [ChatParticipant.name name](#ChatParticipant.name name) および [ChatCommand.name command](#ChatCommand.name command) はプロンプトの一部ではありません。

このメッセージで使用された参照。

このリクエストに添付されたツールのリスト。

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

マークダウン文字列、またはマークダウンとして解釈されるべき文字列。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

このストリームにマークダウン部品をプッシュします。push(new ChatResponseMarkdownPart(value)) の省略形です。

関連項目 ChatResponseStream.push

パラメーター説明
value: string | MarkdownString

マークダウン文字列、またはマークダウンとして解釈されるべき文字列。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` が最初に適用され、次にコマンドが実行されます。

コンストラクター

新しいコードアクションを作成します。

コードアクションには、少なくともタイトル編集、またはコマンドが必要です。

パラメーター説明
title: string

コードアクションのタイトル。

kind?: CodeActionKind

コードアクションの種類。

戻り値説明
コードアクション

プロパティ

このコードアクションが実行するコマンド

このコマンドが例外をスローすると、エディタは現在のカーソル位置でエディタに例外メッセージをユーザーに表示します。

このコードアクションが解決する診断

コードアクションが現在適用できないことを示します。

  • 無効なコードアクションは、自動電球コードアクションメニューには表示されません。

  • ユーザーがリファクタリングのようなより具体的な種類のコードアクションを要求した場合、コードアクションメニューでは無効なアクションが灰色表示されます。

  • ユーザーがコードアクションを自動適用するキーバインディングを持ち、無効なコードアクションのみが返された場合、エディタはエディタで reason を含むエラーメッセージをユーザーに表示します。

パラメーター説明
reason: string

コードアクションが現在無効になっている理由を人間が読める形式で説明します。

これはコードアクションUIに表示されます。

このコードアクションが実行するワークスペース編集

これを推奨アクションとしてマークします。推奨アクションは `auto fix` コマンドによって使用され、キーバインディングのターゲットにすることができます。

クイックフィックスは、基礎となるエラーを適切に解決する場合に推奨としてマークされるべきです。リファクタリングは、実行すべき最も妥当なアクションの選択である場合に推奨としてマークされるべきです。

コードアクションの種類

コードアクションをフィルタリングするために使用されます。

このコードアクションの、短くて人間が読めるタイトル。

CodeActionContext

コードアクションが実行されるコンテキストに関する追加の診断情報が含まれます。

プロパティ

診断情報の配列。

返されるアクションの要求された種類。

この種類ではないアクションは、電球によって表示される前にフィルターで除外されます。

コードアクションが要求された理由。

CodeActionKind

コードアクションの種類。

種類は、`。` で区切られた階層的な識別子のリストです。例: `"refactor.extract.function"`。

コードアクションの種類は、リファクタリングコンテキストメニューなどのUI要素にエディタによって使用されます。ユーザーは、`editor.action.codeAction` コマンドで特定の種類のコードアクションをトリガーすることもできます。

Static

空の種類。

ノートブック全体のスコープに適用されるすべてのコードアクションの基本種別。これを使用するCodeActionKindsは、常に`notebook.`で始まる必要があります。

これは、新しいCodeActionを作成し、拡張機能を通じて貢献する必要があることを意味します。既存の種別に`notebook.`の新しいプレフィックスを追加するだけではいけません。機能はノートブック全体のスコープに固有のものだからです。

ノートブックのCodeActionKindsは、次のいずれかの方法で初期化できます(どちらも`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のような種類の値。

戻り値説明
コードアクションの種類

プロパティ

種類の文字列値。例: "refactor.extract.function"

メソッド

現在の種類により具体的なセレクターを追加して、新しい種類を作成します。

現在の種類を変更しません。

パラメーター説明
parts: string
戻り値説明
コードアクションの種類

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`のコードアクションが要求された場合。この場合、エディタは要求されたコードアクションの種類に最も近いドキュメントを表示します。例えば、プロバイダが`Refactor`と`RefactorExtract`の両方のドキュメントを持っている場合、ユーザーが`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

このコードレンズが有効な範囲。単一行にまたがるべきです。

CodeLensProvider<T>

コードレンズプロバイダーは、ソーステキストにコマンドを追加します。コマンドは、ソーステキストの間に専用の水平線として表示されます。

イベント

このプロバイダーからのコードレンズが変更されたことを通知するオプションのイベント。

メソッド

レンズのリストを計算します。この呼び出しは可能な限り高速に返す必要があり、コマンドの計算にコストがかかる場合は、実装者は範囲が設定されたコードレンズオブジェクトのみを返し、解決を実装する必要があります。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

token: CancellationToken

キャンセル・トークン。

戻り値説明
ProviderResult<T[]>

コードレンズの配列、またはそれに解決されるthenable。結果がないことは、undefinednull、または空の配列を返すことで示されます。

この関数は、表示されている各コードレンズに対して、通常はスクロール時およびcompute-lensesの呼び出し後に呼び出されます。

パラメーター説明
codeLens: T

解決する必要があるコードレンズ。

token: CancellationToken

キャンセル・トークン。

戻り値説明
ProviderResult<T>

指定された、解決済みのコードレンズ、またはそれに解決されるthenable。

Color

RGBA空間の色を表します。

コンストラクター

新しい色インスタンスを作成します。

パラメーター説明
red: number

赤成分。

green: number

緑成分。

blue: number

青成分。

alpha: number

アルファ成分。

戻り値説明

プロパティ

この色のアルファ成分。範囲は[0-1]です。

この色の青成分。範囲は[0-1]です。

この色の緑成分。範囲は[0-1]です。

この色の赤成分。範囲は[0-1]です。

ColorInformation

ドキュメントからの色範囲を表します。

コンストラクター

新しい色範囲を作成します。

パラメーター説明
range: Range

色が現れる範囲。空であってはなりません。

color: Color

色の値。

戻り値説明
色情報

プロパティ

この色範囲の実際の色値。

この色がドキュメントに表示される範囲。

ColorPresentation

色表現オブジェクトは、Colorをテキストとしてどのように表現するか、およびソースコードから参照するためにどのような編集が必要かについて説明します。

いくつかの言語では、1つの色が複数の表現を持つことがあります。例えば、CSSでは赤を定数 `Red`、16進数 `#ff0000`、またはRGBAおよびHSLA形式で表現できます。C#では、`System.Drawing.Color.Red`のような他の表現が適用されます。

コンストラクター

新しいカラープレゼンテーションを作成します。

パラメーター説明
label: string

このカラープレゼンテーションのラベル。

戻り値説明
色表現

プロパティ

このカラープレゼンテーションを選択する際に適用される追加のテキスト編集のオプション配列。編集はメインの編集やそれ自身と重複してはいけません。

このカラープレゼンテーションのラベル。カラーピッカーのヘッダーに表示されます。デフォルトでは、これはこのカラープレゼンテーションを選択したときに挿入されるテキストでもあります。

色のこの表現を選択するときにドキュメントに適用される編集falsyの場合、ラベルが使用されます。

ColorTheme

カラーテーマを表します。

プロパティ

このカラーテーマの種類: 明るい、暗い、ハイコントラストの暗い、ハイコントラストの明るい。

ColorThemeKind

カラーテーマの種類を表します。

列挙型メンバー

明るいカラーテーマ。

暗いカラーテーマ。

ダークハイコントラストカラーテーマ。

ライトハイコントラストカラーテーマ。

Command

コマンドへの参照を表します。UIでコマンドを表すために使用されるタイトルと、オプションで、呼び出されたときにコマンドハンドラー関数に渡される引数の配列を提供します。

プロパティ

コマンドハンドラーが呼び出されるべき引数。

実際のコマンドハンドラの識別子。

関連項目 commands.registerCommand

saveのようなコマンドのタイトル。

UIで表現された場合のコマンドのツールチップ。

Comment

コメントは、提供方法に応じて、エディタまたはコメントパネル内に表示されます。

プロパティ

コメントの作者情報

人間が読めるコメント本文

コメントのコンテキスト値。これを使用して、コメント固有のアクションを貢献できます。例えば、コメントには editable というコンテキスト値が与えられます。menus 拡張ポイントを使用して comments/comment/title にアクションを貢献する場合、when 式でキー comment のコンテキスト値を comment == editable のように指定できます。

    "contributes": {
        "menus": {
            "comments/comment/title": [
                {
                    "command": "extension.deleteComment",
                    "when": "comment == editable"
                }
            ]
        }
    }

これにより、contextValueeditable であるコメントのみに対してアクション extension.deleteComment が表示されます。

オプションのコメントを説明するラベル。存在する場合、ラベルは authorName の横にレンダリングされます。

コメントのコメントモード

コメントのオプションのリアクション

コメントに表示されるオプションのタイムスタンプ。日付はユーザーのロケールと設定に従ってフォーマットされます。

CommentAuthorInformation

コメントの作成者情報

プロパティ

著者のオプションのアイコンパス

コメント作成者の表示名

CommentController

コメントコントローラーは、エディタにコメントサポートを提供し、ユーザーにコメントと対話するためのさまざまな方法を提供できます。

プロパティ

オプションのコメント範囲プロバイダー。指定されたリソースURIにコメントをサポートする範囲のリストを提供します。

提供されていない場合、ユーザーはコメントを残すことができません。

このコメントコントローラーのID。

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

コメントコントローラーオプション

コメント上のリアクションの作成と削除のためのオプションのリアクションハンドラー。

パラメーター説明
comment: Comment
reaction: CommentReaction
戻り値説明
Thenable<void>

メソッド

コメントスレッドを作成します。コメントスレッドは、作成されると、表示されているテキストエディター(リソースが一致する場合)とコメントパネルに表示されます。

パラメーター説明
uri: Uri

スレッドが作成されたドキュメントのURI。

range: Range

コメントスレッドがドキュメント内に位置する範囲。

comments: readonly Comment[]

スレッドの順序付けられたコメント。

戻り値説明
コメントスレッド

このコメントコントローラーを破棄します。

破棄されると、このコメントコントローラーによって作成されたすべてのコメントスレッドもエディターおよびコメントパネルから削除されます。

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

CommentingRangeProvider

コメントコントローラーのコメント範囲プロバイダー。

メソッド

新しいコメントスレッドの作成を許可する範囲のリスト、または特定のドキュメントのnullを提供します。

パラメーター説明
document: TextDocument
token: CancellationToken
戻り値説明
ProviderResult<Range[] | CommentingRanges>

CommentingRanges

CommentingRangeProvider がコメントを有効にする範囲。

プロパティ

特定の範囲なしでファイルにコメントを追加できるようにします。

新しいコメントスレッドの作成を許可する範囲。

CommentMode

コメントのコメントモード

列挙型メンバー

コメントエディタを表示します。

コメントのプレビューを表示します。

CommentOptions

プロパティ

コメント入力ボックスにフォーカスが当たったときにプレースホルダーとして表示するオプションの文字列。

コメント入力ボックスが折りたたまれているときに表示するオプションの文字列。

CommentReaction

コメントのリアクション

プロパティ

コメントの作者がこのリアクションに反応したかどうか

このリアクションに反応したユーザーの数

UIに表示されるリアクションのアイコン。

リアクションの人間が読めるラベル

CommentReply

comments/commentThread/context に登録されたアクションのコマンド引数。

プロパティ

コメントエディタの値

アクティブなコメントスレッド

CommentRule

言語のコメントがどのように機能するかを記述します。

プロパティ

ブロックコメントの文字ペア。例: /* block comment */

行コメントトークン。例: // this is a comment

CommentThread

ドキュメントの特定の範囲での会話を表すコメントのコレクション。

プロパティ

スレッドが返信をサポートするかどうか。デフォルトはtrueです。

ドキュメントを開いたときにスレッドを折りたたむか展開するか。デフォルトはCollapsedです。

スレッドの順序付けられたコメント。

コメントスレッドのコンテキスト値。これを使用して、スレッド固有のアクションを寄稿できます。たとえば、コメントスレッドには editable というコンテキスト値が与えられます。menus 拡張ポイントを使用して comments/commentThread/title にアクションを寄稿する場合、when 式でキー commentThread のコンテキスト値を commentThread == editable のように指定できます。

"contributes": {
  "menus": {
    "comments/commentThread/title": [
      {
        "command": "extension.deleteCommentThread",
        "when": "commentThread == editable"
      }
    ]
  }
}

これにより、contextValueeditable であるコメントスレッドのみに対してアクション extension.deleteCommentThread が表示されます。

オプションの、コメントスレッドを説明する人間が読めるラベル

コメントスレッドがドキュメント内に位置する範囲。スレッドアイコンは範囲の最終行に表示されます。未定義に設定すると、コメントは特定の範囲ではなくファイルに関連付けられます。

コメントスレッドのオプションの状態。コメントの表示方法に影響を与える可能性があります。

スレッドが作成されたドキュメントのURI。

メソッド

このコメントスレッドを破棄します。

破棄されると、このコメントスレッドは、必要に応じて表示中のエディタおよびコメントパネルから削除されます。

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

CommentThreadCollapsibleState

コメントスレッドの折りたたみ状態

列挙型メンバー

アイテムが折りたたまれていることを示します

アイテムが展開されていることを示します

CommentThreadState

コメントスレッドの状態。

列挙型メンバー

未解決のスレッド状態

解決済みのスレッド状態

CompletionContext

補完プロバイダーがトリガーされるコンテキストに関する追加情報が含まれます。

プロパティ

補完項目プロバイダーをトリガーした文字。

プロバイダーが文字によってトリガーされなかった場合、undefined

トリガー文字は、補完プロバイダーがトリガーされたときにすでにドキュメント内に存在します。

補完がトリガーされた方法。

CompletionItem

補完項目は、入力中のテキストを補完するために提案されるテキストスニペットを表します。

ラベルのみから補完項目を作成するだけで十分です。その場合、補完項目はカーソルまでの単語を指定されたラベルまたは挿入テキストに置き換えます。それ以外の場合、指定された編集が使用されます。

エディタで補完項目を選択すると、その定義済みまたは合成されたテキスト編集は*すべての*カーソル/選択範囲に適用されますが、追加のテキスト編集は提供されたとおりに適用されます。

関連項目

コンストラクター

新しい補完項目を作成します。

補完項目には、少なくともラベルが必要です。これは、挿入テキストとして、またソートとフィルタリングにも使用されます。

パラメーター説明
label: string | CompletionItemLabel

補完のラベル。

kind?: CompletionItemKind

補完の種類

戻り値説明
補完項目

プロパティ

この補完を選択する際に適用される追加のテキスト編集のオプション配列。編集はメインの編集やそれ自身と重複してはいけません。

この補完を挿入に実行されるオプションのコマンド: 現在のドキュメントへの追加の変更は、additionalTextEditsプロパティで記述する必要があります。

この補完がアクティブな間に押された場合、最初に補完を受け入れ、次にその文字を入力する文字のオプションのセット。: すべてのコミット文字はlength=1である必要があり、余分な文字は無視されます。

この項目に関する追加情報(型やシンボル情報など)を人間が読める形式で記述した文字列。

ドキュメントコメントを表す、人間が読める文字列。

一連の補完項目をフィルタリングするときに使用すべき文字列。falsyの場合、ラベルが使用されます。

フィルタテキストは、rangeプロパティで定義された先頭の単語(プレフィックス)に対して照合されることに注意してください。

この補完を選択したときにドキュメントに挿入される文字列またはスニペット。falsyの場合、ラベルが使用されます。

insertTextの空白をそのまま保持します。デフォルトでは、エディタは新しい行の先頭の空白を、項目が受け入れられる行のインデントと一致するように調整します。これをtrueに設定すると、それが防止されます。

この補完項目の種類。種類に基づいてエディタがアイコンを選択します。

この補完項目のラベル。デフォルトでは、これはこの補完を選択したときに挿入されるテキストでもあります。

表示時にこの項目を選択します。: 選択できる補完項目は1つだけであり、エディタがどの項目が選択されるかを決定します。ルールは、最も一致する項目の最初の項目が選択されるというものです。

この補完項目で置換されるテキストを選択する範囲、または挿入範囲と置換範囲。

省略された場合、現在の単語の範囲が置換範囲として使用され、現在の単語の開始から現在の位置までが挿入範囲として使用されます。

注1:範囲は単一行でなければならず、補完が要求された位置を含んでいる必要があります。注2:挿入範囲は置換範囲のプレフィックスでなければなりません。つまり、置換範囲に含まれ、同じ位置から開始する必要があります。

この項目を他の項目と比較するときに使用すべき文字列。falsyの場合、ラベルが使用されます。

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 の後に目立たないようにレンダリングされるオプションの文字列。完全修飾名またはファイルパスに使用されるべきです。

ラベルの直後に、間隔を空けずに目立たないようにレンダリングされるオプションの文字列。関数シグネチャまたは型注釈に使用されるべきです。

この補完項目のラベル。

デフォルトでは、これが補完項目が選択されたときに挿入されるテキストでもあります。

CompletionItemProvider<T>

補完項目プロバイダーインターフェースは、拡張機能と IntelliSense との間の契約を定義します。

プロバイダーは、resolveCompletionItem 関数を実装することで、detail および documentation プロパティの計算を遅らせることができます。ただし、sortTextfilterTextinsertTextrange など、初期の並べ替えとフィルタリングに必要なプロパティは、解決中に変更してはなりません。

プロバイダーは、ユーザーのジェスチャーによって明示的に、または構成に応じて、単語やトリガー文字を入力するときに暗黙的に補完を求められます。

メソッド

指定された位置とドキュメントの補完項目を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセル・トークン。

context: CompletionContext

補完がトリガーされた方法。

戻り値説明
ProviderResult<CompletionList<T> | T[]>

補完の配列、補完リスト、またはそのいずれかに解決される Thenable。結果がないことは、undefinednull、または空の配列を返すことで示されます。

補完項目に、doc-commentdetails などの詳細データを入力します。

エディターは補完項目を一度だけ解決します。

:この関数は、補完項目がすでに 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 を実装するには、拡張機能は、onDidChangeCustomDocument によってこの編集がエディターの内部編集スタックに追加された直後の状態にドキュメントとエディターを復元する必要があります。

パラメーター説明
戻り値説明
void | Thenable<void>

編集操作を元に戻します。

これは、ユーザーがこの編集を元に戻すときにエディターによって呼び出されます。undo を実装するには、拡張機能は、onDidChangeCustomDocument によってこの編集がエディターの内部編集スタックに追加される直前の状態にドキュメントとエディターを復元する必要があります。

パラメーター説明
戻り値説明
void | Thenable<void>

CustomDocumentOpenContext

開いているカスタムドキュメントに関する追加情報。

プロパティ

ドキュメントを復元するバックアップのID、またはバックアップがない場合は undefined

これが提供された場合、拡張機能はユーザーのワークスペースからファイルを読み込むのではなく、バックアップからエディターを復元する必要があります。

URI が無題のファイルの場合、このファイルにはそのファイルのバイトデータが設定されます。

これが提供された場合、拡張機能は、渡された URI で fs API を実行する代わりに、このバイトデータを活用する必要があります。

CustomEditorProvider<T>

カスタムドキュメントモデルを使用する編集可能なカスタムエディターのプロバイダー。

カスタムエディターは、TextDocument の代わりに CustomDocument をドキュメントモデルとして使用します。これにより、拡張機能は編集、保存、バックアップなどのアクションを完全に制御できます。

バイナリファイルやより複雑なシナリオを扱う場合は、このタイプのカスタムエディターを使用する必要があります。単純なテキストベースのドキュメントの場合は、代わりに CustomTextEditorProvider を使用してください。

イベント

カスタムエディター内で編集が発生したことを通知します。

このイベントは、カスタムエディターで編集が発生するたびに拡張機能によって発生させる必要があります。編集とは、テキストの変更、画像の切り抜き、リストの並べ替えなど、何でも構いません。拡張機能は、編集が何であるか、および各編集にどのようなデータが保存されるかを自由に定義できます。

onDidChange を発生させると、エディターはダーティとしてマークされます。これは、ユーザーがファイルを保存または元に戻すときにクリアされます。

元に戻す/やり直しをサポートするエディターは、編集が発生するたびに CustomDocumentEditEvent を発生させる必要があります。これにより、ユーザーはエディターの標準キーボードショートカットを使用して編集を元に戻したりやり直したりできます。ユーザーが最後に保存された状態まですべての編集を元に戻した場合、エディターはダーティ状態ではないとマークされます。

編集をサポートするが、エディターの標準的な元に戻す/やり直しメカニズムを使用できないエディターは、CustomDocumentContentChangeEvent を発生させる必要があります。元に戻す/やり直しをサポートしないエディターのダーティ状態をクリアする唯一の方法は、ファイルを save するか revert することです。

エディターは常に CustomDocumentEditEvent イベントのみを発生させるか、常に CustomDocumentContentChangeEvent イベントのみを発生させるべきです。

メソッド

ダーティなカスタムドキュメントをバックアップします。

バックアップはホットエグジットとデータ損失を防ぐために使用されます。backup メソッドは、現在の状態、つまり編集が適用された状態でリソースを永続化する必要があります。最も一般的には、これはリソースを ExtensionContext.storagePath のディスクに保存することを意味します。エディターがリロードされ、カスタムエディターがリソースに対して開かれるとき、拡張機能はまずリソースのバックアップが存在するかどうかを確認する必要があります。バックアップがある場合、拡張機能はワークスペースのリソースからではなく、そこからファイルの内容を読み込む必要があります。

backup は、ユーザーがドキュメントの編集を停止してから約1秒後にトリガーされます。ユーザーがドキュメントを迅速に編集した場合、編集が停止するまで backup は呼び出されません。

auto save が有効な場合、backup は呼び出されません (自動保存はすでにリソースを永続化しているため)。

パラメーター説明
document: T

バックアップするドキュメント。

context: CustomDocumentBackupContext

ドキュメントのバックアップに使用できる情報。

cancellation: CancellationToken

新しいバックアップが来るため、現在のバックアップをキャンセルする信号を発するトークン。キャンセルにどのように応答するかは、拡張機能が決定します。たとえば、拡張機能が大きなファイルを完了に時間がかかる操作でバックアップしている場合、エディターが有効なバックアップを確実に持つように、キャンセルするのではなく、進行中のバックアップを完了することに決定する可能性があります。

戻り値説明
Thenable<CustomDocumentBackup>

指定されたリソースの新しいドキュメントを作成します。

openCustomDocument は、指定されたリソースのエディターが初めて開かれたときに呼び出されます。開かれたドキュメントは resolveCustomEditor に渡され、エディターがユーザーに表示されるようにします。

ユーザーが追加のエディターを開いた場合、既に開かれている CustomDocument は再利用されます。指定されたリソースのすべてのエディターが閉じられると、CustomDocument は破棄されます。この時点でエディターを開くと、openCustomDocument が再度呼び出されます。

パラメーター説明
uri: Uri

開くドキュメントの Uri。

openContext: CustomDocumentOpenContext

開いているカスタムドキュメントに関する追加情報。

token: CancellationToken

結果が不要になったことを示すキャンセル トークン。

戻り値説明
T | Thenable<T>

カスタムドキュメント。

指定されたリソースのカスタムエディターを解決します。

これは、ユーザーがこの CustomEditorProvider の新しいエディターを開くたびに呼び出されます。

パラメーター説明
document: T

解決中のリソースのドキュメント。

webviewPanel: WebviewPanel

このリソースのエディターUIを表示するために使用されるウェブビューパネル。

解決中、プロバイダーはコンテンツのウェブビューパネルの初期HTMLを入力し、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、コマンドなどで後で使用するために WebviewPanel を保持することもできます。WebviewPanel で詳細を参照してください。

token: CancellationToken

結果が不要になったことを示すキャンセル トークン。

戻り値説明
void | Thenable<void>

カスタムエディターが解決されたことを示すオプションの Thenable。

カスタムドキュメントを最後に保存された状態に戻します。

このメソッドは、ユーザーがカスタムエディターで File: Revert File をトリガーしたときにエディターによって呼び出されます。(これはエディターの File: Revert File コマンドのみで使用され、ファイルの git revert では使用されないことに注意してください)。

revert を実装するには、実装者は document のすべてのエディターインスタンス (ウェブビュー) が、保存された状態と同じ状態でドキュメントを表示していることを確認する必要があります。これは通常、ワークスペースからファイルを再読み込みすることを意味します。

パラメーター説明
document: T

元に戻すドキュメント。

cancellation: CancellationToken

元に戻す操作が不要になったことを示すトークン。

戻り値説明
Thenable<void>

変更が完了したことを示す Thenable。

カスタムドキュメントを保存します。

このメソッドは、ユーザーがカスタムエディターを保存するときにエディターによって呼び出されます。これは、カスタムエディターがアクティブなときにユーザーが保存をトリガーした場合、save all などのコマンドによって、または有効になっている場合は自動保存によって発生する可能性があります。

save を実装するには、実装者はカスタムエディターを永続化する必要があります。これは通常、カスタムドキュメントのファイルデータをディスクに書き込むことを意味します。save が完了すると、関連するエディターインスタンスはダーティとしてマークされなくなります。

パラメーター説明
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 に渡され、エディターがユーザーに表示されるようにします。

ユーザーが追加のエディターを開いた場合、既に開かれている CustomDocument は再利用されます。指定されたリソースのすべてのエディターが閉じられると、CustomDocument は破棄されます。この時点でエディターを開くと、openCustomDocument が再度呼び出されます。

パラメーター説明
uri: Uri

開くドキュメントの Uri。

openContext: CustomDocumentOpenContext

開いているカスタムドキュメントに関する追加情報。

token: CancellationToken

結果が不要になったことを示すキャンセル トークン。

戻り値説明
T | Thenable<T>

カスタムドキュメント。

指定されたリソースのカスタムエディターを解決します。

これは、ユーザーがこの CustomEditorProvider の新しいエディターを開くたびに呼び出されます。

パラメーター説明
document: T

解決中のリソースのドキュメント。

webviewPanel: WebviewPanel

このリソースのエディターUIを表示するために使用されるウェブビューパネル。

解決中、プロバイダーはコンテンツのウェブビューパネルの初期HTMLを入力し、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、コマンドなどで後で使用するために WebviewPanel を保持することもできます。WebviewPanel で詳細を参照してください。

token: CancellationToken

結果が不要になったことを示すキャンセル トークン。

戻り値説明
void | Thenable<void>

カスタムエディターが解決されたことを示すオプションの Thenable。

CustomTextEditorProvider

テキストベースのカスタムエディターのプロバイダー。

テキストベースのカスタムエディターは、TextDocument をデータモデルとして使用します。これにより、エディターが元に戻すやバックアップなどの多くの一般的な操作を処理できるようになるため、カスタムエディターの実装が大幅に簡素化されます。プロバイダーは、ウェブビューと TextDocument の間のテキスト変更を同期する責任があります。

メソッド

指定されたテキストリソースのカスタムエディターを解決します。

これは、ユーザーが CustomTextEditorProvider のリソースを最初に開いたとき、または既存のエディターをこの CustomTextEditorProvider を使用して再度開いたときに呼び出されます。

パラメーター説明
document: TextDocument

解決するリソースのドキュメント。

webviewPanel: WebviewPanel

このリソースのエディターUIを表示するために使用されるウェブビューパネル。

解決中、プロバイダーはコンテンツのウェブビューパネルの初期HTMLを入力し、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、コマンドなどで後で使用するために WebviewPanel を保持することもできます。WebviewPanel で詳細を参照してください。

token: CancellationToken

結果が不要になったことを示すキャンセル トークン。

戻り値説明
void | Thenable<void>

カスタムエディターが解決されたことを示すThenable。

DataTransfer

対応する転送データのMIMEタイプのマッピングを含むマップ。

handleDrag を実装するドラッグアンドドロップコントローラは、データ転送に追加のMIMEタイプを追加できます。これらの追加のMIMEタイプは、ドラッグが同じドラッグアンドドロップコントローラ内の要素から開始された場合にのみ handleDrop に含まれます。

コンストラクター

パラメーター説明
戻り値説明
データ転送

メソッド

このデータ転送の各要素の [mime, item] ペアを持つ新しいイテレータを取得します。

パラメーター説明
戻り値説明
IterableIterator<[mimeType: string, item: DataTransferItem]>

データ転送項目の反復処理を許可します。

パラメーター説明
callbackfn: (item: DataTransferItem, mimeType: string, dataTransfer: DataTransfer) => void

データ転送項目を反復処理するためのコールバック。

thisArg?: any

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

戻り値説明
void

指定されたMIMEタイプのデータ転送項目を取得します。

パラメーター説明
mimeType: string

text/plainimage/png など、データ転送項目を取得する MIME タイプ。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 に関連付けられたファイル。

この型のインスタンスは、エディターのみが作成でき、拡張機能は作成できません。

プロパティ

ファイルの名前。

ファイルの完全なファイルパス。

ウェブ上では 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>

デバッグアダプター記述子 または undefined。

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 は、エディターとデバッグアダプター間の通信を追跡する手段です。

イベント

デバッグアダプターが Debug Adapter Protocol メッセージをエディターに送信しました。

パラメーター説明
message: any
戻り値説明
void

デバッグアダプターがエディターから Debug Adapter Protocol メッセージを受信する直前です。

パラメーター説明
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を介して(例: "Select and Start Debugging"コマンド経由で)動的に生成されたデバッグ構成を要求する場合です。トリガーの種類は、debug.registerDebugConfigurationProviderDebugConfigurationProviderを登録する際に使用されます。

列挙型メンバー

DebugConfigurationProvider.provideDebugConfigurationsは、新しく作成されたlaunch.jsonの初期デバッグ構成を提供するために呼び出されます。

DebugConfigurationProvider.provideDebugConfigurationsは、ユーザーがUIを介して(例: "Select and Start Debugging"コマンド経由で)動的に生成されたデバッグ構成を要求するために呼び出されます。

DebugConsole

デバッグコンソールを表します。

メソッド

指定された値をデバッグコンソールに追加します。

パラメーター説明
value: string

文字列。falsy値は出力されません。

戻り値説明
void

指定された値と改行文字をデバッグコンソールに追加します。

パラメーター説明
value: string

文字列。falsy値も出力されます。

戻り値説明
void

DebugConsoleMode

デバッグセッションで使用されるデバッグコンソールモード。オプションを参照。

列挙型メンバー

デバッグセッションは個別のデバッグコンソールを持つべきです。

デバッグセッションは、親セッションとデバッグコンソールを共有すべきです。この値は、親セッションを持たないセッションには影響しません。

DebugProtocolBreakpoint

DebugProtocolBreakpointは、Debug Adapter Protocolで定義されているBreakpoint型に対する不透明な代替型です。

DebugProtocolMessage

DebugProtocolMessageは、Debug Adapter Protocolで定義されているProtocolMessage型に対する不透明な代替型です。

DebugProtocolSource

DebugProtocolSourceは、Debug Adapter Protocolで定義されている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の場合、単一の子を持つデバッグセッションは、ツリーをよりコンパクトにするために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つだけです。

シンボルが定義されている場所に関する情報。

定義シンボルの範囲を含む、通常のLocation定義を超える追加のメタデータを提供します。

DefinitionProvider

定義プロバイダーインターフェイスは、拡張機能と定義に移動および定義を覗き見機能間の契約を定義します。

メソッド

指定された位置とドキュメントにあるシンボルの定義を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

token: CancellationToken

キャンセル・トークン。

戻り値説明
ProviderResult<Definition | LocationLink[]>

定義またはそれに解決されるthenable。結果がない場合は、undefinedまたはnullを返すことで通知できます。

Diagnostic

コンパイラエラーや警告などの診断を表します。診断オブジェクトはファイルスコープ内でのみ有効です。

コンストラクター

新しい診断オブジェクトを作成します。

パラメーター説明
range: Range

この診断が適用される範囲。

message: string

人間が読めるメッセージ。

severity?: DiagnosticSeverity

深刻度。デフォルトはerrorです。

戻り値説明
Diagnostic

プロパティ

この診断のコードまたは識別子。後続の処理、例えばコードアクションを提供する際などに使用すべきです。

人間が読めるメッセージ。

この診断が適用される範囲。

関連する診断情報の配列。例えば、スコープ内でシンボル名が衝突する場合、すべての定義をこのプロパティでマークできます。

深刻度。デフォルトはerrorです。

この診断のソースを記述する人間が読める文字列。例えば、「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

イベントリスニングやタイマーなど、リソースを解放できる型を表します。

Static

複数の使い捨てオブジェクトを1つにまとめます。Disposableのインスタンスではないがdispose関数を持つオブジェクトがある場合、このメソッドを使用できます。

パラメーター説明
...disposableLikes: Array<{dispose: () => any}>

少なくともdispose関数メンバーを持つオブジェクト。非同期のdispose関数は待機されません。

戻り値説明
Disposable

破棄時に提供されたすべての使い捨てオブジェクトを破棄する新しい使い捨てオブジェクトを返します。

コンストラクター

破棄時に提供された関数を呼び出す新しい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で返す可能性のある種類のリスト。

これは、特定の種類の編集が要求されたときにプロバイダーをフィルタリングするために使用されます。

DocumentDropOrPasteEditKind

DocumentDropEditまたはDocumentPasteEditを識別します。

Static

基本的なテキスト編集のルートの種類。

この種類は、基本的なテキストをドキュメントに挿入する編集に使用する必要があります。良い例としては、クリップボードのテキストを貼り付けながら、貼り付けられたテキストに基づいてファイルのインポートを更新する編集があります。この場合、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

ハイライトの種類。デフォルトはテキストです。

戻り値説明
DocumentHighlight

プロパティ

ハイライトの種類。デフォルトはテキストです。

このハイライトが適用される範囲。

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、または空の配列を返すことで示すことができます。

リンクがUIで選択されたときに、そのターゲットを埋めます。プロバイダーはこのメソッドを実装し、provideDocumentLinksメソッドから不完全なリンク(ターゲットなし)を返すことができ、これにより多くの場合パフォーマンスが向上します。

パラメーター説明
link: T

解決されるリンク。

token: CancellationToken

キャンセル・トークン。

戻り値説明
ProviderResult<T>

DocumentPasteEdit

ペースト操作を適用する編集。

コンストラクター

新しいペースト編集を作成します。

パラメーター説明
insertText: string | SnippetString

ペーストされた場所に挿入するテキストまたはスニペット。

title: string

編集を記述する人間が読めるラベル。

kind: DocumentDropOrPasteEditKind

編集の種類

戻り値説明
DocumentPasteEdit

プロパティ

ペースト時に適用するオプションの追加編集。

ペーストされた場所に挿入するテキストまたはスニペット。

編集がより高度な挿入ロジックを必要とする場合、これを空の文字列に設定し、代わりに追加編集を提供します。

編集の種類

編集を記述する人間が読めるラベル。

複数のペースト編集が適用される可能性のある場合の順序を制御します。

この編集が別の編集に譲る場合、ユーザーに表示される可能なペースト編集のリストの下位に表示されます。

DocumentPasteEditContext

ペースト操作に関する追加情報。

プロパティ

返されるペースト編集の要求された種類。

PasteAsによって明示的な種類が要求された場合、プロバイダーは、要求された種類の編集を生成する際により柔軟であるように促されます。

ペースト編集が要求された理由。

DocumentPasteEditProvider<T>

ユーザーがTextDocumentでコピーまたはペーストしたときに呼び出されるプロバイダー。

メソッド

ユーザーがテキストエディターからコピーした後で呼び出されるオプションのメソッド。

これにより、プロバイダーはコピーされたテキストに関するメタデータをDataTransferに添付できます。このデータ転送は、provideDocumentPasteEditsでプロバイダーに返されます。

現在、DataTransferへの変更は現在のエディターウィンドウに分離されていることに注意してください。これは、追加されたメタデータが他のエディターウィンドウや他のアプリケーションから見ることができないことを意味します。

パラメーター説明
document: TextDocument

コピーが行われたテキストドキュメント。

ranges: readonly Range[]

ドキュメントでコピーされる範囲。

dataTransfer: DataTransfer

コピーに関連付けられたデータ転送。これをDataTransferに格納して、provideDocumentPasteEditsで後で使用できます。このオブジェクトは、このメソッドの期間中のみ有効です。

token: CancellationToken

キャンセル・トークン。

戻り値説明
void | Thenable<void>

dataTransferへのすべての変更が完了したときに解決されるオプションのThenable。

ユーザーがテキストエディターにペーストする前に呼び出されます。

返された編集は、標準のペースト動作を置き換えることができます。

パラメーター説明
document: TextDocument

ペースト先のドキュメント

ranges: readonly Range[]

ドキュメント内のペースト先の範囲。

dataTransfer: DataTransfer

ペーストに関連付けられたデータ転送。このオブジェクトは、ペースト操作の期間中のみ有効です。

context: DocumentPasteEditContext

ペーストに関する追加のコンテキスト。

token: CancellationToken

キャンセル・トークン。

戻り値説明
ProviderResult<T[]>

ペーストを適用できる潜在的な編集のセット。一度に適用されるのは1つのDocumentPasteEditのみです。すべてのプロバイダーから複数の編集が返された場合、最初の編集が自動的に適用され、ユーザーが他の編集に切り替えることができるウィジェットが表示されます。

編集が適用される前にDocumentPasteEdit.additionalEditを埋めるオプションのメソッド。

これは編集ごとに一度呼び出され、完全な編集の生成に時間がかかる場合にのみ使用すべきです。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でプロバイダーが返す可能性のある種類のリスト。

これは、特定の種類の編集が要求されたときにプロバイダーをフィルタリングするために使用されます。

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. まず、凡例を考案する必要があります。この凡例は事前に提供され、すべての可能なトークンタイプを捕捉する必要があります。この例では、プロバイダーを登録するときに渡す必要がある次の凡例を選択します。
   tokenTypes: ['property', 'type', 'class'],
   tokenModifiers: ['private', 'static']
  1. 最初の変換ステップは、凡例を使用してtokenTypetokenModifiersを整数としてエンコードすることです。トークンタイプはインデックスで検索されるため、tokenTypeの値が1の場合、tokenTypes[1]を意味します。複数のトークン修飾子はビットフラグを使用して設定できます。したがって、tokenModifierの値が3の場合、最初にバイナリ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つの範囲を持ちます。

コンストラクター

新しいドキュメントシンボルを作成します。

パラメーター説明
name: string

シンボルの名前。

detail: string

シンボルの詳細。

kind: SymbolKind

シンボルの種類。

range: Range

シンボルの完全な範囲。

selectionRange: Range

表示されるべき範囲。

戻り値説明
DocumentSymbol

プロパティ

このシンボルの子、例えばクラスのプロパティ。

このシンボルの詳細、例えば関数のシグネチャ。

このシンボルの種類。

このシンボルの名前。

先頭/末尾の空白は含まないが、コメントやコードなどその他すべてを含む、このシンボルを囲む範囲。

このシンボルが選択されたときに選択および表示されるべき範囲。例えば関数の名前。 rangeに含まれている必要があります。

このシンボルのタグ。

DocumentSymbolProvider

ドキュメントシンボルプロバイダーインターフェースは、拡張機能とシンボルへ移動機能間の契約を定義します。

メソッド

指定されたドキュメントのシンボル情報を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

token: CancellationToken

キャンセル・トークン。

戻り値説明
ProviderResult<DocumentSymbol[] | SymbolInformation[]>

ドキュメントハイライトの配列、またはそのような配列に解決されるThenable。結果がないことは、undefinednull、または空の配列を返すことで示すことができます。

DocumentSymbolProviderMetadata

ドキュメントシンボルプロバイダーに関するメタデータ。

プロパティ

1つのドキュメントに対して複数のアウトラインツリーが表示される場合に表示される、人間が判読できる文字列。

EndOfLine

ドキュメント内の行末文字シーケンスを表します。

列挙型メンバー

改行文字 \n

キャリッジリターン改行シーケンス \r\n

EnterAction

Enterキーを押したときの動作を記述します。

プロパティ

新しい行の後、およびインデントの後に追加するテキストを記述します。

インデントをどうするかを記述します。

新しい行のインデントから削除する文字数を記述します。

EnvironmentVariableCollection

拡張機能がプロセス環境に適用できる変更のコレクション。

プロパティ

環境変数コレクションの説明。これはUIで変更を記述するために使用されます。

コレクションをワークスペースにキャッシュし、ウィンドウの再読み込み間でターミナルに適用するかどうか。trueの場合、コレクションはウィンドウが再読み込みされるとすぐにアクティブになります。さらに、このAPIは、キャッシュされたバージョンが存在する場合、それを返します。コレクションは、拡張機能がアンインストールされた場合、またはコレクションがクリアされた場合に無効になります。デフォルトはtrueです。

メソッド

環境変数に値を追加します。

拡張機能は任意の変数に対して1つの変更しかできないため、これは以前の置換、追加、または先頭への追加の呼び出しを上書きすることに注意してください。

パラメーター説明
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

環境変数に値を先頭に追加します。

拡張機能は任意の変数に対して1つの変更しかできないため、これは以前の置換、追加、または先頭への追加の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

先頭に追加する変数。

value: string

変数に先頭に追加する値。

options?: EnvironmentVariableMutatorOptions

ミューテーターに適用されるオプション。オプションが指定されていない場合、デフォルトは{ applyAtProcessCreation: true }になります。

戻り値説明
void

環境変数を値で置き換えます。

拡張機能は任意の変数に対して1つの変更しかできないため、これは以前の置換、追加、または先頭への追加の呼び出しを上書きすることに注意してください。

パラメーター説明
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

イベントリスナーを購読解除するDisposable。

EventEmitter<T>

イベントエミッターは、他のユーザーが購読できるイベントを作成および管理するために使用できます。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。

現在開いているワークスペースに依存しない状態を保存するMementoオブジェクト。

拡張機能がグローバル状態を保存できる絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に任されています。ただし、親ディレクトリは存在することが保証されています。

キー値データを保存するにはglobalStateを使用してください。

拡張機能がグローバル状態を保存できるディレクトリのURI。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に任されています。ただし、親ディレクトリは存在することが保証されています。

キー値データを保存するにはglobalStateを使用してください。

URIからファイルやフォルダを読み書きする方法については、workspace.fsも参照してください。

この拡張機能が言語モデルをどのように使用できるかに関する情報を保持するオブジェクト。

参照 LanguageModelChat.sendRequest

拡張機能がログファイルを作成できるディレクトリの絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に任されています。ただし、親ディレクトリは存在することが保証されています。

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

拡張機能がログファイルを作成できるディレクトリのURI。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に任されています。ただし、親ディレクトリは存在することが保証されています。

URIからファイルやフォルダを読み書きする方法については、workspace.fsも参照してください。

現在開いているワークスペースに依存しない状態を保存する秘密ストレージオブジェクト。

拡張機能がプライベートな状態を保存できるワークスペース固有のディレクトリの絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に任されています。ただし、親ディレクトリは存在することが保証されています。

キー値データを保存するにはworkspaceStateまたはglobalStateを使用してください。

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

拡張機能がプライベートな状態を保存できるワークスペース固有のディレクトリのURI。ディレクトリは存在しない可能性があり、作成は拡張機能に任されています。ただし、親ディレクトリは存在することが保証されています。ワークスペースやフォルダーが開かれていない場合、値はundefinedです。

キー値データを保存するにはworkspaceStateまたはglobalStateを使用してください。

URIからファイルやフォルダーを読み書きする方法については、workspace.fsも参照してください。

Disposableを追加できる配列。この拡張機能が非アクティブ化されると、Disposableは破棄されます。

注意: 非同期dispose関数は待機されません。

現在開いているワークスペースのコンテキストで状態を保存するMementoオブジェクト。

メソッド

拡張機能に含まれるリソースの絶対パスを取得します。

注意: 絶対URIは、Uri.joinPathextensionUriを使用して構築できます。例: vscode.Uri.joinPath(context.extensionUri, relativePath);

パラメーター説明
relativePath: string

拡張機能に含まれるリソースへの相対パス。

戻り値説明
string

リソースの絶対パス。

ExtensionKind

リモートウィンドウでは、拡張機能の種類は、拡張機能がUI(ウィンドウ)が実行される場所で実行されるか、リモートで実行されるかを記述します。

列挙型メンバー

UIが実行される場所で拡張機能が実行されます。

リモート拡張機能ホストが実行される場所で拡張機能が実行されます。

ExtensionMode

ExtensionModeはExtensionContextで提供され、特定の拡張機能が実行されているモードを示します。

列挙型メンバー

拡張機能はエディターに通常インストールされています(例:マーケットプレイスまたはVSIXから)。

拡張機能は、エディターの起動時に提供された--extensionDevelopmentPathから実行されています。

拡張機能は--extensionTestsPathから実行されており、拡張機能ホストは単体テストを実行しています。

ExtensionTerminalOptions

仮想プロセス端末が使用するオプションを記述する値オブジェクト。

プロパティ

端末のアイコンThemeColor。最高のコントラストとテーマ間の一貫性のために、標準のterminal.ansi*テーマキーを推奨します。

端末のアイコンパスまたはThemeIcon

再起動時および再読み込み時のデフォルトのターミナル永続化をオプトアウトします。これは、terminal.integrated.enablePersistentSessions が有効になっている場合にのみ有効になります。

UI でターミナルを表すために使用される、人間が判読可能な文字列。

拡張機能がターミナルを制御できるようにする Pseudoterminal の実装。

シェル統合シーケンスが信頼できるソースからのものであることを検証するために使用するナンス。この UX の影響の例としては、コマンドラインがナンスで報告された場合、シェル統合コマンド装飾 を介して再実行する前に、コマンドラインが正しいことをユーザーに確認する必要がないことなどがあります。

ターミナルに カスタムシェル統合サポート が含まれている場合に使用する必要があります。ランダムな GUID に設定する必要があります。Pseudoterminal の実装内で、この値は関連するシーケンスに渡され、信頼できるものにすることができます。

FileChangeEvent

ファイルシステムプロバイダーがファイルの変更を通知するために使用する必要があるイベント。

プロパティ

変更の種類。

変更されたファイルの URI。

FileChangeType

ファイル変更の種類を列挙したもの。

列挙型メンバー

ファイルの内容またはメタデータが変更されました。

ファイルが作成されました。

ファイルが削除されました。

FileCoverage

ファイルのカバー率メタデータが含まれます。

Static

カバー率の詳細からカウントを埋めて 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

ファイルシステムのスキーマ、例: file または git

戻り値説明
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);

Static

ファイルまたはフォルダがすでに存在することを通知するエラーを作成します。たとえば、ファイルを作成するが上書きしない場合など。

パラメーター説明
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: があります。
  • 注意 3: 「ファイル」という言葉は、フォルダ、シンボリックリンク、通常のファイルなど、あらゆる 種類の ファイルを指すためによく使用されます。

イベント

リソースが作成、変更、または削除されたことを通知するイベント。このイベントは、このプロバイダーのクライアントによって 監視 されているリソースに対して発生するはずです。

注意: 変更されたファイルのメタデータが、stat の前の値から進んだ更新された mtime と正しい size 値を提供することが重要です。そうしないと、たとえばエディターで変更が表示されない最適化が行われる可能性があります。

メソッド

ファイルまたはフォルダをコピーします。この関数の実装はオプションですが、コピー操作を高速化します。

  • throws - source が存在しない場合は FileNotFound
  • throws - destination の親が存在しない場合 (つまり、mkdirp ロジックは不要) は FileNotFound
  • throws - destination が存在し、overwrite オプションが true でない場合は FileExists
  • throws - アクセス許可が不十分な場合は NoPermissions
パラメーター説明
source: Uri

既存のファイル。

destination: Uri

コピー先の場所。

options: {overwrite: boolean}

既存のファイルを上書きするかどうかを定義します。

戻り値説明
void | Thenable<void>

新しいディレクトリを作成します (ファイルは write 呼び出しを介して作成されることに注意してください)。

  • throws - uri の親が存在しない場合 (つまり、mkdirp ロジックは不要) は FileNotFound
  • throws - uri がすでに存在する場合は FileExists
  • throws - アクセス許可が不十分な場合は NoPermissions
パラメーター説明
uri: Uri

新しいフォルダの URI。

戻り値説明
void | Thenable<void>

ファイルを削除します。

  • throws - アクセス許可が不十分な場合は NoPermissions
パラメーター説明
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 の親が存在しない場合 (つまり、mkdirp ロジックは不要) は FileNotFound
  • throws - newUri が存在し、overwrite オプションが true でない場合は FileExists
  • throws - アクセス許可が不十分な場合は NoPermissions
パラメーター説明
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/**)

これらのルールに基づいてすべての変更に対して onDidChangeFile を呼び出すのはファイルシステムプロバイダーの仕事です。提供された除外のいずれかに一致するファイルについては、イベントが発行されるべきではありません。

パラメーター説明
uri: Uri

監視するファイルまたはフォルダの URI。

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

監視を設定します。

戻り値説明
Disposable

プロバイダーに uri の監視を停止するように指示する disposable。

ファイルにデータを書き込み、その内容をすべて置き換えます。

  • throws - uri が存在せず、create が設定されていない場合は FileNotFound
  • throws - uri の親が存在せず、create が設定されている場合 (つまり、mkdirp ロジックは不要) は FileNotFound
  • throws - uri がすでに存在し、create が設定されているが overwrite が設定されていない場合は FileExists
  • throws - アクセス許可が不十分な場合は NoPermissions
パラメーター説明
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

行ベースの折りたたみ範囲。有効であるためには、開始行と終了行は 0 より大きく、ドキュメントの行数よりも小さくなければなりません。無効な範囲は無視されます。

コンストラクター

新しい折りたたみ範囲を作成します。

パラメーター説明
start: number

折りたたまれた範囲の開始行。

end: number

折りたたまれた範囲の終了行。

kind?: FoldingRangeKind

折りたたみ範囲の種類。

戻り値説明
FoldingRange

プロパティ

折りたたむ範囲の 0 から始まる終了行。折りたたまれた領域は、その行の最後の文字で終わります。有効であるためには、終了は 0 以上であり、ドキュメントの行数よりも小さくなければなりません。

折りたたみ範囲の Kind を記述します。たとえば、Comment または Region。この種類は折りたたみ範囲を分類するために使用され、「すべてのコメントを折りたたむ」などのコマンドで使用されます。FoldingRangeKind ですべての種類が列挙されています。設定されていない場合、範囲は構文要素から派生しています。

折りたたむ範囲の 0 から始まる開始行。折りたたまれた領域は、その行の最後の文字の後に始まります。有効であるためには、終了は 0 以上であり、ドキュメントの行数よりも小さくなければなりません。

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です。

メソッド

環境変数に値を追加します。

拡張機能は任意の変数に対して1つの変更しかできないため、これは以前の置換、追加、または先頭への追加の呼び出しを上書きすることに注意してください。

パラメーター説明
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

渡されたスコープの環境変数コレクション。

環境変数に値を先頭に追加します。

拡張機能は任意の変数に対して1つの変更しかできないため、これは以前の置換、追加、または先頭への追加の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

先頭に追加する変数。

value: string

変数に先頭に追加する値。

options?: EnvironmentVariableMutatorOptions

ミューテーターに適用されるオプション。オプションが指定されていない場合、デフォルトは{ applyAtProcessCreation: true }になります。

戻り値説明
void

環境変数を値で置き換えます。

拡張機能は任意の変数に対して1つの変更しかできないため、これは以前の置換、追加、または先頭への追加の呼び出しを上書きすることに注意してください。

パラメーター説明
variable: string

置き換える変数。

value: string

変数を置き換える値。

options?: EnvironmentVariableMutatorOptions

ミューテーターに適用されるオプション。オプションが指定されていない場合、デフォルトは{ applyAtProcessCreation: true }になります。

戻り値説明
void

GlobPattern

ファイルパスを照合するためのファイルグロブパターン。これは、グロブパターン文字列 (例: **/*.{ts,js} または *.{ts,js}) または 相対パターン のいずれかです。

グロブパターンは次の構文を持つことができます。

  • * - パスセグメント内の0個以上の文字に一致します。
  • ? - パスセグメント内の1文字に一致します。
  • ** - 0個を含む任意の数のパスセグメントに一致します。
  • {} は条件をグループ化します (例: **/*.{ts,js} はすべての TypeScript および JavaScript ファイルに一致します)。
  • [] はパスセグメントで一致する文字の範囲を宣言します (例: example.[0-9]example.0example.1 などに一致します)。
  • [!...] はパスセグメントで一致する文字の範囲を否定します (例: example.[!0-9]example.aexample.b に一致しますが、example.0 には一致しません)。

注意: グロブパターン内でバックスラッシュ (``) は無効です。一致させる既存のファイルパスがある場合は、バックスラッシュをスラッシュに変換する 相対パターン のサポートを使用することを検討してください。そうでない場合は、グロブパターンを作成するときにすべてのバックスラッシュをスラッシュに変換するようにしてください。

Hover

ホバーは、シンボルまたは単語に関する追加情報を表します。ホバーはツールチップのようなウィジェットでレンダリングされます。

コンストラクター

新しいホバーオブジェクトを作成します。

パラメーター説明
contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString>

ホバーの内容。

range?: Range

ホバーが適用される範囲。

戻り値説明
Hover

プロパティ

このホバーの内容。

このホバーが適用される範囲。省略された場合、エディターは現在の位置の単語範囲または現在の位置自体を使用します。

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キーを押したときのインデントの処理内容を記述します。

列挙型メンバー

新しい行を挿入し、前の行のインデントをコピーします。

新しい行を挿入し、一度インデントします(前の行のインデントを基準に)。

新しい行を2行挿入します。

  • 最初の行はインデントされ、カーソルが置かれます。
  • 2番目の行は同じインデントレベルになります。

新しい行を挿入し、一度アウトデントします(前の行のインデントを基準に)。

IndentationRule

言語のインデントルールを記述します。

プロパティ

このパターンに一致する行がある場合、その後のすべての行は一度アンインデントされます(別のルールが一致するまで)。

このパターンに一致する行がある場合、その後のすべての行は一度インデントされます(別のルールが一致するまで)。

このパターンに一致する行がある場合、その後の次の行のみが一度インデントされます。

このパターンに一致する行がある場合、そのインデントは変更されず、他のルールに対して評価されません。

InlayHint

インレイヒント情報。

コンストラクター

新しいインレイヒントを作成します。

パラメーター説明
position: Position

ヒントの位置。

label: string | InlayHintLabelPart[]

ヒントのラベル。

kind?: InlayHintKind

ヒントの種類

戻り値説明
InlayHint

プロパティ

このヒントの種類。インレイヒントの種類は、このインレイヒントの表示方法を定義します。

このヒントのラベル。人間が読める文字列、またはラベル部品の配列です。

: 文字列もラベル部品も空にすることはできません。

ヒントの前にパディングをレンダリングします。パディングは、ヒント自体の背景色ではなく、エディターの背景色を使用します。つまり、パディングはインレイヒントを視覚的に整列/分離するために使用できます。

ヒントの後にパディングをレンダリングします。パディングは、ヒント自体の背景色ではなく、エディターの背景色を使用します。つまり、パディングはインレイヒントを視覚的に整列/分離するために使用できます。

このヒントの位置。

このインレイヒントを受け入れたときに実行されるオプションのテキスト編集。インレイヒントを受け入れるデフォルトのジェスチャはダブルクリックです。

: 編集はドキュメントを変更し、インレイヒント(またはその最も近いバリアント)がドキュメントの一部となり、インレイヒント自体が不要になることを想定しています。

: このプロパティは、インレイヒントの解決中に遅れて設定できます。

このアイテムにマウスオーバーしたときに表示されるツールチップのテキスト。

: このプロパティは、インレイヒントの解決中に遅れて設定できます。

InlayHintKind

インレイヒントの種類。

インラインヒントの種類は、その表示を定義します。例えば、対応する前景色と背景色が使用されます。

列挙型メンバー

型注釈のためのインレイヒント。

パラメーターのためのインレイヒント。

InlayHintLabelPart

インレイヒントラベル部品は、インレイヒントのインタラクティブで複合的なラベルを可能にします。

コンストラクター

新しいインレイヒントラベル部品を作成します。

パラメーター説明
value: string

部品の値。

戻り値説明
InlayHintLabelPart

プロパティ

このラベル部品のオプションのコマンド。

エディターは、コマンドを持つ部品をクリック可能なリンクとしてレンダリングします。ラベル部品が位置コマンドを定義している場合、コマンドはコンテキストメニューに追加されます。

: このプロパティは、インレイヒントの解決中に遅れて設定できます。

このラベル部品を表すオプションのソースコードの位置

エディターはこの位置をホバーとコードナビゲーション機能に使用します。この部品は、指定された位置のシンボルの定義に解決されるクリック可能なリンクになります(必ずしも位置自体ではありません)。指定された位置に表示されるホバーが表示され、さらにコードナビゲーションコマンドを含むコンテキストメニューが表示されます。

: このプロパティは、インレイヒントの解決中に遅れて設定できます。

このラベル部品にマウスオーバーしたときに表示されるツールチップテキスト。

: このプロパティは、インレイヒントの解決中に遅れて設定できます。

このラベル部品の値。

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[]>

InlineValueDescriptorの配列、またはそれに解決されるThenable。結果がないことは、undefinedまたはnullを返すことで示されます。

InlineValueText

インライン値をテキストとして提供します。

コンストラクター

新しいInlineValueTextオブジェクトを作成します。

パラメーター説明
range: Range

インライン値を表示するドキュメント行。

text: string

行に表示される値。

戻り値説明
InlineValueText

プロパティ

インライン値が適用されるドキュメント範囲。

インライン値のテキスト。

InlineValueVariableLookup

変数ルックアップを通じてインライン値を提供します。範囲のみが指定されている場合、変数名は基になるドキュメントから抽出されます。オプションの変数名を使用して、抽出された名前をオーバーライドできます。

コンストラクター

新しいInlineValueVariableLookupオブジェクトを作成します。

パラメーター説明
range: Range

インライン値を表示するドキュメント行。

variableName?: string

検索する変数名。

caseSensitiveLookup?: boolean

検索を実行する方法。指定されていない場合、大文字と小文字を区別して検索します。

戻り値説明
InlineValueVariableLookup

プロパティ

検索を実行する方法。

インライン値が適用されるドキュメント範囲。この範囲は、基になるドキュメントから変数名を抽出するために使用されます。

指定されている場合、検索する変数名。

InputBox

ユーザーがテキスト値を入力できるようにする具体的なクイック入力

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

イベント

ユーザーが入力値の受け入れを示したときに発生するイベント。

値が変更されたときに通知するイベント。

この入力UIが非表示になったときに通知するイベント。

このUIが非表示になる理由はいくつかあり、拡張機能にはQuickInput.onDidHideを通じて通知されます。(例:QuickInput.hideへの明示的な呼び出し、ユーザーがEscキーを押す、他の入力UIが開くなど)。

ボタンがトリガーされたときに通知するイベント。

プロパティ

UIが進行状況インジケーターを表示するかどうか。デフォルトはfalse。

例えば、データの読み込み中やユーザー入力の検証中に、これをtrueに変更します。

UI内のアクション用のボタン。

UIがユーザー入力を許可するかどうか。デフォルトはtrue。

例えば、ユーザー入力の検証中や次のステップのデータの読み込み中に、これをfalseに変更します。

UIのフォーカスが失われた場合でも、UIを開いたままにするかどうか。デフォルトはfalse。この設定はiPadでは無視され、常にfalseです。

入力値を非表示にするかどうか。デフォルトはfalse。

値が入力されていない場合に表示されるオプションのプレースホルダー。

ユーザーに質問や説明を提供するオプションのプロンプトテキスト。

オプションの現在のステップ数。

オプションのタイトル。

オプションの合計ステップ数。

現在の入力値の問題を示すオプションの検証メッセージ。文字列を返すことで、InputBoxはデフォルトのInputBoxValidationSeverityであるエラーを使用します。undefinedを返すと検証メッセージがクリアされます。

現在の入力値。

入力値内の選択範囲。2つの数値のタプルとして定義され、最初の数値は包括的な開始インデックス、2番目の数値は排他的な終了インデックスです。undefinedの場合、事前入力された値全体が選択され、空の場合(開始と終了が同じ場合)はカーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。

このプロパティは、ユーザーが入力または選択を行っても更新されませんが、拡張機能によって更新できます。

メソッド

この入力UIとそれに関連するリソースを破棄します。まだ表示されている場合は、まず非表示になります。この呼び出しの後、入力UIは機能しなくなり、追加のメソッドやプロパティにはアクセスできません。代わりに、新しい入力UIを作成する必要があります。

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

この入力UIを非表示にします。これにより、QuickInput.onDidHideイベントも発生します。

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

入力UIを現在の設定で表示します。他の入力UIは、最初にQuickInput.onDidHideイベントを発生させます。

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

InputBoxOptions

入力ボックスUIの動作を設定するオプション。

プロパティ

フォーカスがエディターの別の部分または別のウィンドウに移動した場合でも、入力ボックスを開いたままにするにはtrueに設定します。この設定はiPadでは無視され、常にfalseです。

パスワード入力を表示するかどうかを制御します。パスワード入力は入力されたテキストを隠します。

ユーザーに入力内容を案内するために、入力ボックスにプレースホルダーとして表示するオプションの文字列。

入力ボックスの下に表示するテキスト。

入力ボックスのタイトルを表すオプションの文字列。

入力ボックスに事前入力する値。

事前入力されたの選択。2つの数値のタプルとして定義され、最初の数値は包括的な開始インデックス、2番目の数値は排他的な終了インデックスです。undefinedの場合、事前入力された値全体が選択され、空の場合(開始と終了が同じ場合)はカーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。

メソッド

入力の検証とユーザーへのヒントのために呼び出されるオプションの関数。

パラメーター説明
value: string

入力ボックスの現在の値。

戻り値説明
string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage>

エラーメッセージとして表示される人間が読める文字列、または特定のメッセージ深刻度を提供できるInputBoxValidationMessageのいずれか。 'value'が有効な場合は、undefinednull、または空の文字列を返します。

InputBoxValidationMessage

検証メッセージの動作を設定するためのオブジェクト。

プロパティ

表示する検証メッセージ。

検証メッセージの深刻度。注:InputBoxValidationSeverity.Errorを使用すると、ユーザーは入力を受け入れる(Enterキーを押す)ことができません。InfoWarningは、InputBoxが入力を受け入れることを許可します。

InputBoxValidationSeverity

入力ボックス検証の深刻度レベル。

列挙型メンバー

情報レベルの深刻度。

警告レベルの深刻度。

エラーレベルの深刻度。

LanguageConfiguration

言語構成インターフェースは、拡張機能と自動括弧挿入、自動インデントなどのさまざまなエディター機能との間の契約を定義します。

プロパティ

非推奨 使用しないでください。

  • 非推奨 - * 代わりに言語構成ファイルのautoClosingPairsプロパティを使用してください。
パラメーター説明
autoClosingPairs: Array<{close: string, notIn: string[], open: string}>
  • 非推奨

非推奨 使用しないでください。

  • 非推奨 - 間もなくより良いAPIに置き換えられます。
パラメーター説明
brackets: any

このプロパティは非推奨であり、エディターによって無視されます

  • 非推奨
docComment: {close: string, lineStart: string, open: string, scope: string}

このプロパティは非推奨であり、エディターで完全にサポートされなくなりました(スコープと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-turbogpt4phi2、またはllamaである可能性がありますが、これらは言語を提供する拡張機能によって定義され、変更される可能性があります。

言語モデルの不透明な識別子。

1つのリクエストでモデルに送信できるトークンの最大数。

言語モデルの人間が読める名前。

言語モデルのベンダーのよく知られた識別子。例として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。リクエストを実行できなかった場合、Promise は拒否されます。

LanguageModelChatCapabilities

LanguageModelChatInformation がサポートする様々な機能 (ツール呼び出しや画像入力など)。

プロパティ

画像入力がモデルによってサポートされているかどうか。一般的にサポートされている画像はjpgとpngですが、各モデルはサポートされているMIMEタイプが異なります。

ツール呼び出しがモデルによってサポートされているかどうか。数値が提供されている場合、それはモデルへのリクエストで提供できるツールの最大数です。

LanguageModelChatInformation

LanguageModelChatProviderによって提供される言語モデルを表します。

プロパティ

ツール呼び出しや画像入力など、モデルがサポートするさまざまな機能。

モデルと一緒にレンダリングされるオプションの、人間が読める文字列。UIで同じ名前のモデルを区別するのに役立ちます。

言語モデルの不透明なファミリ名。値はgpt-3.5-turbogpt4phi2、またはllamaである可能性があります。

言語モデルの一意の識別子。プロバイダーごとに一意である必要がありますが、グローバルに一意である必要はありません。

モデルが入力として受け入れることができる最大トークン数。

モデルが生成できる最大トークン数。

言語モデルの人間が読める名前。

モデルにカーソルを合わせたときにレンダリングされるツールチップ。モデルに関する詳細情報を提供するために使用されます。

モデルの不透明なバージョン文字列。これはLanguageModelChatSelector.versionでのルックアップ値として使用されます。例えば、GPT 4oには2024-11-20や2024-08-06のような複数のバージョンがあります。

LanguageModelChatMessage

チャット内のメッセージを表します。ユーザーやアシスタントなど、さまざまな役割を想定できます。

Static

新しいアシスタントメッセージを作成するユーティリティ。

パラメーター説明
content: string | Array<LanguageModelTextPart | LanguageModelToolCallPart>

メッセージの内容。

name?: string

メッセージのユーザーのオプション名。

戻り値説明
LanguageModelChatMessage

新しいユーザーメッセージを作成するユーティリティ。

パラメーター説明
content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart>

メッセージの内容。

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>

応答が完了したときに解決されるPromise。結果は実際にはプログレスコールバックに渡されます。

モデル固有のトークナイザロジックを使用して、指定されたテキストのトークン数を返します。

パラメーター説明
model: T

使用する言語モデル

text: string | LanguageModelChatRequestMessage

トークンをカウントするテキスト

token: CancellationToken

キャンセル トークン

戻り値説明
Thenable<number>

トークン数

LanguageModelChatRequestMessage

LanguageModelChatMessageのプロバイダーバージョン。

プロパティ

メッセージがコンテンツとして含めることができる、さまざまな種類の配列。一部の要素は、特定のモデルではメッセージタイプ固有である場合があります。

このメッセージのユーザーのオプション名。

このメッセージの役割。

LanguageModelChatRequestOptions

言語モデルを使用してチャットリクエストを行うためのオプション。

参照 LanguageModelChat.sendRequest

プロパティ

言語モデルへのアクセスが必要な理由と、それによって有効になる機能について説明する、人間が読めるメッセージ。

言語モデルの動作を制御するオプションのセット。これらのオプションは言語モデルに固有であり、それぞれのドキュメントで確認する必要があります。

使用するツール選択モード。デフォルトはLanguageModelChatToolMode.Autoです。

言語モデルで利用可能なツールのオプションのリスト。これらはlm.toolsを通じて利用可能な登録済みツールであるか、呼び出し側の拡張機能内で実装されたプライベートツールである可能性があります。

LLMがこれらのツールのいずれかを呼び出すことを要求した場合、LanguageModelChatResponse.streamLanguageModelToolCallPartを返します。ツールを呼び出すのは呼び出し側の責任です。lm.toolsに登録されているツールの場合、それはlm.invokeToolを呼び出すことを意味します。

その後、ツール結果は、LanguageModelToolCallPartを含むアシスタントタイプのLanguageModelChatMessageを作成し、それに続いてLanguageModelToolResultPartを含むユーザータイプのメッセージを作成することで、LLMに提供できます。

LanguageModelChatResponse

言語モデルの応答を表します。

参照 ChatRequest

プロパティ

テキストとツール呼び出し部分のストリームである非同期イテレータで、全体の応答を形成します。LanguageModelTextPartは、アシスタントの応答の一部としてユーザーに表示されるものです。LanguageModelToolCallPartは、言語モデルからのツール呼び出しリクエストです。後者は、リクエストでLanguageModelChatRequestOptions.toolsを通じてツールが渡された場合にのみ返されます。unknown型は、画像データ部分など、将来のパーツのプレースホルダーとして使用されます。

: このストリームは、データ受信中にエラーが発生した場合にエラーになります。ストリームの利用者は、それに応じてエラーを処理する必要があります。

ストリームをキャンセルするには、利用者はリクエストを行うために使用したトークンをキャンセルするか、forループからbreakすることができます。

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

言語モデルが使用するためのツール呼び出しモードです。

列挙型メンバー

言語モデルがツールを呼び出すか、メッセージを生成するかを選択できるモードです。これがデフォルトです。

言語モデルは、提供されたツールのいずれかを呼び出す必要があります。注:このモードを使用する場合、一部のモデルは単一のツールのみをサポートします。

LanguageModelError

言語モデル固有のエラーのタイプです。

言語モデルの利用者は、特定の失敗原因を判断するためにcodeプロパティを確認する必要があります。たとえば、未知の言語モデルを参照する場合のif(someError.code === vscode.LanguageModelError.NotFound.name) {...}のようにです。特定されていないエラーの場合、causeプロパティには実際のエラーが含まれます。

Static

要求者がこの言語モデルを使用することをブロックされています。

パラメーター説明
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-tsxからのrenderElementJSONの結果。

戻り値説明
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>

プロパティ

ツールが呼び出される際の入力。

LanguageModelToolResult

ツール呼び出しから返される結果。vscode/prompt-tsxを使用している場合、この結果はToolResultを使用してレンダリングできます。

コンストラクター

LanguageModelToolResultを作成します

パラメーター説明
content: Array<LanguageModelTextPart | LanguageModelPromptTsxPart>

ツール結果コンテンツパートのリスト

戻り値説明
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言語ステータス」などのこのアイテムの短い名前。

このアイテムが表示されるエディタを定義するセレクター

このアイテムの重大度。

デフォルトは情報です。このプロパティを使用して、実行可能ファイルの不足や無効な設定など、注意が必要な問題があることをユーザーに知らせることができます。

エントリに表示するテキスト。構文を利用してテキストにアイコンを埋め込むことができます。

My text $(icon-name) contains icons like $(icon-name) this one.

ここで、アイコン名はThemeIcon アイコンセットから取得されます(例:light-bulbthumbsupzapなど)。

メソッド

関連リソースを破棄して解放します。

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

LanguageStatusSeverity

言語ステータスの重大度レベルを表します。

列挙型メンバー

情報レベルの深刻度。

警告レベルの深刻度。

エラーレベルの深刻度。

LinkedEditingRangeProvider

リンクされた編集範囲プロバイダーインターフェースは、拡張機能とリンクされた編集機能間の契約を定義します。

メソッド

ドキュメント内の指定された位置に対して、その位置にあるシンボルの範囲と、同じコンテンツを持つすべての範囲を返します。新しいコンテンツが有効な場合、いずれかの範囲への変更は他のすべての範囲に適用できます。有効なコンテンツを記述するために、オプションで単語パターンを結果とともに返すことができます。結果固有の単語パターンが提供されない場合、言語設定からの単語パターンが使用されます。

パラメーター説明
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

文字列。falsy値は出力されません。

戻り値説明
void

指定された値と改行文字をチャネルに追加します。

パラメーター説明
value: string

文字列。falsy値も出力されます。

戻り値説明
void

チャネルからすべての出力を削除します。

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

指定されたデバッグメッセージをチャネルに出力します。

メッセージは、チャネルがデバッグログレベル以下を表示するように設定されている場合にのみログに記録されます。

パラメーター説明
message: string

ログに記録するデバッグメッセージ

...args: any[]
戻り値説明
void

関連リソースを破棄して解放します。

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

指定されたエラーまたはエラーメッセージをチャネルに出力します。

メッセージは、チャネルがエラーログレベル以下を表示するように設定されている場合にのみログに記録されます。

パラメーター説明
error: string | Error

ログに記録するエラーまたはエラーメッセージ

...args: any[]
戻り値説明
void

このチャネルをUIから非表示にします。

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

指定された情報メッセージをチャネルに出力します。

メッセージは、チャネルが情報ログレベル以下を表示するように設定されている場合にのみログに記録されます。

パラメーター説明
message: string

ログに記録する情報メッセージ

...args: any[]
戻り値説明
void

チャネルのすべての出力を指定された値に置き換えます。

パラメーター説明
value: string

文字列。falsy値は出力されません。

戻り値説明
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'

このマークダウン文字列が信頼できるソースからのものであることを示します。信頼できるマークダウンのみが、コマンドを実行するリンクをサポートします(例:[Run it](command:myCommandId))。

デフォルトはfalse(コマンドは無効)です。

このマークダウン文字列に生のHTMLタグを含めることができるかどうかを示します。デフォルトはfalseです。

supportHtmlがfalseの場合、マークダウンレンダラーはマークダウンテキストに表示される生のHTMLタグをすべて取り除きます。これは、レンダリングにはマークダウン構文のみを使用できることを意味します。

supportHtmlがtrueの場合、マークダウンレンダラーはHTMLタグの安全なサブセットと属性もレンダリングを許可します。サポートされているすべてのタグと属性のリストについては、https://github.com/microsoft/vscode/blob/6d2920473c6f13759c978dd89104c4270a83422d/src/vs/base/browser/markdownRenderer.ts#L296を参照してください。

このマークダウン文字列がThemeIcons(例: $(zap))を含めることができるかどうかを示します。

マークダウン文字列。

メソッド

指定された言語を使用して、指定された文字列をコードブロックとして追加します。

パラメーター説明
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から返される可能性のある、さまざまな種類のモデルコンテキストプロトコルサーバーを記述する定義。

McpServerDefinitionProvider<T>

モデルコンテキストプロトコルサーバー定義を提供できるタイプです。これは拡張機能のアクティベーション中にlm.registerMcpServerDefinitionProviderを使用して登録する必要があります。

イベント

利用可能なサーバーのセットが変更されたことを通知するために発生するオプションのイベント。

メソッド

利用可能なMCPサーバーを提供します。エディタは、言語モデルのサーバーの可用性を確保するためにこのメソッドを積極的に呼び出すため、拡張機能は認証などのユーザーインタラクションを必要とするアクションを実行すべきではありません。

パラメーター説明
token: CancellationToken

キャンセル・トークン。

戻り値説明
ProviderResult<T[]>

利用可能なMCPサーバーの配列

この関数は、エディターがMCPサーバーを起動する必要があるときに呼び出されます。この時点で、拡張機能は、認証などのユーザーインタラクションを必要とする可能性のあるすべてのアクションを実行できます。サーバーのreadonlyではないプロパティは変更でき、拡張機能は解決されたサーバーを返すべきです。

拡張機能は、サーバーを起動すべきではないことを示すために未定義を返すか、エラーをスローする場合があります。保留中のツール呼び出しがある場合、エディターはそれをキャンセルし、言語モデルにエラーメッセージを返します。

パラメーター説明
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-stringifyableである必要があります。

: 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つの表現。

Static

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オブジェクトの場合、エディタはcommandargumentsのみを使用することに注意してください。

項目の優先度。値が高い項目ほど左側に表示されます。

項目に表示するテキスト。

項目にホバーしたときに表示されるツールチップ。

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スタイルのコントローラは、現在実行中のものを中断することで機能することがよくあります。これらのケースのために中断ハンドラが存在します。それは端末のSIGINTまたはControl+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

ノートブックのコンテンツオプションは、ノートブックのどの部分が永続化されるかを定義します。注

例えば、ノートブックシリアライザは出力の保存を無効にでき、その場合、出力が変更されてもエディタはノートブックをダーティとマークしません。

プロパティ

セルのメタデータプロパティ変更イベントがノートブックドキュメントコンテンツ変更イベントをトリガーするかどうか、およびそれが差分エディタで使用されるかどうかを制御します(デフォルトはfalse)。コンテンツプロバイダがファイルドキュメントにメタデータプロパティを永続化しない場合、これはtrueに設定する必要があります。

ドキュメントのメタデータプロパティ変更イベントがノートブックドキュメントコンテンツ変更イベントをトリガーするかどうか、およびそれが差分エディタで使用されるかどうかを制御します(デフォルトはfalse)。コンテンツプロバイダがファイルドキュメントにメタデータプロパティを永続化しない場合、これはtrueに設定する必要があります。

出力変更イベントがノートブックドキュメントコンテンツ変更イベントをトリガーするかどうか、およびそれが差分エディタで使用されるかどうかを制御します(デフォルトは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

ノートブック編集は、ノートブックのコンテンツに適用されるべき編集を表します。

Static

ノートブック内のセルを削除する編集を作成するユーティリティ。

パラメーター説明
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: canSelectFilescanSelectFolders を明示的に false に設定することは無益であり、エディタはファイルを選択するようにオプションを黙って調整します。

プロパティ

ファイルを選択することを許可します。デフォルトは true です。

フォルダを選択することを許可します。デフォルトは false です。

複数のファイルまたはフォルダを選択することを許可します。

開かれたときにダイアログが表示するリソース。

ダイアログで使用されるファイルフィルタのセット。各エントリは、「TypeScript」のような人間が読めるラベルと、拡張子の配列です。例:

{
    'Images': ['png', 'jpg'],
    'TypeScript': ['ts', 'tsx']
}

開くボタンの人間が読める文字列。

ダイアログのタイトル。

すべてのオペレーティングシステムが開くダイアログにタイトルを表示するわけではないため(macOSなど)、このパラメータは無視される場合があります。

OutputChannel

出力チャネルは、読み取り専用のテキスト情報のためのコンテナーです。

OutputChannelのインスタンスを取得するには、createOutputChannelを使用します。

プロパティ

この出力チャネルの人間が読める名前。

メソッド

指定された値をチャネルに追加します。

パラメーター説明
value: string

文字列。falsy値は出力されません。

戻り値説明
void

指定された値と改行文字をチャネルに追加します。

パラメーター説明
value: string

文字列。falsy値も出力されます。

戻り値説明
void

チャネルからすべての出力を削除します。

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

関連リソースを破棄して解放します。

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

このチャネルをUIから非表示にします。

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

チャネルのすべての出力を指定された値に置き換えます。

パラメーター説明
value: string

文字列。falsy値は出力されません。

戻り値説明
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オブジェクトは不変です。既存の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フローを介してプロンプトを表示するかどうか、またはモデルをサイレントに解決しようとするかどうか。サイレントが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.streamLanguageModelToolCallPartを返します。ツールを呼び出すのは呼び出し側の責任です。lm.toolsに登録されているツールの場合、それはlm.invokeToolを呼び出すことを意味します。

その後、ツール結果は、LanguageModelToolCallPartを含むアシスタントタイプのLanguageModelChatMessageを作成し、それに続いてLanguageModelToolResultPartを含むユーザータイプのメッセージを作成することで、LLMに提供できます。

ProviderResult<T>

プロバイダーの結果は、HoverProviderなどのプロバイダーが返す可能性のある値を表します。これは実際の結果型T(例: Hover)であるか、その型Tに解決されるthenableです。さらに、nullundefinedを直接またはthenableから返すことができます。

以下のスニペットはすべて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が呼び出される前に発火されたイベントは無視されます。

数値は端末の終了コードを提供するために使用できます。終了コードは正でなければならず、ゼロ以外の終了コードは失敗を示し、通常の端末では通知を表示し、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

受信データ。

例: 端末に入力をエコーします。エンター(\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

端末の寸法。この呼び出しの前に端末パネルが開かれていなかった場合、これは未定義になります。

戻り値説明
void

端末パネルに収まる行と列の数が変更された場合(フォントサイズの変更やパネルのリサイズなど)の処理を実装します。端末の寸法はユーザーインターフェースに表示されるまで不明なため、端末の初期状態の寸法は、これがトリガーされるまでundefinedとして扱われるべきです。

onDidOverrideDimensionsによって寸法がオーバーライドされている場合でも、setDimensionsは通常のパネル寸法で引き続き呼び出され、拡張機能は寸法の変更に引き続き反応できます。

パラメーター説明
dimensions: TerminalDimensions

新しい寸法。

戻り値説明
void

QuickDiffProvider

クイック差分プロバイダーは、変更されたリソースの元の状態へのuriを提供します。エディタはこの情報を使用して、テキスト内にアドホックな差分をレンダリングします。

メソッド

指定されたリソースuriの元のリソースへのUriを提供します。

パラメーター説明
uri: Uri

テキストエディタで開かれているリソースのuri。

token: CancellationToken

キャンセル・トークン。

戻り値説明
ProviderResult<Uri>

一致する元のリソースのuriに解決されるthenable。

QuickInput

最初は非表示になっている軽量のユーザー入力UI。プロパティを通じて設定した後、拡張機能はQuickInput.showを呼び出すことで表示できます。

このUIが非表示になる理由はいくつかあり、拡張機能にはQuickInput.onDidHideを通じて通知されます。(例:QuickInput.hideへの明示的な呼び出し、ユーザーがEscキーを押す、他の入力UIが開くなど)。

ユーザーがEnterキーを押すか、現在の状態を受け入れることを意味する他のジェスチャを実行しても、このUIコンポーネントは自動的に非表示になりません。ユーザーの入力を受け入れるかどうか、およびQuickInput.hideの呼び出しを通じてUIを実際に非表示にするかどうかは、拡張機能に委ねられます。

拡張機能がこの入力UIを必要としなくなった場合、関連するリソースを解放できるようにQuickInput.disposeする必要があります。

具体的なUIについては、QuickPickInputBoxを参照してください。

イベント

この入力UIが非表示になったときに通知するイベント。

このUIが非表示になる理由はいくつかあり、拡張機能にはQuickInput.onDidHideを通じて通知されます。(例:QuickInput.hideへの明示的な呼び出し、ユーザーがEscキーを押す、他の入力UIが開くなど)。

プロパティ

UIが進行状況インジケーターを表示するかどうか。デフォルトはfalse。

例えば、データの読み込み中やユーザー入力の検証中に、これをtrueに変更します。

UIがユーザー入力を許可するかどうか。デフォルトはtrue。

例えば、ユーザー入力の検証中や次のステップのデータの読み込み中に、これをfalseに変更します。

UIのフォーカスが失われた場合でも、UIを開いたままにするかどうか。デフォルトはfalse。この設定はiPadでは無視され、常にfalseです。

オプションの現在のステップ数。

オプションのタイトル。

オプションの合計ステップ数。

メソッド

この入力UIとそれに関連するリソースを破棄します。まだ表示されている場合は、まず非表示になります。この呼び出しの後、入力UIは機能しなくなり、追加のメソッドやプロパティにはアクセスできません。代わりに、新しい入力UIを作成する必要があります。

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

この入力UIを非表示にします。これにより、QuickInput.onDidHideイベントも発生します。

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

入力UIを現在の設定で表示します。他の入力UIは、最初にQuickInput.onDidHideイベントを発生させます。

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

QuickInputButton

QuickPickまたはInputBoxのアクションボタン。

プロパティ

ボタンのアイコン。

オプションのツールチップ。

QuickInputButtons

QuickPickおよびInputBox用の事前定義されたボタン。

Static

QuickPickおよびInputBoxの戻るボタン。

ナビゲーションの「戻る」ボタンが必要な場合は、一貫性のためにこれを使用する必要があります。これは、事前定義されたアイコン、ツールチップ、場所が付属しています。

QuickPick<T>

ユーザーが型Tのアイテムのリストからアイテムを選択できるようにする具体的なQuickInput。アイテムはフィルターテキストフィールドでフィルターでき、複数のアイテムを選択できるオプションcanSelectManyがあります。

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

イベント

ユーザーが選択されたアイテムを受け入れたことを通知するイベント。

アクティブなアイテムが変更されたときに通知するイベント。

選択されたアイテムが変更されたときに通知するイベント。

フィルターテキストの値が変更されたときに通知するイベント。

この入力UIが非表示になったときに通知するイベント。

このUIが非表示になる理由はいくつかあり、拡張機能にはQuickInput.onDidHideを通じて通知されます。(例:QuickInput.hideへの明示的な呼び出し、ユーザーがEscキーを押す、他の入力UIが開くなど)。

トップレベルボタン(buttonsに格納されているボタン)がトリガーされたときに通知するイベント。このイベントはQuickPickItemのボタンでは発生しません。

特定のQuickPickItem内のボタンがトリガーされたときに通知するイベント。このイベントはタイトルバーのボタンでは発生しません。

プロパティ

アクティブなアイテム。これは拡張機能で読み取りおよび更新できます。

UIが進行状況インジケーターを表示するかどうか。デフォルトはfalse。

例えば、データの読み込み中やユーザー入力の検証中に、これをtrueに変更します。

UI内のアクション用のボタン。

複数のアイテムを同時に選択できるかどうか。デフォルトはfalseです。

UIがユーザー入力を許可するかどうか。デフォルトはtrue。

例えば、ユーザー入力の検証中や次のステップのデータの読み込み中に、これをfalseに変更します。

UIのフォーカスが失われた場合でも、UIを開いたままにするかどうか。デフォルトはfalse。この設定はiPadでは無視され、常にfalseです。

選択するアイテム。これは拡張機能で読み取りおよび更新できます。

クイックピックアイテムが更新されたときに、クイックピックのスクロール位置を維持するためのオプションのフラグ。デフォルトはfalseです。

フィルターテキストをアイテムの説明にも照合するかどうか。デフォルトはfalseです。

フィルターテキストをアイテムの詳細にも照合するかどうか。デフォルトはfalseです。

フィルターが入力されていない場合にフィルターテキストボックスに表示されるオプションのプレースホルダー。

選択されたアイテム。これは拡張機能で読み取りおよび更新できます。

オプションの現在のステップ数。

オプションのタイトル。

オプションの合計ステップ数。

フィルターテキストの現在の値。

メソッド

この入力UIとそれに関連するリソースを破棄します。まだ表示されている場合は、まず非表示になります。この呼び出しの後、入力UIは機能しなくなり、追加のメソッドやプロパティにはアクセスできません。代わりに、新しい入力UIを作成する必要があります。

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

この入力UIを非表示にします。これにより、QuickInput.onDidHideイベントも発生します。

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

入力UIを現在の設定で表示します。他の入力UIは、最初にQuickInput.onDidHideイベントを発生させます。

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

QuickPickItem

アイテムのリストから選択できるアイテムを表します。

プロパティ

常にこのアイテムを表示します。

注: このプロパティは、kindQuickPickItemKind.Separatorに設定されている場合は無視されます。

この特定のアイテムにレンダリングされるオプションのボタン。これらのボタンは、クリックされるとQuickPickItemButtonEventをトリガーします。createQuickPick() APIによって作成されたクイックピックを使用している場合にのみボタンがレンダリングされます。showQuickPick() APIを使用している場合はボタンはレンダリングされません。

注: このプロパティは、kindQuickPickItemKind.Separatorに設定されている場合は無視されます。

同じ行で目立たないようにレンダリングされる人間が読める文字列。$(<name>)構文によるテーマアイコンのレンダリングをサポートします。

注: このプロパティは、kindQuickPickItemKind.Separatorに設定されている場合は無視されます。

別の行で目立たないようにレンダリングされる人間が読める文字列。$(<name>)構文によるテーマアイコンのレンダリングをサポートします。

注: このプロパティは、kindQuickPickItemKind.Separatorに設定されている場合は無視されます。

QuickPickItemのアイコンパスまたはThemeIcon

クイックピックでこのアイテムがどのようにレンダリングされるかを決定するQuickPickItemの種類。指定しない場合、デフォルトはQuickPickItemKind.Defaultです。

目立つようにレンダリングされる人間が読める文字列。$(<name>)構文によるテーマアイコンのレンダリングをサポートします。

注: kindQuickPickItemKind.Defaultに設定されている場合(つまり、区切り文字ではなく通常のアイテムの場合)、$(<name>)構文によるテーマアイコンのレンダリングをサポートします。

このアイテムが最初に選択されているかどうかを示すオプションのフラグ。これはshowQuickPick() APIを使用している場合にのみ考慮されます。createQuickPick() APIで同じことを行うには、QuickPick.selectedItemsを最初に選択したいアイテムに設定するだけです。(注: これはピッカーが複数の選択を許可している場合にのみ考慮されます。)

参照 QuickPickOptions.canPickMany

注: このプロパティは、kindQuickPickItemKind.Separatorに設定されている場合は無視されます。

QuickPickItemButtonEvent<T>

特定のQuickPickItem内のボタンがトリガーされたときに通知するイベント。このイベントはタイトルバーのボタンでは発生しません。

プロパティ

クリックされたボタン。

ボタンが属するアイテム。

QuickPickItemKind

列挙型メンバー

QuickPickItemの種別がSeparatorの場合、そのアイテムは単なる視覚的な区切り文字であり、実際のアイテムを表しません。適用されるプロパティはlabel のみです。QuickPickItemの他のすべてのプロパティは無視され、効果はありません。

デフォルトのQuickPickItem.kindは、クイックピックで選択できるアイテムです。

QuickPickOptions

クイックピックUIの動作を構成するオプション。

イベント

アイテムが選択されるたびに呼び出されるオプションの関数。

パラメーター説明
item: string | QuickPickItem
戻り値説明
any

プロパティ

ピッカーが複数の選択を受け入れることを可能にするオプションのフラグ。trueの場合、結果は選択肢の配列になります。

エディタの別の部分または別のウィンドウにフォーカスが移動したときに、ピッカーを開いたままにするにはtrueに設定します。この設定はiPadでは無視され、常にfalseです。

選択肢をフィルタリングする際に説明を含めるオプションのフラグ。

選択肢をフィルタリングする際に詳細を含めるオプションのフラグ。

ユーザーに何を選択するかをガイドするために、入力ボックスにプレースホルダーとして表示されるオプションの文字列。

クイックピックのタイトルを表すオプションの文字列。

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

参照プロバイダーインターフェースは、拡張機能と参照の検索機能間の契約を定義します。

メソッド

指定された位置とドキュメントに対するプロジェクト全体の参照のセットを提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

context: ReferenceContext

参照要求に関する追加情報。

token: CancellationToken

キャンセル・トークン。

戻り値説明
ProviderResult<Location[]>

ロケーションの配列、またはそのような配列に解決されるthenable。結果がない場合は、undefinednull、または空の配列を返すことで通知できます。

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に更新されます。

  • 非推奨 - このプロパティは非推奨です。代わりにRelativePattern.baseUriを使用してください。

このパターンが相対的に照合されるベースファイルパス。ファイルパスは絶対パスでなければならず、末尾にパス区切り文字を含まず、相対セグメント(.または..)を含まないようにする必要があります。

ベースパスに対するファイルパスに一致する*.{ts,js}のようなファイルグロブパターン。

例: ベースが/home/work/folderで、ファイルパスが/home/work/folder/index.jsの場合、ファイルグロブパターンはindex.jsに一致します。

RenameProvider

名前変更プロバイダーインターフェースは、拡張機能と名前変更機能間の契約を定義します。

メソッド

名前変更を実行する前に、位置を解決および検証するためのオプションの関数。結果は範囲、または範囲とプレースホルダーテキストのいずれかになります。プレースホルダーテキストは名前変更されるシンボルの識別子である必要があります。省略された場合、返された範囲内のテキストが使用されます。

注: 提供された場所が名前変更を許可しない場合、この関数はエラーをスローするか、拒否されたthenableを返す必要があります。

パラメーター説明
document: TextDocument

名前変更が呼び出されるドキュメント。

position: Position

名前変更が呼び出される位置。

token: CancellationToken

キャンセル・トークン。

戻り値説明
ProviderResult<Range | {placeholder: string, range: Range}>

名前変更される識別子の範囲、または範囲とプレースホルダーテキスト。結果がない場合は、undefinedまたはnullを返すことで通知できます。

シンボルを別の名前に変更するために1つまたは複数のリソースに行う必要がある変更を記述する編集を提供します。

パラメーター説明
document: TextDocument

コマンドが呼び出されたドキュメント。

position: Position

コマンドが呼び出された位置。

newName: string

シンボルの新しい名前。指定された名前が無効な場合、プロバイダーは拒否されたプロミスを返す必要があります。

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

位置。

戻り値説明
選択

4つの座標から選択範囲を作成します。

パラメーター説明
anchorLine: number

0ベースの行値。

anchorCharacter: number

0ベースの文字値。

activeLine: number

0ベースの行値。

activeCharacter: number

0ベースの文字値。

戻り値説明
選択

プロパティ

カーソルの位置。この位置は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

選択範囲は、選択階層の一部を表します。選択範囲には、それを含む親選択範囲がある場合があります。

コンストラクター

新しい選択範囲を作成します。

パラメーター説明
range: Range

選択範囲の範囲。

parent?: SelectionRange

選択範囲の親。

戻り値説明
SelectionRange

プロパティ

この範囲を含む親選択範囲。

この選択範囲のRange

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

セマンティックトークンビルダーは、デルタエンコードされたセマンティックトークンを含む`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`です。

コマンドラインがシェルで実行されるときに使用されるシェルオプション。デフォルトは未定義です。

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

シグネチャヘルプは、呼び出し可能なもののシグネチャを表します。複数のシグネチャを持つことができますが、アクティブなものは1つだけであり、アクティブなパラメーターも1つだけです。

コンストラクター

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

プロパティ

アクティブなシグネチャのアクティブなパラメーター。

アクティブなシグネチャ。

1つ以上のシグネチャ。

SignatureHelpContext

SignatureHelpProviderがトリガーされたコンテキストに関する追加情報。

プロパティ

現在アクティブなSignatureHelp

`activeSignatureHelp`は、ユーザーが利用可能なシグネチャを矢印で移動することに基づいて、activeSignatureフィールドが更新されます。

シグネチャヘルプがトリガーされたときにすでに表示されていた場合は`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:default value}`で定義されます。 完全なスニペット構文も参照してください。

コンストラクター

新しいスニペット文字列を作成します。

パラメーター説明
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

'as given'として追加する値。文字列はエスケープされます。

戻り値説明
SnippetString

このスニペット文字列。

このスニペット文字列のに変数を追加するビルド関数。

パラメーター説明
name: string

変数の名前 - `$ `を除く。

defaultValue: string | (snippet: SnippetString) => any

変数名が解決できない場合に使用されるデフォルト値 - 文字列またはネストされたスニペットを作成できる関数。

戻り値説明
SnippetString

このスニペット文字列。

SnippetTextEdit

スニペット編集は、エディタによって実行される対話型編集を表します。

: スニペット編集は、常に通常のテキスト編集として実行できます。これは、一致するエディタが開いていない場合、またはワークスペース編集に複数のファイルのスニペット編集が含まれている場合に発生します。その場合、アクティブなエディタと一致するもののみがスニペット編集として実行され、その他は通常のテキスト編集として実行されます。

Static

スニペット挿入編集を作成するためのユーティリティ。

パラメーター説明
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`にコンテキスト値を指定できます。例えば、`scmResourceGroupState == exportable`のように。

"contributes": {
  "menus": {
    "scm/resourceGroup/context": [
      {
        "command": "extension.export",
        "when": "scmResourceGroupState == exportable"
      }
    ]
  }
}

これにより、`contextValue`が`exportable`であるリソースグループに対してのみアクション`extension.export`が表示されます。

このソースコントロールリソースグループが、ソースコントロールリソース状態を含まない場合に非表示になるかどうか。

このソースコントロールリソースグループのID。

このソースコントロールリソースグループのラベル。

このグループのソースコントロールリソース状態のコレクション。

メソッド

このソースコントロールリソースグループを破棄します。

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

SourceControlResourceState

ソースコントロールリソース状態は、特定のソースコントロールグループ内の基になるワークスペースリソースの状態を表します。

プロパティ

リソース状態がソースコントロールビューレットで開かれたときに実行されるべきコマンド

リソース状態のコンテキスト値。これは、リソース固有のアクションを提供するために使用できます。たとえば、リソースに`diffable`としてコンテキスト値が与えられた場合。`menus`拡張ポイントを使用して`scm/resourceState/context`にアクションを提供するときに、`when`式でキー`scmResourceState`にコンテキスト値を指定できます。例えば、`scmResourceState == diffable`のように。

"contributes": {
  "menus": {
    "scm/resourceState/context": [
      {
        "command": "extension.diff",
        "when": "scmResourceState == diffable"
      }
    ]
  }
}

これにより、`contextValue`が`diffable`であるリソースに対してのみアクション`extension.diff`が表示されます。

このソースコントロールリソース状態の装飾

ワークスペース内の基になるリソースのUri

SourceControlResourceThemableDecorations

ソースコントロールリソース状態のテーマ対応の装飾。

プロパティ

特定のソースコントロールリソース状態のアイコンパス。

StatementCoverage

単一のステートメントまたは行のコードカバレッジ情報を含みます。

コンストラクター

パラメーター説明
executed: number | boolean

このステートメントが実行された回数。正確な回数が不明な場合は、実行されたかどうかを示すブール値。ゼロまたはfalseの場合、ステートメントは未カバーとしてマークされます。

location: Range | Position

ステートメントの位置。

branches?: BranchCoverage[]

この行のブランチからのカバレッジ。条件分岐でない場合は省略してください。

戻り値説明
StatementCoverage

プロパティ

この行またはステートメントのブランチからのカバレッジ。条件分岐でない場合、これは空になります。

このステートメントが実行された回数。正確な回数が不明な場合は、実行されたかどうかを示すブール値。ゼロまたはfalseの場合、ステートメントは未カバーとしてマークされます。

ステートメントの位置。

StatusBarAlignment

ステータスバー項目の配置を表します。

列挙型メンバー

左側に揃えられます。

右側に揃えられます。

StatusBarItem

ステータスバーアイテムは、テキストとアイコンを表示し、クリック時にコマンドを実行できるステータスバーの貢献です。

プロパティ

スクリーンリーダーがこのステータスバー項目と対話するときに使用されるアクセシビリティ情報

この項目の配置。

このエントリの背景色。

注意: 以下の色のみがサポートされています

  • new ThemeColor('statusBarItem.errorBackground')
  • new ThemeColor('statusBarItem.warningBackground')

将来的にはさらに多くの背景色がサポートされる可能性があります。

注意: 背景色が設定されている場合、すべてのテーマでエントリが読み取り可能であることを保証するために、ステータスバーが`color`の選択をオーバーライドする場合があります。

このエントリのフォアグラウンドカラー。

クリック時に実行するコマンドまたはコマンドの識別子。

コマンドは既知である必要があります。

これがCommandオブジェクトの場合、エディタはcommandargumentsのみを使用することに注意してください。

このアイテムの識別子。

注意: window.createStatusBarItemメソッドによって識別子が提供されなかった場合、識別子は拡張機能識別子と一致します。

'Python Language Indicator'、'Git Status'など、エントリの名前。ステータスバー項目が何であるかをユーザーが理解できる程度に、名前の長さを短く、かつ説明的に保つようにしてください。

この項目の優先度。値が大きいほど、項目は左に表示されるはずです。

エントリに表示するテキスト。構文を利用してテキストにアイコンを埋め込むことができます。

My text $(icon-name) contains icons like $(icon-name) this one.

ここで、アイコン名は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に解決されるプロミス。

タブグループを閉じます。これにより、タブグループオブジェクトは無効になり、それ以上のアクションにタブグループを使用することはできません。

パラメーター説明
tabGroup: TabGroup | readonly TabGroup[]

閉じるタブグループ。

preserveFocus?: boolean

trueの場合、フォーカスは現在の位置に残ります。

戻り値説明
Thenable<boolean>

すべてのタブグループが閉じられたときにtrueに解決されるプロミス。

TabInputCustom

タブはカスタムエディターを表します。

コンストラクター

カスタムエディターのタブ入力を構築します。

パラメーター説明
uri: Uri

タブの URI。

viewType: string

カスタムエディターのビュータイプ。

戻り値説明
TabInputCustom

プロパティ

タブが表す URI。

カスタムエディターのタイプ。

TabInputNotebook

タブはノートブックを表します。

コンストラクター

ノートブック用の新しいタブ入力を構築します。

パラメーター説明
uri: Uri

ノートブックの URI。

notebookType: string

ノートブックのタイプ。NotebookDocumentのnotebookTypeにマッピングされます。

戻り値説明
TabInputNotebook

プロパティ

ノートブックのタイプ。NotebookDocumentのnotebookTypeにマッピングされます。

タブが表す URI。

TabInputNotebookDiff

タブは、差分構成で2つのノートブックを表します。

コンストラクター

ノートブックの差分タブ入力を構築します。

パラメーター説明
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

タブは、差分としてレンダリングされる2つのテキストベースのリソースを表します。

コンストラクター

指定された URI を持つ新しいテキスト差分タブ入力を構築します。

パラメーター説明
original: Uri

元のテキストリソースの URI。

modified: Uri

変更されたテキストリソースの URI。

戻り値説明
TabInputTextDiff

プロパティ

変更されたテキストリソースの URI。

元のテキストリソースの URI。

TabInputWebview

タブはウェブビューを表します。

コンストラクター

指定されたビュータイプを持つウェブビュータブ入力を構築します。

パラメーター説明
viewType: string

ウェブビューのタイプ。WebviewPanelのviewTypeにマッピングされます。

戻り値説明
TabInputWebview

プロパティ

ウェブビューのタイプ。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のセマンティックバージョン表記をサポートします。

TaskGroup

タスクのグループ化。エディターはデフォルトで「Clean」、「Build」、「RebuildAll」、「Test」グループをサポートしています。

Static

ビルドタスクグループ。

クリーンタスクグループ。

すべて再構築タスクグループ。

すべてのテストタスクグループ。

コンストラクター

プライベートコンストラクター

パラメーター説明
id: string

タスクグループの識別子。

label: string

タスクグループの人間が読める名前。

戻り値説明
TaskGroup

プロパティ

タスクグループのID。TaskGroup.Clean.id、TaskGroup.Build.id、TaskGroup.Rebuild.id、またはTaskGroup.Test.idのいずれかです。

このグループの一部であるタスクがグループのデフォルトであるかどうか。このプロパティはAPIを介して設定することはできず、ユーザーのタスク構成によって制御されます。

TaskPanelKind

タスク間でタスクチャンネルがどのように使用されるかを制御します。

列挙型メンバー

他のタスクとパネルを共有します。これがデフォルトです。

このタスク専用のパネルを使用します。パネルは他のタスクと共有されません。

このタスクが実行されるたびに新しいパネルを作成します。

TaskPresentationOptions

タスクがUIでどのように表示されるかを制御します。

プロパティ

タスクを実行する前にターミナルをクリアするかどうかを制御します。

タスク実行後にターミナルを閉じるかどうかを制御します。

タスクに関連付けられたコマンドをユーザーインターフェースにエコーするかどうかを制御します。

タスク出力を表示するパネルがフォーカスを受け取るかどうかを制御します。

タスクパネルがこのタスクのみに使用されるか (専用)、タスク間で共有されるか (共有)、またはタスク実行ごとに新しいパネルが作成されるか (新規) を制御します。デフォルトはTaskInstanceKind.Sharedです。

タスク出力がユーザーインターフェースに表示されるかどうかを制御します。デフォルトはRevealKind.Alwaysです。

"ターミナルはタスクによって再利用されます。閉じるには任意のキーを押してください"というメッセージを表示するかどうかを制御します。

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

拡張機能が使用状況とエラーテレメトリをログするために使用できるテレメトリロガー。

ロガーは送信者をラップしますが、以下のことを保証します。

  • テレメトリを無効または調整するためのユーザー設定が尊重され、
  • 潜在的に機密性の高いデータが削除されること

また、送信されるデータをすべて出力する「エコーUI」を有効にし、エディタが未処理のエラーをそれぞれの拡張機能に転送できるようにします。

TelemetryLoggerのインスタンスを取得するには、createTelemetryLoggerを使用します。

イベント

使用状況またはエラーテレメトリの有効化状態が変更されたときに発生するイベント

プロパティ

このロガーのエラーテレメトリが有効であるかどうか。

このロガーの使用状況テレメトリが有効であるかどうか。

メソッド

このオブジェクトを破棄し、リソースを解放します。

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

エラーイベントをログに記録します。

クリーニング、テレメトリ設定チェック、データ混入が完了した後、TelemetrySender.sendEventDataを呼び出してイベントをログに記録します。logUsageとは異なり、テレメトリ設定がError+の場合にイベントをログに記録します。拡張機能のテレメトリ出力チャネルへのエコーを自動的にサポートします。

パラメーター説明
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

統合ターミナル内の個々のターミナルインスタンス。

プロパティ

ターミナルを初期化するために使用されたオブジェクト。これは、例えば、この拡張機能によって起動されなかったターミナルのシェルタイプを検出したり、シェルが起動されたフォルダを検出したりするのに役立ちます。

ターミナルの終了ステータス。ターミナルがアクティブな間は未定義になります。

例: ターミナルがゼロ以外の終了コードで終了したときに、終了コードを含む通知を表示します。

window.onDidCloseTerminal(t => {
  if (t.exitStatus && t.exitStatus.code) {
    vscode.window.showInformationMessage(`Exit code: ${t.exitStatus.code}`);
  }
});

ターミナルの名前。

シェルプロセスのプロセスID。

ターミナル用のシェル統合機能を含むオブジェクト。これはターミナルが作成された直後には常にundefinedになります。window.onDidChangeTerminalShellIntegrationをリッスンして、ターミナルでシェル統合がアクティブ化されたときに通知を受け取ります。

シェル統合がアクティブにならない場合、このオブジェクトは未定義のままになる可能性があることに注意してください。たとえば、コマンドプロンプトはシェル統合をサポートしておらず、ユーザーのシェル設定が自動シェル統合のアクティブ化と競合する可能性があります。

ターミナルの現在の状態。

メソッド

関連リソースを破棄して解放します。

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

このターミナルが現在表示されている場合、ターミナルパネルを非表示にします。

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

ターミナルにテキストを送信します。テキストは、ターミナルの基になるptyプロセス (シェル) の標準入力に書き込まれます。

パラメーター説明
text: string

送信するテキスト。

shouldExecute?: boolean

送信されるテキストが、単にターミナルに挿入されるのではなく、実行されるべきであることを示します。追加される文字はプラットフォームに応じて\nまたは\r\nです。デフォルトはtrueです。

戻り値説明
void

ターミナルパネルを表示し、UIでこのターミナルを表示します。

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

trueの場合、ターミナルはフォーカスを受け取りません。

戻り値説明
void

TerminalDimensions

ターミナルの寸法を表します。

プロパティ

ターミナルの列数。

ターミナルの行数。

TerminalEditorLocationOptions

TerminalLocationをエディタと仮定し、ViewColumnpreserveFocus プロパティを指定できます。

プロパティ

オプションのフラグで、trueの場合、ターミナルがフォーカスを受け取るのを停止します。

ターミナルをエディター領域に表示するビュー列。デフォルトはアクティブです。存在しない列は、必要に応じて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でのみ文字列を使用でき、コマンドライン形式でシェル引数を指定できます。

シェル統合シーケンスが信頼できるソースからのものであることを検証するために使用するナンス。この 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

ターミナルで実行されたコマンドライン。

プロパティ

コマンドライン値の信頼度。これは、値がどのように取得されたかによって決まります。これはシェル統合スクリプトの実装に依存します。

コマンドライン値が信頼できるソースからのものであり、したがって「(コマンド)を実行しますか?」という通知のようなユーザーの追加確認なしに安全に実行できるかどうか。この検証は、コマンドを再度実行する場合にのみ必要となる可能性があります。

これは、コマンドラインがシェル統合スクリプトによって明示的に報告された場合(つまり、高い信頼性)、かつ検証にナンスが使用された場合にのみ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を送信します。

// 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プライベートモード設定(DECSET)」を参照してください。

ターミナルで検出されたシェルタイプ。シェルが何であるか明確な信号がない場合、またはシェルがまだサポートされていない場合は、undefinedになります。この値は、サブシェルが起動されたとき(例えば、zsh内でbashを実行するとき)にサブシェルのタイプに変わるはずです。

可能な値は現在、「bash」、「cmd」、「csh」、「fish」、「gitbash」、「julia」、「ksh」、「node」、「nu」、「pwsh」、「python」、「sh」、「wsl」、「zsh」のいずれかとして定義されていることに注意してください。

TestController

テストの発見と実行のためのエントリーポイント。TestController.itemsを含み、これらはエディタUIにテストを配置するために使用され、テストを実行できるように実行プロファイルに関連付けられています。

プロパティ

tests.createTestControllerで渡されたコントローラーのID。これはグローバルに一意である必要があります。

「トップレベル」のTestItemインスタンスのコレクション。これらは独自のを持つことができ、「テストツリー」を形成します。

拡張機能は、いつテストを追加するかを制御します。たとえば、ファイル内のテストの装飾を表示するために、workspace.onDidOpenTextDocumentが発火したときに、ファイルにテストを追加する必要があります。

ただし、エディタはresolveHandlerを使用して子を明示的に要求する場合があります。詳細については、そのメソッドのドキュメントを参照してください。

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

このメソッドが存在する場合、UIに更新ボタンが表示され、クリックされるとこのメソッドが呼び出されます。呼び出された場合、拡張機能はワークスペースをスキャンして、新しいテスト、変更されたテスト、または削除されたテストを検出する必要があります。

拡張機能は、たとえばFileSystemWatcherを使用して、テストをリアルタイムで更新し、このメソッドをフォールバックとして使用することをお勧めします。

パラメーター説明
token: CancellationToken
戻り値説明
void | Thenable<void>

テストが更新されたときに解決されるthenable。

TestItem.canResolveChildrentrueの場合、エディタがテストアイテムの子を要求するために呼び出す可能性がある拡張機能が提供する関数。呼び出された場合、アイテムは子を発見し、子が見つかるとTestController.createTestItemを呼び出す必要があります。

通常、拡張機能がテスト項目のライフサイクルを管理しますが、特定の状況では、エディタが特定の項目の子を読み込むよう要求することがあります。たとえば、エディタをリロードした後にテストを再実行するようユーザーが要求した場合、エディタは以前に実行されたテストを解決するためにこのメソッドを呼び出す必要がある場合があります。

関数が返るか、返されたthenableが解決されるまで、エクスプローラ内の項目は自動的に「ビジー」とマークされます。

パラメーター説明
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内のトップレベルアイテムや、まだ他のアイテムのに含まれていないアイテムの場合は未定義になります。

uri内のテストアイテムの場所。

これは、uriがファイルを指している場合にのみ意味があります。

この項目を他の項目と比較するときに使用すべき文字列。falsyの場合、ラベルが使用されます。

このテスト項目に関連付けられたタグ。タグと組み合わせて使用したり、単に組織的な機能として使用したりできます。

この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

見つかったアイテム、または存在しない場合は未定義。

コレクションに格納されているアイテムを置き換えます。

パラメーター説明
items: readonly TestItem[]

格納するアイテム。

戻り値説明
void

TestMessage

テスト状態に関連付けられたメッセージ。特定のソース範囲にリンクできます。たとえば、アサーション失敗に役立ちます。

Static

エディターで差分として表示される新しいTestMessageを作成します。

パラメーター説明
message: string | MarkdownString

ユーザーに表示するメッセージ。

expected: string

期待される出力。

actual: string

実際の出力。

戻り値説明
TestMessage

コンストラクター

新しいTestMessageインスタンスを作成します。

パラメーター説明
message: string | MarkdownString

ユーザーに表示するメッセージ。

戻り値説明
TestMessage

プロパティ

実際のテスト出力。expectedOutput と一緒に指定すると、差分ビューが表示されます。

テスト項目のコンテキスト値。これは、メッセージ固有のアクションをテストピークビューに提供するために使用できます。ここで設定された値は、以下の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を渡す必要があります。これは「失敗」状態とは異なり、コンパイルエラーなどにより、まったく実行できなかったテストを示します。

パラメーター説明
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[]>

ファイル内の単一のテストに対して詳細なステートメントレベルおよび関数レベルのカバレッジを提供する、拡張機能が提供する関数。これは、FileCoverage.includesTestsにテスト項目が提供され、かつそのようなデータが報告されるファイルに対してのみ呼び出される、TestRunProfile.loadDetailedCoverageのテストごとの兄弟です。

通常、ユーザーがファイルを開くと最初にTestRunProfile.loadDetailedCoverageが呼び出され、その後、ユーザーが特定のテストごとのカバレッジ情報にドリルダウンした場合にこのメソッドが呼び出されます。このメソッドは、実行中に特定のテストによって実行されたステートメントと宣言に対するカバレッジデータのみを返す必要があります。

この関数に渡されるFileCoverageオブジェクトは、このプロファイルに関連付けられたTestRun.addCoverage呼び出しで発行されたインスタンスと同じです。

パラメーター説明
testRun: TestRun

カバレッジデータを生成したテスト実行。

fileCoverage: FileCoverage

詳細なカバレッジをロードする対象のファイルカバレッジオブジェクト。

fromTestItem: TestItem

カバレッジ情報を要求するテスト項目。

token: CancellationToken

操作をキャンセルする必要があることを示すキャンセルトークン。

戻り値説明
Thenable<FileCoverageDetail[]>

テスト実行を開始するために呼び出されるハンドラ。呼び出されると、関数は少なくとも1回TestController.createTestRunを呼び出す必要があり、要求に関連付けられたすべてのテスト実行は、関数が返るか、返されたPromiseが解決される前に作成される必要があります。

supportsContinuousRunが設定されている場合、TestRunRequest.continuoustrueになる可能性があります。この場合、プロファイルはソースコードの変更を監視し、tokenに対するキャンセルが要求されるまで、TestController.createTestRunを呼び出すことで新しいテスト実行を作成する必要があります。

パラメーター説明
request: TestRunRequest

テスト実行のリクエスト情報。

token: CancellationToken
戻り値説明
void | Thenable<void>

このプロファイルが継続的なリクエスト実行をサポートするかどうか。サポートする場合、TestRunRequest.continuoustrueに設定されることがあります。デフォルトはfalseです。

プロファイルに関連付けられたタグ。これが設定されている場合、同じタグを持つTestItemインスタンスのみがこのプロファイルで実行可能になります。

メソッド

実行プロファイルを削除します。

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

TestRunProfileKind

TestRunProfilesが制御する実行の種類。

列挙型メンバー

Runテストプロファイルの種類。

Debugテストプロファイルの種類。

Coverageテストプロファイルの種類。

TestRunRequest

TestRunRequestはTestRunの前駆体であり、これはTestController.createTestRunにリクエストを渡すことで作成されます。TestRunRequestには、実行すべきテスト、実行すべきでないテスト、およびそれらがどのように実行されるか(プロファイルを介して)に関する情報が含まれています。

一般的に、TestRunRequestはエディタによって作成され、TestRunProfile.runHandlerに渡されますが、runHandlerの外部でテストリクエストと実行を作成することもできます。

コンストラクター

パラメーター説明
include?: readonly TestItem[]

実行する特定のテストの配列。すべてのテストを実行する場合は未定義。

exclude?: readonly TestItem[]

実行から除外するテストの配列。

profile?: TestRunProfile

このリクエストに使用される実行プロファイル。

continuous?: boolean

ソース変更時に継続的にテストを実行するかどうか。

preserveFocus?: boolean

実行開始時にユーザーのフォーカスを維持するかどうか

戻り値説明
TestRunRequest

プロパティ

ソースコードが変更されたときにプロファイルを継続的に実行するかどうか。これは、TestRunProfile.supportsContinuousRun を設定するプロファイルにのみ関連します。

ユーザーがこの実行に含まれるテストから除外としてマークしたテストの配列。除外は包含の後に適用されるべきです。

除外が要求されなかった場合は省略できます。テストコントローラーは、除外されたテスト、または除外されたテストの子をどれも実行すべきではありません。

実行する特定のテストのフィルター。指定された場合、拡張機能は、TestRunRequest.exclude に表示されるテストを除いて、含まれるすべてのテストとそのすべての子を実行する必要があります。このプロパティが未定義の場合、拡張機能は単にすべてのテストを実行する必要があります。

テストを実行するプロセスは、まだ解決されていないテストアイテムの子を解決する必要があります。

テスト結果ビューのフォーカス方法を制御します。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

このドキュメントがまだ保存されていない無題のファイルを表しているかどうか。*注意*、これはドキュメントがディスクに保存されることを意味しません。Uri.scheme を使用して、ドキュメントがどこに 保存 されるか (例: fileftp など) を確認してください。

このドキュメントに関連付けられた言語の識別子。

このドキュメントの行数。

このドキュメントに関連付けられた URI。

*注意* ほとんどのドキュメントは file スキームを使用しており、これはそれらがディスク上のファイルであることを意味します。ただし、すべてのドキュメントがディスクに保存されているわけではないため、基になるファイルやディスク上の兄弟にアクセスしようとする前に scheme を確認する必要があります。

関連項目

このドキュメントのバージョン番号 (元に戻す/やり直すを含む各変更後に厳密に増加します)。

メソッド

このドキュメントのテキストを取得します。範囲を指定することで、部分文字列を取得できます。範囲は調整されます。

パラメーター説明
range?: Range

範囲に含まれるテキストのみ。

戻り値説明
string

指定された範囲内のテキスト、またはテキスト全体。

指定された位置にある単語範囲を取得します。デフォルトでは、単語はスペース、ハイフン、アンダースコアなどの一般的な区切り文字によって定義されます。さらに、言語ごとにカスタムの[単語定義]を定義できます。カスタム正規表現を提供することも可能です。

  • 注1: カスタム正規表現は空文字列にマッチしてはならず、マッチした場合は無視されます。
  • 注2: カスタム正規表現は複数行の文字列にマッチせず、速度の観点から正規表現はスペースを含む単語にマッチすべきではありません。より複雑な、単語ではないシナリオには TextLine.text を使用してください。

位置は調整されます。

パラメーター説明
position: Position

位置。

regex?: RegExp

単語とは何かを記述するオプションの正規表現。

戻り値説明
Range

単語を範囲指定する範囲、または undefined

行番号で示されるテキスト行を返します。返されたオブジェクトはリアルタイムでは*ない*ため、ドキュメントへの変更は反映されません。

パラメーター説明
line: number

[0, lineCount) 内の行番号。

戻り値説明
TextLine

位置で示されるテキスト行を返します。返されたオブジェクトはリアルタイムでは*ない*ため、ドキュメントへの変更は反映されません。

位置は調整されます。

*関連項目* TextDocument.lineAt

パラメーター説明
position: Position

位置。

戻り値説明
TextLine

位置をゼロベースのオフセットに変換します。

位置は調整されます。

パラメーター説明
position: Position

位置。

戻り値説明
number

UTF-16 コードユニットにおける有効なゼロベースのオフセット。

ゼロベースのオフセットを位置に変換します。

パラメーター説明
offset: number

ドキュメント内のゼロベースのオフセット。このオフセットはUTF-16 コードユニット単位です。

戻り値説明
Position

有効な Position

基になるファイルを保存します。

パラメーター説明
戻り値説明
Thenable<boolean>

ファイルが保存されたときに true に解決されるプロミス。保存に失敗した場合は false を返します。

位置がこのドキュメントの範囲内に含まれていることを確認します。

パラメーター説明
position: Position

位置。

戻り値説明
Position

与えられた位置、または新しく調整された位置。

範囲がこのドキュメントに完全に含まれていることを確認します。

パラメーター説明
range: Range

範囲。

戻り値説明
Range

与えられた範囲、または新しく調整された範囲。

TextDocumentChangeEvent

トランザクション的な ドキュメント の変更を記述するイベント。

プロパティ

コンテンツ変更の配列。

影響を受けるドキュメント。

ドキュメントが変更された理由。理由が不明な場合は undefined

TextDocumentChangeReason

テキストドキュメントが変更された理由。

列挙型メンバー

テキストの変更は、元に戻す操作によって発生します。

テキストの変更は、やり直し操作によって発生します。

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

ドキュメントに適用されるべき編集を表すテキスト編集。

Static

削除編集を作成するユーティリティ。

パラメーター説明
range: Range

範囲。

戻り値説明
TextEdit

新しいテキスト編集オブジェクト。

挿入編集を作成するユーティリティ。

パラメーター説明
position: Position

位置。空の範囲になります。

newText: string

文字列。

戻り値説明
TextEdit

新しいテキスト編集オブジェクト。

置換編集を作成するユーティリティ。

パラメーター説明
range: Range

範囲。

newText: string

文字列。

戻り値説明
TextEdit

新しいテキスト編集オブジェクト。

EOL編集を作成するユーティリティ。

パラメーター説明
eol: EndOfLine

EOLシーケンス

戻り値説明
TextEdit

新しいテキスト編集オブジェクト。

コンストラクター

新しい TextEdit を作成します。

パラメーター説明
range: Range

範囲。

newText: string

文字列。

戻り値説明
TextEdit

プロパティ

ドキュメントで使用される行末シーケンス。

*注意*、行末シーケンスはドキュメント全体に適用されます。

この編集が挿入する文字列。

この編集が適用される範囲。

TextEditor

ドキュメントにアタッチされたエディターを表します。

プロパティ

このテキストエディターに関連付けられたドキュメント。ドキュメントは、このテキストエディターの存続期間全体で同じになります。

テキストエディターのオプション。

このテキストエディター上のプライマリ選択。TextEditor.selections[0] の省略形。

このテキストエディターの選択範囲。プライマリ選択は常にインデックス0にあります。

このエディターが表示される列。メインエディターの1つではない場合 (例: 埋め込みエディター) またはエディターの列が3を超える場合は undefined になります。

エディターの現在の表示範囲 (垂直方向)。これは垂直スクロールのみを考慮し、水平スクロールは考慮しません。

メソッド

このテキストエディターに関連付けられたドキュメントに対して編集を実行します。

指定されたコールバック関数は、編集を行うために使用する必要がある エディットビルダー で呼び出されます。エディットビルダーは、コールバックが実行されている間のみ有効であることに注意してください。

パラメーター説明
callback: (editBuilder: TextEditorEdit) => void

エディットビルダーを使用して編集を作成できる関数。

options?: {undoStopAfter: boolean, undoStopBefore: boolean}

この編集に関する元に戻す/やり直す動作。デフォルトでは、この編集の前後に元に戻す停止が作成されます。

戻り値説明
Thenable<boolean>

編集が適用できたかどうかを示す値に解決されるプロミス。

テキストエディターを非表示にします。

  • 非推奨 - 代わりにコマンド workbench.action.closeActiveEditor を使用してください。このメソッドは予期しない動作を示し、次回のメジャーアップデートで削除されます。
パラメーター説明
戻り値説明
void

スニペットを挿入し、エディターをスニペットモードにします。「スニペットモード」とは、エディターがプレースホルダーと追加のカーソルを追加し、ユーザーがスニペットを完了または受け入れることができるようにすることを意味します。

パラメーター説明
snippet: SnippetString

この編集で挿入するスニペット。

location?: Range | Position | readonly Range[] | readonly Position[]

スニペットを挿入する位置または範囲。デフォルトは現在のエディターの選択範囲または複数の選択範囲です。

options?: {keepWhitespace: boolean, undoStopAfter: boolean, undoStopBefore: boolean}

この編集に関する元に戻す/やり直す動作。デフォルトでは、この編集の前後に元に戻す停止が作成されます。

戻り値説明
Thenable<boolean>

スニペットを挿入できたかどうかを示す値に解決されるプロミス。プロミスは、スニペットが完全に埋め込まれたり受け入れられたりしたことを示すものではないことに注意してください。

指定された範囲を表示するために、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 で単一のトランザクションとして適用される複雑な編集。これには編集の説明が保持されており、編集が有効な場合(つまり、重複する領域がなく、ドキュメントがその間に変更されていないなど)、テキストエディターに関連付けられたドキュメントに適用できます。

メソッド

特定のテキスト領域を削除します。

パラメーター説明
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 の省略形。

ゼロベースの行番号。

行区切り文字を含まないこの行がカバーする範囲。

行区切り文字を含むこの行がカバーする範囲。

行区切り文字を含まないこの行のテキスト。

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

色の。利用可能な色は https://vscode.dokyumento.jp/api/references/theme-color に記載されています。

戻り値説明
ThemeColor

プロパティ

この色のID。

ThemeIcon

名前付きアイコンへの参照。現在、ファイルフォルダー、およびThemeIcon id がサポートされています。カスタムアイコンよりもテーマアイコンを使用することが推奨されます。これにより、製品テーマ作者がアイコンを変更する可能性が与えられるためです。

*注意* テーマアイコンはラベルや説明の中にもレンダリングできます。テーマアイコンをサポートする場所はこれを明記し、$(<name>) の構文を使用します。例えば、quickPick.label = "Hello World $(globe)"

Static

ファイルを表すアイコンへの参照。アイコンは現在のファイルアイコンテーマから取得されるか、プレースホルダーアイコンが使用されます。

フォルダーを表すアイコンへの参照。アイコンは現在のファイルアイコンテーマから取得されるか、プレースホルダーアイコンが使用されます。

コンストラクター

テーマアイコンへの参照を作成します。

パラメーター説明
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プロパティが未定義の場合に解決するために呼び出されます。ツリーアイテムのクリック/オープン時にTreeItemプロパティが未定義の場合に解決するために呼び出されます。resolveTreeItemで解決できるのは未定義のプロパティのみです。機能は後で拡張され、選択時および/またはオープン時に他の不足しているプロパティを解決するために呼び出される可能性があります。

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.)は自動的に追加されます。

このDragAndDropControllerhandleDropメソッドがサポートするMIMEタイプ。これは、よく定義された既存のMIMEタイプ、および拡張機能によって定義されたMIMEタイプである可能性があります。

ツリーからのドロップをサポートするには、そのツリーのMIMEタイプを追加する必要があります。これには、同じツリー内からのドロップも含まれます。ツリーのMIMEタイプは、application/vnd.code.tree.の形式であることが推奨されます。

ファイルの実際のMIMEタイプに関係なく、あらゆる種類のドロップされたファイルをサポートするには、特別なfilesMIMEタイプを使用します。

ドラッグされたアイテムのMIMEタイプを知るには

  1. DragAndDropControllerをセットアップします
  2. 開発者: ログレベルを設定...コマンドを使用してレベルを「デバッグ」に設定します
  3. 開発者ツールを開き、不明なMIMEタイプのアイテムをツリーの上にドラッグします。MIMEタイプは開発者コンソールに記録されます。

拡張機能に送信できないMIMEタイプは省略されることに注意してください。

メソッド

ユーザーがこのDragAndDropControllerからアイテムのドラッグを開始すると、handleDragが呼び出されます。拡張機能はhandleDragを使用して、DataTransferItemアイテムをドラッグアンドドロップに追加できます。

handleDragで追加されたMIMEタイプは、アプリケーションの外部では利用できません。

同じツリー内の別のツリーアイテムにアイテムがドロップされると、DataTransferItemオブジェクトは保持されます。データ転送にツリーオブジェクトを追加するには、ツリーの推奨MIMEタイプ(application/vnd.code.tree.)を使用します。これを最大限に活用する方法については、DataTransferItemのドキュメントを参照してください。

エディタにドラッグできるデータ転送アイテムを追加するには、アプリケーション固有のMIMEタイプ「text/uri-list」を使用します。「text/uri-list」のデータは、toString()されたUriを\r\nで区切った文字列である必要があります。ファイル内のカーソル位置を指定するには、UriのフラグメントをL3,5に設定します。ここで、3は行番号、5は列番号です。

パラメーター説明
source: readonly T[]

ドラッグアンドドロップ操作のソースアイテム。

dataTransfer: DataTransfer

このドラッグに関連付けられたデータ転送。

token: CancellationToken

ドラッグがキャンセルされたことを示すキャンセル・トークン。

戻り値説明
void | Thenable<void>

ドラッグ&ドロップアクションの結果、このDragAndDropControllerが属するツリーにドロップされたときに呼び出されます。

拡張機能は、更新が必要な要素に対してonDidChangeTreeDataを発生させる必要があります。

パラメーター説明
target: T

ドロップが発生しているターゲットツリー要素。未定義の場合、ターゲットはルートです。

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はaccessibilityInformationの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の場合、表示されません。

ツリーアイテムのアイコンパスまたはThemeIconfalsyの場合、アイテムが折りたたみ可能であればFolder Theme Iconが割り当てられ、そうでなければFile Theme Iconが割り当てられます。ファイルまたはフォルダーのThemeIconが指定されている場合、アイコンは指定されたテーマアイコンの現在のファイルアイコンテーマからresourceUri(提供されている場合)を使用して派生します。

ツリー全体で一意である必要があるツリー項目にオプションのIDです。IDはツリー項目の選択状態と展開状態を保持するために使用されます。

提供されない場合、IDはツリーアイテムのラベルを使用して生成されます。**注意**:ラベルが変更されるとIDも変更され、選択状態と展開状態は安定して維持できなくなります。

この項目を記述する人間が読める文字列。falsyの場合、resourceUriから派生します。

このアイテムを表すリソースのUri

提供されない場合、labelを導出するために使用されます。iconPathThemeIcon値を持つ場合、現在のファイルアイコンテーマからアイコンを導出するために使用されます。

このアイテムにマウスオーバーしたときに表示されるツールチップのテキスト。

TreeItemCheckboxState

ツリーアイテムのチェックボックス状態

列挙型メンバー

アイテムがチェックされていないことを示します

アイテムがチェック済みであることを示します

TreeItemCollapsibleState

ツリーアイテムの折りたたみ状態

列挙型メンバー

項目が折りたたんだり展開したりできないことを決定します。子がないことを意味します。

アイテムが折りたたまれていることを示します

アイテムが展開されていることを示します

TreeItemLabel

Tree itemを記述するラベル

プロパティ

ラベル内で強調表示する範囲。範囲は、最初の数値が開始インデックス(含む)、2番目の数値が終了インデックス(排他的)である2つの数値のタプルとして定義されます。

ツリーアイテムを記述する人間が読める文字列。

TreeView<T>

ツリービューを表します

イベント

要素またはルートがチェックまたはチェック解除されたことを通知するイベント。

選択が変更されたときに発生するイベント

可視性が変更されたときに発生するイベント

要素が折りたたまれたときに発生するイベント

要素が展開されたときに発生するイベント

プロパティ

このTreeViewに表示するバッジ。バッジを削除するには、undefinedに設定します。

ビューのタイトルでより目立たないようにレンダリングされる、人間が読める任意の記述。タイトルの記述をnull、undefined、または空の文字列に設定すると、ビューから記述が削除されます。

ビューに表示される、人間が読める任意のメッセージ。メッセージを null、undefined、または空の文字列に設定すると、ビューからメッセージが削除されます。

現在選択されている要素。

ツリービューのタイトルは、最初は拡張機能の package.json から取得されます。title プロパティの変更は、ビューのタイトルにある UI に適切に反映されます。

ツリービューが可視の場合はtrue、それ以外の場合はfalse

メソッド

このオブジェクトを破棄します。

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

ツリービューで指定された要素を表示します。ツリービューが非表示の場合は、ツリービューが表示され、要素が表示されます。

デフォルトでは、表示された要素は選択されます。選択しないようにするには、オプションselectfalseに設定します。フォーカスするには、オプションfocustrueに設定します。表示された要素を展開するには、オプションexpandtrueに設定します。再帰的に展開するには、expandを展開するレベルの数に設定します。

パラメーター説明
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

ディスク上のファイルまたは無題のリソースなどの別のリソースを表すユニバーサルリソース識別子。

Static

ファイルシステムパスからURIを作成します。スキームfileになります。

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 はパスコンポーネントのみに影響し、その他のすべてのコンポーネント (スキーム、権限、クエリ、フラグメント) はそのまま残されます。
  • 注意2: ベースURIはパスを持つ必要があります。そうでない場合、エラーがスローされます。

パスセグメントは以下の方法で正規化されます。

  • パス区切り文字(/または\)の連続は単一の区切り文字に置き換えられます。
  • Windows上のfile-urisの場合、バックスラッシュ文字(``)はパスセパレータとみなされます。
  • ..セグメントは親セグメントを、.は現在のセグメントを示します。
  • パスには常にルートがあり、例えば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/pathfile:///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

プロパティ

権限は、http://www.example.com/some/path?query#fragmentwww.example.comの部分です。最初の二重スラッシュと次のスラッシュの間の部分です。

フラグメントは、http://www.example.com/some/path?query#fragmentfragment部分です。

この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';

パスは、http://www.example.com/some/path?query#fragment/some/path部分です。

クエリは、http://www.example.com/some/path?query#fragmentquery部分です。

スキームは、http://www.example.com/some/path?query#fragmenthttp部分です。最初のコロンより前の部分です。

メソッド

このUriのJSON表現を返します。

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

オブジェクト。

このUriの文字列表現を返します。URIの表現と正規化はスキームによって異なります。

  • 結果の文字列は、Uri.parseで安全に使用できます。
  • 結果の文字列は表示目的で使用すべきではありません。

注意:実装は積極的にエンコードするため、予期しないが誤りではない結果を招くことがよくあります。例えば、コロンは%3Aにエンコードされ、ファイル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。変更が何も変わらない場合はthis Uriを返します。

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コンテンツは、文字列またはJSONシリアル化可能なオブジェクトを拡張機能に投稿できます。メッセージを受信する拡張機能はブラウザ環境で実行されないため、BlobFileImageDataなどのDOM固有のオブジェクトを投稿することはできません。

プロパティ

ウェブビューリソースのコンテンツセキュリティポリシーソース。

これはコンテンツセキュリティポリシーのルールで使用すべきオリジンです。

`img-src https: ${webview.cspSource} ...;`;

ウェブビューのHTMLコンテンツ。

これは完全で有効なHTMLドキュメントである必要があります。このプロパティを変更すると、ウェブビューが再読み込みされます。

Webviewsは通常の拡張機能プロセスからサンドボックス化されているため、Webviewとのすべての通信はメッセージパッシングを使用する必要があります。拡張機能からWebviewにメッセージを送信するには、postMessageを使用します。Webviewから拡張機能にメッセージを送信するには、Webview内でacquireVsCodeApi関数を使用してエディターのAPIへのハンドルを取得し、.postMessage()を呼び出します。

<script>
    const vscode = acquireVsCodeApi(); // acquireVsCodeApi can only be invoked once
    vscode.postMessage({ message: 'hello!' });
</script>

ワークスペースからリソースをウェブビュー内に読み込むには、asWebviewUriメソッドを使用し、リソースのディレクトリがWebviewOptions.localResourceRootsにリストされていることを確認してください。

ウェブビューはサンドボックス化されていますが、スクリプトの実行や任意のコンテンツの読み込みは可能です。したがって、拡張機能はウェブビューと連携する際に、すべての標準的なウェブセキュリティのベストプラクティスに従う必要があります。これには、すべての信頼できない入力(ワークスペースからのコンテンツを含む)を適切にサニタイズし、コンテンツセキュリティポリシーを設定することが含まれます。

ウェブビューのコンテンツ設定。

メソッド

ローカルファイルシステムのURIをウェブビュー内で使用できる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

ウェブビューコンテンツにメッセージを投稿します。

メッセージは、ウェブビューがライブ状態(表示されているか、retainContextWhenHiddenが設定されてバックグラウンドにあるか)の場合にのみ配信されます。

パラメーター説明
message: any

メッセージの本文。これは文字列またはその他のJSONシリアル化可能なオブジェクトである必要があります。

古いバージョンのVS Codeでは、messageArrayBufferが含まれている場合、正しくシリアル化されず、ウェブビューに受信されません。同様に、Uint8Arrayなどの型付き配列も非常に非効率的にシリアル化され、ウェブビュー内で型付き配列として再作成されません。

ただし、拡張機能のpackage.jsonenginesフィールドでvscode 1.57+をターゲットにしている場合、messageに含まれるArrayBuffer値はより効率的にウェブビューに転送され、ウェブビュー内でも正しく再作成されます。

戻り値説明
Thenable<boolean>

メッセージがウェブビューに投稿されたとき、またはメッセージが配信不能なために破棄されたときに解決されるプロミス。

メッセージがウェブビューに投稿された場合はtrueを返します。メッセージはライブ状態のウェブビュー(つまり、表示されているウェブビューまたはretainContextWhenHiddenが設定されている非表示のウェブビュー)にのみ投稿できます。

trueという応答は、メッセージが実際にウェブビューに受信されたことを意味するものではありません。例えば、ウェブビュー内でメッセージリスナーが設定されていなかったり、メッセージが投稿されてから受信されるまでの間にウェブビューが破棄されていたりする可能性があります。

メッセージが実際に受信されたことを確認したい場合は、ウェブビューから拡張機能に確認メッセージを投稿するように試みることができます。

WebviewOptions

ウェブビューのコンテンツ設定。

プロパティ

ウェブビューコンテンツでコマンドURIを有効にするかどうかを制御します。

デフォルトはfalse(コマンドURIは無効)です。

配列を渡すと、配列内のコマンドのみが許可されます。

ウェブビューコンテンツでフォームを有効にするかどうかを制御します。

スクリプトが有効になっている場合、デフォルトはtrueです。それ以外の場合、デフォルトはfalseです。このプロパティを明示的にtrueまたはfalseに設定すると、デフォルトがオーバーライドされます。

ウェブビューコンテンツでスクリプトを有効にするかどうかを制御します。

デフォルトはfalse(スクリプト無効)です。

ウェブビューがasWebviewUriからのURIを使用してローカル(ファイルシステム)リソースを読み込むことができるルートパス

現在のワークスペースのルートフォルダーと拡張機能のインストールディレクトリがデフォルトです。

ローカルリソースへのアクセスを一切許可しない場合は、空の配列を渡します。

ウェブビュー内で使用されるlocalhostポートのマッピング。

ポートマッピングを使用すると、ウェブビューがlocalhostポートをどのように解決するかを透過的に定義できます。これは、ウェブビュー内で静的なlocalhostポートを使用し、サービスが実行されているランダムなポートに解決されるようにするために使用できます。

ウェブビューがlocalhostコンテンツにアクセスする場合、webviewPortextensionHostPortポートが同じであっても、ポートマッピングを指定することをお勧めします。

:ポートマッピングはhttpまたはhttpsのURLでのみ機能します。WebSocket URL(例:ws://:3000)は別のポートにマップできません。

WebviewPanel

ウェブビューを含むパネル。

イベント

パネルのビュー状態が変更されたときに発生します。

パネルが破棄されたときに発生します。

これは、ユーザーがパネルを閉じたか、.dispose()が呼び出されたためかもしれません。

破棄されたパネルを使用しようとすると、例外がスローされます。

プロパティ

パネルがアクティブ(ユーザーによってフォーカスされている)かどうか。

UIに表示されるパネルのアイコン。

ウェブビューパネルのコンテンツ設定。

UIに表示されるパネルのタイトル。

パネルのエディター位置。このプロパティは、ウェブビューがいずれかのエディタービュー列にある場合にのみ設定されます。

'markdown.preview'など、ウェブビューパネルの種類を識別します。

パネルが表示されているかどうか。

パネルに属するWebview

メソッド

Webviewパネルを破棄します。

これにより、表示されている場合はパネルが閉じられ、Webviewが所有するリソースが破棄されます。Webviewパネルは、ユーザーがWebviewパネルを閉じるときにも破棄されます。どちらの場合も、onDisposeイベントが発生します。

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

指定された列にWebviewパネルを表示します。

Webviewパネルは一度に1つの列にのみ表示できます。すでに表示されている場合、このメソッドは新しい列に移動します。

パラメーター説明
viewColumn?: ViewColumn

パネルを表示するビュー列。未定義の場合は現在のviewColumnに表示されます。

preserveFocus?: boolean

trueの場合、Webviewはフォーカスを取得しません。

戻り値説明
void

WebviewPanelOnDidChangeViewStateEvent

Webviewパネルのビュー状態が変更されたときに発生するイベント。

プロパティ

ビュー状態が変更されたWebviewパネル。

WebviewPanelOptions

Webviewパネルのコンテンツ設定。

プロパティ

パネルで検索ウィジェットが有効になっているかどうかを制御します。

デフォルトはfalseです。

パネルが非表示になっても、Webviewパネルのコンテンツ(iframe)を保持するかどうかを制御します。

通常、WebviewパネルのHTMLコンテキストは、パネルが表示されたときに作成され、非表示になったときに破棄されます。複雑な状態またはUIを持つ拡張機能は、retainContextWhenHiddenを設定して、Webviewがバックグラウンドタブに移動した場合でも、エディターがWebviewコンテキストを保持するようにできます。retainContextWhenHiddenを使用しているWebviewが非表示になると、そのスクリプトやその他の動的コンテンツは一時停止されます。パネルが再び表示されると、コンテキストは自動的に元の状態に正確に復元されます。retainContextWhenHiddenが有効になっていても、非表示のWebviewにメッセージを送信することはできません。

retainContextWhenHiddenはメモリオーバーヘッドが高いため、パネルのコンテキストをすばやく保存および復元できない場合にのみ使用してください。

WebviewPanelSerializer<T>

vscodeがシャットダウンしたときに永続化されたWebviewパネルを復元します。

Webviewの永続化には2種類あります。

  • セッション内の永続化。
  • セッション間(エディターの再起動後)の永続化。

WebviewPanelSerializerは、後者の場合、つまりセッション間で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ビューに表示するバッジ。バッジを削除するには、未定義に設定します。

タイトルに目立たなくレンダリングされる、人間が読める文字列。

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の基になるドキュメントは解放されます。ビューが再び表示されると、再作成されます。

この動作は、WebviewOptionsretainContextWhenHiddenを設定することで防ぐことができます。ただし、これによりリソース使用量が増加するため、可能な限り避けるべきです。代わりに、永続化された状態を使用して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. defaultValue (package.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.fontSizeeditor)。そうでない場合、結果は返されません。

パラメーター説明
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

要求された言語IDのスコープ内で値を更新するかどうか。 - trueの場合、要求された言語IDの下の値を更新します。 - undefinedの場合、設定が言語に対して定義されている場合にのみ、要求された言語IDの下の値を更新します。

戻り値説明
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}

既存のファイルを上書きするか、無視するかを定義します。上書きとignoreIfExistsの両方が設定されている場合、上書きが優先されます。

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

ワークスペース編集のエントリの追加データ。エントリにラベルを付け、ユーザーによる確認が必要なエントリとしてマークすることをサポートします。エディターは、同じラベルを持つ編集をツリーノードにグループ化します。たとえば、「文字列の変更」というラベルが付けられたすべての編集はツリーノードになります。

プロパティ

同じ行に目立たなくレンダリングされる人間が読める文字列。

編集用のアイコンパスまたはThemeIcon

目立つようにレンダリングされる人間が読める文字列。

ユーザー確認が必要であることを示すフラグ。

WorkspaceEditMetadata

ワークスペース編集に関する追加データ。

プロパティ

この編集がリファクタリングであることをエディターに通知します。

WorkspaceFolder

ワークスペースフォルダーは、エディターによって開かれる可能性のある多数のルートの1つです。すべてのワークスペースフォルダーは等しく、アクティブまたはプライマリなワークスペースフォルダーという概念はありません。

プロパティ

このワークスペースフォルダーの序数。

このワークスペースフォルダーの名前。uri-pathの基本名にデフォルト設定されます。

このワークスペースフォルダーに関連付けられたURI。

注: Uri型は、将来のエディターリリースでローカルディスクに保存されていないワークスペースフォルダー(例: ftp://server/workspaces/foo)をサポートできるように意図的に選択されました。

WorkspaceFolderPickOptions

ワークスペースフォルダー選択UIの動作を設定するためのオプション。

プロパティ

エディタの別の部分または別のウィンドウにフォーカスが移動したときに、ピッカーを開いたままにするにはtrueに設定します。この設定はiPadでは無視され、常にfalseです。

ユーザーに何を選択するかをガイドするために、入力ボックスにプレースホルダーとして表示されるオプションの文字列。

WorkspaceFoldersChangeEvent

ワークスペースフォルダーのセットの変更を記述するイベント。

プロパティ

追加されたワークスペースフォルダー。

削除されたワークスペースフォルダー。

WorkspaceSymbolProvider<T>

ワークスペースシンボルプロバイダーインターフェースは、拡張機能とシンボル検索機能との間の契約を定義します。

メソッド

指定されたクエリ文字列に一致するシンボルをプロジェクト全体で検索します。

queryパラメーターは緩やかな方法で解釈されるべきです。なぜならエディターは結果に独自の強調表示とスコアリングを適用するからです。良い経験則は、大文字と小文字を区別せずに照合し、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で使用される一般的なパターンの一部です。

Promises

VS Code APIは、非同期操作をプロミスで表します。拡張機能からは、ES6、WinJS、A+など、任意の種類のプロミスを返すことができます。

特定のプロミスライブラリに依存しないことは、APIではThenable型で表現されます。Thenableは、thenメソッドという共通の分母を表します。

ほとんどの場合、プロミスの使用はオプションであり、VS Codeが拡張機能を呼び出す場合、結果型だけでなく、結果型Thenableも処理できます。プロミスの使用がオプションである場合、APIはこれをor型を返すことで示します。

provideNumber(): number | Thenable<number>

キャンセル トークン

多くの場合、操作は一時的な状態で開始され、操作が完了する前に状態が変更されます。たとえば、IntelliSenseの計算が開始され、ユーザーがタイプし続けると、その操作の結果は陳腐化します。

そのような動作にさらされるAPIには、CancellationTokenが渡されます。これを使用してキャンセル(isCancellationRequested)を確認したり、キャンセルが発生したときに通知(onCancellationRequested)を受け取ったりできます。キャンセル トークンは通常、関数呼び出しの最後のパラメーターであり、オプションです。

破棄可能オブジェクト

VS Code APIは、VS Codeから取得したリソースに対して破棄パターンを使用します。これは、イベントリスニング、コマンド、UIとの対話、およびさまざまな言語貢献に適用されます。

たとえば、setStatusBarMessage(value: string)関数はDisposableを返し、disposeを呼び出すとメッセージが再度削除されます。

イベント

VS Code APIのイベントは、リスナー関数を渡して購読する関数として公開されています。購読の呼び出しは、破棄時にイベントリスナーを削除するDisposableを返します。

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)、何が発生したか(動詞)、およびコンテキストから明らかでない限りコンテキスト(名詞)を示します。

VS Code APIの例として、アクティブなテキストエディター(名詞)が変更された(onDid)イベントであるwindow.onDidChangeActiveTextEditorがあります。

厳密なnull

VS Code APIは、厳密なnullチェックをサポートするために、必要に応じてundefinedおよびnull TypeScript型を使用します。

© . This site is unofficial and not affiliated with Microsoft.