VS Code API
VS Code API は、Visual Studio Code 拡張機能で呼び出すことができる JavaScript API のセットです。このページでは、拡張機能の作成者が利用できるすべての VS Code API を一覧表示します。
API 名前空間とクラス
このリストは、VS Code リポジトリの vscode.d.ts ファイルからコンパイルされています。
authentication
イベント
onDidChangeSessions: Event<AuthenticationSessionsChangeEvent>
認証プロバイダーの認証セッションが追加、削除、または変更されたときに発生するイベント。
関数
getAccounts(providerId: string): Thenable<readonly AuthenticationSessionAccountInformation[]>
指定されたプロバイダーでユーザーがログインしているすべてのアカウントを取得します。特定のアカウントの認証セッションを取得するには、これをgetSessionと組み合わせて使用します。
現在、GitHub と Microsoft の認証を実装するために、組み込み拡張機能からエディターに提供される認証プロバイダーは 2 つだけです。それらのプロバイダー ID は「github」と「microsoft」です。
注: アカウントの取得は、拡張機能がそのアカウントまたはその認証セッションにアクセスできることを意味しません。getSession を呼び出すことで、アカウントへのアクセスを確認できます。
| パラメーター | 説明 |
|---|---|
| providerId: string | 使用するプロバイダーの ID |
| 戻り値 | 説明 |
| Thenable<readonly AuthenticationSessionAccountInformation[]> | 認証アカウントの読み取り専用配列に解決される Thenable。 |
getSession(providerId: string, scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest, options: AuthenticationGetSessionOptions & {createIfNone: true | AuthenticationGetSessionPresentationOptions}): Thenable<AuthenticationSession>
目的のスコープに一致するか、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 |
getSession(providerId: string, scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest, options: AuthenticationGetSessionOptions & {forceNewSession: true | AuthenticationGetSessionPresentationOptions}): Thenable<AuthenticationSession>
目的のスコープまたは要求に一致する認証セッションを取得します。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 |
getSession(providerId: string, scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest, options?: AuthenticationGetSessionOptions): Thenable<AuthenticationSession | undefined>
目的のスコープまたは要求に一致する認証セッションを取得します。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。 |
registerAuthenticationProvider(id: string, label: string, provider: AuthenticationProvider, options?: AuthenticationProviderOptions): Disposable
認証プロバイダーを登録します。
ID ごとにプロバイダーは 1 つしか登録できません。ID がすでに別のプロバイダーで使用されている場合、エラーがスローされます。ID は大文字と小文字を区別します。
| パラメーター | 説明 |
|---|---|
| id: string | プロバイダーの一意識別子。 |
| label: string | プロバイダーの人間が読める名前。 |
| provider: AuthenticationProvider | 認証プロバイダー。 |
| options?: AuthenticationProviderOptions | プロバイダーの追加オプション。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
チャット
チャット機能の名前空間。ユーザーはチャットビューでメッセージを送信することでチャット参加者と対話します。チャット参加者は ChatResponseStream を介してマークダウンまたはその他の種類のコンテンツで応答できます。
関数
createChatParticipant(id: string, handler: ChatRequestHandler): ChatParticipant
新しい チャット参加者 インスタンスを作成します。
| パラメーター | 説明 |
|---|---|
| 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"
}
]
}
}
関数
executeCommand<T>(command: string, ...rest: any[]): Thenable<T>
指定されたコマンド識別子で示されるコマンドを実行します。
| パラメーター | 説明 |
|---|---|
| command: string | 実行するコマンドの識別子。 |
| ...rest: any[] | コマンド関数に渡されるパラメーター。 |
| 戻り値 | 説明 |
| Thenable<T> | 指定されたコマンドの戻り値に解決される Thenable。コマンドハンドラー関数が何も返さない場合は `undefined` を返します。 |
getCommands(filterInternal?: boolean): Thenable<string[]>
利用可能なすべてのコマンドのリストを取得します。アンダースコアで始まるコマンドは内部コマンドとして扱われます。
| パラメーター | 説明 |
|---|---|
| filterInternal?: boolean | 内部コマンド (アンダースコアで始まる) を表示しない場合は `true` に設定します。 |
| 戻り値 | 説明 |
| Thenable<string[]> | コマンド ID のリストに解決される Thenable。 |
registerCommand(command: string, callback: (args: any[]) => any, thisArg?: any): Disposable
キーボードショートカット、メニュー項目、アクション、または直接呼び出すことができるコマンドを登録します。
既存のコマンド識別子を持つコマンドを2回登録するとエラーが発生します。
| パラメーター | 説明 |
|---|---|
| command: string | コマンドの一意識別子。 |
| callback: (args: any[]) => any | コマンドハンドラー関数。 |
| thisArg?: any | ハンドラ関数を呼び出すときに使用される `this` コンテキスト。 |
| 戻り値 | 説明 |
| Disposable | このコマンドを破棄時に登録解除する Disposable。 |
registerTextEditorCommand(command: string, callback: (textEditor: TextEditor, edit: TextEditorEdit, args: any[]) => void, thisArg?: any): Disposable
キーボードショートカット、メニュー項目、アクション、または直接呼び出すことができるテキストエディターコマンドを登録します。
テキストエディターコマンドは、コマンドが呼び出されたときにアクティブなエディターがある場合にのみ実行されるため、通常の コマンド とは異なります。また、エディターコマンドのコマンドハンドラーは、アクティブなエディターと edit ビルダーにアクセスできます。エディタービルダーは、コールバックが実行されている間のみ有効であることに注意してください。
| パラメーター | 説明 |
|---|---|
| command: string | コマンドの一意識別子。 |
| callback: (textEditor: TextEditor, edit: TextEditorEdit, args: any[]) => void | |
| thisArg?: any | ハンドラ関数を呼び出すときに使用される `this` コンテキスト。 |
| 戻り値 | 説明 |
| Disposable | このコマンドを破棄時に登録解除する Disposable。 |
コメント
関数
createCommentController(id: string, label: string): CommentController
新しい コメントコントローラー インスタンスを作成します。
| パラメーター | 説明 |
|---|---|
| id: string | コメントコントローラーの `id`。 |
| label: string | コメントコントローラーの人間が読める文字列。 |
| 戻り値 | 説明 |
| CommentController | コメントコントローラー のインスタンス。 |
debug
デバッグ機能の名前空間。
変数
activeDebugConsole: DebugConsole
現在アクティブな デバッグコンソール。デバッグセッションがアクティブでない場合、デバッグコンソールに送信された出力は表示されません。
activeDebugSession: DebugSession | undefined
現在アクティブな デバッグセッション、または `undefined`。アクティブなデバッグセッションは、デバッグアクションフローティングウィンドウで表されるもの、またはデバッグアクションフローティングウィンドウのドロップダウンメニューに現在表示されているものです。デバッグセッションがアクティブでない場合、値は `undefined` です。
activeStackItem: DebugThread | DebugStackFrame | undefined
現在フォーカスされているスレッドまたはスタックフレーム、またはスレッドまたはスタックフレームにフォーカスがない場合は `undefined`。スレッドはアクティブなデバッグセッションがある場合にいつでもフォーカスできますが、スタックフレームはセッションが一時停止され、コールスタックが取得されている場合にのみフォーカスできます。
breakpoints: readonly Breakpoint[]
ブレークポイントのリスト。
イベント
onDidChangeActiveDebugSession: Event<DebugSession | undefined>
アクティブなデバッグセッションが変更されたときに発生するイベント。注: アクティブなデバッグセッションが `undefined` に変更された場合もイベントが発生します。
onDidChangeActiveStackItem: Event<DebugThread | DebugStackFrame | undefined>
debug.activeStackItem が変更されたときに発生するイベント。
onDidChangeBreakpoints: Event<BreakpointsChangeEvent>
ブレークポイントのセットが追加、削除、または変更されたときに発行される イベント。
onDidReceiveDebugSessionCustomEvent: Event<DebugSessionCustomEvent>
onDidStartDebugSession: Event<DebugSession>
onDidTerminateDebugSession: Event<DebugSession>
関数
addBreakpoints(breakpoints: readonly Breakpoint[]): void
ブレークポイントを追加します。
| パラメーター | 説明 |
|---|---|
| breakpoints: readonly Breakpoint[] | 追加するブレークポイント。 |
| 戻り値 | 説明 |
| void |
asDebugSourceUri(source: DebugProtocolSource, session?: DebugSession): Uri
デバッグアダプタープロトコルを介して受信した「Source」記述子オブジェクトを、そのコンテンツをロードするために使用できる Uri に変換します。ソース記述子がパスに基づいている場合、ファイル Uri が返されます。ソース記述子が参照番号を使用する場合、対応する ContentProvider と実行中のデバッグセッションを必要とする特定のデバッグ Uri (スキーム「debug」) が構築されます。
Uri を作成するための「Source」記述子に十分な情報がない場合、エラーがスローされます。
| パラメーター | 説明 |
|---|---|
| source: DebugProtocolSource | デバッグアダプタープロトコルで定義されている Source 型に準拠するオブジェクト。 |
| session?: DebugSession | ソース記述子が参照番号を使用してアクティブなデバッグセッションからコンテンツをロードする場合に使用されるオプションのデバッグセッション。 |
| 戻り値 | 説明 |
| Uri | ソースのコンテンツをロードするために使用できる Uri。 |
registerDebugAdapterDescriptorFactory(debugType: string, factory: DebugAdapterDescriptorFactory): Disposable
特定のデバッグタイプに対して デバッグアダプター記述子ファクトリ を登録します。拡張機能は、拡張機能によって定義されたデバッグタイプにのみ DebugAdapterDescriptorFactory を登録できます。それ以外の場合はエラーがスローされます。デバッグタイプに複数の DebugAdapterDescriptorFactory を登録するとエラーになります。
| パラメーター | 説明 |
|---|---|
| debugType: string | ファクトリが登録されるデバッグタイプ。 |
| factory: DebugAdapterDescriptorFactory | 登録する デバッグアダプター記述子ファクトリ。 |
| 戻り値 | 説明 |
| Disposable | 破棄時にこのファクトリの登録を解除する Disposable。 |
registerDebugAdapterTrackerFactory(debugType: string, factory: DebugAdapterTrackerFactory): Disposable
指定されたデバッグタイプにデバッグアダプタートラッカーファクトリを登録します。
| パラメーター | 説明 |
|---|---|
| debugType: string | ファクトリが登録されるデバッグタイプ、またはすべてのデバッグタイプに一致する「*」。 |
| factory: DebugAdapterTrackerFactory | 登録する デバッグアダプター追跡ファクトリ。 |
| 戻り値 | 説明 |
| Disposable | 破棄時にこのファクトリの登録を解除する Disposable。 |
registerDebugConfigurationProvider(debugType: string, provider: DebugConfigurationProvider, triggerKind?: DebugConfigurationProviderTriggerKind): 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。 |
removeBreakpoints(breakpoints: readonly Breakpoint[]): void
ブレークポイントを削除します。
| パラメーター | 説明 |
|---|---|
| breakpoints: readonly Breakpoint[] | 削除するブレークポイント。 |
| 戻り値 | 説明 |
| void |
startDebugging(folder: WorkspaceFolder, nameOrConfiguration: string | DebugConfiguration, parentSessionOrOptions?: DebugSession | DebugSessionOptions): Thenable<boolean>
名前付き起動または名前付き複合構成を使用するか、DebugConfiguration を直接渡すことによってデバッグを開始します。名前付き構成は、指定されたフォルダーにある '.vscode/launch.json' で検索されます。デバッグが開始される前に、すべての未保存ファイルが保存され、起動構成が最新の状態に更新されます。構成で使用されるフォルダー固有の変数 (例: '${workspaceFolder}') は、指定されたフォルダーに対して解決されます。
| パラメーター | 説明 |
|---|---|
| folder: WorkspaceFolder | 名前付き構成の検索および変数の解決に使用する ワークスペースフォルダー。フォルダーなしのセットアップの場合は `undefined`。 |
| nameOrConfiguration: string | DebugConfiguration | デバッグまたは複合構成の名前、または DebugConfiguration オブジェクト。 |
| parentSessionOrOptions?: DebugSession | DebugSessionOptions | デバッグセッションオプション。親 デバッグセッション が渡された場合、この親セッションのみのオプションとみなされます。 |
| 戻り値 | 説明 |
| Thenable<boolean> | デバッグが正常に開始できたときに解決される Thenable。 |
stopDebugging(session?: DebugSession): Thenable<void>
指定されたデバッグセッションを停止するか、セッションが省略されている場合はすべてのデバッグセッションを停止します。
| パラメーター | 説明 |
|---|---|
| session?: DebugSession | 停止する デバッグセッション。省略された場合はすべてのセッションが停止します。 |
| 戻り値 | 説明 |
| Thenable<void> | セッションが停止したときに解決される Thenable。 |
環境
エディターが実行される環境を記述する名前空間。
変数
アプリケーションのホストされた場所。デスクトップでは「desktop」。ウェブでは、指定された埋め込み先、つまり「github.dev」、「codespaces」、または埋め込み先がその情報を提供しない場合は「web」。
'VS Code'のようなエディターのアプリケーション名。
エディターが実行されているアプリケーションのルートフォルダー。
注: アプリケーションのルートフォルダーの表現がない環境で実行している場合、値は空文字列になります。
clipboard: Clipboard
システムクリップボード。
これがアプリケーションの新規インストールであることを示します。インストール後1日以内であれば`true`、それ以外の場合は`false`。
ユーザーがテレメトリーを有効にしているかどうかを示します。拡張機能がテレメトリーを送信すべきかどうかを判断するために監視できます。
`de-CH`、`fr`、`en-US`のような、優先されるユーザー言語を表します。
logLevel: LogLevel
エディターの現在のログレベル。
コンピューターの一意識別子。
remoteName: string | undefined
リモートの名前。拡張機能によって定義され、一般的な例としては、Windows Subsystem for Linux の `wsl` や、セキュアシェルを使用するリモートの `ssh-remote` があります。
注: リモート拡張機能ホストがない場合は値が `undefined` になりますが、リモート拡張機能ホストが存在する場合はすべての拡張機能ホスト (ローカルとリモート) で値が定義されます。特定の拡張機能がリモートで実行されているかどうかを知るには Extension.extensionKind を使用します。
現在のセッションの一意識別子。エディターが起動するたびに変更されます。
拡張機能ホストに検出されたデフォルトのシェル。これは、拡張機能ホストのプラットフォームの `terminal.integrated.defaultProfile` 設定によって上書きされます。シェルをサポートしない環境では値が空文字列になることに注意してください。
uiKind: UIKind
UIの種類プロパティは、拡張機能がどのUIからアクセスされるかを示します。例えば、拡張機能はデスクトップアプリケーションまたはウェブブラウザからアクセスできます。
エディターがオペレーティングシステムに登録するカスタム URI スキーム。
イベント
onDidChangeLogLevel: Event<LogLevel>
エディターのログレベルが変更されたときに発生する イベント。
onDidChangeShell: Event<string>
デフォルトのシェルが変更されたときに発生する イベント。これは新しいシェルパスとともに発生します。
onDidChangeTelemetryEnabled: Event<boolean>
ユーザーがテレメトリーを有効または無効にしたときに発生するイベント。ユーザーがテレメトリーを有効にした場合は`true`、ユーザーがテレメトリーを無効にした場合は`false`。
関数
asExternalUri(target: Uri): Thenable<Uri>
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 を返します。
createTelemetryLogger(sender: TelemetrySender, options?: TelemetryLoggerOptions): TelemetryLogger
新しい テレメトリーロガー を作成します。
| パラメーター | 説明 |
|---|---|
| sender: TelemetrySender | テレメトリーロガーによって使用されるテレメトリー送信者。 |
| options?: TelemetryLoggerOptions | テレメトリーロガーのオプション。 |
| 戻り値 | 説明 |
| TelemetryLogger | 新しいテレメトリーロガー |
openExternal(target: Uri): Thenable<boolean>
デフォルトのアプリケーションを使用して、リンクを外部で開きます。使用されるスキームに応じて、これは次のようになります。
- ブラウザ (`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));
変数
all: readonly Extension<any>[]
システムに現在認識されているすべての拡張機能。
イベント
onDidChange: Event<void>
`extensions.all` が変更されたときに発生する イベント。これは、拡張機能がインストール、アンインストール、有効化、または無効化されたときに発生する可能性があります。
関数
getExtension<T>(extensionId: string): Extension<T> | undefined
`publisher.name` の形式で、その完全な識別子によって拡張機能を取得します。
| パラメーター | 説明 |
|---|---|
| extensionId: string | 拡張機能識別子。 |
| 戻り値 | 説明 |
| Extension<T> | undefined | 拡張機能、または `undefined`。 |
l10n
拡張機能 API におけるローカライズ関連機能の名前空間。これを適切に使用するには、拡張機能マニフェストに `l10n` が定義されており、`bundle.l10n.json` ファイルが存在している必要があります。
注: 組み込み拡張機能 (例: Git、TypeScript 言語機能、GitHub 認証) は `l10n` プロパティの要件から除外されます。つまり、翻訳された文字列は言語パックから取得されるため、拡張機能マニフェストで `l10n` を指定する必要はありません。
変数
拡張機能用に読み込まれたローカライズされた文字列のバンドル。バンドルが読み込まれていない場合は undefined です。バンドルが見つからない場合や、デフォルトの言語で実行されている場合は、通常、バンドルは読み込まれません。
uri: Uri | undefined
拡張機能用に読み込まれたローカライズバンドルの URI。バンドルが読み込まれていない場合は undefined です。バンドルが見つからない場合や、デフォルトの言語で実行されている場合は、通常、バンドルは読み込まれません。
関数
t(message: string, ...args: Array<string | number | boolean>): string
文字列をローカライズ対象としてマークします。env.language で指定された言語のローカライズバンドルが利用可能であり、そのバンドルにこのメッセージのローカライズ値がある場合、そのローカライズ値が返されます (テンプレート化された値については、args の値が挿入されます)。
例
l10n.t('Hello {0}!', 'World');
| パラメーター | 説明 |
|---|---|
| message: string | ローカライズするメッセージ。`{0}` や `{1}` のような文字列が、args 配列のそのインデックスにある項目に置き換えられるインデックステンプレートをサポートしています。 |
| ...args: Array<string | number | boolean> | ローカライズされた文字列で使用される引数。引数のインデックスは、ローカライズされた文字列のテンプレートプレースホルダーと一致させるために使用されます。 |
| 戻り値 | 説明 |
| string | 引数が挿入されたローカライズされた文字列。 |
t(message: string, args: Record<string, any>): string
文字列をローカライズ対象としてマークします。env.language で指定された言語のローカライズバンドルが利用可能であり、そのバンドルにこのメッセージのローカライズ値がある場合、そのローカライズ値が返されます (テンプレート化された値については、args の値が挿入されます)。
例
l10n.t('Hello {name}', { name: 'Erich' });
| パラメーター | 説明 |
|---|---|
| message: string | ローカライズするメッセージ。`{foo}` や `{bar}` のような文字列が、そのキー (foo、bar など) のレコードの値に置き換えられる名前付きテンプレートをサポートします。 |
| args: Record<string, any> | ローカライズされた文字列で使用される引数。レコード内のキーの名前は、ローカライズされた文字列のテンプレートプレースホルダーと一致させるために使用されます。 |
| 戻り値 | 説明 |
| string | 引数が挿入されたローカライズされた文字列。 |
t(options: {args: Array<string | number | boolean> | Record<string, any>, comment: string | string[], message: string}): string
文字列をローカライズ対象としてマークします。env.language で指定された言語のローカライズバンドルが利用可能であり、そのバンドルにこのメッセージのローカライズ値がある場合、そのローカライズ値が返されます (テンプレート化された値については、args の値が挿入されます)。
| パラメーター | 説明 |
|---|---|
| options: {args: Array<string | number | boolean> | Record<string, any>, comment: string | string[], message: string} | メッセージをローカライズする際に使用するオプション。 |
| 戻り値 | 説明 |
| string | 引数が挿入されたローカライズされた文字列。 |
言語
IntelliSense、コードアクション、診断などの言語固有のエディター 機能 に参加するための名前空間。
多くのプログラミング言語が存在し、構文、セマンティクス、パラダイムには非常に多様性があります。それにもかかわらず、自動単語補完、コードナビゲーション、コードチェックなどの機能は、さまざまなプログラミング言語用のさまざまなツールで普及しています。
エディターは、すべての UI とアクションをすでに用意し、データを提供するだけで参加できるようにすることで、そのような共通の機能を簡単に提供できる API を提供します。たとえば、ホバーを提供するために必要なのは、TextDocument と Position で呼び出され、ホバー情報を返す関数を提供するだけです。残りの部分 (マウスの追跡、ホバーの配置、ホバーの安定性の維持など) はエディターが処理します。
languages.registerHoverProvider('javascript', {
provideHover(document, position, token) {
return new Hover('I am a hover!');
}
});
登録は、`javascript`のような言語ID、または`{ language: 'typescript', scheme: 'file' }`のようなより複雑なフィルタであるドキュメントセレクタを使用して行われます。このようなセレクタに対してドキュメントを照合すると、プロバイダが使用されるかどうか、どのように使用されるかを決定するために使用されるスコアが生成されます。スコアが同じ場合、最後に登録されたプロバイダが優先されます。ホバーのように完全なアリティを許可する機能の場合、スコアは`>0`であることだけがチェックされ、IntelliSenseのような他の機能の場合、スコアはプロバイダが参加するように求められる順序を決定するために使用されます。
イベント
onDidChangeDiagnostics: Event<DiagnosticChangeEvent>
診断のグローバルセットが変更されたときに発生する イベント。これは新しく追加および削除された診断です。
関数
createDiagnosticCollection(name?: string): DiagnosticCollection
診断コレクションを作成します。
| パラメーター | 説明 |
|---|---|
| name?: string | コレクションの名前。 |
| 戻り値 | 説明 |
| DiagnosticCollection | 新しい診断コレクション。 |
createLanguageStatusItem(id: string, selector: DocumentSelector): LanguageStatusItem
新しい 言語ステータスアイテム を作成します。
| パラメーター | 説明 |
|---|---|
| id: string | アイテムの識別子。 |
| selector: DocumentSelector | アイテムが表示されるエディターを定義するドキュメントセレクター。 |
| 戻り値 | 説明 |
| LanguageStatusItem | 新しい言語ステータスアイテム。 |
getDiagnostics(resource: Uri): Diagnostic[]
指定されたリソースのすべての診断を取得します。
| パラメーター | 説明 |
|---|---|
| resource: Uri | リソース |
| 戻り値 | 説明 |
| Diagnostic[] | 診断オブジェクトの配列、または空の配列。 |
getDiagnostics(): Array<[Uri, Diagnostic[]]>
すべての診断を取得します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| Array<[Uri, Diagnostic[]]> | URI と診断のタプルの配列、または空の配列。 |
getLanguages(): Thenable<string[]>
既知のすべての言語の識別子を返します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| Thenable<string[]> | 識別子文字列の配列に解決されるPromise。 |
match(selector: DocumentSelector, document: TextDocument): number
ドキュメント セレクター とドキュメント間のマッチを計算します。0 より大きい値は、セレクターがドキュメントにマッチすることを意味します。
マッチは以下のルールに従って計算されます。
- DocumentSelector が配列の場合、含まれる各 `DocumentFilter` または言語識別子に対してマッチを計算し、最大値を取得します。
- 文字列は非糖衣構文化されて DocumentFilter の `language` 部分になるため、`"fooLang"` は `{ language: "fooLang" }` のようになります。
- DocumentFilter は、その部分とドキュメントを比較することによってドキュメントと照合されます。以下のルールが適用されます。
- `DocumentFilter` が空 (`{}`) の場合、結果は `0` です。
- `scheme`、`language`、`pattern`、または`notebook`が定義されているが、いずれか1つが一致しない場合、結果は`0`。
- `*` と一致するとスコアは `5`、等式またはグロブパターンと一致するとスコアは `10`。
- 結果は、各マッチの最大値です。
サンプル
// 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`。 |
registerCallHierarchyProvider(selector: DocumentSelector, provider: CallHierarchyProvider): Disposable
コール階層プロバイダーを登録します。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: CallHierarchyProvider | コール階層プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerCodeActionsProvider(selector: DocumentSelector, provider: CodeActionProvider<CodeAction>, metadata?: CodeActionProviderMetadata): Disposable
コードアクションプロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: CodeActionProvider<CodeAction> | コードアクションプロバイダー。 |
| metadata?: CodeActionProviderMetadata | プロバイダーが提供するコードアクションの種類に関するメタデータ。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerCodeLensProvider(selector: DocumentSelector, provider: CodeLensProvider<CodeLens>): Disposable
コードレンズプロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: CodeLensProvider<CodeLens> | コードレンズプロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerColorProvider(selector: DocumentSelector, provider: DocumentColorProvider): Disposable
カラープロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: DocumentColorProvider | カラープロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerCompletionItemProvider(selector: DocumentSelector, provider: CompletionItemProvider<CompletionItem>, ...triggerCharacters: string[]): Disposable
補完プロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは スコア によってソートされ、同じスコアのグループは順番に補完項目を要求されます。プロセスは、グループの1つ以上のプロバイダーが結果を返すと停止します。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
補完項目プロバイダーは、`triggerCharacters` のセットと関連付けられます。トリガー文字が入力されると、補完が要求されますが、入力された文字を登録したプロバイダーからのみ要求されます。そのため、トリガー文字は 単語文字 とは異なるべきであり、一般的なトリガー文字はメンバー補完をトリガーするための `.` です。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: CompletionItemProvider<CompletionItem> | 補完プロバイダー。 |
| ...triggerCharacters: string[] | ユーザーがいずれかの文字を入力したときに補完をトリガーします。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerDeclarationProvider(selector: DocumentSelector, provider: DeclarationProvider): Disposable
宣言プロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: DeclarationProvider | 宣言プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerDefinitionProvider(selector: DocumentSelector, provider: DefinitionProvider): Disposable
定義プロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: DefinitionProvider | 定義プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerDocumentDropEditProvider(selector: DocumentSelector, provider: DocumentDropEditProvider<DocumentDropEdit>, metadata?: DocumentDropEditProviderMetadata): Disposable
新しい DocumentDropEditProvider を登録します。
複数のドロッププロバイダーを言語に登録できます。エディターにコンテンツをドロップすると、エディターの言語に登録されているすべてのプロバイダーが、DocumentDropEditProviderMetadata で指定された処理する MIME タイプに基づいて呼び出されます。
各プロバイダーは1つ以上のDocumentDropEditsを返すことができます。編集はDocumentDropEdit.yieldToプロパティを使用してソートされます。デフォルトでは最初の編集が適用されます。追加の編集がある場合、それらはドロップウィジェットで選択可能なドロップオプションとしてユーザーに表示されます。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: DocumentDropEditProvider<DocumentDropEdit> | ドロッププロバイダー。 |
| metadata?: DocumentDropEditProviderMetadata | プロバイダーに関する追加のメタデータ。 |
| 戻り値 | 説明 |
| Disposable | 破棄時にこのプロバイダーの登録を解除する Disposable。 |
registerDocumentFormattingEditProvider(selector: DocumentSelector, provider: DocumentFormattingEditProvider): Disposable
ドキュメントの書式設定プロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは スコア によってソートされ、最適なマッチングプロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗の原因になります。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: DocumentFormattingEditProvider | ドキュメント書式設定編集プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerDocumentHighlightProvider(selector: DocumentSelector, provider: DocumentHighlightProvider): Disposable
ドキュメントハイライトプロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、グループごとに順次ドキュメントハイライトを要求されます。プロセスは、プロバイダーがnon-falsyまたはnon-failureの結果を返すときに停止します。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: DocumentHighlightProvider | ドキュメントハイライトプロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerDocumentLinkProvider(selector: DocumentSelector, provider: DocumentLinkProvider<DocumentLink>): Disposable
ドキュメントリンクプロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: DocumentLinkProvider<DocumentLink> | ドキュメントリンクプロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerDocumentPasteEditProvider(selector: DocumentSelector, provider: DocumentPasteEditProvider<DocumentPasteEdit>, metadata: DocumentPasteProviderMetadata): Disposable
新しいDocumentPasteEditProviderを登録します。
言語ごとに複数のプロバイダーを登録できます。言語に登録されているすべてのプロバイダーは、DocumentPasteProviderMetadataで指定された処理対象のMIMEタイプに基づいて、コピー&ペースト操作のために呼び出されます。
コピー操作の場合、各プロバイダーによって行われたDataTransferへの変更は、クリップボードにデータを投入するために使用される単一のDataTransferにマージされます。
[DocumentPasteEditProvider.providerDocumentPasteEdits ペースト操作](#DocumentPasteEditProvider.providerDocumentPasteEdits ペースト操作)の場合、各プロバイダーが呼び出され、1つ以上のDocumentPasteEditを返すことができます。編集はDocumentPasteEdit.yieldToプロパティを使用してソートされます。デフォルトでは、最初の編集が適用され、残りの編集はペーストウィジェットで選択可能なペーストオプションとしてユーザーに表示されます。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: DocumentPasteEditProvider<DocumentPasteEdit> | ペーストエディタープロバイダー。 |
| metadata: DocumentPasteProviderMetadata | プロバイダーに関する追加のメタデータ。 |
| 戻り値 | 説明 |
| Disposable | 破棄時にこのプロバイダーの登録を解除する Disposable。 |
registerDocumentRangeFormattingEditProvider(selector: DocumentSelector, provider: DocumentRangeFormattingEditProvider): Disposable
ドキュメント範囲の書式設定プロバイダーを登録します。
注: ドキュメント範囲プロバイダーはドキュメントフォーマッターでもあります。つまり、範囲プロバイダーも登録する場合は、ドキュメントフォーマッターを登録する必要はありません。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは スコア によってソートされ、最適なマッチングプロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗の原因になります。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: DocumentRangeFormattingEditProvider | ドキュメント範囲書式設定編集プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerDocumentRangeSemanticTokensProvider(selector: DocumentSelector, provider: DocumentRangeSemanticTokensProvider, legend: SemanticTokensLegend): Disposable
ドキュメント範囲のセマンティックトークンプロバイダーを登録します。
注: ドキュメントにDocumentSemanticTokensProviderとDocumentRangeSemanticTokensProviderの両方がある場合、範囲プロバイダーは、フルドキュメントプロバイダーが最初の要求を解決するのにかかる時間の間、最初にのみ呼び出されます。フルドキュメントプロバイダーが最初の要求を解決すると、範囲プロバイダーを介して提供されたセマンティックトークンは破棄され、それ以降はドキュメントプロバイダーのみが使用されます。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは スコア によってソートされ、最適なマッチングプロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗の原因になります。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: DocumentRangeSemanticTokensProvider | ドキュメント範囲セマンティックトークンプロバイダー。 |
| legend: SemanticTokensLegend | |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerDocumentSemanticTokensProvider(selector: DocumentSelector, provider: DocumentSemanticTokensProvider, legend: SemanticTokensLegend): Disposable
ドキュメント全体のセマンティックトークンプロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは スコア によってソートされ、最適なマッチングプロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗の原因になります。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: DocumentSemanticTokensProvider | ドキュメントセマンティックトークンプロバイダー。 |
| legend: SemanticTokensLegend | |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerDocumentSymbolProvider(selector: DocumentSelector, provider: DocumentSymbolProvider, metaData?: DocumentSymbolProviderMetadata): Disposable
ドキュメントシンボルプロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: DocumentSymbolProvider | ドキュメントシンボルプロバイダー。 |
| metaData?: DocumentSymbolProviderMetadata | プロバイダーに関するメタデータ。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerEvaluatableExpressionProvider(selector: DocumentSelector, provider: EvaluatableExpressionProvider): Disposable
テキストドキュメント内で評価可能な式を検索するプロバイダーを登録します。エディターはアクティブなデバッグセッションで式を評価し、デバッグホバーに結果を表示します。
1つの言語に対して複数のプロバイダーが登録されている場合、任意のプロバイダーが使用されます。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: EvaluatableExpressionProvider | 評価可能な式プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerFoldingRangeProvider(selector: DocumentSelector, provider: FoldingRangeProvider): Disposable
折りたたみ範囲プロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。同じ位置で複数の折りたたみ範囲が開始する場合、最初に登録されたプロバイダーの範囲のみが使用されます。折りたたみ範囲がより小さい位置を持つ別の範囲と重なる場合、それも無視されます。
失敗したプロバイダー (拒否されたプロミスまたは例外) は、操作全体の失敗を引き起こしません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: FoldingRangeProvider | 折りたたみ範囲プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerHoverProvider(selector: DocumentSelector, provider: HoverProvider): Disposable
ホバープロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: HoverProvider | ホバープロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerImplementationProvider(selector: DocumentSelector, provider: ImplementationProvider): Disposable
実装プロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: ImplementationProvider | 実装プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerInlayHintsProvider(selector: DocumentSelector, provider: InlayHintsProvider<InlayHint>): Disposable
インレイヒントプロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: InlayHintsProvider<InlayHint> | インレイヒントプロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerInlineCompletionItemProvider(selector: DocumentSelector, provider: InlineCompletionItemProvider): Disposable
インライン補完プロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: InlineCompletionItemProvider | インライン補完プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerInlineValuesProvider(selector: DocumentSelector, provider: InlineValuesProvider): Disposable
デバッガーの「インライン値」機能のデータを返すプロバイダーを登録します。汎用デバッガーがソースファイルで停止するたびに、そのファイルの言語に登録されたプロバイダーが呼び出され、行の終わりにエディターに表示されるテキストデータが返されます。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: InlineValuesProvider | インライン値プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerLinkedEditingRangeProvider(selector: DocumentSelector, provider: LinkedEditingRangeProvider): Disposable
リンクされた編集範囲プロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、結果を持つ最も一致するプロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: LinkedEditingRangeProvider | リンクされた編集範囲プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerOnTypeFormattingEditProvider(selector: DocumentSelector, provider: OnTypeFormattingEditProvider, firstTriggerCharacter: string, ...moreTriggerCharacter: string[]): Disposable
入力時に機能する書式設定プロバイダーを登録します。プロバイダーは、ユーザーが設定editor.formatOnTypeを有効にするとアクティブになります。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは スコア によってソートされ、最適なマッチングプロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗の原因になります。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: OnTypeFormattingEditProvider | オンタイプ書式設定編集プロバイダー。 |
| firstTriggerCharacter: string |
|
| ...moreTriggerCharacter: string[] | その他のトリガー文字。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerReferenceProvider(selector: DocumentSelector, provider: ReferenceProvider): Disposable
参照プロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: ReferenceProvider | 参照プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerRenameProvider(selector: DocumentSelector, provider: RenameProvider): Disposable
名前変更プロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、順次呼び出されます。結果を生成した最初のプロバイダーが、操作全体の結果を定義します。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: RenameProvider | 名前変更プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerSelectionRangeProvider(selector: DocumentSelector, provider: SelectionRangeProvider): Disposable
選択範囲プロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: SelectionRangeProvider | 選択範囲プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerSignatureHelpProvider(selector: DocumentSelector, provider: SignatureHelpProvider, ...triggerCharacters: string[]): Disposable
シグネチャヘルププロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、プロバイダーが有効な結果を返すまで順次呼び出されます。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: SignatureHelpProvider | シグネチャヘルププロバイダー。 |
| ...triggerCharacters: string[] | ユーザーが |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerSignatureHelpProvider(selector: DocumentSelector, provider: SignatureHelpProvider, metadata: SignatureHelpProviderMetadata): Disposable
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: SignatureHelpProvider | シグネチャヘルププロバイダー。 |
| metadata: SignatureHelpProviderMetadata | プロバイダーに関する情報。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerTypeDefinitionProvider(selector: DocumentSelector, provider: TypeDefinitionProvider): Disposable
型定義プロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否された Promise または例外) は、操作全体が失敗する原因にはなりません。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: TypeDefinitionProvider | 型定義プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerTypeHierarchyProvider(selector: DocumentSelector, provider: TypeHierarchyProvider): Disposable
型階層プロバイダーを登録します。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: TypeHierarchyProvider | 型階層プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerWorkspaceSymbolProvider(provider: WorkspaceSymbolProvider<SymbolInformation>): Disposable
ワークスペースシンボルプロバイダーを登録します。
複数のプロバイダーを登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー (拒否されたプロミスまたは例外) は、操作全体の失敗を引き起こしません。
| パラメーター | 説明 |
|---|---|
| provider: WorkspaceSymbolProvider<SymbolInformation> | ワークスペースシンボルプロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
setLanguageConfiguration(language: string, configuration: LanguageConfiguration): Disposable
言語の言語設定を設定します。
| パラメーター | 説明 |
|---|---|
| language: string |
|
| configuration: LanguageConfiguration | 言語設定。 |
| 戻り値 | 説明 |
| Disposable | この設定を解除するDisposable。 |
setTextDocumentLanguage(document: TextDocument, languageId: string): Thenable<TextDocument>
指定されたドキュメントに関連付けられている言語を設定 (および変更) します。
注: この関数を呼び出すと、onDidCloseTextDocumentイベントがトリガーされ、その後にonDidOpenTextDocumentイベントがトリガーされます。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | 言語が変更されるドキュメント。 |
| languageId: string | 新しい言語識別子。 |
| 戻り値 | 説明 |
| Thenable<TextDocument> | 更新されたドキュメントで解決されるThenable。 |
lm
言語モデル関連機能のネームスペース。
変数
tools: readonly LanguageModelToolInformation[]
すべての拡張機能がlm.registerToolを使用して登録した利用可能なすべてのツールのリスト。これらは、宣言されたinputSchemaに一致する入力でlm.invokeToolを使用して呼び出すことができます。
イベント
onDidChangeChatModels: Event<void>
利用可能なチャットモデルのセットが変更されたときに発生するイベント。
関数
invokeTool(name: string, options: LanguageModelToolInvocationOptions<object>, token?: CancellationToken): Thenable<LanguageModelToolResult>
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> | ツール呼び出しの結果。 |
registerLanguageModelChatProvider(vendor: string, provider: LanguageModelChatProvider<LanguageModelChatInformation>): Disposable
LanguageModelChatProviderを登録します。注: package.jsonのlanguageModelChatProviders貢献点を通じて言語モデルチャットプロバイダーを定義する必要もあります。
| パラメーター | 説明 |
|---|---|
| vendor: string | このプロバイダーのベンダー。グローバルに一意である必要があります。例として |
| provider: LanguageModelChatProvider<LanguageModelChatInformation> | 登録するプロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄時にプロバイダーの登録を解除するDisposable。 |
registerMcpServerDefinitionProvider(id: string, provider: McpServerDefinitionProvider<McpServerDefinition>): Disposable
エディターが消費するモデルコンテキストプロトコルサーバーを公開するプロバイダーを登録します。これにより、ユーザーが設定ファイルで作成するサーバーに加えて、MCPサーバーをエディターに動的に提供できます。
このメソッドを呼び出す前に、拡張機能は対応するidでcontributes.mcpServerDefinitionProviders拡張ポイントを登録する必要があります。例えば、
"contributes": {
"mcpServerDefinitionProviders": [
{
"id": "cool-cloud-registry.mcp-servers",
"label": "Cool Cloud Registry",
}
]
}
新しいMcpServerDefinitionProviderが利用可能になると、エディターは新しいサーバーを発見するための「更新」アクションをユーザーに提示します。このフローを有効にするには、拡張機能はアクティベーション中にregisterMcpServerDefinitionProviderを呼び出す必要があります。
| パラメーター | 説明 |
|---|---|
| id: string | プロバイダーのID。拡張機能に固有です。 |
| provider: McpServerDefinitionProvider<McpServerDefinition> | 登録するプロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄時にプロバイダーの登録を解除するDisposable。 |
registerTool<T>(name: string, tool: LanguageModelTool<T>): Disposable
LanguageModelToolを登録します。ツールはpackage.jsonのlanguageModelTools貢献点にも登録されている必要があります。登録されたツールは、すべての拡張機能がlm.toolsリストで利用できます。しかし、言語モデルから認識されるためには、LanguageModelChatRequestOptions.toolsの利用可能なツールのリストに渡す必要があります。
| パラメーター | 説明 |
|---|---|
| name: string | |
| tool: LanguageModelTool<T> | |
| 戻り値 | 説明 |
| Disposable | 破棄時にツールの登録を解除するDisposable。 |
selectChatModels(selector?: LanguageModelChatSelector): Thenable<LanguageModelChat[]>
セレクターによってチャットモデルを選択します。これにより、複数のチャットモデルまたはチャットモデルなしが生成される可能性があり、拡張機能はこれらのケース、特にチャットモデルが存在しない場合に適切に処理する必要があります。
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つの疎結合コンポーネントで構成されています。
- NotebookSerializerは、エディターがノートブックを開き、表示し、保存できるようにします。
- NotebookControllerはノートブックの実行を所有し、例えばコードセルから出力を生成します。
- NotebookRendererはエディターにノートブック出力を表示します。これらは別のコンテキストで実行されます。
関数
createNotebookController(id: string, notebookType: string, label: string, handler?: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => void | Thenable<void>): NotebookController
新しいノートブックコントローラーを作成します。
| パラメーター | 説明 |
|---|---|
| id: string | コントローラーの識別子。拡張機能ごとに一意である必要があります。 |
| notebookType: string | このコントローラーが対象とするノートブックの種類。 |
| label: string | コントローラーのラベル。 |
| handler?: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => void | Thenable<void> | コントローラーの実行ハンドラー。 |
| 戻り値 | 説明 |
| NotebookController | 新しいノートブックコントローラー。 |
createRendererMessaging(rendererId: string): NotebookRendererMessaging
特定のレンダラーとの通信に使用される新しいメッセージングインスタンスを作成します。
- 注1: 拡張機能は、
package.jsonファイルで定義したレンダラーのみを作成できます。 - 注2: レンダーラーは、その
notebookRenderer貢献でrequiresMessagingがalwaysまたはoptionalに設定されている場合にのみメッセージングにアクセスできます。
| パラメーター | 説明 |
|---|---|
| rendererId: string | 通信対象のレンダラーID。 |
| 戻り値 | 説明 |
| NotebookRendererMessaging | 新しいノートブックレンダラーメッセージングオブジェクト。 |
registerNotebookCellStatusBarItemProvider(notebookType: string, provider: NotebookCellStatusBarItemProvider): Disposable
指定されたノートブックタイプに対してセルステータスバーアイテムプロバイダーを登録します。
| パラメーター | 説明 |
|---|---|
| notebookType: string | 登録するノートブックタイプ。 |
| provider: NotebookCellStatusBarItemProvider | セルステータスバープロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
scm
ソース管理マネージメントのネームスペース。
変数
inputBox: SourceControlInputBox
拡張機能によって最後に作成されたソースコントロールの入力ボックス。
- 非推奨 - 代わりにSourceControl.inputBoxを使用してください。
関数
createSourceControl(id: string, label: string, rootUri?: Uri): SourceControl
新しいソースコントロールインスタンスを作成します。
| パラメーター | 説明 |
|---|---|
| id: string | ソースコントロールの |
| label: string | ソースコントロールの人間が読める文字列。例: |
| rootUri?: Uri | ソースコントロールのルートのオプションのURI。例: |
| 戻り値 | 説明 |
| SourceControl | ソースコントロールのインスタンス。 |
tasks
タスク機能のネームスペース。
変数
taskExecutions: readonly TaskExecution[]
現在アクティブなタスク実行、または空の配列。
イベント
onDidEndTask: Event<TaskEndEvent>
タスクが終了したときに発火します。
onDidEndTaskProcess: Event<TaskProcessEndEvent>
基になるプロセスが終了したときに発火します。このイベントは、基になるプロセスを実行しないタスクでは発火しません。
onDidStartTask: Event<TaskStartEvent>
タスクが開始したときに発火します。
onDidStartTaskProcess: Event<TaskProcessStartEvent>
基になるプロセスが開始されたときに発火します。このイベントは、基になるプロセスを実行しないタスクでは発火しません。
関数
executeTask(task: Task): Thenable<TaskExecution>
エディターによって管理されるタスクを実行します。返されたタスク実行を使用してタスクを終了できます。
- スロー - 新しいプロセスを開始できない環境でShellExecutionまたはProcessExecutionタスクを実行する場合。このような環境では、CustomExecutionタスクのみを実行できます。
| パラメーター | 説明 |
|---|---|
| task: Task | 実行するタスク。 |
| 戻り値 | 説明 |
| Thenable<TaskExecution> | タスク実行に解決されるthenable。 |
fetchTasks(filter?: TaskFilter): Thenable<Task[]>
システムで利用可能なすべてのタスクを取得します。これには、tasks.jsonファイルからのタスクと、拡張機能を通じて貢献されたタスクプロバイダーからのタスクが含まれます。
| パラメーター | 説明 |
|---|---|
| filter?: TaskFilter | 特定のタイプまたはバージョンのタスクを選択するためのオプションのフィルター。 |
| 戻り値 | 説明 |
| Thenable<Task[]> | タスクの配列に解決されるthenable。 |
registerTaskProvider(type: string, provider: TaskProvider<Task>): Disposable
タスクプロバイダーを登録します。
| パラメーター | 説明 |
|---|---|
| type: string | このプロバイダーが登録されているタスクの種類。 |
| provider: TaskProvider<Task> | タスクプロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
tests
テスト機能のネームスペース。テストは、TestControllerインスタンスを登録し、次にTestItemを追加することで公開されます。コントローラーは、1つ以上のTestRunProfileインスタンスを作成することで、テストの実行方法を記述することもできます。
関数
createTestController(id: string, label: string): TestController
新しいテストコントローラーを作成します。
| パラメーター | 説明 |
|---|---|
| id: string | コントローラーの識別子。グローバルに一意である必要があります。 |
| label: string | コントローラーの人間が読めるラベル。 |
| 戻り値 | 説明 |
| TestController | TestControllerのインスタンス。 |
window
エディターの現在のウィンドウを扱うためのネームスペース。つまり、表示されているアクティブなエディター、メッセージ表示、選択、ユーザー入力の要求のためのUI要素です。
変数
activeColorTheme: ColorTheme
設定で構成されている現在アクティブなカラーテーマ。アクティブなテーマは、workbench.colorTheme設定を介して変更できます。
activeNotebookEditor: NotebookEditor | undefined
現在アクティブなノートブックエディター、またはundefined。アクティブなエディターとは、現在フォーカスがあるエディター、またはフォーカスがない場合は最近入力が変更されたエディターです。
activeTerminal: Terminal | undefined
現在アクティブなターミナル、またはundefined。アクティブなターミナルとは、現在フォーカスがあるターミナル、または最も最近フォーカスがあったターミナルです。
activeTextEditor: TextEditor | undefined
現在アクティブなエディター、またはundefined。アクティブなエディターとは、現在フォーカスがあるエディター、またはフォーカスがない場合は最近入力が変更されたエディターです。
state: WindowState
現在のウィンドウの状態を表します。
tabGroups: TabGroups
メインエディター領域内のグリッドウィジェットを表します。
terminals: readonly Terminal[]
現在開いているターミナル、または空の配列。
visibleNotebookEditors: readonly NotebookEditor[]
現在表示されているノートブックエディター、または空の配列。
visibleTextEditors: readonly TextEditor[]
現在表示されているエディター、または空の配列。
イベント
onDidChangeActiveColorTheme: Event<ColorTheme>
アクティブなカラーテーマが変更されたとき、または変更があるときに発火するイベント。
onDidChangeActiveNotebookEditor: Event<NotebookEditor | undefined>
アクティブなノートブックエディターが変更されたときに発火するイベント。注: アクティブなエディターがundefinedに変更された場合にもイベントが発火します。
onDidChangeActiveTerminal: Event<Terminal | undefined>
アクティブなターミナルが変更されたときに発火するイベント。注: アクティブなターミナルがundefinedに変更された場合にもイベントが発火します。
onDidChangeActiveTextEditor: Event<TextEditor | undefined>
アクティブなエディターが変更されたときに発火するイベント。注: アクティブなエディターがundefinedに変更された場合にもイベントが発火します。
onDidChangeNotebookEditorSelection: Event<NotebookEditorSelectionChangeEvent>
ノートブックエディターの選択範囲が変更されたときに発火するイベント。
onDidChangeNotebookEditorVisibleRanges: Event<NotebookEditorVisibleRangesChangeEvent>
ノートブックエディターの表示範囲が変更されたときに発火するイベント。
onDidChangeTerminalShellIntegration: Event<TerminalShellIntegrationChangeEvent>
シェル統合がアクティブになったとき、またはターミナルのプロパティのいずれかが変更されたときに発火します。
onDidChangeTerminalState: Event<Terminal>
onDidChangeTextEditorOptions: Event<TextEditorOptionsChangeEvent>
エディターのオプションが変更されたときに発火するイベント。
onDidChangeTextEditorSelection: Event<TextEditorSelectionChangeEvent>
エディターの選択範囲が変更されたときに発火するイベント。
onDidChangeTextEditorViewColumn: Event<TextEditorViewColumnChangeEvent>
エディターのビュー列が変更されたときに発火するイベント。
onDidChangeTextEditorVisibleRanges: Event<TextEditorVisibleRangesChangeEvent>
エディターの可視範囲が変更されたときに発火するイベント。
onDidChangeVisibleNotebookEditors: Event<readonly NotebookEditor[]>
表示されているノートブックエディターが変更されたときに発火するイベント。
onDidChangeVisibleTextEditors: Event<readonly TextEditor[]>
表示されているエディターの配列が変更されたときに発火するイベント。
onDidChangeWindowState: Event<WindowState>
現在のウィンドウのフォーカスまたはアクティビティ状態が変更されたときに発火するイベント。イベントの値は、ウィンドウがフォーカスされているかどうかを表します。
onDidCloseTerminal: Event<Terminal>
ターミナルが破棄されたときに発火するイベント。
onDidEndTerminalShellExecution: Event<TerminalShellExecutionEndEvent>
ターミナルコマンドが終了したときに発火します。このイベントは、ターミナルでシェル統合がアクティブ化されている場合にのみ発火します。
onDidOpenTerminal: Event<Terminal>
createTerminal APIまたはコマンドを通じてターミナルが作成されたときに発火するイベント。
onDidStartTerminalShellExecution: Event<TerminalShellExecutionStartEvent>
ターミナルコマンドが開始されたときに発火します。このイベントは、ターミナルでシェル統合がアクティブ化されている場合にのみ発火します。
関数
createInputBox(): InputBox
ユーザーにテキスト入力を入力させるためのInputBoxを作成します。
多くの場合、より便利なwindow.showInputBoxの方が使いやすいことに注意してください。window.createInputBoxは、window.showInputBoxが必要な柔軟性を提供しない場合に使用する必要があります。
createOutputChannel(name: string, languageId?: string): OutputChannel
指定された名前と言語IDを持つ新しい出力チャネルを作成します。言語IDが提供されていない場合、デフォルトの言語IDとしてLogが使用されます。
表示されているまたはアクティブな出力チャネルを表示されているエディターまたはアクティブなエディターからテキストドキュメントとしてアクセスし、言語IDを使用して構文の色付け、コードレンズなどの言語機能を提供できます。
| パラメーター | 説明 |
|---|---|
| name: string | UIでチャネルを表すために使用される人間が読める文字列。 |
| languageId?: string | チャネルに関連付けられている言語の識別子。 |
| 戻り値 | 説明 |
| OutputChannel | 新しい出力チャネル。 |
createOutputChannel(name: string, options: {log: true}): LogOutputChannel
指定された名前を持つ新しいログ出力チャネルを作成します。
| パラメーター | 説明 |
|---|---|
| name: string | UIでチャネルを表すために使用される人間が読める文字列。 |
| options: {log: true} | ログ出力チャネルのオプション。 |
| 戻り値 | 説明 |
| LogOutputChannel | 新しいログ出力チャネル。 |
createQuickPick<T extends QuickPickItem>(): QuickPick<T>
ユーザーがタイプTのアイテムのリストからアイテムを選択できるようにするQuickPickを作成します。
多くの場合、より便利なwindow.showQuickPickの方が使いやすいことに注意してください。window.createQuickPickは、window.showQuickPickが必要な柔軟性を提供しない場合に使用する必要があります。
createStatusBarItem(id: string, alignment?: StatusBarAlignment, priority?: number): StatusBarItem
ステータスバーアイテムを作成します。
| パラメーター | 説明 |
|---|---|
| id: string | アイテムの識別子。拡張機能内で一意である必要があります。 |
| alignment?: StatusBarAlignment | アイテムの配置。 |
| priority?: number | アイテムの優先順位。値が高いほど、アイテムはより左に表示されます。 |
| 戻り値 | 説明 |
| StatusBarItem | 新しいステータスバーアイテム。 |
createStatusBarItem(alignment?: StatusBarAlignment, priority?: number): StatusBarItem
ステータスバーアイテムを作成します。
参照: 識別子付きステータスバーアイテムの作成についてはcreateStatusBarItem。
| パラメーター | 説明 |
|---|---|
| alignment?: StatusBarAlignment | アイテムの配置。 |
| priority?: number | アイテムの優先順位。値が高いほど、アイテムはより左に表示されます。 |
| 戻り値 | 説明 |
| StatusBarItem | 新しいステータスバーアイテム。 |
createTerminal(name?: string, shellPath?: string, shellArgs?: string | readonly string[]): Terminal
バッキングシェルプロセスを持つターミナルを作成します。ターミナルのCWDは、存在する場合はワークスペースディレクトリになります。
- スロー - 新しいプロセスを開始できない環境で実行する場合。
createTerminal(options: TerminalOptions): Terminal
バッキングシェルプロセスを持つターミナルを作成します。
- スロー - 新しいプロセスを開始できない環境で実行する場合。
| パラメーター | 説明 |
|---|---|
| options: TerminalOptions | 新しいターミナルの特性を記述するTerminalOptionsオブジェクト。 |
| 戻り値 | 説明 |
| ターミナル | 新しいターミナル。 |
createTerminal(options: ExtensionTerminalOptions): Terminal
拡張機能がその入力と出力を制御するターミナルを作成します。
| パラメーター | 説明 |
|---|---|
| options: ExtensionTerminalOptions | 新しいターミナルの特性を記述するExtensionTerminalOptionsオブジェクト。 |
| 戻り値 | 説明 |
| ターミナル | 新しいターミナル。 |
createTextEditorDecorationType(options: DecorationRenderOptions): TextEditorDecorationType
テキストエディターに装飾を追加するために使用できるTextEditorDecorationTypeを作成します。
| パラメーター | 説明 |
|---|---|
| options: DecorationRenderOptions | 装飾タイプのレンダリングオプション。 |
| 戻り値 | 説明 |
| TextEditorDecorationType | 新しい装飾タイプのインスタンス。 |
createTreeView<T>(viewId: string, options: TreeViewOptions<T>): TreeView<T>
拡張ポイントviewsを使用して貢献されたビューのTreeViewを作成します。
| パラメーター | 説明 |
|---|---|
| viewId: string | 拡張ポイント |
| options: TreeViewOptions<T> | TreeViewを作成するためのオプション。 |
| 戻り値 | 説明 |
| TreeView<T> |
createWebviewPanel(viewType: string, title: string, showOptions: ViewColumn | {preserveFocus: boolean, viewColumn: ViewColumn}, options?: WebviewPanelOptions & WebviewOptions): WebviewPanel
新しいウェブビューパネルを作成して表示します。
| パラメーター | 説明 |
|---|---|
| viewType: string | ウェブビューパネルのタイプを識別します。 |
| title: string | パネルのタイトル。 |
| showOptions: ViewColumn | {preserveFocus: boolean, viewColumn: ViewColumn} | エディターでウェブビューを表示する場所。preserveFocusが設定されている場合、新しいウェブビューはフォーカスを取得しません。 |
| options?: WebviewPanelOptions & WebviewOptions | 新しいパネルの設定。 |
| 戻り値 | 説明 |
| WebviewPanel | 新しいウェブビューパネル。 |
registerCustomEditorProvider(viewType: string, provider: CustomTextEditorProvider | CustomReadonlyEditorProvider<CustomDocument> | CustomEditorProvider<CustomDocument>, options?: {supportsMultipleEditorsPerDocument: boolean, webviewOptions: WebviewPanelOptions}): Disposable
customEditors拡張ポイントによって貢献されたviewTypeのカスタムエディターのプロバイダーを登録します。
カスタムエディターが開かれると、onCustomEditor:viewTypeアクティベーションイベントが発火します。拡張機能は、アクティベーションの一部として、viewTypeのCustomTextEditorProvider、CustomReadonlyEditorProvider、CustomEditorProviderを登録する必要があります。
| パラメーター | 説明 |
|---|---|
| viewType: string | カスタムエディタープロバイダーの一意の識別子。これは |
| provider: CustomTextEditorProvider | CustomReadonlyEditorProvider<CustomDocument> | CustomEditorProvider<CustomDocument> | カスタムエディターを解決するプロバイダー。 |
| options?: {supportsMultipleEditorsPerDocument: boolean, webviewOptions: WebviewPanelOptions} | プロバイダーのオプション。 |
| 戻り値 | 説明 |
| Disposable | プロバイダーの登録を解除するDisposable。 |
registerFileDecorationProvider(provider: FileDecorationProvider): Disposable
ファイル装飾プロバイダーを登録します。
| パラメーター | 説明 |
|---|---|
| provider: FileDecorationProvider | |
| 戻り値 | 説明 |
| Disposable | プロバイダーの登録を解除するDisposable。 |
registerTerminalLinkProvider(provider: TerminalLinkProvider<TerminalLink>): Disposable
ターミナル内のリンクの検出と処理を可能にするプロバイダーを登録します。
| パラメーター | 説明 |
|---|---|
| provider: TerminalLinkProvider<TerminalLink> | ターミナルリンクを提供するプロバイダー。 |
| 戻り値 | 説明 |
| Disposable | プロバイダーの登録を解除するDisposable。 |
registerTerminalProfileProvider(id: string, provider: TerminalProfileProvider): Disposable
貢献されたターミナルプロファイルのプロバイダーを登録します。
| パラメーター | 説明 |
|---|---|
| id: string | 貢献されたターミナルプロファイルのID。 |
| provider: TerminalProfileProvider | ターミナルプロファイルプロバイダー。 |
| 戻り値 | 説明 |
| Disposable | プロバイダーの登録を解除するDisposable。 |
registerTreeDataProvider<T>(viewId: string, treeDataProvider: TreeDataProvider<T>): Disposable
拡張ポイントviewsを使用して貢献されたビューのTreeDataProviderを登録します。これにより、TreeViewにデータを貢献し、データが変更された場合に更新できるようになります。
注: TreeViewにアクセスし、それに対して操作を実行するには、createTreeViewを使用します。
| パラメーター | 説明 |
|---|---|
| viewId: string | 拡張ポイント |
| treeDataProvider: TreeDataProvider<T> | ビューのツリーデータを提供するTreeDataProvider。 |
| 戻り値 | 説明 |
| Disposable | TreeDataProviderの登録を解除するDisposable。 |
registerUriHandler(handler: UriHandler): 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。 |
registerWebviewPanelSerializer(viewType: string, serializer: WebviewPanelSerializer<unknown>): Disposable
ウェブビューパネルシリアライザーを登録します。
復元をサポートする拡張機能は、"onWebviewPanel:viewType"アクティベーションイベントを持ち、アクティベーション中にregisterWebviewPanelSerializerが呼び出されることを確認する必要があります。
特定のviewTypeに対して一度に登録できるシリアライザーは1つだけです。
| パラメーター | 説明 |
|---|---|
| viewType: string | シリアル化できるウェブビューパネルのタイプ。 |
| serializer: WebviewPanelSerializer<unknown> | ウェブビューシリアライザー。 |
| 戻り値 | 説明 |
| Disposable | シリアライザーの登録を解除するDisposableです。 |
registerWebviewViewProvider(viewId: string, provider: WebviewViewProvider, options?: {webviewOptions: {retainContextWhenHidden: boolean}}): Disposable
webviewビューの新しいプロバイダーを登録します。
| パラメーター | 説明 |
|---|---|
| viewId: string | ビューの一意なID。これはpackage.jsonの |
| provider: WebviewViewProvider | webviewビューのプロバイダー。 |
| options?: {webviewOptions: {retainContextWhenHidden: boolean}} | |
| 戻り値 | 説明 |
| Disposable | プロバイダーの登録を解除するDisposable。 |
setStatusBarMessage(text: string, hideAfterTimeout: number): Disposable
ステータスバーにメッセージを設定します。これは、より強力なステータスバーのアイテムの省略形です。
| パラメーター | 説明 |
|---|---|
| text: string | 表示するメッセージで、ステータスバーのアイテムのようにアイコンの置換をサポートします。 |
| hideAfterTimeout: number | メッセージが破棄されるまでのタイムアウト(ミリ秒)。 |
| 戻り値 | 説明 |
| Disposable | ステータスバーメッセージを非表示にするDisposable。 |
setStatusBarMessage(text: string, hideWhenDone: Thenable<any>): Disposable
ステータスバーにメッセージを設定します。これは、より強力なステータスバーのアイテムの省略形です。
| パラメーター | 説明 |
|---|---|
| text: string | 表示するメッセージで、ステータスバーのアイテムのようにアイコンの置換をサポートします。 |
| hideWhenDone: Thenable<any> | 完了時(解決または拒否)にメッセージが破棄されるThenable。 |
| 戻り値 | 説明 |
| Disposable | ステータスバーメッセージを非表示にするDisposable。 |
setStatusBarMessage(text: string): Disposable
ステータスバーにメッセージを設定します。これは、より強力なステータスバーのアイテムの省略形です。
注意: ステータスバーメッセージはスタックされ、不要になったら破棄する必要があります。
| パラメーター | 説明 |
|---|---|
| text: string | 表示するメッセージで、ステータスバーのアイテムのようにアイコンの置換をサポートします。 |
| 戻り値 | 説明 |
| Disposable | ステータスバーメッセージを非表示にするDisposable。 |
showErrorMessage<T extends string>(message: string, ...items: T[]): Thenable<T | undefined>
エラーメッセージを表示します。
| パラメーター | 説明 |
|---|---|
| message: string | 表示するメッセージ。 |
| ...items: T[] | メッセージ内でアクションとしてレンダリングされるアイテムのセット。 |
| 戻り値 | 説明 |
| Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showErrorMessage<T extends string>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
エラーメッセージを表示します。
| パラメーター | 説明 |
|---|---|
| message: string | 表示するメッセージ。 |
| options: MessageOptions | メッセージの動作を設定します。 |
| ...items: T[] | メッセージ内でアクションとしてレンダリングされるアイテムのセット。 |
| 戻り値 | 説明 |
| Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showErrorMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T | undefined>
エラーメッセージを表示します。
| パラメーター | 説明 |
|---|---|
| message: string | 表示するメッセージ。 |
| ...items: T[] | メッセージ内でアクションとしてレンダリングされるアイテムのセット。 |
| 戻り値 | 説明 |
| Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showErrorMessage<T extends MessageItem>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
エラーメッセージを表示します。
| パラメーター | 説明 |
|---|---|
| message: string | 表示するメッセージ。 |
| options: MessageOptions | メッセージの動作を設定します。 |
| ...items: T[] | メッセージ内でアクションとしてレンダリングされるアイテムのセット。 |
| 戻り値 | 説明 |
| Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showInformationMessage<T extends string>(message: string, ...items: T[]): Thenable<T | undefined>
ユーザーに情報メッセージを表示します。オプションで、クリック可能なボタンとして表示されるアイテムの配列を提供します。
| パラメーター | 説明 |
|---|---|
| message: string | 表示するメッセージ。 |
| ...items: T[] | メッセージ内でアクションとしてレンダリングされるアイテムのセット。 |
| 戻り値 | 説明 |
| Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showInformationMessage<T extends string>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
ユーザーに情報メッセージを表示します。オプションで、クリック可能なボタンとして表示されるアイテムの配列を提供します。
| パラメーター | 説明 |
|---|---|
| message: string | 表示するメッセージ。 |
| options: MessageOptions | メッセージの動作を設定します。 |
| ...items: T[] | メッセージ内でアクションとしてレンダリングされるアイテムのセット。 |
| 戻り値 | 説明 |
| Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showInformationMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T | undefined>
情報メッセージを表示します。
| パラメーター | 説明 |
|---|---|
| message: string | 表示するメッセージ。 |
| ...items: T[] | メッセージ内でアクションとしてレンダリングされるアイテムのセット。 |
| 戻り値 | 説明 |
| Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showInformationMessage<T extends MessageItem>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
情報メッセージを表示します。
| パラメーター | 説明 |
|---|---|
| message: string | 表示するメッセージ。 |
| options: MessageOptions | メッセージの動作を設定します。 |
| ...items: T[] | メッセージ内でアクションとしてレンダリングされるアイテムのセット。 |
| 戻り値 | 説明 |
| Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showInputBox(options?: InputBoxOptions, token?: CancellationToken): Thenable<string | undefined>
ユーザーに入力を求める入力ボックスを開きます。
入力ボックスがキャンセルされた場合(例: ESCキーを押した場合)、返される値はundefinedになります。それ以外の場合、返される値はユーザーが入力した文字列、またはユーザーが何も入力せずにOKで入力ボックスを閉じたら空の文字列になります。
| パラメーター | 説明 |
|---|---|
| options?: InputBoxOptions | 入力ボックスの動作を設定します。 |
| token?: CancellationToken | キャンセルを通知するために使用できるトークン。 |
| 戻り値 | 説明 |
| Thenable<string | undefined> | ユーザーが提供した文字列、または閉じた場合は |
showNotebookDocument(document: NotebookDocument, options?: NotebookDocumentShowOptions): Thenable<NotebookEditor>
指定されたNotebookDocumentをノートブックエディターで表示します。
| パラメーター | 説明 |
|---|---|
| document: NotebookDocument | 表示するテキストドキュメント。 |
| options?: NotebookDocumentShowOptions | ノートブックエディターの表示動作を設定するためのエディターオプション。 |
| 戻り値 | 説明 |
| Thenable<NotebookEditor> | ノートブックエディターに解決されるPromise。 |
showOpenDialog(options?: OpenDialogOptions): Thenable<Uri[] | undefined>
ファイルを開く目的でファイルを選択できるファイルを開くダイアログをユーザーに表示します。
| パラメーター | 説明 |
|---|---|
| options?: OpenDialogOptions | ダイアログを制御するオプション。 |
| 戻り値 | 説明 |
| Thenable<Uri[] | undefined> | 選択されたリソース、または |
showQuickPick(items: readonly string[] | Thenable<readonly string[]>, options: QuickPickOptions & {canPickMany: true}, token?: CancellationToken): Thenable<string[] | undefined>
複数の選択を可能にする選択リストを表示します。
| パラメーター | 説明 |
|---|---|
| items: readonly string[] | Thenable<readonly string[]> | 文字列の配列、または文字列の配列に解決されるPromise。 |
| options: QuickPickOptions & {canPickMany: true} | 選択リストの動作を設定します。 |
| token?: CancellationToken | キャンセルを通知するために使用できるトークン。 |
| 戻り値 | 説明 |
| Thenable<string[] | undefined> | 選択されたアイテム、または |
showQuickPick(items: readonly string[] | Thenable<readonly string[]>, options?: QuickPickOptions, token?: CancellationToken): Thenable<string | undefined>
選択リストを表示します。
| パラメーター | 説明 |
|---|---|
| items: readonly string[] | Thenable<readonly string[]> | 文字列の配列、または文字列の配列に解決されるPromise。 |
| options?: QuickPickOptions | 選択リストの動作を設定します。 |
| token?: CancellationToken | キャンセルを通知するために使用できるトークン。 |
| 戻り値 | 説明 |
| Thenable<string | undefined> | 選択、または |
showQuickPick<T extends QuickPickItem>(items: readonly T[] | Thenable<readonly T[]>, options: QuickPickOptions & {canPickMany: true}, token?: CancellationToken): Thenable<T[] | undefined>
複数の選択を可能にする選択リストを表示します。
| パラメーター | 説明 |
|---|---|
| items: readonly T[] | Thenable<readonly T[]> | アイテムの配列、またはアイテムの配列に解決されるPromise。 |
| options: QuickPickOptions & {canPickMany: true} | 選択リストの動作を設定します。 |
| token?: CancellationToken | キャンセルを通知するために使用できるトークン。 |
| 戻り値 | 説明 |
| Thenable<T[] | undefined> | 選択されたアイテム、または |
showQuickPick<T extends QuickPickItem>(items: readonly T[] | Thenable<readonly T[]>, options?: QuickPickOptions, token?: CancellationToken): Thenable<T | undefined>
選択リストを表示します。
| パラメーター | 説明 |
|---|---|
| items: readonly T[] | Thenable<readonly T[]> | アイテムの配列、またはアイテムの配列に解決されるPromise。 |
| options?: QuickPickOptions | 選択リストの動作を設定します。 |
| token?: CancellationToken | キャンセルを通知するために使用できるトークン。 |
| 戻り値 | 説明 |
| Thenable<T | undefined> | 選択されたアイテム、または |
showSaveDialog(options?: SaveDialogOptions): Thenable<Uri | undefined>
ファイルを保存する目的でファイルを選択できるファイル保存ダイアログをユーザーに表示します。
| パラメーター | 説明 |
|---|---|
| options?: SaveDialogOptions | ダイアログを制御するオプション。 |
| 戻り値 | 説明 |
| Thenable<Uri | undefined> | 選択されたリソース、または |
showTextDocument(document: TextDocument, column?: ViewColumn, preserveFocus?: boolean): Thenable<TextEditor>
指定されたドキュメントをテキストエディターで表示します。カラムを指定して、エディターの表示場所を制御できます。アクティブエディターが変更される可能性があります。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | 表示するテキストドキュメント。 |
| column?: ViewColumn | エディターを表示するビューカラム。デフォルトはアクティブなカラムです。存在しないカラムは、ViewColumn.Nineの最大値まで必要に応じて作成されます。ViewColumn.Besideを使用して、現在アクティブなエディターの横にエディターを開きます。 |
| preserveFocus?: boolean |
|
| 戻り値 | 説明 |
| Thenable<TextEditor> | エディターに解決されるPromise。 |
showTextDocument(document: TextDocument, options?: TextDocumentShowOptions): Thenable<TextEditor>
指定されたドキュメントをテキストエディターで表示します。オプションを指定して、表示されるエディターのオプションを制御できます。アクティブエディターが変更される可能性があります。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | 表示するテキストドキュメント。 |
| options?: TextDocumentShowOptions | エディターの表示動作を設定するためのエディターオプション。 |
| 戻り値 | 説明 |
| Thenable<TextEditor> | エディターに解決されるPromise。 |
showTextDocument(uri: Uri, options?: TextDocumentShowOptions): Thenable<TextEditor>
openTextDocument(uri).then(document => showTextDocument(document, options))の省略形。
| パラメーター | 説明 |
|---|---|
| uri: Uri | リソース識別子。 |
| options?: TextDocumentShowOptions | エディターの表示動作を設定するためのエディターオプション。 |
| 戻り値 | 説明 |
| Thenable<TextEditor> | エディターに解決されるPromise。 |
showWarningMessage<T extends string>(message: string, ...items: T[]): Thenable<T | undefined>
警告メッセージを表示します。
| パラメーター | 説明 |
|---|---|
| message: string | 表示するメッセージ。 |
| ...items: T[] | メッセージ内でアクションとしてレンダリングされるアイテムのセット。 |
| 戻り値 | 説明 |
| Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showWarningMessage<T extends string>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
警告メッセージを表示します。
| パラメーター | 説明 |
|---|---|
| message: string | 表示するメッセージ。 |
| options: MessageOptions | メッセージの動作を設定します。 |
| ...items: T[] | メッセージ内でアクションとしてレンダリングされるアイテムのセット。 |
| 戻り値 | 説明 |
| Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showWarningMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T | undefined>
警告メッセージを表示します。
| パラメーター | 説明 |
|---|---|
| message: string | 表示するメッセージ。 |
| ...items: T[] | メッセージ内でアクションとしてレンダリングされるアイテムのセット。 |
| 戻り値 | 説明 |
| Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showWarningMessage<T extends MessageItem>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
警告メッセージを表示します。
| パラメーター | 説明 |
|---|---|
| message: string | 表示するメッセージ。 |
| options: MessageOptions | メッセージの動作を設定します。 |
| ...items: T[] | メッセージ内でアクションとしてレンダリングされるアイテムのセット。 |
| 戻り値 | 説明 |
| Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showWorkspaceFolderPick(options?: WorkspaceFolderPickOptions): Thenable<WorkspaceFolder | undefined>
ワークスペースフォルダーの選択リストを表示します。フォルダーが開かれていない場合はundefinedを返します。
| パラメーター | 説明 |
|---|---|
| options?: WorkspaceFolderPickOptions | ワークスペースフォルダーリストの動作を設定します。 |
| 戻り値 | 説明 |
| Thenable<WorkspaceFolder | undefined> | ワークスペースフォルダー、または |
withProgress<R>(options: ProgressOptions, task: (progress: Progress<{increment: number, message: string}>, token: CancellationToken) => Thenable<R>): Thenable<R>
エディターに進行状況を表示します。進行状況は、指定されたコールバックの実行中、およびそれが返したPromiseが解決または拒否されるまで表示されます。進行状況を表示する場所(およびその他の詳細)は、渡されたProgressOptionsで定義されます。
| パラメーター | 説明 |
|---|---|
| options: ProgressOptions | 進行状況を表示するために使用するオプションを記述するProgressOptionsオブジェクト(その場所など) |
| task: (progress: Progress<{increment: number, message: string}>, token: CancellationToken) => Thenable<R> | Promiseを返すコールバック。提供されたProgressオブジェクトで進行状況の状態を報告できます。 離散的な進行状況を報告するには、 ユーザーによって操作がキャンセルされたかどうかを監視するには、提供されたCancellationTokenを使用します。現在、長時間の実行操作をキャンセルするためのキャンセルボタンを表示することをサポートしているのは |
| 戻り値 | 説明 |
| Thenable<R> | タスクコールバックが返したthenable。 |
withScmProgress<R>(task: (progress: Progress<number>) => Thenable<R>): Thenable<R>
指定されたコールバックの実行中、およびそれが返したPromiseが解決または拒否されるまで、ソース管理ビューレットに進行状況を表示します。
- 非推奨 - 代わりに
withProgressを使用してください。
workspace
現在のワークスペースを扱うための名前空間。ワークスペースとは、エディターウィンドウ(インスタンス)で開かれている1つ以上のフォルダーの集合体です。
ワークスペースなしでエディターを開くことも可能です。例えば、プラットフォームのファイルメニューからファイルを選択して新しいエディターウィンドウを開く場合、ワークスペース内にはいません。このモードでは、エディターの一部の機能は制限されますが、テキストファイルを開いて編集することはできます。
ワークスペースの概念の詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。
ワークスペースは、fsイベントのリッスンとファイルの検索をサポートしています。どちらもパフォーマンスが良く、エディタープロセス外で実行されるため、nodejsの同等物を使用する代わりに常に使用する必要があります。
変数
fs: FileSystem
ローカルファイルおよびリモートファイルと対話できるファイルシステムインスタンス。例: vscode.workspace.fs.readDirectory(someUri)はディレクトリのすべてのエントリを取得でき、vscode.workspace.fs.stat(anotherUri)はファイルのメタデータを返します。
trueの場合、ユーザーはワークスペースのコンテンツを明示的に信頼しています。
ワークスペースの名前。ワークスペースが開かれていない場合はundefined。
ワークスペースの概念の詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。
notebookDocuments: readonly NotebookDocument[]
現在エディターに認識されているすべてのノートブックドキュメント。
workspaceFoldersの最初のエントリのURIをstringとして返します。最初のエントリがない場合はundefined。
ワークスペースの詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。
- 非推奨 - 代わりにworkspaceFoldersを使用してください。
textDocuments: readonly TextDocument[]
現在エディターに認識されているすべてのテキストドキュメント。
workspaceFile: Uri | undefined
ワークスペースファイルの場所、例えば
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()を使用できます。これは、単一のフォルダーが開かれている場合と、タイトルなしまたは保存済みのワークスペースの場合の両方で機能します。
workspaceFolders: readonly WorkspaceFolder[] | undefined
エディターで開かれているワークスペースフォルダーのリスト (0-N)。ワークスペースが開かれていない場合はundefined。
ワークスペースの詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。
イベント
onDidChangeConfiguration: Event<ConfigurationChangeEvent>
構成が変更されたときに発行されるイベント。
onDidChangeNotebookDocument: Event<NotebookDocumentChangeEvent>
ノートブックが変更されたときに発行されるイベント。
onDidChangeTextDocument: Event<TextDocumentChangeEvent>
テキストドキュメントが変更されたときに発行されるイベント。これは通常、コンテンツが変更されたときに発生しますが、ダーティ状態が変更されたときなど、他のことが変更されたときにも発生します。
onDidChangeWorkspaceFolders: Event<WorkspaceFoldersChangeEvent>
ワークスペースフォルダーが追加または削除されたときに発行されるイベント。
注意: 最初のワークスペースフォルダーが追加、削除、または変更された場合、このイベントは発生しません。これは、その場合、現在実行中の拡張機能(このイベントをリッスンする拡張機能を含む)が終了して再起動され、(非推奨の)rootPathプロパティが最初のワークスペースフォルダーを指すように更新されるためです。
onDidCloseNotebookDocument: Event<NotebookDocument>
ノートブックが破棄されたときに発行されるイベント。
注意1: エディタータブが閉じられたときにこのイベントが発生するという保証はありません。
注意2: ノートブックは開いているがエディターに表示されていない場合があります。これは、エディターに表示されていないノートブックに対してこのイベントが発生する可能性があることを意味します。
onDidCloseTextDocument: Event<TextDocument>
テキストドキュメントが破棄されたとき、またはテキストドキュメントの言語IDが変更されたときに発行されるイベント。
注意1: エディタータブが閉じられたときにこのイベントが発生するという保証はありません。エディターが変更されたことを知るには、onDidChangeVisibleTextEditorsイベントを使用してください。
注意2: ドキュメントは開いているがエディターに表示されていない場合があります。これは、エディターに表示されていないドキュメントに対してこのイベントが発生する可能性があることを意味します。
onDidCreateFiles: Event<FileCreateEvent>
ファイルが作成されたときに発行されるイベント。
注: このイベントは、エクスプローラーからのファイルの作成やworkspace.applyEdit-APIからのファイルの作成など、ユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが変更された場合(たとえば、別のアプリケーションによってトリガーされた場合)やworkspace.fs-APIを使用している場合は発生しません。
onDidDeleteFiles: Event<FileDeleteEvent>
ファイルが削除されたときに発行されるイベント。
注意1: このイベントは、エクスプローラーからのファイルの削除、またはworkspace.applyEdit-APIからのファイルの削除など、ユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが変更された場合(たとえば、別のアプリケーションによってトリガーされた場合)やworkspace.fs-APIを使用している場合は発生しません。
注意2: 子を含むフォルダーを削除すると、イベントは1つしか発生しません。
onDidGrantWorkspaceTrust: Event<void>
現在のワークスペースが信頼されたときに発生するイベント。
onDidOpenNotebookDocument: Event<NotebookDocument>
ノートブックが開かれたときに発行されるイベント。
onDidOpenTextDocument: Event<TextDocument>
テキストドキュメントが開かれたとき、またはテキストドキュメントの言語IDが変更されたときに発行されるイベント。
表示されているテキストドキュメントが開かれたときにイベントリスナーを追加するには、window名前空間のTextEditorイベントを使用します。次の点に注意してください。
- イベントは、ドキュメントがアクティブなテキストエディターで更新される前に発行されます。
- テキストドキュメントが既に開いている場合(例: 別の表示されているテキストエディターで開いている場合)、このイベントは発行されません。
onDidRenameFiles: Event<FileRenameEvent>
ファイルの名前が変更されたときに発行されるイベント。
注意1: このイベントは、エクスプローラーからのファイル名の変更、またはworkspace.applyEdit-APIからのファイル名の変更など、ユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが変更された場合(たとえば、別のアプリケーションによってトリガーされた場合)やworkspace.fs-APIを使用している場合は発生しません。
注意2: 子を含むフォルダーの名前が変更された場合、イベントは1つしか発生しません。
onDidSaveNotebookDocument: Event<NotebookDocument>
ノートブックが保存されたときに発行されるイベント。
onDidSaveTextDocument: Event<TextDocument>
テキストドキュメントがディスクに保存されたときに発行されるイベント。
onWillCreateFiles: Event<FileWillCreateEvent>
ファイルが作成されるときに発行されるイベント。
注意1: このイベントは、エクスプローラーからのファイルの作成、またはworkspace.applyEdit-APIからのファイルの作成など、ユーザーのジェスチャーによってトリガーされます。ディスク上のファイルが変更された場合(たとえば、別のアプリケーションによってトリガーされた場合)やworkspace.fs-APIを使用している場合は、このイベントは発生しません。
注意2: このイベントが発行されたとき、作成中のファイルへの編集は適用できません。
onWillDeleteFiles: Event<FileWillDeleteEvent>
ファイルが削除されるときに発行されるイベント。
注意1: このイベントは、エクスプローラーからのファイルの削除、またはworkspace.applyEdit-APIからのファイルの削除など、ユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが変更された場合(たとえば、別のアプリケーションによってトリガーされた場合)やworkspace.fs-APIを使用している場合は発生しません。
注意2: 子を含むフォルダーを削除すると、イベントは1つしか発生しません。
onWillRenameFiles: Event<FileWillRenameEvent>
ファイルの名前が変更されるときに発行されるイベント。
注意1: このイベントは、エクスプローラーからのファイル名の変更、またはworkspace.applyEdit-APIからのファイル名の変更など、ユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが変更された場合(たとえば、別のアプリケーションによってトリガーされた場合)やworkspace.fs-APIを使用している場合は発生しません。
注意2: 子を含むフォルダーの名前が変更された場合、イベントは1つしか発生しません。
onWillSaveNotebookDocument: Event<NotebookDocumentWillSaveEvent>
ノートブックドキュメントがディスクに保存されるときに発行されるイベント。
注意1: 購読者は非同期作業を登録することで保存を遅らせることができます。データ整合性のために、エディターはこのイベントを発火せずに保存する場合があります。たとえば、ダーティなファイルでシャットダウンする場合などです。
注意2: 購読者は順次呼び出され、非同期作業を登録することで保存を遅らせることができます。不正なリスナーに対する保護は次のように実装されています。
- すべてのリスナーが共有する全体的な時間予算があり、それが尽きるとそれ以上リスナーは呼び出されません。
- 長時間かかるリスナーや頻繁にエラーを生成するリスナーは、それ以上呼び出されません。
現在の閾値は、全体的な時間予算として1.5秒で、リスナーは無視されるまでに3回不正な動作をすることができます。
onWillSaveTextDocument: Event<TextDocumentWillSaveEvent>
テキストドキュメントがディスクに保存されるときに発行されるイベント。
注意1: 購読者は非同期作業を登録することで保存を遅らせることができます。データ整合性のために、エディターはこのイベントを発火せずに保存する場合があります。たとえば、ダーティなファイルでシャットダウンする場合などです。
注意2: 購読者は順次呼び出され、非同期作業を登録することで保存を遅らせることができます。不正なリスナーに対する保護は次のように実装されています。
- すべてのリスナーが共有する全体的な時間予算があり、それが尽きるとそれ以上リスナーは呼び出されません。
- 長時間かかるリスナーや頻繁にエラーを生成するリスナーは、それ以上呼び出されません。
現在の閾値は、全体的な時間予算として1.5秒で、リスナーは無視されるまでに3回不正な動作をすることができます。
関数
applyEdit(edit: WorkspaceEdit, metadata?: WorkspaceEditMetadata): Thenable<boolean>
指定されたワークスペース編集によって定義されたとおりに、1つ以上のリソースを変更したり、リソースを作成、削除、名前変更したりします。
ワークスペース編集のすべての変更は、追加されたのと同じ順序で適用されます。同じ位置で複数のテキスト挿入が行われた場合、これらの文字列は、リソースの編集と交互に行われない限り、"挿入"が行われた順序で結果のテキストに表示されます。「ファイルaを削除」→「ファイルaにテキストを挿入」のような無効なシーケンスは、操作の失敗を引き起こします。
テキスト編集のみで構成されるワークスペース編集を適用する場合、「すべてか無か」戦略が使用されます。リソースの作成または削除を含むワークスペース編集は操作を中止します。例えば、1つの編集が失敗した場合、連続する編集は試行されません。
| パラメーター | 説明 |
|---|---|
| edit: WorkspaceEdit | ワークスペース編集。 |
| metadata?: WorkspaceEditMetadata | 編集のオプションのメタデータ。 |
| 戻り値 | 説明 |
| Thenable<boolean> | 編集が適用できたときに解決されるthenable。 |
asRelativePath(pathOrUri: string | Uri, includeWorkspaceFolder?: boolean): string
ワークスペースフォルダーまたは複数のフォルダーに対する相対パスを返します。
ワークスペースフォルダーがない場合、またはパスがそれらに含まれていない場合、入力が返されます。
createFileSystemWatcher(globPattern: GlobPattern, ignoreCreateEvents?: boolean, ignoreChangeEvents?: boolean, ignoreDeleteEvents?: boolean): FileSystemWatcher
提供されたパラメータに応じて、ファイルイベント (作成、変更、削除) で通知されるファイルシステムウォッチャーを作成します。
デフォルトでは、開いているすべてのワークスペースフォルダーがファイルの変更について再帰的に監視されます。
監視する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 | 新しいファイルシステムウォッチャーインスタンス。不要になったら破棄する必要があります。 |
decode(content: Uint8Array): Thenable<string>
Uint8Arrayからstringにコンテンツをデコードします。エンコーディングが適切に適用されるように、コンテンツ全体を一度に提供する必要があります。このメソッドをチャンクでコンテンツをデコードするために使用しないでください。正しくない結果につながる可能性があります。
設定とバッファのコンテンツ(バイトオーダーマークなど)に基づいてエンコーディングを選択します。
注意: エンコーディングでサポートされていないコンテンツをデコードした場合、結果には必要に応じて置換文字が含まれる場合があります。
- throws - このメソッドは、コンテンツがバイナリの場合にエラーをスローします。
| パラメーター | 説明 |
|---|---|
| content: Uint8Array | デコードするテキストコンテンツを |
| 戻り値 | 説明 |
| Thenable<string> | デコードされた |
decode(content: Uint8Array, options: {encoding: string}): Thenable<string>
提供されたエンコーディングを使用して、Uint8Arrayからstringにコンテンツをデコードします。エンコーディングが適切に適用されるように、コンテンツ全体を一度に提供する必要があります。このメソッドをチャンクでコンテンツをデコードするために使用しないでください。正しくない結果につながる可能性があります。
注意: エンコーディングでサポートされていないコンテンツをデコードした場合、結果には必要に応じて置換文字が含まれる場合があります。
- throws - このメソッドは、コンテンツがバイナリの場合にエラーをスローします。
| パラメーター | 説明 |
|---|---|
| content: Uint8Array | デコードするテキストコンテンツを |
| options: {encoding: string} | エンコーディングを選択するための追加のコンテキスト。 |
| 戻り値 | 説明 |
| Thenable<string> | デコードされた |
decode(content: Uint8Array, options: {uri: Uri}): Thenable<string>
Uint8Arrayからstringにコンテンツをデコードします。エンコーディングが適切に適用されるように、コンテンツ全体を一度に提供する必要があります。このメソッドをチャンクでコンテンツをデコードするために使用しないでください。正しくない結果につながる可能性があります。
エンコーディングは、設定とバッファのコンテンツ(バイトオーダーマークなど)に基づいて選択されます。
注意: エンコーディングでサポートされていないコンテンツをデコードした場合、結果には必要に応じて置換文字が含まれる場合があります。
- throws - このメソッドは、コンテンツがバイナリの場合にエラーをスローします。
| パラメーター | 説明 |
|---|---|
| content: Uint8Array | デコードするコンテンツを |
| options: {uri: Uri} | エンコーディングを選択するための追加のコンテキスト。 |
| 戻り値 | 説明 |
| Thenable<string> | デコードされた |
encode(content: string): Thenable<Uint8Array>
stringのコンテンツをUint8Arrayにエンコードします。
設定に基づいてエンコーディングを選択します。
| パラメーター | 説明 |
|---|---|
| content: string |
|
| 戻り値 | 説明 |
| Thenable<Uint8Array> | エンコードされた |
encode(content: string, options: {encoding: string}): Thenable<Uint8Array>
提供されたエンコーディングを使用して、stringのコンテンツをUint8Arrayにエンコードします。
| パラメーター | 説明 |
|---|---|
| content: string |
|
| options: {encoding: string} | エンコーディングを選択するための追加のコンテキスト。 |
| 戻り値 | 説明 |
| Thenable<Uint8Array> | エンコードされた |
encode(content: string, options: {uri: Uri}): Thenable<Uint8Array>
stringのコンテンツをUint8Arrayにエンコードします。
エンコーディングは設定に基づいて選択されます。
| パラメーター | 説明 |
|---|---|
| content: string |
|
| options: {uri: Uri} | エンコーディングを選択するための追加のコンテキスト。 |
| 戻り値 | 説明 |
| Thenable<Uint8Array> | エンコードされた |
findFiles(include: GlobPattern, exclude?: GlobPattern, maxResults?: number, token?: CancellationToken): Thenable<Uri[]>
| パラメーター | 説明 |
|---|---|
| include: GlobPattern | 検索するファイルを定義するグロブパターン。グロブパターンは、結果の一致ファイルのパスと、それらのワークスペースからの相対パスに対してマッチングされます。ワークスペースフォルダーに検索結果を制限するには、相対パターンを使用します。 |
| exclude?: GlobPattern | 除外するファイルとフォルダーを定義するグロブパターン。グロブパターンは、結果の一致ファイルのパスと、それらのワークスペースからの相対パスに対してマッチングされます。 |
| maxResults?: number | 結果の上限。 |
| token?: CancellationToken | 基になる検索エンジンにキャンセルを通知するために使用できるトークン。 |
| 戻り値 | 説明 |
| Thenable<Uri[]> | リソース識別子の配列に解決されるthenable。ワークスペースフォルダーが開かれていない場合は結果を返しません。 |
getConfiguration(section?: string, scope?: ConfigurationScope): WorkspaceConfiguration
ワークスペース設定オブジェクトを取得します。
セクション識別子が提供された場合、設定のその部分のみが返されます。セクション識別子のドットは子アクセスとして解釈されます。例: { myExt: { setting: { doIt: true }}} と getConfiguration('myExt.setting').get('doIt') === true。
スコープが提供された場合、そのスコープに限定された設定が返されます。スコープはリソースまたは言語識別子、またはその両方になります。
| パラメーター | 説明 |
|---|---|
| section?: string | ドット区切りの識別子。 |
| scope?: ConfigurationScope | 設定を要求するスコープ。 |
| 戻り値 | 説明 |
| WorkspaceConfiguration | 完全な構成またはそのサブセット。 |
getWorkspaceFolder(uri: Uri): WorkspaceFolder | undefined
指定されたURIを含むワークスペースフォルダーを返します。
- 指定されたURIがどのワークスペースフォルダーとも一致しない場合は
undefinedを返します。 - 指定されたURIがワークスペースフォルダー自体である場合は入力を返します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | URI。 |
| 戻り値 | 説明 |
| WorkspaceFolder | undefined | ワークスペースフォルダー、または |
openNotebookDocument(uri: Uri): Thenable<NotebookDocument>
ノートブックを開きます。このノートブックが既にロードされている場合はすぐに返されます。それ以外の場合、ノートブックがロードされ、onDidOpenNotebookDocumentイベントが発生します。
注意: 返されるノートブックのライフサイクルはエディターが所有し、拡張機能は所有しません。つまり、onDidCloseNotebookDocumentイベントはいつでも発生する可能性があります。
注意: ノートブックを開いてもノートブックエディターは表示されません。この関数はノートブックエディターに表示できるノートブックドキュメントを返すだけであり、他の用途にも使用できます。
| パラメーター | 説明 |
|---|---|
| uri: Uri | 開くリソース。 |
| 戻り値 | 説明 |
| Thenable<NotebookDocument> | ノートブックに解決されるPromise。 |
openNotebookDocument(notebookType: string, content?: NotebookData): Thenable<NotebookDocument>
タイトルなしのノートブックを開きます。ドキュメントを保存する際、エディターはユーザーにファイルパスを尋ねます。
| パラメーター | 説明 |
|---|---|
| notebookType: string | 使用すべきノートブックの種類。 |
| content?: NotebookData | ノートブックの初期コンテンツ。 |
| 戻り値 | 説明 |
| Thenable<NotebookDocument> | ノートブックに解決されるPromise。 |
openTextDocument(uri: Uri, options?: {encoding: string}): Thenable<TextDocument>
ドキュメントを開きます。このドキュメントがすでに開いている場合はすぐに返されます。それ以外の場合、ドキュメントがロードされ、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(path: string, options?: {encoding: string}): Thenable<TextDocument>
openTextDocument(Uri.file(path))の省略形。
| パラメーター | 説明 |
|---|---|
| path: string | ディスク上のファイルのパス。 |
| options?: {encoding: string} | |
| 戻り値 | 説明 |
| Thenable<TextDocument> | ドキュメントに解決されるPromise。 |
openTextDocument(options?: {content: string, encoding: string, language: string}): Thenable<TextDocument>
タイトルなしのテキストドキュメントを開きます。ドキュメントを保存する際、エディターはユーザーにファイルパスを尋ねます。optionsパラメータを使用すると、ドキュメントの言語やコンテンツを指定できます。
| パラメーター | 説明 |
|---|---|
| options?: {content: string, encoding: string, language: string} | ドキュメントの作成方法を制御するオプション。 |
| 戻り値 | 説明 |
| Thenable<TextDocument> | ドキュメントに解決されるPromise。 |
registerFileSystemProvider(scheme: string, provider: FileSystemProvider, options?: {isCaseSensitive: boolean, isReadonly: boolean | MarkdownString}): Disposable
指定されたスキーム(例: ftp)のファイルシステムプロバイダーを登録します。
スキームごとに1つのプロバイダーしか存在できません。スキームが別のプロバイダーによって取得されている場合や予約されている場合はエラーがスローされます。
| パラメーター | 説明 |
|---|---|
| scheme: string | プロバイダーが登録するURIスキーム。 |
| provider: FileSystemProvider | ファイルシステムプロバイダー。 |
| options?: {isCaseSensitive: boolean, isReadonly: boolean | MarkdownString} | プロバイダーに関する不変のメタデータ。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerNotebookSerializer(notebookType: string, serializer: NotebookSerializer, options?: NotebookDocumentContentOptions): Disposable
ノートブックシリアライザーを登録します。
ノートブックシリアライザーは、notebooks拡張ポイントを通じて貢献する必要があります。ノートブックファイルを開くと、エディターはonNotebook:<notebookType>アクティベーションイベントを送信し、拡張機能はそれに応じてシリアライザーを登録する必要があります。
| パラメーター | 説明 |
|---|---|
| notebookType: string | ノートブック。 |
| serializer: NotebookSerializer | ノートブックシリアライザー。 |
| options?: NotebookDocumentContentOptions | ノートブックのどの部分を永続化すべきかを定義するオプションのコンテキストオプション。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのシリアライザーの登録を解除するDisposable。 |
registerTaskProvider(type: string, provider: TaskProvider<Task>): Disposable
タスクプロバイダーを登録します。
- 非推奨 - 代わりに
tasks名前空間の対応する関数を使用してください。
| パラメーター | 説明 |
|---|---|
| type: string | このプロバイダーが登録されているタスクの種類。 |
| provider: TaskProvider<Task> | タスクプロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerTextDocumentContentProvider(scheme: string, provider: TextDocumentContentProvider): Disposable
テキストドキュメントコンテンツプロバイダーを登録します。
スキームごとに1つのプロバイダーのみが登録できます。
| パラメーター | 説明 |
|---|---|
| scheme: string | 登録するURIスキーム。 |
| provider: TextDocumentContentProvider | コンテンツプロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
save(uri: Uri): Thenable<Uri | undefined>
指定されたリソースによって識別されるエディターを保存し、結果のリソースを返します。保存が成功しなかった場合、または指定されたリソースを持つエディターが見つからなかった場合はundefinedを返します。
注意: 保存するには、提供されたリソースを持つエディターが開いている必要があります。
saveAll(includeUntitled?: boolean): Thenable<boolean>
変更されたすべてのファイルを保存します。
| パラメーター | 説明 |
|---|---|
| includeUntitled?: boolean | このセッション中に作成されたファイルも保存します。 |
| 戻り値 | 説明 |
| Thenable<boolean> | ファイルが保存されたときに解決する Thenable です。保存に失敗したファイルがある場合は |
saveAs(uri: Uri): Thenable<Uri | undefined>
指定されたリソースで識別されるエディターを、ユーザーが指定した新しいファイル名で保存し、結果のリソースを返します。保存が成功しなかった、キャンセルされた、または指定されたリソースを持つエディターが見つからなかった場合は undefined を返します。
注: 指定されたリソースを持つエディターが開いている必要があります。
updateWorkspaceFolders(start: number, deleteCount: number, ...workspaceFoldersToAdd: Array<{name: string, uri: Uri}>): boolean
このメソッドは、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 を呼び出すときに使用されるオプションです。
- 非推奨 - 代わりに AuthenticationGetSessionPresentationOptions を使用してください。
AuthenticationForceNewSessionOptions: AuthenticationGetSessionPresentationOptions
AuthenticationGetSessionOptions
AuthenticationProvider から AuthenticationSession を取得する際に使用されるオプション。
プロパティ
account?: AuthenticationSessionAccountInformation
セッションを取得したいアカウントです。これは、正しいセッションを作成するために認証プロバイダーに渡されます。
clearSessionPreference?: boolean
既存のセッション設定をクリアするかどうか。
複数のアカウントに同時にサインインできる認証プロバイダーの場合、getSession が呼び出されると、ユーザーは使用するアカウントを選択するよう求められます。この設定は、このフラグを指定して getSession が呼び出されるまで記憶されます。
注: この設定は拡張機能固有です。したがって、ある拡張機能が getSession を呼び出しても、別の拡張機能が getSession を呼び出した場合のセッション設定には影響しません。さらに、この設定は現在のワークスペースおよびグローバルに設定されます。これは、新しいワークスペースが最初は「グローバル」値を使用し、このフラグが指定されると、そのワークスペースの新しい値を設定できることを意味します。また、これは、新しいワークスペースがこのフラグを設定しても、既存のワークスペースが設定を失わないことを意味します。
デフォルトは false です。
createIfNone?: boolean | AuthenticationGetSessionPresentationOptions
一致するセッションがない場合にログインを実行するかどうか。
true の場合、ユーザーにサインインを求めるモーダルダイアログが表示されます。false の場合、アカウントアクティビティバーアイコンに番号付きバッジが表示されます。メニューに拡張機能のサインインエントリが追加されます。これにより、ユーザーに静かにサインインを促すことができます。
オプションを指定すると、追加のコンテキストが提供されたダイアログも表示されます。
一致するセッションがあるが、拡張機能がアクセス権を付与されていない場合、これを true に設定すると、すぐにモーダルダイアログが表示され、false の場合はアカウントアイコンに番号付きバッジが追加されます。
デフォルトは false です。
注: このオプションは silent と一緒に使用できません。
forceNewSession?: boolean | AuthenticationGetSessionPresentationOptions
すでにセッションが利用可能な場合でも再認証を試みるべきかどうか。
trueの場合、ユーザーに再度サインインを求めるモーダルダイアログが表示されます。これは主に、トークンが一部の認証を失ったために再発行する必要があるシナリオで使用されます。
オプションを指定すると、追加のコンテキストが提供されたダイアログも表示されます。
既存のセッションがなく、forceNewSession が true の場合、createIfNone と同じように動作します。
デフォルトは false です。
アカウントメニューにサインインの表示を表示するかどうか。
false の場合、ユーザーにはアカウントメニューにバッジが表示され、拡張機能のサインインオプションが表示されます。true の場合、表示は表示されません。
デフォルトは false です。
注: このオプションは、createIfNone など、ユーザーにプロンプトを表示する他のオプションとは一緒に使用できません。
AuthenticationGetSessionPresentationOptions
対話型オプション forceNewSession と createIfNone を指定して authentication.getSession を呼び出すときに使用されるオプション。
プロパティ
再認証を要求する際にユーザーに表示されるオプションのメッセージです。ユーザーに再認証を求める理由に関する追加のコンテキストを提供することで、ユーザーが承認する可能性を高めることができます。
AuthenticationProvider
サービスへの認証を実行するためのプロバイダーです。
イベント
onDidChangeSessions: Event<AuthenticationProviderAuthenticationSessionsChangeEvent>
セッションの配列が変更されたとき、またはセッション内のデータが変更されたときに発生する イベント です。
メソッド
createSession(scopes: readonly string[], options: AuthenticationProviderSessionOptions): Thenable<AuthenticationSession>
ユーザーにログインを促します。
ログインが成功した場合、onDidChangeSessions イベントが発生するはずです。
ログインに失敗した場合、拒否されたプロミスが返されるはずです。
プロバイダーが複数のアカウントをサポートしていないと指定している場合、これらのスコープに一致する既存のセッションがすでに存在する場合は、このメソッドは呼び出されるべきではありません。
| パラメーター | 説明 |
|---|---|
| scopes: readonly string[] | 新しいセッションが作成されるべきスコープ、つまりアクセス許可のリストです。 |
| options: AuthenticationProviderSessionOptions | セッション作成のための追加オプションです。 |
| 戻り値 | 説明 |
| Thenable<AuthenticationSession> | 認証セッションに解決されるプロミスです。 |
getSessions(scopes: readonly string[], options: AuthenticationProviderSessionOptions): Thenable<AuthenticationSession[]>
セッションのリストを取得します。
| パラメーター | 説明 |
|---|---|
| scopes: readonly string[] | スコープのオプションのリストです。指定された場合、返されるセッションはこれらのアクセス許可に一致する必要があります。そうでない場合は、すべてのセッションが返されるべきです。 |
| options: AuthenticationProviderSessionOptions | セッションを取得するための追加オプションです。 |
| 戻り値 | 説明 |
| Thenable<AuthenticationSession[]> | 認証セッションの配列に解決されるプロミスです。 |
removeSession(sessionId: string): Thenable<void>
セッション ID に対応するセッションを削除します。
削除が成功した場合、onDidChangeSessions イベントが発生するはずです。
セッションを削除できない場合、プロバイダーはエラーメッセージとともに拒否されるべきです。
| パラメーター | 説明 |
|---|---|
| sessionId: string | 削除するセッションの ID です。 |
| 戻り値 | 説明 |
| Thenable<void> |
AuthenticationProviderAuthenticationSessionsChangeEvent
AuthenticationSession が追加、削除、または変更されたときに発生する イベント です。
プロパティ
added: readonly AuthenticationSession[]
changed: readonly AuthenticationSession[]
変更された AuthenticationProvider の AuthenticationSessions です。セッションのデータが ID を除いて更新されたときにセッションが変更されます。この例としては、新しいアクセストークンがセッションに設定されるセッション更新があります。
removed: readonly AuthenticationSession[]
AuthenticationProviderInformation
AuthenticationProvider の基本情報
プロパティ
認証プロバイダーの一意の識別子です。
認証プロバイダーの人間が読める名前です。
AuthenticationProviderOptions
AuthenticationProvider を作成するためのオプションです。
プロパティ
supportsMultipleAccounts?: boolean
このプロバイダーで複数のアカウントに同時にサインインできるかどうか。指定されていない場合、デフォルトは false になります。
AuthenticationProviderSessionOptions
AuthenticationProvider.getSessions および AuthenticationProvider.createSession の呼び出しに渡されるオプション。
プロパティ
account?: AuthenticationSessionAccountInformation
尋ねられているアカウントです。これが渡された場合、プロバイダーはこのアカウントにのみ関連するセッションを返すことを試みるべきです。
AuthenticationSession
現在ログインしているユーザーのセッションを表します。
プロパティ
アクセストークン。
account: AuthenticationSessionAccountInformation
セッションに関連付けられたアカウント。
認証セッションの識別子。
セッションのアクセストークンによって付与された権限。利用可能なスコープは AuthenticationProvider によって定義されます。
AuthenticationSessionAccountInformation
AuthenticationSession に関連付けられたアカウントの情報。
プロパティ
アカウントの一意の識別子。
アカウントの人間が読める名前。
AuthenticationSessionsChangeEvent
AuthenticationSession が追加、削除、または変更されたときに発生する イベント です。
プロパティ
provider: AuthenticationProviderInformation
セッションが変更された AuthenticationProvider。
AuthenticationWwwAuthenticateRequest
WWW-Authenticate ヘッダー値に基づいてセッションを作成するためのパラメーターを表します。これは、API が追加の認証が必要であることを示す WWW-Authenticate ヘッダー付きで 401 を返す場合に使用されます。その詳細は、セッションを作成するために認証プロバイダーに渡されます。
- 注 - 認証プロバイダーは、チャレンジ、特にこの WWW-Authenticate 値内のチャレンジを処理することをサポートする必要があります。
- 注 - WWW-Authenticate の詳細については、https://developer.mozilla.org/docs/Web/HTTP/Reference/Headers/WWW-Authenticate を参照してください。
プロパティ
fallbackScopes?: readonly string[]
WWW-Authenticate ヘッダーにスコープが見つからない場合に使用するフォールバックスコープ。
このチャレンジをトリガーした生の WWW-Authenticate ヘッダー値。これは、必要なチャレンジ情報を抽出するために認証プロバイダーによって解析されます。
AutoClosingPair
開始文字列を入力すると、閉じ文字列が自動的に挿入される文字列のペアを記述します。
プロパティ
開始文字列を入力すると自動的に挿入される閉じ文字列。
notIn?: SyntaxTokenType[]
ペアが自動的に閉じられないトークンのセット。
閉じ文字列の自動挿入をトリガーする文字列。
BranchCoverage
StatementCoverage のブランチのコードカバレッジ情報を含みます。
コンストラクター
new BranchCoverage(executed: number | boolean, location?: Range | Position, label?: string): BranchCoverage
| パラメーター | 説明 |
|---|---|
| executed: number | boolean | このブランチが実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。ゼロまたは false の場合、ブランチはカバーされていないとマークされます。 |
| location?: Range | Position | ブランチの位置。 |
| label?: string | |
| 戻り値 | 説明 |
| BranchCoverage |
プロパティ
このブランチが実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。ゼロまたは false の場合、ブランチはカバーされていないとマークされます。
ブランチのラベルで、例えば「${label} ブランチは実行されなかった」という文脈で使用されます。
ブランチの位置。
Breakpoint
すべてのブレークポイント型の基底クラス。
コンストラクター
new Breakpoint(enabled?: boolean, condition?: string, hitCondition?: string, logMessage?: string): Breakpoint
新しいブレークポイントを作成します
| パラメーター | 説明 |
|---|---|
| enabled?: boolean | ブレークポイントが有効かどうか。 |
| condition?: string | 条件付きブレークポイントの式 |
| hitCondition?: string | ブレークポイントが無視されるヒット数を制御する式 |
| logMessage?: string | ブレークポイントにヒットしたときに表示されるログメッセージ |
| 戻り値 | 説明 |
| ブレークポイント |
プロパティ
条件付きブレークポイントのオプションの式。
ブレークポイントが有効かどうか。
ブレークポイントが無視されるヒット数を制御するオプションの式。
ブレークポイントの一意の ID。
このブレークポイントにヒットしたときにログに記録されるオプションのメッセージです。{} 内の埋め込み式は、デバッグアダプターによって補間されます。
BreakpointsChangeEvent
ブレークポイントのセットへの変更を記述するイベント。
プロパティ
added: readonly Breakpoint[]
追加されたブレークポイント。
changed: readonly Breakpoint[]
変更されたブレークポイント。
removed: readonly Breakpoint[]
削除されたブレークポイント。
CallHierarchyIncomingCall
メソッドやコンストラクターの呼び出し元など、着信呼び出しを表します。
コンストラクター
new CallHierarchyIncomingCall(item: CallHierarchyItem, fromRanges: Range[]): CallHierarchyIncomingCall
新しい呼び出しオブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| item: CallHierarchyItem | 呼び出しを行う項目。 |
| fromRanges: Range[] | 呼び出しが表示される範囲。 |
| 戻り値 | 説明 |
| CallHierarchyIncomingCall |
プロパティ
from: CallHierarchyItem
呼び出しを行う項目。
fromRanges: Range[]
呼び出しが表示される範囲。this.from で示される呼び出し元に対する相対パスです。
CallHierarchyItem
コールヒエラルキーのコンテキストにおける関数やコンストラクタなどのプログラミング構造を表します。
コンストラクター
new CallHierarchyItem(kind: SymbolKind, name: string, detail: string, uri: Uri, range: Range, selectionRange: Range): CallHierarchyItem
新しいコールヒエラルキー項目を作成します。
| パラメーター | 説明 |
|---|---|
| kind: SymbolKind | |
| name: string | |
| detail: string | |
| uri: Uri | |
| range: Range | |
| selectionRange: Range | |
| 戻り値 | 説明 |
| CallHierarchyItem |
プロパティ
この項目の詳細情報。例: 関数のシグネチャ。
kind: SymbolKind
この項目の種類。
この項目の名前。
range: Range
先頭/末尾の空白は含まないが、コメントやコードなどその他すべてを含む、このシンボルを囲む範囲。
selectionRange: Range
このシンボルが選択されて表示されるときに選択されるべき範囲。たとえば、関数の名前などです。range に含まれている必要があります。
tags?: readonly SymbolTag[]
この項目用のタグ。
uri: Uri
この項目のリソース識別子。
CallHierarchyOutgoingCall
メソッドからのゲッター呼び出しやコンストラクタからのメソッド呼び出しなど、発信呼び出しを表します。
コンストラクター
new CallHierarchyOutgoingCall(item: CallHierarchyItem, fromRanges: Range[]): CallHierarchyOutgoingCall
新しい呼び出しオブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| item: CallHierarchyItem | 呼び出される項目 |
| fromRanges: Range[] | 呼び出しが表示される範囲。 |
| 戻り値 | 説明 |
| CallHierarchyOutgoingCall |
プロパティ
fromRanges: Range[]
この項目が呼び出される範囲です。これは、provideCallHierarchyOutgoingCalls に渡された項目に対する呼び出し元の相対的な範囲であり、this.to ではありません。
呼び出される項目。
CallHierarchyProvider
コールヒエラルキープロバイダーインターフェースは、拡張機能とコールヒエラルキー機能との間の契約を記述します。これにより、関数、メソッド、コンストラクターなどの呼び出しと呼び出し元を参照できます。
メソッド
prepareCallHierarchy(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<CallHierarchyItem | CallHierarchyItem[]>
指定されたドキュメントと位置で示される項目を返すことで、コールヒエラルキーをブートストラップします。この項目は、呼び出しグラフへのエントリーとして使用されます。プロバイダーは、指定された位置に項目がない場合、undefined または null を返すべきです。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<CallHierarchyItem | CallHierarchyItem[]> | 1つまたは複数のコールヒエラルキー項目、またはそれに解決される Thenable です。結果がない場合は、 |
provideCallHierarchyIncomingCalls(item: CallHierarchyItem, token: CancellationToken): ProviderResult<CallHierarchyIncomingCall[]>
項目へのすべての着信呼び出しを提供します。たとえば、メソッドのすべての呼び出し元です。グラフの観点からは、これは呼び出しグラフ内の方向付けられた注釈付きエッジを記述します。つまり、指定された項目が開始ノードであり、結果は到達可能なノードです。
| パラメーター | 説明 |
|---|---|
| item: CallHierarchyItem | 着信呼び出しを計算する必要がある階層項目。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<CallHierarchyIncomingCall[]> | 一連の着信呼び出し、またはそれに解決されるThenable。結果がない場合は、 |
provideCallHierarchyOutgoingCalls(item: CallHierarchyItem, token: CancellationToken): ProviderResult<CallHierarchyOutgoingCall[]>
項目からのすべての発信呼び出しを提供します。たとえば、指定された項目からの関数、メソッド、またはコンストラクターへのすべての呼び出しです。グラフの観点からは、これは呼び出しグラフ内の方向付けられた注釈付きエッジを記述します。つまり、指定された項目が開始ノードであり、結果は到達可能なノードです。
| パラメーター | 説明 |
|---|---|
| item: CallHierarchyItem | 発信呼び出しを計算する必要がある階層項目。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<CallHierarchyOutgoingCall[]> | 一連の発信呼び出し、またはそれに解決されるThenable。結果がない場合は、 |
CancellationError
操作のキャンセルを通知するために使用されるべきエラータイプです。
このタイプは、キャンセル・トークンがキャンセルされた場合や、操作がその操作の実行者によってキャンセルされた場合に応答して使用できます。
コンストラクター
new CancellationError(): CancellationError
新しいキャンセルエラーを作成します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| CancellationError |
CancellationToken
キャンセル・トークンは、ユーザーが入力し続けたために補完アイテムのリクエストをキャンセルするなど、キャンセルを要求するために非同期または長時間実行される操作に渡されます。
CancellationToken のインスタンスを取得するには、CancellationTokenSource を使用します。
プロパティ
isCancellationRequested: boolean
トークンがキャンセルされた場合は true、それ以外の場合は false です。
onCancellationRequested: Event<any>
キャンセル時に発生する イベント です。
CancellationTokenSource
キャンセルソースは、キャンセル・トークンを作成し、制御します。
コンストラクター
new CancellationTokenSource(): CancellationTokenSource
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| CancellationTokenSource |
プロパティ
token: CancellationToken
このソースのキャンセル・トークン。
メソッド
トークンにキャンセルを通知します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
オブジェクトを破棄し、リソースを解放します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
CharacterPair
開閉括弧のペアのように、2文字のタプル。
CharacterPair: [string, string]
ChatContext
参加者に渡される追加のコンテキスト。
プロパティ
history: ReadonlyArray<ChatRequestTurn | ChatResponseTurn>
現在のチャットセッションにおけるこれまでのすべてのチャットメッセージ。現在、現在の参加者に対するチャットメッセージのみが含まれます。
ChatErrorDetails
チャットリクエストからのエラー結果を表します。
プロパティ
ユーザーに表示されるエラーメッセージ。
true に設定すると、応答の一部がぼかされます。
ChatFollowup
参加者が提案するフォローアップの質問。
プロパティ
デフォルトでは、フォローアップは同じ参加者/コマンドに送信されます。しかし、このプロパティを設定することで、別のコマンドを呼び出すことができます。
ユーザーに表示するタイトルです。指定されていない場合、デフォルトでプロンプトが表示されます。
デフォルトでは、フォローアップは同じ参加者/コマンドに送信されます。しかし、このプロパティを設定することで、ID で別の参加者を呼び出すことができます。フォローアップは、同じ拡張機能によって貢献された参加者のみを呼び出すことができます。
チャットに送信するメッセージ。
ChatFollowupProvider
ユーザーに表示するフォローアップの質問を提案するために、各リクエストの後に一度呼び出されます。ユーザーはフォローアップをクリックしてチャットに送信できます。
メソッド
provideFollowups(result: ChatResult, context: ChatContext, token: CancellationToken): ProviderResult<ChatFollowup[]>
指定された結果に対するフォローアップを提供します。
| パラメーター | 説明 |
|---|---|
| result: ChatResult | このオブジェクトは、 |
| context: ChatContext | 参加者に渡される追加のコンテキスト。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<ChatFollowup[]> |
ChatLanguageModelToolReference
ユーザーが手動でリクエストに添付したツールの参照で、インラインの # 構文を使用するか、ペーパークリップボタンを介して添付したものです。
プロパティ
ツール名。lm.tools にリストされているツールを参照します。
range?: [start: number, end: number]
プロンプトにおける参照の開始インデックスと終了インデックス。未定義の場合、参照はプロンプトテキストの一部ではありませんでした。
注意: インデックスは先頭の # 文字を考慮しているため、プロンプトをそのまま変更するために使用できます。
ChatParticipant
チャット参加者は、チャットセッションでユーザーによって プレフィックスを使用して呼び出すことができます。呼び出されると、チャットリクエストを処理し、ユーザーに応答を提供する責任を単独で負います。ChatParticipant は chat.createChatParticipant を使用して作成されます。
イベント
onDidReceiveFeedback: Event<ChatResultFeedback>
結果に対するフィードバックが受信されたとき、例えばユーザーが結果に賛成または反対したときに発生するイベントです。
渡された result は、以前にこのチャット参加者のハンドラーから返された結果と同じプロパティを持つことが保証されています。
プロパティ
followupProvider?: ChatFollowupProvider
このプロバイダーは、提案されたフォローアップの質問を取得するために、各リクエストの後に一度呼び出されます。
iconPath?: IconPath
UI に表示される参加者のアイコン。
この参加者の一意のID。
requestHandler: ChatRequestHandler
この参加者へのリクエストのハンドラー。
メソッド
この参加者を破棄し、リソースを解放します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
ChatParticipantToolToken
チャットリクエストの処理コンテキスト内でツールを呼び出す際に lm.invokeTool に渡すことができるトークン。
ChatParticipantToolToken: never
ChatPromptReference
ユーザーがチャットリクエストに追加した値への参照。
プロパティ
この種の参照の一意の識別子。
LLM プロンプトで使用できる、この値の説明。
range?: [start: number, end: number]
プロンプトにおける参照の開始インデックスと終了インデックス。未定義の場合、参照はプロンプトテキストの一部ではありませんでした。
注意: インデックスは先頭の # 文字を考慮しているため、プロンプトをそのまま変更するために使用できます。
この参照の値。現在、string | Uri | Location 型が使用されていますが、将来的に拡張される可能性があります。
ChatRequest
チャット参加者へのリクエスト。
プロパティ
このリクエストに対して選択された [ChatCommand command](#ChatCommand command) の名前。
model: LanguageModelChat
これは現在 UI で選択されているモデルです。拡張機能はこれを使用することも、lm.selectChatModels を使用して別のモデルを選択することもできます。リクエストのライフタイムを超えてこれを保持しないでください。
ユーザーが入力したプロンプト。
このリクエストで使用される参照に関する情報は ChatRequest.references に保存されています。
注: 参加者の [ChatParticipant.name name](#ChatParticipant.name name) および [ChatCommand.name command](#ChatCommand.name command) はプロンプトの一部ではありません。
references: readonly ChatPromptReference[]
プロンプトで参照されている参照とその値のリスト。
注意: プロンプトは作成されたままの参照を含んでおり、参照値をインライン化したり、解決された値を含む見出しへのリンクを作成したりするなど、プロンプトをさらに変更するのは参加者の責任です。参照はプロンプト内の範囲によって逆順にソートされています。これは、プロンプト内の最後の参照がこのリストの最初の参照であることを意味します。これにより、プロンプトの文字列操作が簡素化されます。
チャットリクエストの処理コンテキスト内でツールを呼び出す際に lm.invokeTool に渡すことができるトークンです。これにより、ツール呼び出しがチャットセッションに関連付けられます。
toolReferences: readonly ChatLanguageModelToolReference[]
ユーザーがリクエストに添付したツールのリスト。
ツール参照が存在する場合、チャット参加者は LanguageModelChatToolMode.Required を使用してチャットリクエストを作成し、言語モデルにツール用の入力を生成するように強制する必要があります。その後、参加者は lm.invokeTool を使用してツールを使用し、その結果をユーザーのプロンプトに対するリクエストに添付できます。このツールは、ユーザーのリクエストに対して有用な追加のコンテキストを提供できます。
ChatRequestHandler
ChatRequestHandler: (request: ChatRequest, context: ChatContext, response: ChatResponseStream, token: CancellationToken) => ProviderResult<ChatResult | void>
ChatRequestTurn
チャット履歴におけるユーザーリクエストを表します。
プロパティ
このリクエストに対して選択された [ChatCommand command](#ChatCommand command) の名前。
このリクエストが向けられたチャット参加者のID。
ユーザーが入力したプロンプト。
このリクエストで使用される参照に関する情報は ChatRequestTurn.references に保存されています。
注: 参加者の [ChatParticipant.name name](#ChatParticipant.name name) および [ChatCommand.name command](#ChatCommand.name command) はプロンプトの一部ではありません。
references: ChatPromptReference[]
このメッセージで使用された参照。
toolReferences: readonly ChatLanguageModelToolReference[]
このリクエストに添付されたツールのリスト。
ChatResponseAnchorPart
チャット応答の一部であり、ターゲットへのリンクとしてレンダリングされるアンカーを表します。
コンストラクター
new ChatResponseAnchorPart(value: Uri | Location, title?: string): ChatResponseAnchorPart
新しい ChatResponseAnchorPart を作成します。
| パラメーター | 説明 |
|---|---|
| value: Uri | Location | URI または場所。 |
| title?: string | 値とともにレンダリングされるオプションのタイトル。 |
| 戻り値 | 説明 |
| ChatResponseAnchorPart |
プロパティ
値とともにレンダリングされるオプションのタイトル。
このアンカーのターゲット。
ChatResponseCommandButtonPart
チャット応答の一部であり、コマンドを実行するボタンとしてレンダリングされるものを表します。
コンストラクター
new ChatResponseCommandButtonPart(value: Command): ChatResponseCommandButtonPart
新しい ChatResponseCommandButtonPart を作成します。
| パラメーター | 説明 |
|---|---|
| value: Command | ボタンがクリックされたときに実行されるコマンド。 |
| 戻り値 | 説明 |
| ChatResponseCommandButtonPart |
プロパティ
value: Command
ボタンがクリックされたときに実行されるコマンド。
ChatResponseFileTree
チャット応答におけるファイルツリー構造を表します。
プロパティ
children?: ChatResponseFileTree[]
現在のファイルツリーがディレクトリの場合、子ファイルツリーの配列です。
ファイルまたはディレクトリの名前。
ChatResponseFileTreePart
チャット応答の一部であり、ファイルツリーであるものを表します。
コンストラクター
new ChatResponseFileTreePart(value: ChatResponseFileTree[], baseUri: Uri): ChatResponseFileTreePart
新しい ChatResponseFileTreePart を作成します。
| パラメーター | 説明 |
|---|---|
| value: ChatResponseFileTree[] | ファイルツリーデータ。 |
| baseUri: Uri | このファイルツリーが相対するベース URI。 |
| 戻り値 | 説明 |
| ChatResponseFileTreePart |
プロパティ
baseUri: Uri
このファイルツリーが相対するベースURI
value: ChatResponseFileTree[]
ファイルツリーデータ。
ChatResponseMarkdownPart
チャット応答の一部で、Markdown として書式設定されたものを表します。
コンストラクター
new ChatResponseMarkdownPart(value: string | MarkdownString): ChatResponseMarkdownPart
新しい ChatResponseMarkdownPart を作成します。
| パラメーター | 説明 |
|---|---|
| value: string | MarkdownString | マークダウン文字列、またはマークダウンとして解釈されるべき文字列。MarkdownString.isTrusted のブール形式はサポートされていません。 |
| 戻り値 | 説明 |
| ChatResponseMarkdownPart |
プロパティ
value: MarkdownString
Markdown 文字列または Markdown として解釈されるべき文字列。
ChatResponsePart
さまざまなチャット応答の種類を表します。
ChatResponsePart: ChatResponseMarkdownPart | ChatResponseFileTreePart | ChatResponseAnchorPart | ChatResponseProgressPart | ChatResponseReferencePart | ChatResponseCommandButtonPart
ChatResponseProgressPart
チャット応答の一部であり、進捗メッセージであるものを表します。
コンストラクター
new ChatResponseProgressPart(value: string): ChatResponseProgressPart
新しい ChatResponseProgressPart を作成します。
| パラメーター | 説明 |
|---|---|
| value: string | 進行中のメッセージ |
| 戻り値 | 説明 |
| ChatResponseProgressPart |
プロパティ
進行中のメッセージ
ChatResponseReferencePart
チャット応答の一部であり、コンテンツとは別にレンダリングされる参照を表します。
コンストラクター
new ChatResponseReferencePart(value: Uri | Location, iconPath?: IconPath): ChatResponseReferencePart
新しい ChatResponseReferencePart を作成します。
| パラメーター | 説明 |
|---|---|
| value: Uri | Location | URI または場所 |
| iconPath?: IconPath | UI に表示される参照のアイコン |
| 戻り値 | 説明 |
| ChatResponseReferencePart |
プロパティ
iconPath?: IconPath
参照のアイコン。
参照ターゲット。
ChatResponseStream
ChatResponseStream は、参加者がチャットビューにコンテンツを返す方法です。さまざまな種類のコンテンツをストリーミングするためのいくつかのメソッドを提供し、チャットビューで適切にレンダリングされます。参加者は、返したいコンテンツの種類のヘルパーメソッドを使用することも、ChatResponsePart をインスタンス化し、汎用的な ChatResponseStream.push メソッドを使用して返すこともできます。
メソッド
anchor(value: Uri | Location, title?: string): void
このストリームにアンカー部分をプッシュします。push(new ChatResponseAnchorPart(value, title)) のショートハンドです。アンカーは、何らかのリソースタイプへのインライン参照です。
button(command: Command): void
このストリームにコマンドボタンパーツをプッシュします。push(new ChatResponseCommandButtonPart(value, title)) の短縮形です。
| パラメーター | 説明 |
|---|---|
| command: Command | ボタンがクリックされたときに実行されるコマンド。 |
| 戻り値 | 説明 |
| void |
filetree(value: ChatResponseFileTree[], baseUri: Uri): void
このストリームにファイルツリー部品をプッシュします。push(new ChatResponseFileTreePart(value)) の省略形です。
| パラメーター | 説明 |
|---|---|
| value: ChatResponseFileTree[] | ファイルツリーデータ。 |
| baseUri: Uri | このファイルツリーが相対するベース URI。 |
| 戻り値 | 説明 |
| void |
markdown(value: string | MarkdownString): void
このストリームにマークダウン部品をプッシュします。push(new ChatResponseMarkdownPart(value)) の省略形です。
| パラメーター | 説明 |
|---|---|
| value: string | MarkdownString | マークダウン文字列、またはマークダウンとして解釈されるべき文字列。MarkdownString.isTrusted のブール形式はサポートされていません。 |
| 戻り値 | 説明 |
| void |
このストリームにプログレス部品をプッシュします。push(new ChatResponseProgressPart(value)) の省略形です。
| パラメーター | 説明 |
|---|---|
| value: string | 進行中のメッセージ |
| 戻り値 | 説明 |
| void |
push(part: ChatResponsePart): void
このストリームに部品をプッシュします。
| パラメーター | 説明 |
|---|---|
| part: ChatResponsePart | レンダリング済みまたはメタデータである応答部品 |
| 戻り値 | 説明 |
| void |
reference(value: Uri | Location, iconPath?: IconPath): void
このストリームに参照をプッシュします。push(new ChatResponseReferencePart(value)) の省略形です。
注: 参照は応答にインラインでレンダリングされません。
ChatResponseTurn
チャット履歴におけるチャット参加者の応答を表します。
プロパティ
この応答が生成されたコマンドの名前。
この応答が生成されたチャット参加者のID。
response: ReadonlyArray<ChatResponseMarkdownPart | ChatResponseFileTreePart | ChatResponseAnchorPart | ChatResponseCommandButtonPart>
チャット参加者から受信したコンテンツ。実際のコンテンツ(メタデータではない)を表すストリーム部品のみが表現されます。
result: ChatResult
チャット参加者から受信した結果。
ChatResult
チャットリクエストの結果。
プロパティ
errorDetails?: ChatErrorDetails
リクエストがエラーになった場合、このプロパティはエラーの詳細を定義します。
この結果の任意のメタデータ。何でも構いませんが、JSON文字列化可能でなければなりません。
ChatResultFeedback
結果に対するユーザーフィードバックを表します。
プロパティ
kind: ChatResultFeedbackKind
受信したフィードバックの種類。
result: ChatResult
ユーザーがフィードバックを提供しているChatResult。このオブジェクトは、`metadata` を含む参加者コールバックから返された結果と同じプロパティを持ちますが、同じインスタンスではありません。
ChatResultFeedbackKind
受信したユーザーフィードバックのタイプを表します。
列挙型メンバー
ユーザーが結果を役に立たないと評価しました。
ユーザーが結果を役に立つと評価しました。
Clipboard
クリップボードは、システムのクリップボードへの読み取りおよび書き込みアクセスを提供します。
メソッド
現在のクリップボードの内容をテキストとして読み取ります。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| Thenable<string> | 文字列に解決されるthenable。 |
writeText(value: string): Thenable<void>
テキストをクリップボードに書き込みます。
| パラメーター | 説明 |
|---|---|
| value: string | |
| 戻り値 | 説明 |
| Thenable<void> | 書き込みが完了したときに解決されるthenable。 |
CodeAction
コードアクションは、問題を修正したり、コードをリファクタリングしたりするなど、コードで実行できる変更を表します。
CodeActionは、editおよび/またはcommandのいずれかを設定する必要があります。両方が指定されている場合、`edit` が最初に適用され、次にコマンドが実行されます。
コンストラクター
new CodeAction(title: string, kind?: CodeActionKind): CodeAction
| パラメーター | 説明 |
|---|---|
| title: string | コードアクションのタイトル。 |
| kind?: CodeActionKind | コードアクションの種類。 |
| 戻り値 | 説明 |
| コードアクション |
プロパティ
command?: Command
このコードアクションが実行するコマンド。
このコマンドが例外をスローすると、エディタは現在のカーソル位置でエディタに例外メッセージをユーザーに表示します。
diagnostics?: Diagnostic[]
このコードアクションが解決する診断。
コードアクションが現在適用できないことを示します。
| パラメーター | 説明 |
|---|---|
| reason: string | コードアクションが現在無効になっている理由を人間が読める形式で説明します。 これはコードアクションUIに表示されます。 |
edit?: WorkspaceEdit
このコードアクションが実行するワークスペース編集。
これを推奨アクションとしてマークします。推奨アクションは `auto fix` コマンドによって使用され、キーバインディングのターゲットにすることができます。
クイックフィックスは、基礎となるエラーを適切に解決する場合に推奨としてマークされるべきです。リファクタリングは、実行すべき最も妥当なアクションの選択である場合に推奨としてマークされるべきです。
kind?: CodeActionKind
コードアクションの種類。
コードアクションをフィルタリングするために使用されます。
このコードアクションの、短くて人間が読めるタイトル。
CodeActionContext
コードアクションが実行されるコンテキストに関する追加の診断情報が含まれます。
プロパティ
diagnostics: readonly Diagnostic[]
診断情報の配列。
only: CodeActionKind
返されるアクションの要求された種類。
この種類ではないアクションは、電球によって表示される前にフィルターで除外されます。
triggerKind: CodeActionTriggerKind
コードアクションが要求された理由。
CodeActionKind
コードアクションの種類。
種類は、`。` で区切られた階層的な識別子のリストです。例: `"refactor.extract.function"`。
コードアクションの種類は、リファクタリングコンテキストメニューなどのUI要素にエディタによって使用されます。ユーザーは、`editor.action.codeAction` コマンドで特定の種類のコードアクションをトリガーすることもできます。
Static
Empty: CodeActionKind
空の種類。
Notebook: CodeActionKind
ノートブック全体のスコープに適用されるすべてのコードアクションの基本種別。これを使用する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: CodeActionKind
クイックフィックスアクションの基本種類: quickfix。
クイックフィックスアクションは、コードの問題に対処し、通常のコードアクションコンテキストメニューに表示されます。
Refactor: CodeActionKind
リファクタリングアクションの基本種類: refactor
リファクタリングアクションは、リファクタリングコンテキストメニューに表示されます。
RefactorExtract: CodeActionKind
リファクタリング抽出アクションの基本種類: refactor.extract
抽出アクションの例
- メソッドの抽出
- 関数の抽出
- 変数の抽出
- クラスからインターフェースを抽出
- ...
RefactorInline: CodeActionKind
リファクタリングインラインアクションの基本種類: refactor.inline
インラインアクションの例
- インライン関数
- インライン変数
- インライン定数
- ...
RefactorMove: CodeActionKind
リファクタリング移動アクションの基本種類: refactor.move
移動アクションの例
- 関数を新しいファイルに移動
- クラス間でプロパティを移動
- メソッドを基底クラスに移動
- ...
RefactorRewrite: CodeActionKind
リファクタリング書き換えアクションの基本種類: refactor.rewrite
書き換えアクションの例
- JavaScript関数をクラスに変換
- パラメーターを追加または削除
- フィールドをカプセル化
- メソッドを静的にする
- ...
Source: CodeActionKind
ソースアクションの基本種類: source
ソースコードアクションはファイル全体に適用されます。これらは明示的に要求される必要があり、通常の電球メニューには表示されません。ソースアクションは、editor.codeActionsOnSave を使用して保存時に実行でき、source コンテキストメニューにも表示されます。
SourceFixAll: CodeActionKind
自動修正ソースアクションの基本種類: source.fixAll。
すべて修正アクションは、ユーザー入力を必要としない明確な修正があるエラーを自動的に修正します。エラーを抑制したり、新しい型やクラスを生成するなどの安全でない修正を実行したりするべきではありません。
SourceOrganizeImports: CodeActionKind
インポートの整理ソースアクションの基本種類: source.organizeImports。
コンストラクター
new CodeActionKind(value: string): CodeActionKind
プライベートコンストラクタ。既存のコードアクションの種類から派生させるには、静的 CodeActionKind.XYZ を使用します。
| パラメーター | 説明 |
|---|---|
| value: string |
|
| 戻り値 | 説明 |
| コードアクションの種類 |
プロパティ
種類の文字列値。例: "refactor.extract.function"。
メソッド
append(parts: string): CodeActionKind
現在の種類により具体的なセレクターを追加して、新しい種類を作成します。
現在の種類を変更しません。
| パラメーター | 説明 |
|---|---|
| parts: string | |
| 戻り値 | 説明 |
| コードアクションの種類 |
contains(other: CodeActionKind): boolean
other がこの CodeActionKind のサブ種であるかどうかをチェックします。
例えば、種類 "refactor.extract" には "refactor.extract" と "refactor.extract.function" が含まれますが、"unicorn.refactor.extract"、"refactor.extractAll"、または refactor は含まれません。
| パラメーター | 説明 |
|---|---|
| other: CodeActionKind | 確認する種類。 |
| 戻り値 | 説明 |
| boolean |
intersects(other: CodeActionKind): boolean
このコードアクションの種類が other と交差するかどうかをチェックします。
例えば、`"refactor.extract"` という種類は、`refactor`、`"refactor.extract"`、`"refactor.extract.function"` と交差しますが、`"unicorn.refactor.extract"` や `"refactor.extractAll"` とは交差しません。
| パラメーター | 説明 |
|---|---|
| other: CodeActionKind | 確認する種類。 |
| 戻り値 | 説明 |
| boolean |
CodeActionProvider<T>
コードにコンテキストアクションを提供します。コードアクションは通常、問題を修正するか、コードを整形/リファクタリングします。
コードアクションは、いくつかの異なる方法でユーザーに表示されます。
メソッド
provideCodeActions(document: TextDocument, range: Range | Selection, context: CodeActionContext, token: CancellationToken): ProviderResult<Array<Command | T>>
ドキュメントの指定された範囲のコードアクションを取得します。
要求された範囲に対してユーザーに関連するコードアクションのみを返します。また、返されたコードアクションがUIでどのように表示されるかにも注意してください。電球ウィジェットとRefactorコマンドは、たとえば、返されたコードアクションをリストとして表示するため、ユーザーを圧倒するような多数のコードアクションを返さないでください。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| range: Range | Selection | コマンドが呼び出されたセレクターまたは範囲。現在アクティブなエディターでアクションが要求されている場合は、常に選択になります。 |
| context: CodeActionContext | どのコードアクションが要求されているかに関する追加情報を提供します。これを使用して、エディタが要求しているコードアクションの特定のタイプを確認し、より関連性の高いアクションを返し、エディタが破棄する無関係なコードアクションを返すのを避けることができます。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<Array<Command | T>> | クイックフィックスやリファクタリングなどのコードアクションの配列。結果がない場合は、 レガシーの理由から |
resolveCodeAction(codeAction: T, token: CancellationToken): ProviderResult<T>
指定されたコードアクションのeditプロパティを埋めます。タイトルなど、他のすべてのプロパティへの変更は無視されます。editを持つコードアクションは解決されません。
注: コードアクションではなくコマンドを返すコードアクションプロバイダーは、この関数を正常に実装できません。コマンドを返すことは非推奨であり、代わりにコードアクションを返す必要があります。
| パラメーター | 説明 |
|---|---|
| codeAction: T | コードアクション。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T> | 解決されたコードアクション、またはそれに解決されるthenable。与えられた |
CodeActionProviderMetadata
CodeActionProviderが提供するコードアクションのタイプに関するメタデータ。
プロパティ
documentation?: ReadonlyArray<{command: Command, kind: CodeActionKind}>
コードアクションのクラスに関する静的ドキュメント。
プロバイダーからのドキュメントは、以下のいずれかの場合にコードアクションメニューに表示されます。
エディタによって`kind`のコードアクションが要求された場合。この場合、エディタは要求されたコードアクションの種類に最も近いドキュメントを表示します。例えば、プロバイダが`Refactor`と`RefactorExtract`の両方のドキュメントを持っている場合、ユーザーが`RefactorExtract`のコードアクションを要求すると、エディタは`Refactor`のドキュメントではなく`RefactorExtract`のドキュメントを使用します。
`kind` のコードアクションがプロバイダーから返された場合。
プロバイダーごとに最大1つのドキュメントエントリが表示されます。
providedCodeActionKinds?: readonly CodeActionKind[]
CodeActionProviderが返す可能性のあるCodeActionKindsのリスト。
このリストは、特定の CodeActionProvider を呼び出すかどうかを判断するために使用されます。不要な計算を避けるため、すべての CodeActionProvider は providedCodeActionKinds を使用する必要があります。種類のリストは、[CodeActionKind.Refactor] のように汎用的なものでも、[CodeActionKind.Refactor.Extract.append('function'), CodeActionKind.Refactor.Extract.append('constant'), ...] のように提供されるすべての種類をリストアップすることもできます。
CodeActionTriggerKind
コードアクションが要求された理由。
列挙型メンバー
コードアクションは、ユーザーまたは拡張機能によって明示的に要求されました。
コードアクションが自動的に要求されました。
これは通常、ファイル内の現在の選択範囲が変更されたときに発生しますが、ファイルの内容が変更されたときにもトリガーされることがあります。
CodeLens
コードレンズは、参照の数、テストを実行する方法など、ソーステキストと一緒に表示されるべきコマンドを表します。
コードレンズにコマンドが関連付けられていない場合、それは未解決です。パフォーマンス上の理由から、コードレンズの作成と解決は2つの段階で行う必要があります。
関連項目
コンストラクター
new CodeLens(range: Range, command?: Command): CodeLens
新しいコードレンズオブジェクトを作成します。
プロパティ
command?: Command
このコードレンズが表すコマンド。
コマンドが関連付けられている場合は true。
range: Range
このコードレンズが有効な範囲。単一行にまたがるべきです。
CodeLensProvider<T>
コードレンズプロバイダーは、ソーステキストにコマンドを追加します。コマンドは、ソーステキストの間に専用の水平線として表示されます。
イベント
onDidChangeCodeLenses?: Event<void>
このプロバイダーからのコードレンズが変更されたことを通知するオプションのイベント。
メソッド
provideCodeLenses(document: TextDocument, token: CancellationToken): ProviderResult<T[]>
レンズのリストを計算します。この呼び出しは可能な限り高速に返す必要があり、コマンドの計算にコストがかかる場合は、実装者は範囲が設定されたコードレンズオブジェクトのみを返し、解決を実装する必要があります。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T[]> | コードレンズの配列、またはそれに解決されるthenable。結果がないことは、 |
resolveCodeLens(codeLens: T, token: CancellationToken): ProviderResult<T>
この関数は、表示されている各コードレンズに対して、通常はスクロール時およびcompute-lensesの呼び出し後に呼び出されます。
| パラメーター | 説明 |
|---|---|
| codeLens: T | 解決する必要があるコードレンズ。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T> | 指定された、解決済みのコードレンズ、またはそれに解決されるthenable。 |
Color
RGBA空間の色を表します。
コンストラクター
new Color(red: number, green: number, blue: number, alpha: number): Color
新しい色インスタンスを作成します。
| パラメーター | 説明 |
|---|---|
| red: number | 赤成分。 |
| green: number | 緑成分。 |
| blue: number | 青成分。 |
| alpha: number | アルファ成分。 |
| 戻り値 | 説明 |
| 色 |
プロパティ
この色のアルファ成分。範囲は[0-1]です。
この色の青成分。範囲は[0-1]です。
この色の緑成分。範囲は[0-1]です。
この色の赤成分。範囲は[0-1]です。
ColorInformation
ドキュメントからの色範囲を表します。
コンストラクター
new ColorInformation(range: Range, color: Color): ColorInformation
プロパティ
color: Color
この色範囲の実際の色値。
range: Range
この色がドキュメントに表示される範囲。
ColorPresentation
色表現オブジェクトは、Colorをテキストとしてどのように表現するか、およびソースコードから参照するためにどのような編集が必要かについて説明します。
いくつかの言語では、1つの色が複数の表現を持つことがあります。例えば、CSSでは赤を定数 `Red`、16進数 `#ff0000`、またはRGBAおよびHSLA形式で表現できます。C#では、`System.Drawing.Color.Red`のような他の表現が適用されます。
コンストラクター
new ColorPresentation(label: string): ColorPresentation
新しいカラープレゼンテーションを作成します。
| パラメーター | 説明 |
|---|---|
| label: string | このカラープレゼンテーションのラベル。 |
| 戻り値 | 説明 |
| 色表現 |
プロパティ
additionalTextEdits?: TextEdit[]
このカラープレゼンテーションのラベル。カラーピッカーのヘッダーに表示されます。デフォルトでは、これはこのカラープレゼンテーションを選択したときに挿入されるテキストでもあります。
textEdit?: TextEdit
ColorTheme
カラーテーマを表します。
プロパティ
kind: ColorThemeKind
このカラーテーマの種類: 明るい、暗い、ハイコントラストの暗い、ハイコントラストの明るい。
ColorThemeKind
カラーテーマの種類を表します。
列挙型メンバー
明るいカラーテーマ。
暗いカラーテーマ。
ダークハイコントラストカラーテーマ。
ライトハイコントラストカラーテーマ。
Command
コマンドへの参照を表します。UIでコマンドを表すために使用されるタイトルと、オプションで、呼び出されたときにコマンドハンドラー関数に渡される引数の配列を提供します。
プロパティ
コマンドハンドラーが呼び出されるべき引数。
実際のコマンドハンドラの識別子。
saveのようなコマンドのタイトル。
UIで表現された場合のコマンドのツールチップ。
Comment
コメントは、提供方法に応じて、エディタまたはコメントパネル内に表示されます。
プロパティ
author: CommentAuthorInformation
コメントの作者情報
body: string | MarkdownString
人間が読めるコメント本文
コメントのコンテキスト値。これを使用して、コメント固有のアクションを貢献できます。例えば、コメントには editable というコンテキスト値が与えられます。menus 拡張ポイントを使用して comments/comment/title にアクションを貢献する場合、when 式でキー comment のコンテキスト値を comment == editable のように指定できます。
"contributes": {
"menus": {
"comments/comment/title": [
{
"command": "extension.deleteComment",
"when": "comment == editable"
}
]
}
}
これにより、contextValue が editable であるコメントのみに対してアクション extension.deleteComment が表示されます。
オプションのコメントを説明するラベル。存在する場合、ラベルは authorName の横にレンダリングされます。
mode: CommentMode
コメントのコメントモード
reactions?: CommentReaction[]
コメントのオプションのリアクション
コメントに表示されるオプションのタイムスタンプ。日付はユーザーのロケールと設定に従ってフォーマットされます。
CommentAuthorInformation
コメントの作成者情報
プロパティ
iconPath?: Uri
著者のオプションのアイコンパス
コメント作成者の表示名
CommentController
コメントコントローラーは、エディタにコメントサポートを提供し、ユーザーにコメントと対話するためのさまざまな方法を提供できます。
プロパティ
commentingRangeProvider?: CommentingRangeProvider
オプションのコメント範囲プロバイダー。指定されたリソースURIにコメントをサポートする範囲のリストを提供します。
提供されていない場合、ユーザーはコメントを残すことができません。
このコメントコントローラーのID。
このコメントコントローラーの人間が読めるラベル。
options?: CommentOptions
コメントコントローラーオプション
reactionHandler?: (comment: Comment, reaction: CommentReaction) => Thenable<void>
コメント上のリアクションの作成と削除のためのオプションのリアクションハンドラー。
| パラメーター | 説明 |
|---|---|
| comment: Comment | |
| reaction: CommentReaction | |
| 戻り値 | 説明 |
| Thenable<void> |
メソッド
createCommentThread(uri: Uri, range: Range, comments: readonly Comment[]): CommentThread
コメントスレッドを作成します。コメントスレッドは、作成されると、表示されているテキストエディター(リソースが一致する場合)とコメントパネルに表示されます。
このコメントコントローラーを破棄します。
破棄されると、このコメントコントローラーによって作成されたすべてのコメントスレッドもエディターおよびコメントパネルから削除されます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
CommentingRangeProvider
コメントコントローラーのコメント範囲プロバイダー。
メソッド
provideCommentingRanges(document: TextDocument, token: CancellationToken): ProviderResult<Range[] | CommentingRanges>
新しいコメントスレッドの作成を許可する範囲のリスト、または特定のドキュメントのnullを提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | |
| token: CancellationToken | |
| 戻り値 | 説明 |
| ProviderResult<Range[] | CommentingRanges> |
CommentingRanges
CommentingRangeProvider がコメントを有効にする範囲。
プロパティ
特定の範囲なしでファイルにコメントを追加できるようにします。
ranges?: Range[]
新しいコメントスレッドの作成を許可する範囲。
CommentMode
コメントのコメントモード
列挙型メンバー
コメントエディタを表示します。
コメントのプレビューを表示します。
CommentOptions
コメントコントローラーのオプションを表します。
プロパティ
コメント入力ボックスにフォーカスが当たったときにプレースホルダーとして表示するオプションの文字列。
コメント入力ボックスが折りたたまれているときに表示するオプションの文字列。
CommentReaction
コメントのリアクション
プロパティ
コメントの作者がこのリアクションに反応したかどうか
このリアクションに反応したユーザーの数
iconPath: string | Uri
UIに表示されるリアクションのアイコン。
リアクションの人間が読めるラベル
CommentReply
comments/commentThread/context に登録されたアクションのコマンド引数。
プロパティ
コメントエディタの値
thread: CommentThread
アクティブなコメントスレッド
CommentRule
言語のコメントがどのように機能するかを記述します。
プロパティ
blockComment?: CharacterPair
ブロックコメントの文字ペア。例: /* block comment */
行コメントトークン。例: // this is a comment
CommentThread
ドキュメントの特定の範囲での会話を表すコメントのコレクション。
プロパティ
canReply: boolean | CommentAuthorInformation
スレッドが返信をサポートするかどうか。デフォルトはtrueです。
collapsibleState: CommentThreadCollapsibleState
ドキュメントを開いたときにスレッドを折りたたむか展開するか。デフォルトはCollapsedです。
comments: readonly Comment[]
スレッドの順序付けられたコメント。
コメントスレッドのコンテキスト値。これを使用して、スレッド固有のアクションを寄稿できます。たとえば、コメントスレッドには editable というコンテキスト値が与えられます。menus 拡張ポイントを使用して comments/commentThread/title にアクションを寄稿する場合、when 式でキー commentThread のコンテキスト値を commentThread == editable のように指定できます。
"contributes": {
"menus": {
"comments/commentThread/title": [
{
"command": "extension.deleteCommentThread",
"when": "commentThread == editable"
}
]
}
}
これにより、contextValue が editable であるコメントスレッドのみに対してアクション extension.deleteCommentThread が表示されます。
オプションの、コメントスレッドを説明する人間が読めるラベル
range: Range
コメントスレッドがドキュメント内に位置する範囲。スレッドアイコンは範囲の最終行に表示されます。未定義に設定すると、コメントは特定の範囲ではなくファイルに関連付けられます。
state?: CommentThreadState
コメントスレッドのオプションの状態。コメントの表示方法に影響を与える可能性があります。
uri: Uri
スレッドが作成されたドキュメントのURI。
メソッド
このコメントスレッドを破棄します。
破棄されると、このコメントスレッドは、必要に応じて表示中のエディタおよびコメントパネルから削除されます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
CommentThreadCollapsibleState
コメントスレッドの折りたたみ状態
列挙型メンバー
アイテムが折りたたまれていることを示します
アイテムが展開されていることを示します
CommentThreadState
コメントスレッドの状態。
列挙型メンバー
未解決のスレッド状態
解決済みのスレッド状態
CompletionContext
補完プロバイダーがトリガーされるコンテキストに関する追加情報が含まれます。
プロパティ
補完項目プロバイダーをトリガーした文字。
プロバイダーが文字によってトリガーされなかった場合、undefined。
トリガー文字は、補完プロバイダーがトリガーされたときにすでにドキュメント内に存在します。
triggerKind: CompletionTriggerKind
補完がトリガーされた方法。
CompletionItem
補完項目は、入力中のテキストを補完するために提案されるテキストスニペットを表します。
ラベルのみから補完項目を作成するだけで十分です。その場合、補完項目はカーソルまでの単語を指定されたラベルまたは挿入テキストに置き換えます。それ以外の場合、指定された編集が使用されます。
エディタで補完項目を選択すると、その定義済みまたは合成されたテキスト編集は*すべての*カーソル/選択範囲に適用されますが、追加のテキスト編集は提供されたとおりに適用されます。
関連項目
コンストラクター
new CompletionItem(label: string | CompletionItemLabel, kind?: CompletionItemKind): CompletionItem
新しい補完項目を作成します。
補完項目には、少なくともラベルが必要です。これは、挿入テキストとして、またソートとフィルタリングにも使用されます。
| パラメーター | 説明 |
|---|---|
| label: string | CompletionItemLabel | 補完のラベル。 |
| kind?: CompletionItemKind | 補完の種類。 |
| 戻り値 | 説明 |
| 補完項目 |
プロパティ
additionalTextEdits?: TextEdit[]
command?: Command
この補完を挿入後に実行されるオプションのコマンド。注: 現在のドキュメントへの追加の変更は、additionalTextEditsプロパティで記述する必要があります。
この補完がアクティブな間に押された場合、最初に補完を受け入れ、次にその文字を入力する文字のオプションのセット。注: すべてのコミット文字はlength=1である必要があり、余分な文字は無視されます。
この項目に関する追加情報(型やシンボル情報など)を人間が読める形式で記述した文字列。
documentation?: string | MarkdownString
ドキュメントコメントを表す、人間が読める文字列。
insertText?: string | SnippetString
この補完を選択したときにドキュメントに挿入される文字列またはスニペット。falsyの場合、ラベルが使用されます。
insertTextの空白をそのまま保持します。デフォルトでは、エディタは新しい行の先頭の空白を、項目が受け入れられる行のインデントと一致するように調整します。これをtrueに設定すると、それが防止されます。
kind?: CompletionItemKind
この補完項目の種類。種類に基づいてエディタがアイコンを選択します。
label: string | CompletionItemLabel
この補完項目のラベル。デフォルトでは、これはこの補完を選択したときに挿入されるテキストでもあります。
表示時にこの項目を選択します。注: 選択できる補完項目は1つだけであり、エディタがどの項目が選択されるかを決定します。ルールは、最も一致する項目の最初の項目が選択されるというものです。
range?: Range | {inserting: Range, replacing: Range}
tags?: readonly CompletionItemTag[]
この補完項目のタグ。
textEdit?: TextEdit
- 非推奨 - 代わりに
CompletionItem.insertTextとCompletionItem.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 プロパティの計算を遅らせることができます。ただし、sortText、filterText、insertText、range など、初期の並べ替えとフィルタリングに必要なプロパティは、解決中に変更してはなりません。
プロバイダーは、ユーザーのジェスチャーによって明示的に、または構成に応じて、単語やトリガー文字を入力するときに暗黙的に補完を求められます。
メソッド
provideCompletionItems(document: TextDocument, position: Position, token: CancellationToken, context: CompletionContext): ProviderResult<CompletionList<T> | T[]>
指定された位置とドキュメントの補完項目を提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| context: CompletionContext | 補完がトリガーされた方法。 |
| 戻り値 | 説明 |
| ProviderResult<CompletionList<T> | T[]> | 補完の配列、補完リスト、またはそのいずれかに解決される Thenable。結果がないことは、 |
resolveCompletionItem(item: T, token: CancellationToken): ProviderResult<T>
補完項目に、doc-comment や details などの詳細データを入力します。
エディターは補完項目を一度だけ解決します。
注:この関数は、補完項目がすでに UI に表示されている場合、または項目が挿入のために選択されている場合に呼び出されます。そのため、表示 (ラベル、並べ替え、フィルタリングなど) や (プライマリ) 挿入動作 (insertText) を変更するプロパティは変更できません。
この関数は additionalTextEdits を入力する可能性があります。ただし、これは解決が完了する前に項目が挿入される可能性があり、その場合、エディターは追加のテキスト編集を適用するために最大限の努力をします。
| パラメーター | 説明 |
|---|---|
| item: T | 現在 UI でアクティブな補完項目。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T> | 解決された補完項目、またはそれに解決される Thenable。指定された |
CompletionItemTag
補完項目タグは、補完項目のレンダリングを調整する追加のアノテーションです。
列挙型メンバー
補完を非推奨としてレンダリングします(通常は打ち消し線を使用)。
CompletionList<T>
エディターに表示される補完項目のコレクションを表します。
コンストラクター
new CompletionList<T extends CompletionItem>(items?: T[], isIncomplete?: boolean): CompletionList<T>
新しい補完リストを作成します。
| パラメーター | 説明 |
|---|---|
| items?: T[] | 補完項目。 |
| isIncomplete?: boolean | リストは完全ではありません。 |
| 戻り値 | 説明 |
| CompletionList<T> |
プロパティ
このリストは完全ではありません。さらなる入力によってこのリストが再計算されるはずです。
補完項目。
CompletionTriggerKind
補完プロバイダーがどのようにトリガーされたか
列挙型メンバー
補完は通常通りトリガーされました。
補完はトリガー文字によってトリガーされました。
TriggerForIncompleteCompletions: 2
現在の補完リストが不完全であるため、補完が再トリガーされました。
ConfigurationChangeEvent
構成の変更を記述するイベント
メソッド
affectsConfiguration(section: string, scope?: ConfigurationScope): boolean
指定されたセクションが変更されたかどうかをチェックします。スコープが指定されている場合、指定されたスコープ内のリソースに対してセクションが変更されたかどうかをチェックします。
| パラメーター | 説明 |
|---|---|
| section: string | 構成名で、ドット区切り名をサポートします。 |
| scope?: ConfigurationScope | チェックするスコープ。 |
| 戻り値 | 説明 |
| boolean | 指定されたセクションが変更された場合は |
ConfigurationScope
構成スコープは次のいずれかです。
- リソースを表す Uri
- 開いているテキストドキュメントを表す TextDocument
- ワークスペースフォルダーを表す WorkspaceFolder
- 以下を含むオブジェクト
uri: テキストドキュメントのオプションの UrilanguageId: テキストドキュメントの言語識別子
ConfigurationScope: Uri | TextDocument | WorkspaceFolder | {languageId: string, uri: Uri}
ConfigurationTarget
構成ターゲット
列挙型メンバー
グローバル構成
ワークスペース構成
ワークスペースフォルダー構成
CustomDocument
CustomEditorProvider が使用するカスタムドキュメントを表します。
カスタムドキュメントは、特定の CustomEditorProvider 内でのみ使用されます。CustomDocument のライフサイクルはエディターによって管理されます。CustomDocument への参照がなくなると、破棄されます。
プロパティ
uri: Uri
このドキュメントに関連付けられた URI。
メソッド
カスタムドキュメントを破棄します。
これは、特定の CustomDocument への参照がなくなったとき(たとえば、ドキュメントに関連付けられたすべてのエディターが閉じられたとき)にエディターによって呼び出されます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
CustomDocumentBackup
CustomDocument のバックアップ。
プロパティ
バックアップの一意の識別子。
この ID は、バックアップからカスタムエディターを開くときに openCustomDocument で拡張機能に返されます。
メソッド
現在のバックアップを削除します。
これは、新しいバックアップが作成されたり、ファイルが保存されたりするなど、現在のバックアップが不要になったことが明らかになったときにエディターによって呼び出されます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
CustomDocumentBackupContext
CustomDocumentBackup を実装するために使用される追加情報。
プロパティ
destination: Uri
新しいバックアップを書き込むための推奨ファイル場所。
ただし、拡張機能はこの設定を無視して独自のバックアップ戦略を使用できます。
現在のワークスペースからのリソースのエディターの場合、destination は ExtensionContext.storagePath 内のファイルを指します。destination の親フォルダーが存在しない可能性があるため、この場所にバックアップを書き込む前に作成してください。
CustomDocumentContentChangeEvent<T>
CustomDocument のコンテンツが変更されたことをエディターに通知するために、拡張機能によってトリガーされるイベント。
プロパティ
変更対象のドキュメント。
CustomDocumentEditEvent<T>
CustomDocument で編集が発生したことをエディターに通知するために、拡張機能によってトリガーされるイベント。
プロパティ
編集対象のドキュメント。
編集内容を記述する表示名。
これは、元に戻す/やり直し操作のために UI でユーザーに表示されます。
メソッド
編集操作をやり直します。
これは、ユーザーがこの編集をやり直すときにエディターによって呼び出されます。redo を実装するには、拡張機能は、onDidChangeCustomDocument によってこの編集がエディターの内部編集スタックに追加された直後の状態にドキュメントとエディターを復元する必要があります。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void | Thenable<void> |
編集操作を元に戻します。
これは、ユーザーがこの編集を元に戻すときにエディターによって呼び出されます。undo を実装するには、拡張機能は、onDidChangeCustomDocument によってこの編集がエディターの内部編集スタックに追加される直前の状態にドキュメントとエディターを復元する必要があります。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void | Thenable<void> |
CustomDocumentOpenContext
開いているカスタムドキュメントに関する追加情報。
プロパティ
ドキュメントを復元するバックアップのID、またはバックアップがない場合は undefined。
これが提供された場合、拡張機能はユーザーのワークスペースからファイルを読み込むのではなく、バックアップからエディターを復元する必要があります。
untitledDocumentData: Uint8Array
URI が無題のファイルの場合、このファイルにはそのファイルのバイトデータが設定されます。
これが提供された場合、拡張機能は、渡された URI で fs API を実行する代わりに、このバイトデータを活用する必要があります。
CustomEditorProvider<T>
カスタムドキュメントモデルを使用する編集可能なカスタムエディターのプロバイダー。
カスタムエディターは、TextDocument の代わりに CustomDocument をドキュメントモデルとして使用します。これにより、拡張機能は編集、保存、バックアップなどのアクションを完全に制御できます。
バイナリファイルやより複雑なシナリオを扱う場合は、このタイプのカスタムエディターを使用する必要があります。単純なテキストベースのドキュメントの場合は、代わりに CustomTextEditorProvider を使用してください。
イベント
onDidChangeCustomDocument: Event<CustomDocumentEditEvent<T>> | Event<CustomDocumentContentChangeEvent<T>>
カスタムエディター内で編集が発生したことを通知します。
このイベントは、カスタムエディターで編集が発生するたびに拡張機能によって発生させる必要があります。編集とは、テキストの変更、画像の切り抜き、リストの並べ替えなど、何でも構いません。拡張機能は、編集が何であるか、および各編集にどのようなデータが保存されるかを自由に定義できます。
onDidChange を発生させると、エディターはダーティとしてマークされます。これは、ユーザーがファイルを保存または元に戻すときにクリアされます。
元に戻す/やり直しをサポートするエディターは、編集が発生するたびに CustomDocumentEditEvent を発生させる必要があります。これにより、ユーザーはエディターの標準キーボードショートカットを使用して編集を元に戻したりやり直したりできます。ユーザーが最後に保存された状態まですべての編集を元に戻した場合、エディターはダーティ状態ではないとマークされます。
編集をサポートするが、エディターの標準的な元に戻す/やり直しメカニズムを使用できないエディターは、CustomDocumentContentChangeEvent を発生させる必要があります。元に戻す/やり直しをサポートしないエディターのダーティ状態をクリアする唯一の方法は、ファイルを save するか revert することです。
エディターは常に CustomDocumentEditEvent イベントのみを発生させるか、常に CustomDocumentContentChangeEvent イベントのみを発生させるべきです。
メソッド
backupCustomDocument(document: T, context: CustomDocumentBackupContext, cancellation: CancellationToken): Thenable<CustomDocumentBackup>
ダーティなカスタムドキュメントをバックアップします。
バックアップはホットエグジットとデータ損失を防ぐために使用されます。backup メソッドは、現在の状態、つまり編集が適用された状態でリソースを永続化する必要があります。最も一般的には、これはリソースを ExtensionContext.storagePath のディスクに保存することを意味します。エディターがリロードされ、カスタムエディターがリソースに対して開かれるとき、拡張機能はまずリソースのバックアップが存在するかどうかを確認する必要があります。バックアップがある場合、拡張機能はワークスペースのリソースからではなく、そこからファイルの内容を読み込む必要があります。
backup は、ユーザーがドキュメントの編集を停止してから約1秒後にトリガーされます。ユーザーがドキュメントを迅速に編集した場合、編集が停止するまで backup は呼び出されません。
auto save が有効な場合、backup は呼び出されません (自動保存はすでにリソースを永続化しているため)。
| パラメーター | 説明 |
|---|---|
| document: T | バックアップするドキュメント。 |
| context: CustomDocumentBackupContext | ドキュメントのバックアップに使用できる情報。 |
| cancellation: CancellationToken | 新しいバックアップが来るため、現在のバックアップをキャンセルする信号を発するトークン。キャンセルにどのように応答するかは、拡張機能が決定します。たとえば、拡張機能が大きなファイルを完了に時間がかかる操作でバックアップしている場合、エディターが有効なバックアップを確実に持つように、キャンセルするのではなく、進行中のバックアップを完了することに決定する可能性があります。 |
| 戻り値 | 説明 |
| Thenable<CustomDocumentBackup> |
openCustomDocument(uri: Uri, openContext: CustomDocumentOpenContext, token: CancellationToken): T | Thenable<T>
指定されたリソースの新しいドキュメントを作成します。
openCustomDocument は、指定されたリソースのエディターが初めて開かれたときに呼び出されます。開かれたドキュメントは resolveCustomEditor に渡され、エディターがユーザーに表示されるようにします。
ユーザーが追加のエディターを開いた場合、既に開かれている CustomDocument は再利用されます。指定されたリソースのすべてのエディターが閉じられると、CustomDocument は破棄されます。この時点でエディターを開くと、openCustomDocument が再度呼び出されます。
| パラメーター | 説明 |
|---|---|
| uri: Uri | 開くドキュメントの Uri。 |
| openContext: CustomDocumentOpenContext | 開いているカスタムドキュメントに関する追加情報。 |
| token: CancellationToken | 結果が不要になったことを示すキャンセル トークン。 |
| 戻り値 | 説明 |
| T | Thenable<T> | カスタムドキュメント。 |
resolveCustomEditor(document: T, webviewPanel: WebviewPanel, token: CancellationToken): void | Thenable<void>
指定されたリソースのカスタムエディターを解決します。
これは、ユーザーがこの CustomEditorProvider の新しいエディターを開くたびに呼び出されます。
| パラメーター | 説明 |
|---|---|
| document: T | 解決中のリソースのドキュメント。 |
| webviewPanel: WebviewPanel | このリソースのエディターUIを表示するために使用されるウェブビューパネル。 解決中、プロバイダーはコンテンツのウェブビューパネルの初期HTMLを入力し、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、コマンドなどで後で使用するために |
| token: CancellationToken | 結果が不要になったことを示すキャンセル トークン。 |
| 戻り値 | 説明 |
| void | Thenable<void> | カスタムエディターが解決されたことを示すオプションの Thenable。 |
revertCustomDocument(document: T, cancellation: CancellationToken): Thenable<void>
カスタムドキュメントを最後に保存された状態に戻します。
このメソッドは、ユーザーがカスタムエディターで File: Revert File をトリガーしたときにエディターによって呼び出されます。(これはエディターの File: Revert File コマンドのみで使用され、ファイルの git revert では使用されないことに注意してください)。
revert を実装するには、実装者は document のすべてのエディターインスタンス (ウェブビュー) が、保存された状態と同じ状態でドキュメントを表示していることを確認する必要があります。これは通常、ワークスペースからファイルを再読み込みすることを意味します。
| パラメーター | 説明 |
|---|---|
| document: T | 元に戻すドキュメント。 |
| cancellation: CancellationToken | 元に戻す操作が不要になったことを示すトークン。 |
| 戻り値 | 説明 |
| Thenable<void> | 変更が完了したことを示す Thenable。 |
saveCustomDocument(document: T, cancellation: CancellationToken): Thenable<void>
カスタムドキュメントを保存します。
このメソッドは、ユーザーがカスタムエディターを保存するときにエディターによって呼び出されます。これは、カスタムエディターがアクティブなときにユーザーが保存をトリガーした場合、save all などのコマンドによって、または有効になっている場合は自動保存によって発生する可能性があります。
save を実装するには、実装者はカスタムエディターを永続化する必要があります。これは通常、カスタムドキュメントのファイルデータをディスクに書き込むことを意味します。save が完了すると、関連するエディターインスタンスはダーティとしてマークされなくなります。
| パラメーター | 説明 |
|---|---|
| document: T | 保存するドキュメント。 |
| cancellation: CancellationToken | 保存が不要になったことを示すトークン (たとえば、別の保存がトリガーされた場合)。 |
| 戻り値 | 説明 |
| Thenable<void> | 保存が完了したことを示すThenable。 |
saveCustomDocumentAs(document: T, destination: Uri, cancellation: CancellationToken): Thenable<void>
カスタムドキュメントを別の場所に保存します。
このメソッドは、ユーザーがカスタムエディターで「名前を付けて保存」をトリガーしたときにエディターによって呼び出されます。実装者は、カスタムエディターを destination に永続化する必要があります。
ユーザーが「名前を付けて保存」を受け入れると、現在のエディターは、新しく保存されたファイルのダーティでないエディターに置き換えられます。
| パラメーター | 説明 |
|---|---|
| document: T | 保存するドキュメント。 |
| destination: Uri | 保存先。 |
| cancellation: CancellationToken | 保存が不要になったことを示すトークン。 |
| 戻り値 | 説明 |
| Thenable<void> | 保存が完了したことを示すThenable。 |
CustomExecution
拡張機能のコールバックをタスクとして実行するために使用されるクラス。
コンストラクター
new CustomExecution(callback: (resolvedDefinition: TaskDefinition) => Thenable<Pseudoterminal>): CustomExecution
CustomExecutionタスクオブジェクトを構築します。コールバックはタスクが実行されるときに実行され、その時点で拡張機能は「実行される」Pseudoterminalを返します。タスクは、Pseudoterminal.openが呼び出されるまでさらなる実行を待機する必要があります。タスクのキャンセルはPseudoterminal.closeを使用して処理する必要があります。タスクが完了したら、Pseudoterminal.onDidCloseを発生させます。
| パラメーター | 説明 |
|---|---|
| callback: (resolvedDefinition: TaskDefinition) => Thenable<Pseudoterminal> | ユーザーがタスクを開始したときに呼び出されるコールバック。タスク定義にあった ${} スタイルの変数は解決され、 |
| 戻り値 | 説明 |
| CustomExecution |
CustomReadonlyEditorProvider<T>
カスタムドキュメントモデルを使用する読み取り専用カスタムエディターのプロバイダー。
カスタムエディターは、TextDocument の代わりに CustomDocument をドキュメントモデルとして使用します。
バイナリファイルやより複雑なシナリオを扱う場合は、このタイプのカスタムエディターを使用する必要があります。単純なテキストベースのドキュメントの場合は、代わりに CustomTextEditorProvider を使用してください。
メソッド
openCustomDocument(uri: Uri, openContext: CustomDocumentOpenContext, token: CancellationToken): T | Thenable<T>
指定されたリソースの新しいドキュメントを作成します。
openCustomDocument は、指定されたリソースのエディターが初めて開かれたときに呼び出されます。開かれたドキュメントは resolveCustomEditor に渡され、エディターがユーザーに表示されるようにします。
ユーザーが追加のエディターを開いた場合、既に開かれている CustomDocument は再利用されます。指定されたリソースのすべてのエディターが閉じられると、CustomDocument は破棄されます。この時点でエディターを開くと、openCustomDocument が再度呼び出されます。
| パラメーター | 説明 |
|---|---|
| uri: Uri | 開くドキュメントの Uri。 |
| openContext: CustomDocumentOpenContext | 開いているカスタムドキュメントに関する追加情報。 |
| token: CancellationToken | 結果が不要になったことを示すキャンセル トークン。 |
| 戻り値 | 説明 |
| T | Thenable<T> | カスタムドキュメント。 |
resolveCustomEditor(document: T, webviewPanel: WebviewPanel, token: CancellationToken): void | Thenable<void>
指定されたリソースのカスタムエディターを解決します。
これは、ユーザーがこの CustomEditorProvider の新しいエディターを開くたびに呼び出されます。
| パラメーター | 説明 |
|---|---|
| document: T | 解決中のリソースのドキュメント。 |
| webviewPanel: WebviewPanel | このリソースのエディターUIを表示するために使用されるウェブビューパネル。 解決中、プロバイダーはコンテンツのウェブビューパネルの初期HTMLを入力し、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、コマンドなどで後で使用するために |
| token: CancellationToken | 結果が不要になったことを示すキャンセル トークン。 |
| 戻り値 | 説明 |
| void | Thenable<void> | カスタムエディターが解決されたことを示すオプションの Thenable。 |
CustomTextEditorProvider
テキストベースのカスタムエディターのプロバイダー。
テキストベースのカスタムエディターは、TextDocument をデータモデルとして使用します。これにより、エディターが元に戻すやバックアップなどの多くの一般的な操作を処理できるようになるため、カスタムエディターの実装が大幅に簡素化されます。プロバイダーは、ウェブビューと TextDocument の間のテキスト変更を同期する責任があります。
メソッド
resolveCustomTextEditor(document: TextDocument, webviewPanel: WebviewPanel, token: CancellationToken): void | Thenable<void>
指定されたテキストリソースのカスタムエディターを解決します。
これは、ユーザーが CustomTextEditorProvider のリソースを最初に開いたとき、または既存のエディターをこの CustomTextEditorProvider を使用して再度開いたときに呼び出されます。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | 解決するリソースのドキュメント。 |
| webviewPanel: WebviewPanel | このリソースのエディターUIを表示するために使用されるウェブビューパネル。 解決中、プロバイダーはコンテンツのウェブビューパネルの初期HTMLを入力し、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、コマンドなどで後で使用するために |
| token: CancellationToken | 結果が不要になったことを示すキャンセル トークン。 |
| 戻り値 | 説明 |
| void | Thenable<void> | カスタムエディターが解決されたことを示すThenable。 |
DataTransfer
対応する転送データのMIMEタイプのマッピングを含むマップ。
handleDrag を実装するドラッグアンドドロップコントローラは、データ転送に追加のMIMEタイプを追加できます。これらの追加のMIMEタイプは、ドラッグが同じドラッグアンドドロップコントローラ内の要素から開始された場合にのみ handleDrop に含まれます。
コンストラクター
new DataTransfer(): DataTransfer
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| データ転送 |
メソッド
[iterator](): IterableIterator<[mimeType: string, item: DataTransferItem]>
このデータ転送の各要素の [mime, item] ペアを持つ新しいイテレータを取得します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| IterableIterator<[mimeType: string, item: DataTransferItem]> |
forEach(callbackfn: (item: DataTransferItem, mimeType: string, dataTransfer: DataTransfer) => void, thisArg?: any): void
データ転送項目の反復処理を許可します。
| パラメーター | 説明 |
|---|---|
| callbackfn: (item: DataTransferItem, mimeType: string, dataTransfer: DataTransfer) => void | データ転送項目を反復処理するためのコールバック。 |
| thisArg?: any | ハンドラ関数を呼び出すときに使用される `this` コンテキスト。 |
| 戻り値 | 説明 |
| void |
get(mimeType: string): DataTransferItem
指定されたMIMEタイプのデータ転送項目を取得します。
| パラメーター | 説明 |
|---|---|
| mimeType: string |
特殊なMIMEタイプ
|
| 戻り値 | 説明 |
| DataTransferItem |
set(mimeType: string, value: DataTransferItem): void
MIME タイプからデータ転送項目へのマッピングを設定します。
| パラメーター | 説明 |
|---|---|
| mimeType: string | データを設定する MIME タイプ。MIME タイプは小文字で格納され、大文字と小文字を区別しない検索が行われます。 |
| value: DataTransferItem | 指定されたMIMEタイプのデータ転送項目。 |
| 戻り値 | 説明 |
| void |
DataTransferFile
DataTransferItem に関連付けられたファイル。
この型のインスタンスは、エディターのみが作成でき、拡張機能は作成できません。
プロパティ
ファイルの名前。
uri?: Uri
ファイルの完全なファイルパス。
ウェブ上では undefined になる可能性があります。
メソッド
ファイルの全内容。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| Thenable<Uint8Array> |
DataTransferItem
ドラッグアンドドロップ操作中に転送されるデータをカプセル化します。
コンストラクター
new DataTransferItem(value: any): DataTransferItem
| パラメーター | 説明 |
|---|---|
| value: any | この項目に格納されているカスタムデータ。DataTransferItem.value を使用して取得できます。 |
| 戻り値 | 説明 |
| DataTransferItem |
プロパティ
このアイテムに格納されているカスタムデータ。
value を使用して、操作間でデータを共有できます。DataTransferItem を作成した拡張機能が同じ拡張機能ホストで実行されている限り、元のオブジェクトを取得できます。
メソッド
asFile(): DataTransferFile
このデータ転送項目に関連付けられた ファイル を取得しようとします。
ファイルオブジェクトは、ドラッグアンドドロップ操作のスコープ内でのみ有効であることに注意してください。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| DataTransferFile | データ転送のファイル、または項目がファイルでない場合、またはファイルデータにアクセスできない場合は |
この項目の文字列表現を取得します。
DataTransferItem.value がオブジェクトの場合、これは DataTransferItem.value の値を JSON 文字列化した結果を返します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| Thenable<string> |
DebugAdapter
Debug Adapter Protocol を実装するデバッグアダプターは、DebugAdapter インターフェースを実装していればエディターに登録できます。
イベント
onDidSendMessage: Event<DebugProtocolMessage>
デバッグアダプターがエディターに Debug Adapter Protocol メッセージを送信した後に発生するイベント。メッセージは要求、応答、またはイベントです。
メソッド
このオブジェクトを破棄します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| any |
handleMessage(message: DebugProtocolMessage): void
Debug Adapter Protocol メッセージを処理します。メッセージは要求、応答、またはイベントです。結果またはエラーは onSendMessage イベントを介して返されます。
| パラメーター | 説明 |
|---|---|
| message: DebugProtocolMessage | Debug Adapter Protocol メッセージ |
| 戻り値 | 説明 |
| void |
DebugAdapterDescriptor
さまざまな種類のデバッグアダプターを表します
DebugAdapterDescriptor: DebugAdapterExecutable | DebugAdapterServer | DebugAdapterNamedPipeServer | DebugAdapterInlineImplementation
DebugAdapterDescriptorFactory
デバッグアダプター記述子を作成するデバッグアダプターファクトリー。
メソッド
createDebugAdapterDescriptor(session: DebugSession, executable: DebugAdapterExecutable): ProviderResult<DebugAdapterDescriptor>
'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
デバッグアダプターの実行可能ファイルと、それに渡されるオプションの引数およびランタイムオプションを表します。
コンストラクター
new DebugAdapterExecutable(command: string, args?: string[], options?: DebugAdapterExecutableOptions): DebugAdapterExecutable
実行可能プログラムに基づくデバッグアダプターの記述を作成します。
| パラメーター | 説明 |
|---|---|
| command: string | デバッグアダプターを実装するコマンドまたは実行可能ファイルのパス。 |
| args?: string[] | コマンドまたは実行可能ファイルに渡されるオプションの引数。 |
| options?: DebugAdapterExecutableOptions | コマンドまたは実行可能ファイルの開始時に使用されるオプション。 |
| 戻り値 | 説明 |
| DebugAdapterExecutable |
プロパティ
デバッグアダプター実行可能ファイルに渡される引数。デフォルトは空の配列です。
デバッグアダプター実行可能ファイルのコマンドまたはパス。コマンドは、実行可能ファイルの絶対パスであるか、PATH環境変数で検索されるコマンドの名前である必要があります。特別な値「node」は、エディターの組み込みNode.jsランタイムにマップされます。
options?: DebugAdapterExecutableOptions
デバッグアダプターの起動時に使用されるオプション。デフォルトは undefined です。
DebugAdapterExecutableOptions
デバッグアダプター実行可能ファイルのオプション。
プロパティ
実行されるデバッグアダプターの現在の作業ディレクトリ。
実行されるプログラムまたはシェルの追加の環境。省略された場合、親プロセスの環境が使用されます。提供された場合、親プロセスの環境とマージされます。
DebugAdapterInlineImplementation
インライン実装用のデバッグアダプター記述子。
コンストラクター
new DebugAdapterInlineImplementation(implementation: DebugAdapter): DebugAdapterInlineImplementation
デバッグアダプターのインライン実装の記述子を作成します。
| パラメーター | 説明 |
|---|---|
| implementation: DebugAdapter | |
| 戻り値 | 説明 |
| DebugAdapterInlineImplementation |
DebugAdapterNamedPipeServer
名前付きパイプ (Windows) / UNIXドメインソケット (非Windows) ベースのサーバーとして実行されているデバッグアダプターを表します。
コンストラクター
new DebugAdapterNamedPipeServer(path: string): DebugAdapterNamedPipeServer
名前付きパイプ (Windows) / UNIXドメインソケット (非Windows) ベースのサーバーとして実行されているデバッグアダプターの記述を作成します。
| パラメーター | 説明 |
|---|---|
| path: string | |
| 戻り値 | 説明 |
| DebugAdapterNamedPipeServer |
プロパティ
名前付きパイプ/UNIXドメインソケットへのパス。
DebugAdapterServer
ソケットベースのサーバーとして実行されているデバッグアダプターを表します。
コンストラクター
new DebugAdapterServer(port: number, host?: string): DebugAdapterServer
ソケットベースのサーバーとして実行されているデバッグアダプターの記述を作成します。
| パラメーター | 説明 |
|---|---|
| port: number | |
| host?: string | |
| 戻り値 | 説明 |
| DebugAdapterServer |
プロパティ
ホスト。
ポート。
DebugAdapterTracker
Debug Adapter Tracker は、エディターとデバッグアダプター間の通信を追跡する手段です。
イベント
onDidSendMessage(message: any): void
デバッグアダプターが Debug Adapter Protocol メッセージをエディターに送信しました。
| パラメーター | 説明 |
|---|---|
| message: any | |
| 戻り値 | 説明 |
| void |
onWillReceiveMessage(message: any): void
デバッグアダプターがエディターから Debug Adapter Protocol メッセージを受信する直前です。
| パラメーター | 説明 |
|---|---|
| message: any | |
| 戻り値 | 説明 |
| void |
デバッグアダプターとのセッションが開始されようとしています。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
デバッグアダプターセッションが停止されようとしています。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
メソッド
デバッグアダプターでエラーが発生しました。
| パラメーター | 説明 |
|---|---|
| error: Error | |
| 戻り値 | 説明 |
| void |
onExit(code: number, signal: string): void
デバッグアダプターが指定された終了コードまたはシグナルで終了しました。
| パラメーター | 説明 |
|---|---|
| code: number | |
| signal: string | |
| 戻り値 | 説明 |
| void |
DebugAdapterTrackerFactory
デバッグアダプタートラッカーを作成するデバッグアダプターファクトリー。
メソッド
createDebugAdapterTracker(session: DebugSession): ProviderResult<DebugAdapterTracker>
'createDebugAdapterTracker' メソッドは、エディターとデバッグアダプター間の通信への読み取りアクセスを提供する「トラッカー」オブジェクトを返すために、デバッグセッションの開始時に呼び出されます。
| パラメーター | 説明 |
|---|---|
| session: DebugSession | デバッグアダプタートラッカーが使用される デバッグセッション。 |
| 戻り値 | 説明 |
| ProviderResult<DebugAdapterTracker> | デバッグアダプタートラッカーまたはundefined。 |
DebugConfiguration
デバッグセッションの構成。
プロパティ
デバッグセッションの名前。
デバッグセッションの要求タイプ。
デバッグセッションのタイプ。
DebugConfigurationProvider
デバッグ構成プロバイダーは、デバッグサービスにデバッグ構成を追加し、デバッグセッションの開始に使用される前に起動構成を解決できます。デバッグ構成プロバイダーは debug.registerDebugConfigurationProvider を介して登録されます。
メソッド
provideDebugConfigurations(folder: WorkspaceFolder, token?: CancellationToken): ProviderResult<DebugConfiguration[]>
デバッグサービスに デバッグ構成 を提供します。同じタイプに対して複数のデバッグ構成プロバイダーが登録されている場合、デバッグ構成は任意の順序で連結されます。
| パラメーター | 説明 |
|---|---|
| folder: WorkspaceFolder | 構成が使用されるワークスペースフォルダー。フォルダーなしのセットアップの場合は |
| token?: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<DebugConfiguration[]> | デバッグ構成の配列。 |
resolveDebugConfiguration(folder: WorkspaceFolder, debugConfiguration: DebugConfiguration, token?: CancellationToken): ProviderResult<DebugConfiguration>
不足している値を埋めたり、属性を追加/変更/削除したりすることで、デバッグ構成を解決します。同じタイプに複数のデバッグ構成プロバイダーが登録されている場合、resolveDebugConfiguration呼び出しは任意の順序で連鎖され、初期デバッグ構成はチェーンを通じてパイプされます。値「undefined」を返すと、デバッグセッションの開始が妨げられます。値「null」を返すと、デバッグセッションの開始が妨げられ、代わりに基になるデバッグ構成が開きます。
| パラメーター | 説明 |
|---|---|
| folder: WorkspaceFolder | 構成の発生元となるワークスペースフォルダー。フォルダーなしのセットアップの場合は |
| debugConfiguration: DebugConfiguration | 解決するデバッグ構成。 |
| token?: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<DebugConfiguration> | 解決されたデバッグ構成、またはundefined、またはnull。 |
resolveDebugConfigurationWithSubstitutedVariables(folder: WorkspaceFolder, debugConfiguration: DebugConfiguration, token?: CancellationToken): ProviderResult<DebugConfiguration>
このフックは「resolveDebugConfiguration」の直後に呼び出されますが、すべての変数が置換されています。不足している値を埋めたり、属性を追加/変更/削除したりすることで、デバッグ構成を解決または検証するために使用できます。同じタイプに複数のデバッグ構成プロバイダーが登録されている場合、「resolveDebugConfigurationWithSubstitutedVariables」呼び出しは任意の順序で連鎖され、初期デバッグ構成はチェーンを通じてパイプされます。値「undefined」を返すと、デバッグセッションの開始が妨げられます。値「null」を返すと、デバッグセッションの開始が妨げられ、代わりに基になるデバッグ構成が開きます。
| パラメーター | 説明 |
|---|---|
| folder: WorkspaceFolder | 構成の発生元となるワークスペースフォルダー。フォルダーなしのセットアップの場合は |
| debugConfiguration: DebugConfiguration | 解決するデバッグ構成。 |
| token?: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<DebugConfiguration> | 解決されたデバッグ構成、またはundefined、またはnull。 |
DebugConfigurationProviderTriggerKind
DebugConfigurationProviderTriggerKindは、DebugConfigurationProviderのprovideDebugConfigurationsメソッドがいつトリガーされるかを指定します。現在、2つの状況があります。新しく作成されたlaunch.jsonの初期デバッグ構成を提供する場合、またはユーザーがUIを介して(例: "Select and Start Debugging"コマンド経由で)動的に生成されたデバッグ構成を要求する場合です。トリガーの種類は、debug.registerDebugConfigurationProviderでDebugConfigurationProviderを登録する際に使用されます。
列挙型メンバー
DebugConfigurationProvider.provideDebugConfigurationsは、新しく作成されたlaunch.jsonの初期デバッグ構成を提供するために呼び出されます。
DebugConfigurationProvider.provideDebugConfigurationsは、ユーザーがUIを介して(例: "Select and Start Debugging"コマンド経由で)動的に生成されたデバッグ構成を要求するために呼び出されます。
DebugConsole
デバッグコンソールを表します。
メソッド
指定された値をデバッグコンソールに追加します。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。falsy値は出力されません。 |
| 戻り値 | 説明 |
| void |
appendLine(value: string): 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
デバッグセッション。
プロパティ
configuration: DebugConfiguration
このセッションの「解決済み」デバッグ構成。「解決済み」とは、
- すべての変数が置換され、
- プラットフォーム固有の属性セクションが、一致するプラットフォームに対して「平坦化」され、一致しないプラットフォームに対しては削除されていることを意味します。
このデバッグセッションの一意のID。
デバッグセッションの名前は、最初にデバッグ構成から取得されます。変更はUIに適切に反映されます。
parentSession?: DebugSession
このデバッグセッションが子として作成された場合、このデバッグセッションの親セッション。
参照: DebugSessionOptions.parentSession
デバッグ構成からのデバッグセッションのタイプ。
workspaceFolder: WorkspaceFolder
このセッションのワークスペースフォルダー。フォルダーなしのセットアップの場合はundefined。
メソッド
customRequest(command: string, args?: any): Thenable<any>
デバッグアダプターにカスタムリクエストを送信します。
| パラメーター | 説明 |
|---|---|
| command: string | |
| args?: any | |
| 戻り値 | 説明 |
| Thenable<any> |
getDebugProtocolBreakpoint(breakpoint: Breakpoint): Thenable<DebugProtocolBreakpoint>
エディター内のブレークポイントを、デバッグセッションのデバッグアダプターによって管理される対応するデバッグアダプタープロトコル (DAP) ブレークポイントにマッピングします。DAPブレークポイントが存在しない場合 (エディターのブレークポイントがまだ登録されていないか、デバッグアダプターがそのブレークポイントに関心がないため)、値undefinedが返されます。
| パラメーター | 説明 |
|---|---|
| breakpoint: Breakpoint | エディター内のブレークポイント。 |
| 戻り値 | 説明 |
| Thenable<DebugProtocolBreakpoint> | デバッグアダプタープロトコルブレークポイント、または |
DebugSessionCustomEvent
デバッグセッションから受信したカスタムのデバッグアダプタープロトコルイベント。
プロパティ
イベント固有の情報。
イベントのタイプ。
session: DebugSession
カスタムイベントが受信されたデバッグセッション。
DebugSessionOptions
デバッグセッションを開始するためのオプション。
プロパティ
デバッグセッションの親セッションが、子セッションが1つしかない場合でも、CALL STACKビューに表示されるかどうかを制御します。デフォルトでは、デバッグセッションは親セッションを非表示にすることはありません。compactがtrueの場合、単一の子を持つデバッグセッションは、ツリーをよりコンパクトにするためにCALL STACKビューで非表示になります。
consoleMode?: DebugConsoleMode
このセッションが個別のデバッグコンソールを持つべきか、親セッションと共有すべきかを制御します。親セッションを持たないセッションには影響しません。デフォルトはSeparateです。
lifecycleManagedByParent?: boolean
'restart'のようなライフサイクルリクエストを、新しく作成されたセッションに送信するか、その親セッションに送信するかを制御します。デフォルトでは (プロパティがfalseまたは欠落している場合)、ライフサイクルリクエストは新しいセッションに送信されます。セッションに親セッションがない場合、このプロパティは無視されます。
このセッションがデバッグなしで実行されるべきか、したがってブレークポイントを無視すべきかを制御します。このプロパティが指定されていない場合、親セッション (存在する場合) の値が使用されます。
parentSession?: DebugSession
指定された場合、新しく作成されたデバッグセッションは、この「親」デバッグセッションの「子」セッションとして登録されます。
suppressDebugStatusbar?: boolean
trueの場合、このセッションのウィンドウステータスバーの色は変更されません。
suppressDebugToolbar?: boolean
trueの場合、このセッションのデバッグツールバーは表示されません。
trueの場合、このセッションのデバッグビューレットは自動的に表示されません。
suppressSaveBeforeStart?: boolean
trueの場合、debug.saveBeforeStart設定の値に関係なく、デバッグセッションの開始時に開いているエディターの保存はトリガーされません。
testRun?: TestRun
デバッグセッションがテスト実行リクエストから開始されたことをエディターに通知します。これは、UIアクションでのデバッグセッションとテスト実行のライフサイクルをリンクするために使用されます。
DebugStackFrame
デバッグセッション内のスタックフレームを表します。
プロパティ
デバッグプロトコルにおけるスタックフレームのID。
session: DebugSession
スレッドのデバッグセッション。
デバッグプロトコルにおける関連するスレッドのID。
DebugThread
デバッグセッション内のスレッドを表します。
プロパティ
session: DebugSession
スレッドのデバッグセッション。
デバッグプロトコルにおける関連するスレッドのID。
Declaration
Declaration: Location | Location[] | LocationLink[]
DeclarationCoverage
宣言のカバレッジ情報を含みます。レポーターと言語によっては、関数、メソッド、名前空間などの型になります。
コンストラクター
new DeclarationCoverage(name: string, executed: number | boolean, location: Range | Position): DeclarationCoverage
| パラメーター | 説明 |
|---|---|
| name: string | |
| executed: number | boolean | この宣言が実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。ゼロまたはfalseの場合、宣言は未カバーとしてマークされます。 |
| location: Range | Position | 宣言位置。 |
| 戻り値 | 説明 |
| DeclarationCoverage |
プロパティ
この宣言が実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。ゼロまたはfalseの場合、宣言は未カバーとしてマークされます。
宣言位置。
宣言の名前。
DeclarationProvider
宣言プロバイダーインターフェイスは、拡張機能と宣言に移動機能間の契約を定義します。
メソッド
provideDeclaration(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Declaration>
指定された位置とドキュメントにあるシンボルの宣言を提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<Declaration> | 宣言またはそれに解決されるThenable。結果がない場合は、 |
DecorationInstanceRenderOptions
デコレーションインスタンスのレンダリングオプションを表します。DecorationOptions.renderOptionsを参照。
プロパティ
after?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。
before?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。
dark?: ThemableDecorationInstanceRenderOptions
ダークテーマのオプションを上書きします。
light?: ThemableDecorationInstanceRenderOptions
ライトテーマのオプションを上書きします。
DecorationOptions
デコレーションセット内の特定のデコレーションのオプションを表します。
プロパティ
hoverMessage?: MarkdownString | MarkedString | Array<MarkdownString | MarkedString>
デコレーションにマウスオーバーしたときにレンダリングされるべきメッセージ。
range: Range
このデコレーションが適用される範囲。範囲は空であってはなりません。
renderOptions?: DecorationInstanceRenderOptions
現在のデコレーションに適用されるレンダリングオプション。パフォーマンス上の理由から、デコレーション固有のオプションの数を少なくし、可能な限りデコレーションタイプを使用してください。
DecorationRangeBehavior
デコレーションの端で入力/編集したときのデコレーションの動作を記述します。
列挙型メンバー
開始または終了で編集が発生すると、デコレーションの範囲が広がります。
開始または終了で編集が発生しても、デコレーションの範囲は広がりません。
開始で編集が発生すると、デコレーションの範囲が広がりますが、終了では広がりません。
終了で編集が発生すると、デコレーションの範囲が広がりますが、開始では広がりません。
DecorationRenderOptions
テキストエディターデコレーションのレンダリングスタイルを表します。
プロパティ
after?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。
backgroundColor?: string | ThemeColor
デコレーションの背景色。他のデコレーションと調和するように、rgba() を使用して透明な背景色を定義してください。あるいは、カラーレジストリから色を参照することもできます。
before?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
borderColor?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のボーダープロパティを1つ以上設定するには、「border」を使用する方が良いでしょう。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のボーダープロパティを1つ以上設定するには、「border」を使用する方が良いでしょう。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のボーダープロパティを1つ以上設定するには、「border」を使用する方が良いでしょう。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のボーダープロパティを1つ以上設定するには、「border」を使用する方が良いでしょう。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のボーダープロパティを1つ以上設定するには、「border」を使用する方が良いでしょう。
color?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
dark?: ThemableDecorationRenderOptions
ダークテーマのオプションを上書きします。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
gutterIconPath?: string | Uri
ガターにレンダリングされる画像の絶対パスまたはURI。
ガターアイコンのサイズを指定します。「auto」、「contain」、「cover」および任意のパーセンテージ値が使用可能です。詳細については、https://msdn.microsoft.com/en-us/library/jj127316(v=vs.85).aspxを参照してください。
デコレーションは行のテキストの後の空白にもレンダリングされるべきですか?デフォルトはfalseです。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
light?: ThemableDecorationRenderOptions
ライトテーマのオプションを上書きします。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
outlineColor?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のアウトラインプロパティを1つ以上設定するには、「outline」を使用する方が良いでしょう。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のアウトラインプロパティを1つ以上設定するには、「outline」を使用する方が良いでしょう。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のアウトラインプロパティを1つ以上設定するには、「outline」を使用する方が良いでしょう。
overviewRulerColor?: string | ThemeColor
概要ルーラーのデコレーションの色。rgba() を使用して透明な色を定義し、他のデコレーションと調和させてください。
overviewRulerLane?: OverviewRulerLane
デコレーションがレンダリングされるべき概要ルーラー内の位置。
rangeBehavior?: DecorationRangeBehavior
デコレーションの範囲の端で編集が発生したときの、デコレーションの拡張動作をカスタマイズします。デフォルトはDecorationRangeBehavior.OpenOpenです。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
Definition
1つまたは複数のロケーションとして表されるシンボルの定義。ほとんどのプログラミング言語では、シンボルが定義されるロケーションは1つだけです。
Definition: Location | Location[]
DefinitionLink
シンボルが定義されている場所に関する情報。
定義シンボルの範囲を含む、通常のLocation定義を超える追加のメタデータを提供します。
DefinitionLink: LocationLink
DefinitionProvider
定義プロバイダーインターフェイスは、拡張機能と定義に移動および定義を覗き見機能間の契約を定義します。
メソッド
provideDefinition(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>
指定された位置とドキュメントにあるシンボルの定義を提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<Definition | LocationLink[]> | 定義またはそれに解決されるthenable。結果がない場合は、 |
Diagnostic
コンパイラエラーや警告などの診断を表します。診断オブジェクトはファイルスコープ内でのみ有効です。
コンストラクター
new Diagnostic(range: Range, message: string, severity?: DiagnosticSeverity): Diagnostic
新しい診断オブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| range: Range | この診断が適用される範囲。 |
| message: string | 人間が読めるメッセージ。 |
| severity?: DiagnosticSeverity | 深刻度。デフォルトはerrorです。 |
| 戻り値 | 説明 |
| Diagnostic |
プロパティ
code?: string | number | {target: Uri, value: string | number}
この診断のコードまたは識別子。後続の処理、例えばコードアクションを提供する際などに使用すべきです。
人間が読めるメッセージ。
range: Range
この診断が適用される範囲。
relatedInformation?: DiagnosticRelatedInformation[]
関連する診断情報の配列。例えば、スコープ内でシンボル名が衝突する場合、すべての定義をこのプロパティでマークできます。
severity: DiagnosticSeverity
深刻度。デフォルトはerrorです。
この診断のソースを記述する人間が読める文字列。例えば、「typescript」や「super lint」。
tags?: DiagnosticTag[]
診断に関する追加のメタデータ。
DiagnosticChangeEvent
診断が変更されたときに発生するイベント。
プロパティ
uris: readonly Uri[]
診断が変更されたリソースの配列。
DiagnosticCollection
診断コレクションは、診断のセットを管理するコンテナーです。診断は常に診断コレクションとリソースにスコープされます。
DiagnosticCollectionのインスタンスを取得するには、createDiagnosticCollectionを使用します。
プロパティ
この診断コレクションの名前。例えばtypescript。このコレクションからのすべての診断はこの名前に関連付けられます。また、タスクフレームワークは問題マッチャーを定義する際にこの名前を使用します。
メソッド
このコレクションからすべての診断を削除します。#set(undefined)を呼び出すのと同じです。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
delete(uri: Uri): void
指定されたuriに属するすべての診断をこのコレクションから削除します。#set(uri, undefined)と同じです。
| パラメーター | 説明 |
|---|---|
| uri: Uri | リソース識別子。 |
| 戻り値 | 説明 |
| void |
関連するリソースを破棄して解放します。clearを呼び出します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
forEach(callback: (uri: Uri, diagnostics: readonly Diagnostic[], collection: DiagnosticCollection) => any, thisArg?: any): void
このコレクションの各エントリを反復処理します。
| パラメーター | 説明 |
|---|---|
| callback: (uri: Uri, diagnostics: readonly Diagnostic[], collection: DiagnosticCollection) => any | 各エントリに対して実行する関数。 |
| thisArg?: any | ハンドラ関数を呼び出すときに使用される `this` コンテキスト。 |
| 戻り値 | 説明 |
| void |
get(uri: Uri): readonly Diagnostic[]
指定されたリソースの診断を取得します。注意: この呼び出しから返される診断配列は変更できません。
| パラメーター | 説明 |
|---|---|
| uri: Uri | リソース識別子。 |
| 戻り値 | 説明 |
| readonly Diagnostic[] | 診断の不変配列、または |
has(uri: Uri): boolean
このコレクションが指定されたリソースの診断を含むかどうかを確認します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | リソース識別子。 |
| 戻り値 | 説明 |
| boolean | このコレクションに指定されたリソースの診断がある場合は |
set(uri: Uri, diagnostics: readonly Diagnostic[]): void
指定されたリソースに診断を割り当てます。そのリソースの既存の診断を置き換えます。
| パラメーター | 説明 |
|---|---|
| uri: Uri | リソース識別子。 |
| diagnostics: readonly Diagnostic[] | 診断の配列、または |
| 戻り値 | 説明 |
| void |
set(entries: ReadonlyArray<[Uri, readonly Diagnostic[]]>): void
このコレクション内の複数のリソースの診断を置き換えます。
注意: 同じURIの複数のタプルは結合されます。例えば、[[file1, [d1]], [file1, [d2]]]は[[file1, [d1, d2]]]と同じです。診断アイテムが[file1, undefined]のようにundefinedの場合、以前の診断はすべて削除されますが、後続の診断は削除されません。
| パラメーター | 説明 |
|---|---|
| entries: ReadonlyArray<[Uri, readonly Diagnostic[]]> |
|
| 戻り値 | 説明 |
| void |
DiagnosticRelatedInformation
診断に関する関連メッセージとソースコードの場所を表します。これは、診断の原因となる、または関連するコードの場所を指すために使用すべきです。例えば、スコープ内でシンボルが重複する場合などです。
コンストラクター
new DiagnosticRelatedInformation(location: Location, message: string): DiagnosticRelatedInformation
新しい関連診断情報オブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| location: Location | ロケーション。 |
| message: string | メッセージ。 |
| 戻り値 | 説明 |
| DiagnosticRelatedInformation |
プロパティ
location: Location
この関連診断情報の場所。
この関連診断情報のメッセージ。
DiagnosticSeverity
診断の重大度を表します。
列挙型メンバー
言語の規則やその他の手段によって許可されていないもの。
疑わしいが許可されているもの。
問題ではないが、情報として知らせるもの。
リファクタリングを提案するなど、より良いやり方をヒントとして示すもの。
DiagnosticTag
診断の種類に関する追加のメタデータ。
列挙型メンバー
未使用または不要なコード。
このタグを持つ診断は、フェードアウトしてレンダリングされます。フェードの量は"editorUnnecessaryCode.opacity"テーマカラーによって制御されます。例えば、"editorUnnecessaryCode.opacity": "#000000c0"はコードを75%の不透明度でレンダリングします。ハイコントラストテーマの場合、フェードアウトする代わりに、"editorUnnecessaryCode.border"テーマカラーを使用して不要なコードに下線を引きます。
非推奨または廃止されたコード。
このタグを持つ診断は、取り消し線付きでレンダリングされます。
Disposable
イベントリスニングやタイマーなど、リソースを解放できる型を表します。
Static
from(...disposableLikes: Array<{dispose: () => any}>): Disposable
複数の使い捨てオブジェクトを1つにまとめます。Disposableのインスタンスではないがdispose関数を持つオブジェクトがある場合、このメソッドを使用できます。
| パラメーター | 説明 |
|---|---|
| ...disposableLikes: Array<{dispose: () => any}> | 少なくとも |
| 戻り値 | 説明 |
| Disposable | 破棄時に提供されたすべての使い捨てオブジェクトを破棄する新しい使い捨てオブジェクトを返します。 |
コンストラクター
new Disposable(callOnDispose: () => any): Disposable
破棄時に提供された関数を呼び出す新しいDisposableを作成します。
注意: 非同期関数は待機されません。
| パラメーター | 説明 |
|---|---|
| callOnDispose: () => any | 何かを破棄する関数。 |
| 戻り値 | 説明 |
| Disposable |
メソッド
このオブジェクトを破棄します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| any |
DocumentColorProvider
ドキュメントカラープロバイダーは、拡張機能とエディターで色を選択および変更する機能間の契約を定義します。
メソッド
provideColorPresentations(color: Color, context: {document: TextDocument, range: Range}, token: CancellationToken): ProviderResult<ColorPresentation[]>
色の表現を提供します。
| パラメーター | 説明 |
|---|---|
| color: Color | 表示および挿入する色。 |
| context: {document: TextDocument, range: Range} | 追加情報を含むコンテキストオブジェクト |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<ColorPresentation[]> | カラープレゼンテーションの配列、またはそれに解決されるThenable。結果がない場合は、 |
provideDocumentColors(document: TextDocument, token: CancellationToken): ProviderResult<ColorInformation[]>
指定されたドキュメントのカラー情報を提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<ColorInformation[]> | カラー情報の配列、またはそれに解決されるThenable。結果がない場合は、 |
DocumentDropEdit
ドロップ時に適用される編集操作。
コンストラクター
new DocumentDropEdit(insertText: string | SnippetString, title?: string, kind?: DocumentDropOrPasteEditKind): DocumentDropEdit
| パラメーター | 説明 |
|---|---|
| insertText: string | SnippetString | ドロップ位置に挿入するテキストまたはスニペット。 |
| title?: string | 編集を記述する人間が読めるラベル。 |
| kind?: DocumentDropOrPasteEditKind | 編集の種類。 |
| 戻り値 | 説明 |
| DocumentDropEdit |
プロパティ
additionalEdit?: WorkspaceEdit
ドロップ時に適用する任意の追加編集。
insertText: string | SnippetString
ドロップ位置に挿入するテキストまたはスニペット。
kind?: DocumentDropOrPasteEditKind
編集の種類。
編集を記述する人間が読めるラベル。
yieldTo?: readonly DocumentDropOrPasteEditKind[]
複数の編集の順序を制御します。このプロバイダーが編集に譲る場合、リストの下位に表示されます。
DocumentDropEditProvider<T>
リソースをテキストエディターにドロップする処理を行うプロバイダー。
これにより、ユーザーはリソース(外部アプリからのリソースを含む)をエディターにドラッグ&ドロップできます。ファイルをドラッグ&ドロップする際、ユーザーはshiftキーを押しながらファイルをエディターにドロップできます(ファイルを開く代わりに)。editor.dropIntoEditor.enabledがオンになっている必要があります。
メソッド
provideDocumentDropEdits(document: TextDocument, position: Position, dataTransfer: DataTransfer, token: CancellationToken): ProviderResult<T | T[]>
ドラッグアンドドロップされたコンテンツをドキュメントに挿入する編集を提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | ドロップが発生したドキュメント。 |
| position: Position | ドロップが発生したドキュメント内の位置。 |
| dataTransfer: DataTransfer | ドラッグアンドドロップされているデータに関する情報を保持するDataTransferオブジェクト。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T | T[]> | DocumentDropEdit、またはそれに解決されるThenable。結果がない場合は、 |
resolveDocumentDropEdit(edit: T, token: CancellationToken): ProviderResult<T>
編集が適用される前にDocumentDropEdit.additionalEditを埋めるオプションのメソッド。
これは編集ごとに1回呼び出され、完全な編集の生成に時間がかかる場合に使用すべきです。ResolveはDocumentDropEdit.additionalEditのみを変更するために使用できます。
| パラメーター | 説明 |
|---|---|
| edit: T | 解決するDocumentDropEdit。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T> | 解決された編集、またはそれに解決されるthenable。与えられた |
DocumentDropEditProviderMetadata
DocumentDropEditProviderの動作に関する追加のメタデータを提供します。
プロパティ
dropMimeTypes: readonly string[]
プロバイダーが処理できるDataTransfer MIMEタイプのリスト。
これは、image/pngのような正確なMIMEタイプであるか、image/*のようなワイルドカードパターンである場合があります。
エクスプローラーやワークベンチの他のツリービューからドロップされたリソースにはtext/uri-listを使用します。
DataTransferにファイルが存在する場合にプロバイダーが呼び出されるべきであることを示すにはfilesを使用します。なお、DataTransferFileエントリは、エディター外部 (例: オペレーティングシステム) からコンテンツをドロップした場合にのみ作成されます。
providedDropEditKinds?: readonly DocumentDropOrPasteEditKind[]
プロバイダーがprovideDocumentDropEditsで返す可能性のある種類のリスト。
これは、特定の種類の編集が要求されたときにプロバイダーをフィルタリングするために使用されます。
DocumentDropOrPasteEditKind
DocumentDropEditまたはDocumentPasteEditを識別します。
Static
Empty: DocumentDropOrPasteEditKind
Text: DocumentDropOrPasteEditKind
基本的なテキスト編集のルートの種類。
この種類は、基本的なテキストをドキュメントに挿入する編集に使用する必要があります。良い例としては、クリップボードのテキストを貼り付けながら、貼り付けられたテキストに基づいてファイルのインポートを更新する編集があります。この場合、text.updateImports.someLanguageIdのような種類を使用できます。
ほとんどのドロップ/ペースト編集は最終的にテキストを挿入しますが、冗長であるため、すべての編集のベースの種類としてTextを使用すべきではありません。代わりに、挿入されるコンテンツの種類を記述する、より具体的な種類を使用すべきです。例えば、編集がMarkdownリンクを追加する場合、挿入されるコンテンツはテキストですが、編集がMarkdown構文を挿入することを知ることがより重要であるため、markdown.linkを使用します。
TextUpdateImports: DocumentDropOrPasteEditKind
テキストの挿入に加えて、ドキュメント内のインポートを更新する編集のルートの種類。
コンストラクター
new DocumentDropOrPasteEditKind(value: string): DocumentDropOrPasteEditKind
代わりにDocumentDropOrPasteEditKind.Emptyを使用してください。
| パラメーター | 説明 |
|---|---|
| value: string | |
| 戻り値 | 説明 |
| DocumentDropOrPasteEditKind |
プロパティ
種類の生の文字列値。
メソッド
append(...parts: string[]): DocumentDropOrPasteEditKind
現在の種類にさらにスコープを追加して新しい種類を作成します。
現在の種類を変更しません。
| パラメーター | 説明 |
|---|---|
| ...parts: string[] | |
| 戻り値 | 説明 |
| DocumentDropOrPasteEditKind |
contains(other: DocumentDropOrPasteEditKind): boolean
otherがこのDocumentDropOrPasteEditKindのサブ種類であるかどうかを確認します。
例えば、種類"text.plain"は"text.plain"と"text.plain.list"を含みますが、"text"や"unicorn.text.plain"は含みません。
| パラメーター | 説明 |
|---|---|
| other: DocumentDropOrPasteEditKind | 確認する種類。 |
| 戻り値 | 説明 |
| boolean |
intersects(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プロパティを設定すると、schemeとpatternの解釈方法が変わります。設定された場合、それらはドキュメントURIではなく、ノートブックURIに対して評価されます。
例 まだ保存されていない (untitled) Jupyterノートブック内のPythonドキュメントにマッチする
{ language: 'python', notebookType: 'jupyter-notebook', scheme: 'untitled' }
pattern?: GlobPattern
ドキュメントの絶対パスにマッチするglobパターン。相対パターンを使用して、ドキュメントをワークスペースフォルダーにフィルタリングします。
fileやuntitledのようなUri スキーム。
DocumentFormattingEditProvider
ドキュメント書式設定プロバイダーインターフェイスは、拡張機能と書式設定機能間の契約を定義します。
メソッド
provideDocumentFormattingEdits(document: TextDocument, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>
ドキュメント全体の書式設定編集を提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| options: FormattingOptions | 書式設定を制御するオプション。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<TextEdit[]> | テキスト編集のセット、またはそれに解決されるthenable。結果がない場合は、 |
DocumentHighlight
ドキュメントハイライトは、テキストドキュメント内で特別な注意を払うべき範囲です。通常、ドキュメントハイライトはその範囲の背景色を変更することによって視覚化されます。
コンストラクター
new DocumentHighlight(range: Range, kind?: DocumentHighlightKind): DocumentHighlight
新しいドキュメントハイライトオブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| range: Range | ハイライトが適用される範囲。 |
| kind?: DocumentHighlightKind | ハイライトの種類。デフォルトはテキストです。 |
| 戻り値 | 説明 |
| DocumentHighlight |
プロパティ
kind?: DocumentHighlightKind
ハイライトの種類。デフォルトはテキストです。
range: Range
このハイライトが適用される範囲。
DocumentHighlightKind
ドキュメントハイライトの種類。
列挙型メンバー
テキストの出現箇所。
変数を読み取るなど、シンボルの読み取りアクセス。
変数への書き込みなど、シンボルの書き込みアクセス。
DocumentHighlightProvider
ドキュメントハイライトプロバイダーインターフェースは、拡張機能と単語ハイライト機能間の契約を定義します。
メソッド
provideDocumentHighlights(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<DocumentHighlight[]>
変数のすべての出現箇所や関数のすべての終了点など、一連のドキュメントハイライトを提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<DocumentHighlight[]> | ドキュメントハイライトの配列、またはそのような配列に解決されるThenable。結果がないことは、 |
DocumentLink
ドキュメントリンクは、別のテキストドキュメントやWebサイトなど、内部または外部のリソースにリンクするテキストドキュメント内の範囲です。
コンストラクター
new DocumentLink(range: Range, target?: Uri): DocumentLink
新しいドキュメントリンクを作成します。
| パラメーター | 説明 |
|---|---|
| range: Range | ドキュメントリンクが適用される範囲。空であってはなりません。 |
| target?: Uri | ドキュメントリンクが指すURI。 |
| 戻り値 | 説明 |
| DocumentLink |
プロパティ
range: Range
このリンクが適用される範囲。
target?: Uri
このリンクが指すURI。
このリンクの上にマウスを置いたときに表示されるツールチップテキスト。
ツールチップが提供されている場合、{0} (ctrl + click)のように、リンクをトリガーする方法に関する指示を含む文字列で表示されます。具体的な指示は、OS、ユーザー設定、およびローカライズによって異なります。
DocumentLinkProvider<T>
ドキュメントリンクプロバイダーは、拡張機能とエディターでのリンク表示機能間の契約を定義します。
メソッド
provideDocumentLinks(document: TextDocument, token: CancellationToken): ProviderResult<T[]>
指定されたドキュメントのリンクを提供します。エディターには、http(s)およびfileリンクを検出するデフォルトのプロバイダーが付属していることに注意してください。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T[]> | ドキュメントリンクの配列、またはそのような配列に解決されるThenable。結果がないことは、 |
resolveDocumentLink(link: T, token: CancellationToken): ProviderResult<T>
リンクがUIで選択されたときに、そのターゲットを埋めます。プロバイダーはこのメソッドを実装し、provideDocumentLinksメソッドから不完全なリンク(ターゲットなし)を返すことができ、これにより多くの場合パフォーマンスが向上します。
| パラメーター | 説明 |
|---|---|
| link: T | 解決されるリンク。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T> |
DocumentPasteEdit
ペースト操作を適用する編集。
コンストラクター
new DocumentPasteEdit(insertText: string | SnippetString, title: string, kind: DocumentDropOrPasteEditKind): DocumentPasteEdit
新しいペースト編集を作成します。
| パラメーター | 説明 |
|---|---|
| insertText: string | SnippetString | ペーストされた場所に挿入するテキストまたはスニペット。 |
| title: string | 編集を記述する人間が読めるラベル。 |
| kind: DocumentDropOrPasteEditKind | 編集の種類。 |
| 戻り値 | 説明 |
| DocumentPasteEdit |
プロパティ
additionalEdit?: WorkspaceEdit
ペースト時に適用するオプションの追加編集。
insertText: string | SnippetString
ペーストされた場所に挿入するテキストまたはスニペット。
編集がより高度な挿入ロジックを必要とする場合、これを空の文字列に設定し、代わりに追加編集を提供します。
kind: DocumentDropOrPasteEditKind
編集の種類。
編集を記述する人間が読めるラベル。
yieldTo?: readonly DocumentDropOrPasteEditKind[]
複数のペースト編集が適用される可能性のある場合の順序を制御します。
この編集が別の編集に譲る場合、ユーザーに表示される可能なペースト編集のリストの下位に表示されます。
DocumentPasteEditContext
ペースト操作に関する追加情報。
プロパティ
only: DocumentDropOrPasteEditKind
返されるペースト編集の要求された種類。
PasteAsによって明示的な種類が要求された場合、プロバイダーは、要求された種類の編集を生成する際により柔軟であるように促されます。
triggerKind: DocumentPasteTriggerKind
ペースト編集が要求された理由。
DocumentPasteEditProvider<T>
ユーザーがTextDocumentでコピーまたはペーストしたときに呼び出されるプロバイダー。
メソッド
prepareDocumentPaste(document: TextDocument, ranges: readonly Range[], dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>
ユーザーがテキストエディターからコピーした後で呼び出されるオプションのメソッド。
これにより、プロバイダーはコピーされたテキストに関するメタデータをDataTransferに添付できます。このデータ転送は、provideDocumentPasteEditsでプロバイダーに返されます。
現在、DataTransferへの変更は現在のエディターウィンドウに分離されていることに注意してください。これは、追加されたメタデータが他のエディターウィンドウや他のアプリケーションから見ることができないことを意味します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コピーが行われたテキストドキュメント。 |
| ranges: readonly Range[] | ドキュメントでコピーされる範囲。 |
| dataTransfer: DataTransfer | コピーに関連付けられたデータ転送。これをDataTransferに格納して、provideDocumentPasteEditsで後で使用できます。このオブジェクトは、このメソッドの期間中のみ有効です。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| void | Thenable<void> |
|
provideDocumentPasteEdits(document: TextDocument, ranges: readonly Range[], dataTransfer: DataTransfer, context: DocumentPasteEditContext, token: CancellationToken): ProviderResult<T[]>
ユーザーがテキストエディターにペーストする前に呼び出されます。
返された編集は、標準のペースト動作を置き換えることができます。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | ペースト先のドキュメント |
| ranges: readonly Range[] | ドキュメント内のペースト先の範囲。 |
| dataTransfer: DataTransfer | ペーストに関連付けられたデータ転送。このオブジェクトは、ペースト操作の期間中のみ有効です。 |
| context: DocumentPasteEditContext | ペーストに関する追加のコンテキスト。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T[]> | ペーストを適用できる潜在的な編集のセット。一度に適用されるのは1つのDocumentPasteEditのみです。すべてのプロバイダーから複数の編集が返された場合、最初の編集が自動的に適用され、ユーザーが他の編集に切り替えることができるウィジェットが表示されます。 |
resolveDocumentPasteEdit(pasteEdit: T, token: CancellationToken): ProviderResult<T>
編集が適用される前にDocumentPasteEdit.additionalEditを埋めるオプションのメソッド。
これは編集ごとに一度呼び出され、完全な編集の生成に時間がかかる場合にのみ使用すべきです。ResolveはDocumentPasteEdit.insertTextまたはDocumentPasteEdit.additionalEditを変更するためにのみ使用できます。
| パラメーター | 説明 |
|---|---|
| pasteEdit: T | 解決されるDocumentPasteEdit。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T> | 解決されたペースト編集、またはそのようなものに解決されるthenable。与えられた |
DocumentPasteProviderMetadata
DocumentPasteEditProviderがどのように機能するかに関する追加のメタデータを提供します。
プロパティ
copyMimeTypes?: readonly string[]
prepareDocumentPasteがコピー時に追加する可能性のあるMIMEタイプ。
pasteMimeTypes?: readonly string[]
provideDocumentPasteEditsが呼び出されるべきMIMEタイプ。
これは、image/pngのような正確なMIMEタイプであるか、image/*のようなワイルドカードパターンである場合があります。
エクスプローラーやワークベンチの他のツリービューからドロップされたリソースにはtext/uri-listを使用します。
DataTransferにファイルが存在する場合にプロバイダーが呼び出されるべきであることを示すには、filesを使用します。なお、DataTransferFileのエントリは、オペレーティングシステムなど、エディター外からコンテンツをペーストした場合にのみ作成されます。
providedPasteEditKinds: readonly DocumentDropOrPasteEditKind[]
provideDocumentPasteEditsでプロバイダーが返す可能性のある種類のリスト。
これは、特定の種類の編集が要求されたときにプロバイダーをフィルタリングするために使用されます。
DocumentPasteTriggerKind
ペースト編集が要求された理由。
列挙型メンバー
通常のペースト操作の一部としてペーストが要求されました。
ユーザーによって「paste as」コマンドでペーストが要求されました。
DocumentRangeFormattingEditProvider
ドキュメント書式設定プロバイダーインターフェイスは、拡張機能と書式設定機能間の契約を定義します。
メソッド
provideDocumentRangeFormattingEdits(document: TextDocument, range: Range, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>
ドキュメントの範囲の書式設定編集を提供します。
指定された範囲はヒントであり、プロバイダーはより小さいまたはより大きい範囲を書式設定することを決定できます。これは、範囲の開始と終了を完全な構文ノードに調整することで行われることがよくあります。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| range: Range | 書式設定されるべき範囲。 |
| options: FormattingOptions | 書式設定を制御するオプション。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<TextEdit[]> | テキスト編集のセット、またはそれに解決されるthenable。結果がない場合は、 |
provideDocumentRangesFormattingEdits(document: TextDocument, ranges: Range[], options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>
ドキュメント内の複数の範囲の書式設定編集を提供します。
この関数はオプションですが、変更された範囲のみを書式設定する場合や、多数の選択範囲を書式設定する場合に、フォーマッターがより高速に実行できるようにします。
指定された範囲はヒントであり、プロバイダーはより小さいまたはより大きい範囲を書式設定することを決定できます。これは、範囲の開始と終了を完全な構文ノードに調整することで行われることがよくあります。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| ranges: Range[] | 書式設定されるべき範囲。 |
| options: FormattingOptions | 書式設定を制御するオプション。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<TextEdit[]> | テキスト編集のセット、またはそれに解決されるthenable。結果がない場合は、 |
DocumentRangeSemanticTokensProvider
ドキュメント範囲のセマンティックトークンプロバイダーインターフェースは、拡張機能とセマンティックトークン間の契約を定義します。
メソッド
provideDocumentRangeSemanticTokens(document: TextDocument, range: Range, token: CancellationToken): ProviderResult<SemanticTokens>
| パラメーター | 説明 |
|---|---|
| document: TextDocument | |
| range: Range | |
| token: CancellationToken | |
| 戻り値 | 説明 |
| ProviderResult<SemanticTokens> |
DocumentSelector
言語セレクターは、1つ以上の言語識別子と言語フィルターの組み合わせです。
注意: 言語識別子のみのドキュメントセレクターは、ディスクに保存されていないドキュメントでもすべて選択します。このようなセレクターは、追加のコンテキストなしで機能する機能、つまり関連する「ファイル」を解決する必要がない場合にのみ使用してください。
例
let sel: DocumentSelector = { scheme: 'file', language: 'typescript' };
DocumentSelector: DocumentFilter | string | ReadonlyArray<DocumentFilter | string>
DocumentSemanticTokensProvider
ドキュメントのセマンティックトークンプロバイダーインターフェースは、拡張機能とセマンティックトークン間の契約を定義します。
イベント
onDidChangeSemanticTokens?: Event<void>
このプロバイダーからのセマンティックトークンが変更されたことを通知するオプションのイベント。
メソッド
provideDocumentSemanticTokens(document: TextDocument, token: CancellationToken): ProviderResult<SemanticTokens>
ファイル内のトークンは整数配列として表されます。各トークンの位置は、前のトークンに対して相対的に表現されます。これは、ファイルが編集されたときにほとんどのトークンが互いに対して安定した状態を保つためです。
要するに、各トークンは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: [] }
- まず、凡例を考案する必要があります。この凡例は事前に提供され、すべての可能なトークンタイプを捕捉する必要があります。この例では、プロバイダーを登録するときに渡す必要がある次の凡例を選択します。
tokenTypes: ['property', 'type', 'class'],
tokenModifiers: ['private', 'static']
- 最初の変換ステップは、凡例を使用して
tokenTypeとtokenModifiersを整数としてエンコードすることです。トークンタイプはインデックスで検索されるため、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 }
- 次のステップは、ファイル内の前のトークンに対して各トークンを相対的に表現することです。この場合、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 }
- 最後に、最後のステップは、トークンの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> |
provideDocumentSemanticTokensEdits(document: TextDocument, previousResultId: string, token: CancellationToken): ProviderResult<SemanticTokens | SemanticTokensEdits>
ファイル内のすべてのトークンを常に返す代わりに、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つの範囲を持ちます。
コンストラクター
new DocumentSymbol(name: string, detail: string, kind: SymbolKind, range: Range, selectionRange: Range): DocumentSymbol
新しいドキュメントシンボルを作成します。
| パラメーター | 説明 |
|---|---|
| name: string | シンボルの名前。 |
| detail: string | シンボルの詳細。 |
| kind: SymbolKind | シンボルの種類。 |
| range: Range | シンボルの完全な範囲。 |
| selectionRange: Range | 表示されるべき範囲。 |
| 戻り値 | 説明 |
| DocumentSymbol |
プロパティ
children: DocumentSymbol[]
このシンボルの子、例えばクラスのプロパティ。
このシンボルの詳細、例えば関数のシグネチャ。
kind: SymbolKind
このシンボルの種類。
このシンボルの名前。
range: Range
先頭/末尾の空白は含まないが、コメントやコードなどその他すべてを含む、このシンボルを囲む範囲。
selectionRange: Range
このシンボルが選択されたときに選択および表示されるべき範囲。例えば関数の名前。 rangeに含まれている必要があります。
tags?: readonly SymbolTag[]
このシンボルのタグ。
DocumentSymbolProvider
ドキュメントシンボルプロバイダーインターフェースは、拡張機能とシンボルへ移動機能間の契約を定義します。
メソッド
provideDocumentSymbols(document: TextDocument, token: CancellationToken): ProviderResult<DocumentSymbol[] | SymbolInformation[]>
指定されたドキュメントのシンボル情報を提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<DocumentSymbol[] | SymbolInformation[]> | ドキュメントハイライトの配列、またはそのような配列に解決されるThenable。結果がないことは、 |
DocumentSymbolProviderMetadata
ドキュメントシンボルプロバイダーに関するメタデータ。
プロパティ
1つのドキュメントに対して複数のアウトラインツリーが表示される場合に表示される、人間が判読できる文字列。
EndOfLine
ドキュメント内の行末文字シーケンスを表します。
列挙型メンバー
改行文字 \n。
キャリッジリターン改行シーケンス \r\n。
EnterAction
Enterキーを押したときの動作を記述します。
プロパティ
新しい行の後、およびインデントの後に追加するテキストを記述します。
indentAction: IndentAction
インデントをどうするかを記述します。
新しい行のインデントから削除する文字数を記述します。
EnvironmentVariableCollection
拡張機能がプロセス環境に適用できる変更のコレクション。
プロパティ
description: string | MarkdownString
環境変数コレクションの説明。これはUIで変更を記述するために使用されます。
コレクションをワークスペースにキャッシュし、ウィンドウの再読み込み間でターミナルに適用するかどうか。trueの場合、コレクションはウィンドウが再読み込みされるとすぐにアクティブになります。さらに、このAPIは、キャッシュされたバージョンが存在する場合、それを返します。コレクションは、拡張機能がアンインストールされた場合、またはコレクションがクリアされた場合に無効になります。デフォルトはtrueです。
メソッド
append(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数に値を追加します。
拡張機能は任意の変数に対して1つの変更しかできないため、これは以前の置換、追加、または先頭への追加の呼び出しを上書きすることに注意してください。
| パラメーター | 説明 |
|---|---|
| variable: string | 追加する変数。 |
| value: string | 変数に追加する値。 |
| options?: EnvironmentVariableMutatorOptions | ミューテーターに適用されるオプション。オプションが指定されていない場合、デフォルトは |
| 戻り値 | 説明 |
| void |
このコレクションからすべてのミューテーターをクリアします。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
delete(variable: string): void
このコレクションの変数に対するミューテーターを削除します。
| パラメーター | 説明 |
|---|---|
| variable: string | ミューテーターを削除する変数。 |
| 戻り値 | 説明 |
| void |
forEach(callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any, thisArg?: any): void
このコレクション内の各ミューテーターを反復処理します。
| パラメーター | 説明 |
|---|---|
| callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any | 各エントリに対して実行する関数。 |
| thisArg?: any | ハンドラ関数を呼び出すときに使用される `this` コンテキスト。 |
| 戻り値 | 説明 |
| void |
get(variable: string): EnvironmentVariableMutator
このコレクションが変数に適用するミューテーター(存在する場合)を取得します。
| パラメーター | 説明 |
|---|---|
| variable: string | ミューテーターを取得する変数。 |
| 戻り値 | 説明 |
| EnvironmentVariableMutator |
prepend(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数に値を先頭に追加します。
拡張機能は任意の変数に対して1つの変更しかできないため、これは以前の置換、追加、または先頭への追加の呼び出しを上書きすることに注意してください。
| パラメーター | 説明 |
|---|---|
| variable: string | 先頭に追加する変数。 |
| value: string | 変数に先頭に追加する値。 |
| options?: EnvironmentVariableMutatorOptions | ミューテーターに適用されるオプション。オプションが指定されていない場合、デフォルトは |
| 戻り値 | 説明 |
| void |
replace(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数を値で置き換えます。
拡張機能は任意の変数に対して1つの変更しかできないため、これは以前の置換、追加、または先頭への追加の呼び出しを上書きすることに注意してください。
| パラメーター | 説明 |
|---|---|
| variable: string | 置き換える変数。 |
| value: string | 変数を置き換える値。 |
| options?: EnvironmentVariableMutatorOptions | ミューテーターに適用されるオプション。オプションが指定されていない場合、デフォルトは |
| 戻り値 | 説明 |
| void |
EnvironmentVariableMutator
環境変数に適用される変異のタイプとその値。
プロパティ
options: EnvironmentVariableMutatorOptions
ミューテーターに適用されるオプション。
type: EnvironmentVariableMutatorType
変数に発生する変更の種類。
変数に使用する値。
EnvironmentVariableMutatorOptions
ミューテーターに適用されるオプション。
プロパティ
applyAtProcessCreation?: boolean
プロセスが作成される直前に環境に適用します。デフォルトはfalseです。
applyAtShellIntegration?: boolean
シェル統合スクリプトの環境に適用します。シェル統合が無効になっているか、何らかの理由で機能しない場合、このミューテーターは適用されません。デフォルトはfalseです。
EnvironmentVariableMutatorType
環境変数に適用できる変異の種類。
列挙型メンバー
変数の既存の値を置き換えます。
変数の既存の値の末尾に追加します。
変数の既存の値の先頭に追加します。
EnvironmentVariableScope
環境変数コレクションが適用されるスコープオブジェクト。
プロパティ
workspaceFolder?: WorkspaceFolder
コレクションを取得する特定のワークスペースフォルダー。
EvaluatableExpression
EvaluatableExpressionは、アクティブなデバッガーまたはランタイムによって評価できるドキュメント内の式を表します。この評価の結果はツールチップのようなウィジェットに表示されます。範囲のみが指定されている場合、式は基になるドキュメントから抽出されます。オプションの式は、抽出された式を上書きするために使用できます。この場合、範囲はドキュメント内の範囲を強調表示するために引き続き使用されます。
コンストラクター
new EvaluatableExpression(range: Range, expression?: string): EvaluatableExpression
新しい評価可能な式オブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| range: Range | 評価可能な式が抽出される基になるドキュメント内の範囲。 |
| expression?: string | 指定されている場合、抽出された式を上書きします。 |
| 戻り値 | 説明 |
| EvaluatableExpression |
プロパティ
指定されている場合、式は抽出された式を上書きします。
range: Range
範囲は、基になるドキュメントから評価可能な式を抽出し、それを強調表示するために使用されます。
EvaluatableExpressionProvider
評価可能な式プロバイダーインターフェースは、拡張機能とデバッグホバー間の契約を定義します。この契約では、プロバイダーはドキュメント内の指定された位置に対して評価可能な式を返し、エディターはこの式をアクティブなデバッグセッションで評価し、その結果をデバッグホバーに表示します。
メソッド
provideEvaluatableExpression(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<EvaluatableExpression>
指定されたドキュメントと位置に対して評価可能な式を提供します。エディターはアクティブなデバッグセッションでこの式を評価し、その結果をデバッグホバーに表示します。式は、基になるドキュメント内の範囲によって暗黙的に指定することも、明示的に式を返すことによって指定することもできます。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | デバッグホバーが表示されるドキュメント。 |
| position: Position | デバッグホバーが表示されるドキュメント内の行と文字の位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<EvaluatableExpression> | EvaluatableExpression、またはそれに解決されるthenable。結果がないことは、 |
Event<T>
型指定されたイベントを表します。
リスナー関数を引数として呼び出すことで購読するイベントを表す関数。
例
item.onDidChange(function(event) {
console.log('Event happened: ' + event);
});
(listener: (e: T) => any, thisArgs?: any, disposables?: Disposable[]): Disposable
リスナー関数を引数として呼び出すことで購読するイベントを表す関数。
| パラメーター | 説明 |
|---|---|
| listener: (e: T) => any | イベントが発生したときにリスナー関数が呼び出されます。 |
| thisArgs?: any | イベントリスナーを呼び出すときに使用される |
| disposables?: Disposable[] | Disposableが追加される配列。 |
| 戻り値 | 説明 |
| Disposable | イベントリスナーを購読解除するDisposable。 |
EventEmitter<T>
イベントエミッターは、他のユーザーが購読できるイベントを作成および管理するために使用できます。1つのエミッターは常に1つのイベントを所有します。
このクラスは、拡張機能内からイベントを提供したい場合、たとえばTextDocumentContentProvider内や、他の拡張機能にAPIを提供する場合に使用します。
コンストラクター
new EventEmitter<T>(): EventEmitter<T>
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| EventEmitter<T> |
プロパティ
event: Event<T>
イベントリスナーは購読できます。
メソッド
このオブジェクトを破棄し、リソースを解放します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
イベントのすべての購読者に通知します。1つ以上のリスナーの失敗は、この関数呼び出しを失敗させません。
| パラメーター | 説明 |
|---|---|
| data: T | イベントオブジェクト。 |
| 戻り値 | 説明 |
| void |
Extension<T>
拡張機能を表します。
Extensionのインスタンスを取得するには、getExtensionを使用します。
プロパティ
この拡張機能によってエクスポートされた公開API(activateの戻り値)。この拡張機能がアクティブ化される前にこのフィールドにアクセスすることは無効なアクションです。
extensionKind: ExtensionKind
拡張機能の種類は、UIが実行される場所で拡張機能が実行されるか、リモート拡張機能ホストが実行される場所で拡張機能が実行されるかを記述します。拡張機能の種類は、拡張機能のpackage.jsonファイルで定義されますが、remote.extensionKind設定を介して絞り込むこともできます。リモート拡張機能ホストが存在しない場合、値はExtensionKind.UIです。
この拡張機能を含むディレクトリの絶対ファイルパス。Extension.extensionUri.fsPathの省略表記(URIスキームに依存しない)。
extensionUri: Uri
拡張機能を含むディレクトリのURI。
publisher.name形式の正規拡張機能識別子。
拡張機能がアクティブ化されている場合はtrue。
拡張機能のpackage.jsonの解析されたコンテンツ。
メソッド
この拡張機能をアクティブ化し、その公開APIを返します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| Thenable<T> | この拡張機能がアクティブ化されたときに解決されるPromise。 |
ExtensionContext
拡張機能コンテキストは、拡張機能に固有のユーティリティのコレクションです。
ExtensionContextのインスタンスは、拡張機能のactivate呼び出しの最初のパラメーターとして提供されます。
プロパティ
environmentVariableCollection: GlobalEnvironmentVariableCollection
このワークスペースの拡張機能のグローバル環境変数コレクションを取得し、ターミナル環境変数に変更を適用できるようにします。
extension: Extension<any>
現在のExtensionインスタンス。
extensionMode: ExtensionMode
拡張機能が実行されているモード。可能な値とシナリオについては、ExtensionModeを参照してください。
拡張機能を含むディレクトリの絶対ファイルパス。ExtensionContext.extensionUri.fsPathの省略表記(URIスキームに依存しない)。
extensionUri: Uri
拡張機能を含むディレクトリのURI。
globalState: Memento & {setKeysForSync}
現在開いているワークスペースに依存しない状態を保存するMementoオブジェクト。
拡張機能がグローバル状態を保存できる絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に任されています。ただし、親ディレクトリは存在することが保証されています。
キー値データを保存するにはglobalStateを使用してください。
- 非推奨 - 代わりにglobalStorageUriを使用してください。
globalStorageUri: Uri
拡張機能がグローバル状態を保存できるディレクトリのURI。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に任されています。ただし、親ディレクトリは存在することが保証されています。
キー値データを保存するにはglobalStateを使用してください。
URIからファイルやフォルダを読み書きする方法については、workspace.fsも参照してください。
languageModelAccessInformation: LanguageModelAccessInformation
この拡張機能が言語モデルをどのように使用できるかに関する情報を保持するオブジェクト。
拡張機能がログファイルを作成できるディレクトリの絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に任されています。ただし、親ディレクトリは存在することが保証されています。
- 非推奨 - 代わりにlogUriを使用してください。
logUri: Uri
拡張機能がログファイルを作成できるディレクトリのURI。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に任されています。ただし、親ディレクトリは存在することが保証されています。
URIからファイルやフォルダを読み書きする方法については、workspace.fsも参照してください。
secrets: SecretStorage
現在開いているワークスペースに依存しない状態を保存する秘密ストレージオブジェクト。
拡張機能がプライベートな状態を保存できるワークスペース固有のディレクトリの絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に任されています。ただし、親ディレクトリは存在することが保証されています。
キー値データを保存するにはworkspaceStateまたはglobalStateを使用してください。
- 非推奨 - 代わりにstorageUriを使用してください。
storageUri: Uri
拡張機能がプライベートな状態を保存できるワークスペース固有のディレクトリのURI。ディレクトリは存在しない可能性があり、作成は拡張機能に任されています。ただし、親ディレクトリは存在することが保証されています。ワークスペースやフォルダーが開かれていない場合、値はundefinedです。
キー値データを保存するにはworkspaceStateまたはglobalStateを使用してください。
URIからファイルやフォルダーを読み書きする方法については、workspace.fsも参照してください。
subscriptions: Array<{dispose}>
Disposableを追加できる配列。この拡張機能が非アクティブ化されると、Disposableは破棄されます。
注意: 非同期dispose関数は待機されません。
workspaceState: Memento
現在開いているワークスペースのコンテキストで状態を保存するMementoオブジェクト。
メソッド
asAbsolutePath(relativePath: string): string
拡張機能に含まれるリソースの絶対パスを取得します。
注意: 絶対URIは、Uri.joinPathとextensionUriを使用して構築できます。例: vscode.Uri.joinPath(context.extensionUri, relativePath);
| パラメーター | 説明 |
|---|---|
| relativePath: string | 拡張機能に含まれるリソースへの相対パス。 |
| 戻り値 | 説明 |
| string | リソースの絶対パス。 |
ExtensionKind
リモートウィンドウでは、拡張機能の種類は、拡張機能がUI(ウィンドウ)が実行される場所で実行されるか、リモートで実行されるかを記述します。
列挙型メンバー
UIが実行される場所で拡張機能が実行されます。
リモート拡張機能ホストが実行される場所で拡張機能が実行されます。
ExtensionMode
ExtensionModeはExtensionContextで提供され、特定の拡張機能が実行されているモードを示します。
列挙型メンバー
拡張機能はエディターに通常インストールされています(例:マーケットプレイスまたはVSIXから)。
拡張機能は、エディターの起動時に提供された--extensionDevelopmentPathから実行されています。
拡張機能は--extensionTestsPathから実行されており、拡張機能ホストは単体テストを実行しています。
ExtensionTerminalOptions
仮想プロセス端末が使用するオプションを記述する値オブジェクト。
プロパティ
color?: ThemeColor
端末のアイコンThemeColor。最高のコントラストとテーマ間の一貫性のために、標準のterminal.ansi*テーマキーを推奨します。
iconPath?: IconPath
端末のアイコンパスまたはThemeIcon。
再起動時および再読み込み時のデフォルトのターミナル永続化をオプトアウトします。これは、terminal.integrated.enablePersistentSessions が有効になっている場合にのみ有効になります。
location?: TerminalEditorLocationOptions | TerminalSplitLocationOptions | TerminalLocation
UI でターミナルを表すために使用される、人間が判読可能な文字列。
pty: Pseudoterminal
拡張機能がターミナルを制御できるようにする Pseudoterminal の実装。
shellIntegrationNonce?: string
シェル統合シーケンスが信頼できるソースからのものであることを検証するために使用するナンス。この UX の影響の例としては、コマンドラインがナンスで報告された場合、シェル統合コマンド装飾 を介して再実行する前に、コマンドラインが正しいことをユーザーに確認する必要がないことなどがあります。
ターミナルに カスタムシェル統合サポート が含まれている場合に使用する必要があります。ランダムな GUID に設定する必要があります。Pseudoterminal の実装内で、この値は関連するシーケンスに渡され、信頼できるものにすることができます。
FileChangeEvent
ファイルシステムプロバイダーがファイルの変更を通知するために使用する必要があるイベント。
プロパティ
type: FileChangeType
変更の種類。
uri: Uri
変更されたファイルの URI。
FileChangeType
ファイル変更の種類を列挙したもの。
列挙型メンバー
ファイルの内容またはメタデータが変更されました。
ファイルが作成されました。
ファイルが削除されました。
FileCoverage
ファイルのカバー率メタデータが含まれます。
Static
fromDetails(uri: Uri, details: readonly FileCoverageDetail[]): FileCoverage
カバー率の詳細からカウントを埋めて FileCoverage インスタンスを作成します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | カバーされたファイルの URI |
| details: readonly FileCoverageDetail[] | 詳細なカバー率情報 |
| 戻り値 | 説明 |
| FileCoverage |
コンストラクター
new FileCoverage(uri: Uri, statementCoverage: TestCoverageCount, branchCoverage?: TestCoverageCount, declarationCoverage?: TestCoverageCount, includesTests?: TestItem[]): FileCoverage
| パラメーター | 説明 |
|---|---|
| uri: Uri | カバーされたファイルの URI |
| statementCoverage: TestCoverageCount | ステートメントのカバー率情報。レポーターがステートメントのカバー率情報を提供しない場合、代わりにラインのカバー率を表すために使用できます。 |
| branchCoverage?: TestCoverageCount | ブランチのカバー率情報 |
| declarationCoverage?: TestCoverageCount | 宣言のカバー率情報 |
| includesTests?: TestItem[] | このカバー率レポートに含まれるテストケースについては、FileCoverage.includesTests を参照してください。 |
| 戻り値 | 説明 |
| FileCoverage |
プロパティ
branchCoverage?: TestCoverageCount
ブランチのカバー率情報。
declarationCoverage?: TestCoverageCount
宣言のカバー率情報。レポーターと言語によっては、関数、メソッド、名前空間などの型になります。
includesTests?: TestItem[]
このファイルでカバー率を生成した テストケース のリスト。設定されている場合、詳細なカバー率情報を取得するために TestRunProfile.loadDetailedCoverageForTest も定義されている必要があります。
statementCoverage: TestCoverageCount
ステートメントのカバー率情報。レポーターがステートメントのカバー率情報を提供しない場合、代わりにラインのカバー率を表すために使用できます。
uri: Uri
ファイルの URI。
FileCoverageDetail
TestRunProfile.loadDetailedCoverage から返されるカバー率の詳細。
FileCoverageDetail: StatementCoverage | DeclarationCoverage
FileCreateEvent
ファイルが作成された後に発生するイベント。
プロパティ
files: readonly Uri[]
作成されたファイル。
FileDecoration
ファイルデコレーションは、ファイルと一緒にレンダリングできるメタデータを表します。
コンストラクター
new FileDecoration(badge?: string, tooltip?: string, color?: ThemeColor): FileDecoration
新しいデコレーションを作成します。
| パラメーター | 説明 |
|---|---|
| badge?: string | デコレーションを表す文字。 |
| tooltip?: string | デコレーションのツールチップ。 |
| color?: ThemeColor | デコレーションの色。 |
| 戻り値 | 説明 |
| FileDecoration |
プロパティ
このデコレーションを表す非常に短い文字列。
color?: ThemeColor
このデコレーションの色。
このデコレーションを親に伝播させる必要があることを示すフラグ。
このデコレーションの人間が判読可能なツールチップ。
FileDecorationProvider
デコレーションプロバイダーインターフェースは、拡張機能とファイルデコレーション間の契約を定義します。
イベント
onDidChangeFileDecorations?: Event<Uri | Uri[]>
1 つまたは複数のファイルのデコレーションが変更されたことを通知するオプションのイベント。
注意: このイベントは、子に関する情報を伝播するために使用する必要があります。
参照 EventEmitter
メソッド
provideFileDecoration(uri: Uri, token: CancellationToken): ProviderResult<FileDecoration>
指定された URI のデコレーションを提供します。
注意: この関数は、ファイルが UI でレンダリングされるときにのみ呼び出されます。これは、上に伝播する子孫からのデコレーションが、onDidChangeFileDecorations イベントを介してエディターに通知される必要があることを意味します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | デコレーションを提供するファイルの URI。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<FileDecoration> | そのようなデコレーション、またはそれに解決される thenable。 |
FileDeleteEvent
ファイルが削除された後に発生するイベント。
プロパティ
files: readonly Uri[]
削除されたファイル。
FilePermission
ファイルのアクセス許可。
列挙型メンバー
ファイルは読み取り専用です。
注意: オプション isReadonly: true で登録された FileSystemProvider からのすべての FileStat は、FilePermission.Readonly が設定されているかのように暗黙的に処理されます。結果として、一部の FileStat が読み取り専用ではない読み取り専用ファイルシステムプロバイダーを登録することはできません。
FileRenameEvent
ファイルの名前が変更された後に発生するイベント。
プロパティ
files: ReadonlyArray<{newUri: Uri, oldUri: Uri}>
名前が変更されたファイル。
FileStat
FileStat 型はファイルに関するメタデータを表します。
プロパティ
1970 年 1 月 1 日 00:00:00 UTC から経過したミリ秒単位の作成タイムスタンプ。
1970 年 1 月 1 日 00:00:00 UTC から経過したミリ秒単位の変更タイムスタンプ。
注意: ファイルが変更された場合、前の値から進んだ更新された mtime を提供することが重要です。そうしないと、たとえばエディターで更新されたファイルの内容が表示されない最適化が行われる可能性があります。
permissions?: FilePermission
ファイルのアクセス許可、例: ファイルが読み取り専用であるかどうか。
注意: この値は、たとえば FilePermission.Readonly | FilePermission.Other のようにビットマスクになる可能性があります。
サイズ (バイト単位)。
注意: ファイルが変更された場合、更新された size を提供することが重要です。そうしないと、たとえばエディターで更新されたファイルの内容が表示されない最適化が行われる可能性があります。
type: FileType
ファイルのタイプ、例: 通常のファイル、ディレクトリ、またはファイルへのシンボリックリンクであるかどうか。
注意: この値は、たとえば FileType.File | FileType.SymbolicLink のようにビットマスクになる可能性があります。
FileSystem
ファイルシステムインターフェースは、エディターの組み込みおよび貢献された ファイルシステムプロバイダー を公開します。これにより、拡張機能はローカルディスクからのファイルだけでなく、リモート拡張ホストや FTP サーバーなどのリモートの場所からのファイルも操作できます。
注意: このインターフェースのインスタンスは workspace.fs として利用できます。
メソッド
copy(source: Uri, target: Uri, options?: {overwrite: boolean}): Thenable<void>
ファイルまたはフォルダをコピーします。
createDirectory(uri: Uri): Thenable<void>
新しいディレクトリを作成します (ファイルは write 呼び出しを介して作成されることに注意してください)。
注意: 存在しないディレクトリは自動的に作成されます。つまり、この呼び出しには mkdirp セマンティクスがあります。
| パラメーター | 説明 |
|---|---|
| uri: Uri | 新しいフォルダの URI。 |
| 戻り値 | 説明 |
| Thenable<void> |
delete(uri: Uri, options?: {recursive: boolean, useTrash: boolean}): Thenable<void>
ファイルを削除します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | 削除するリソース。 |
| options?: {recursive: boolean, useTrash: boolean} | ごみ箱を使用するか、フォルダの削除を再帰的に行うかを定義します。 |
| 戻り値 | 説明 |
| Thenable<void> |
isWritableFileSystem(scheme: string): boolean
特定のファイルシステムがファイルの書き込みをサポートしているかどうかを確認します。
ファイルシステムが書き込みをサポートしているからといって、書き込みが常に成功するとは限らないことに注意してください。アクセス許可の問題やその他のエラーがファイルへの書き込みを妨げる可能性があります。
| パラメーター | 説明 |
|---|---|
| scheme: string | ファイルシステムのスキーマ、例: |
| 戻り値 | 説明 |
| boolean | ファイルシステムが書き込みをサポートしている場合は |
readDirectory(uri: Uri): Thenable<Array<[string, FileType]>>
ディレクトリ のすべてのエントリを取得します。
readFile(uri: Uri): Thenable<Uint8Array>
ファイルの全内容を読み取ります。
| パラメーター | 説明 |
|---|---|
| uri: Uri | ファイルの URI。 |
| 戻り値 | 説明 |
| Thenable<Uint8Array> | バイト配列、またはそれに解決される thenable。 |
rename(source: Uri, target: Uri, options?: {overwrite: boolean}): Thenable<void>
ファイルまたはフォルダの名前を変更します。
stat(uri: Uri): Thenable<FileStat>
ファイルに関するメタデータを取得します。
writeFile(uri: Uri, content: Uint8Array): Thenable<void>
ファイルにデータを書き込み、その内容をすべて置き換えます。
| パラメーター | 説明 |
|---|---|
| uri: Uri | ファイルの URI。 |
| content: Uint8Array | ファイルの新しい内容。 |
| 戻り値 | 説明 |
| Thenable<void> |
FileSystemError
ファイルシステムプロバイダーがエラーを通知するために使用するべき型。
このクラスには、ファイルまたはフォルダが存在しない場合の FileNotFound のような一般的なエラーケースのファクトリメソッドがあります。それらを次のように使用します: throw vscode.FileSystemError.FileNotFound(someUri);
Static
FileExists(messageOrUri?: string | Uri): FileSystemError
ファイルまたはフォルダがすでに存在することを通知するエラーを作成します。たとえば、ファイルを作成するが上書きしない場合など。
| パラメーター | 説明 |
|---|---|
| messageOrUri?: string | Uri | メッセージまたは URI。 |
| 戻り値 | 説明 |
| FileSystemError |
FileIsADirectory(messageOrUri?: string | Uri): FileSystemError
ファイルがフォルダであることを通知するエラーを作成します。
| パラメーター | 説明 |
|---|---|
| messageOrUri?: string | Uri | メッセージまたは URI。 |
| 戻り値 | 説明 |
| FileSystemError |
FileNotADirectory(messageOrUri?: string | Uri): FileSystemError
ファイルがフォルダではないことを通知するエラーを作成します。
| パラメーター | 説明 |
|---|---|
| messageOrUri?: string | Uri | メッセージまたは URI。 |
| 戻り値 | 説明 |
| FileSystemError |
FileNotFound(messageOrUri?: string | Uri): FileSystemError
ファイルまたはフォルダが見つからなかったことを通知するエラーを作成します。
| パラメーター | 説明 |
|---|---|
| messageOrUri?: string | Uri | メッセージまたは URI。 |
| 戻り値 | 説明 |
| FileSystemError |
NoPermissions(messageOrUri?: string | Uri): FileSystemError
操作に必要なアクセス許可がないことを通知するエラーを作成します。
| パラメーター | 説明 |
|---|---|
| messageOrUri?: string | Uri | メッセージまたは URI。 |
| 戻り値 | 説明 |
| FileSystemError |
Unavailable(messageOrUri?: string | Uri): FileSystemError
ファイルシステムが利用できないか、要求を完了するにはビジー状態であることを通知するエラーを作成します。
| パラメーター | 説明 |
|---|---|
| messageOrUri?: string | Uri | メッセージまたは URI。 |
| 戻り値 | 説明 |
| FileSystemError |
コンストラクター
new FileSystemError(messageOrUri?: string | Uri): FileSystemError
新しいファイルシステムエラーを作成します。
| パラメーター | 説明 |
|---|---|
| messageOrUri?: string | Uri | メッセージまたは URI。 |
| 戻り値 | 説明 |
| FileSystemError |
プロパティ
このエラーを識別するコード。
可能な値は、FileNotFound のようなエラーの名前、または未指定のエラーの場合は Unknown です。
FileSystemProvider
ファイルシステムプロバイダーは、エディターがファイルやフォルダを読み取り、書き込み、発見し、管理するために必要なものを定義します。これにより、拡張機能は FTP サーバーのようなリモートの場所からファイルを処理し、それらをエディターにシームレスに統合できます。
イベント
onDidChangeFile: Event<FileChangeEvent[]>
メソッド
copy(source: Uri, destination: Uri, options: {overwrite: boolean}): void | Thenable<void>
ファイルまたはフォルダをコピーします。この関数の実装はオプションですが、コピー操作を高速化します。
- throws -
sourceが存在しない場合は FileNotFound。
- throws -
destinationの親が存在しない場合 (つまり、mkdirp ロジックは不要) は FileNotFound。
- throws -
destinationが存在し、overwriteオプションがtrueでない場合は FileExists。
- throws - アクセス許可が不十分な場合は NoPermissions。
createDirectory(uri: Uri): void | Thenable<void>
新しいディレクトリを作成します (ファイルは write 呼び出しを介して作成されることに注意してください)。
- throws -
uriの親が存在しない場合 (つまり、mkdirp ロジックは不要) は FileNotFound。
- throws -
uriがすでに存在する場合は FileExists。
- throws - アクセス許可が不十分な場合は NoPermissions。
| パラメーター | 説明 |
|---|---|
| uri: Uri | 新しいフォルダの URI。 |
| 戻り値 | 説明 |
| void | Thenable<void> |
delete(uri: Uri, options: {recursive: boolean}): void | Thenable<void>
| パラメーター | 説明 |
|---|---|
| uri: Uri | 削除するリソース。 |
| options: {recursive: boolean} | フォルダの削除を再帰的に行うかを定義します。 |
| 戻り値 | 説明 |
| void | Thenable<void> |
readDirectory(uri: Uri): Array<[string, FileType]> | Thenable<Array<[string, FileType]>>
ディレクトリ のすべてのエントリを取得します。
- throws -
uriが存在しない場合は FileNotFound。
readFile(uri: Uri): Uint8Array | Thenable<Uint8Array>
ファイルの全内容を読み取ります。
- throws -
uriが存在しない場合は FileNotFound。
| パラメーター | 説明 |
|---|---|
| uri: Uri | ファイルの URI。 |
| 戻り値 | 説明 |
| Uint8Array | Thenable<Uint8Array> | バイト配列、またはそれに解決される thenable。 |
rename(oldUri: Uri, newUri: Uri, options: {overwrite: boolean}): void | Thenable<void>
ファイルまたはフォルダの名前を変更します。
- throws -
oldUriが存在しない場合は FileNotFound。
- throws -
newUriの親が存在しない場合 (つまり、mkdirp ロジックは不要) は FileNotFound。
- throws -
newUriが存在し、overwriteオプションがtrueでない場合は FileExists。
- throws - アクセス許可が不十分な場合は NoPermissions。
stat(uri: Uri): FileStat | Thenable<FileStat>
ファイルに関するメタデータを取得します。
シンボリックリンクのメタデータは、それらが参照するファイルのメタデータである必要があることに注意してください。それでも、SymbolicLink 型は実際のタイプに加えて使用する必要があります。たとえば、FileType.SymbolicLink | FileType.Directory。
- throws -
uriが存在しない場合は FileNotFound。
watch(uri: Uri, options: {excludes: readonly string[], recursive: boolean}): Disposable
uri で示されるファイルまたはフォルダ内のファイル変更イベントを購読します。フォルダの場合、recursive オプションはサブフォルダ、サブサブフォルダなどもファイル変更のために監視するかどうかを示します。recursive: false の場合、フォルダの直接の子であるファイルの変更のみがイベントをトリガーするはずです。
excludes 配列は、ファイル監視から除外するパスを示すために使用されます。通常、これはユーザーが設定可能な files.watcherExclude 設定から派生します。各エントリは次のいずれかです。
- 除外する絶対パス
- 除外する相対パス (例:
build/output) - 単純なグロブパターン (例:
**/build,output/**)
これらのルールに基づいてすべての変更に対して onDidChangeFile を呼び出すのはファイルシステムプロバイダーの仕事です。提供された除外のいずれかに一致するファイルについては、イベントが発行されるべきではありません。
| パラメーター | 説明 |
|---|---|
| uri: Uri | 監視するファイルまたはフォルダの URI。 |
| options: {excludes: readonly string[], recursive: boolean} | 監視を設定します。 |
| 戻り値 | 説明 |
| Disposable | プロバイダーに |
writeFile(uri: Uri, content: Uint8Array, options: {create: boolean, overwrite: boolean}): void | Thenable<void>
ファイルにデータを書き込み、その内容をすべて置き換えます。
- 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 関数を呼び出します。
プロパティ
files: readonly Uri[]
作成されるファイル。
token: CancellationToken
キャンセル・トークン。
メソッド
waitUntil(thenable: Thenable<WorkspaceEdit>): void
イベントを一時停止し、ワークスペース編集 を適用することを許可します。
注意: この関数は、イベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことはできません。
workspace.onWillCreateFiles(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| パラメーター | 説明 |
|---|---|
| thenable: Thenable<WorkspaceEdit> | 保存を遅延させる thenable。 |
| 戻り値 | 説明 |
| void |
waitUntil(thenable: Thenable<any>): void
提供された thenable が解決されるまでイベントを一時停止することを許可します。
注意: この関数はイベントディスパッチ中にのみ呼び出すことができます。
| パラメーター | 説明 |
|---|---|
| thenable: Thenable<any> | 保存を遅延させる thenable。 |
| 戻り値 | 説明 |
| void |
FileWillDeleteEvent
ファイルが削除されるときに発生するイベント。
ファイルが削除される前にワークスペースを変更するには、ワークスペース編集 に解決される thenable を指定して waitUntil 関数を呼び出します。
プロパティ
files: readonly Uri[]
削除されるファイル。
token: CancellationToken
キャンセル・トークン。
メソッド
waitUntil(thenable: Thenable<WorkspaceEdit>): void
イベントを一時停止し、ワークスペース編集 を適用することを許可します。
注意: この関数は、イベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことはできません。
workspace.onWillCreateFiles(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| パラメーター | 説明 |
|---|---|
| thenable: Thenable<WorkspaceEdit> | 保存を遅延させる thenable。 |
| 戻り値 | 説明 |
| void |
waitUntil(thenable: Thenable<any>): void
提供された thenable が解決されるまでイベントを一時停止することを許可します。
注意: この関数はイベントディスパッチ中にのみ呼び出すことができます。
| パラメーター | 説明 |
|---|---|
| thenable: Thenable<any> | 保存を遅延させる thenable。 |
| 戻り値 | 説明 |
| void |
FileWillRenameEvent
ファイルの名前が変更されるときに発生するイベント。
ファイルの名前が変更される前にワークスペースを変更するには、ワークスペース編集 に解決される thenable を指定して waitUntil 関数を呼び出します。
プロパティ
files: ReadonlyArray<{newUri: Uri, oldUri: Uri}>
名前が変更されるファイル。
token: CancellationToken
キャンセル・トークン。
メソッド
waitUntil(thenable: Thenable<WorkspaceEdit>): void
イベントを一時停止し、ワークスペース編集 を適用することを許可します。
注意: この関数は、イベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことはできません。
workspace.onWillCreateFiles(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| パラメーター | 説明 |
|---|---|
| thenable: Thenable<WorkspaceEdit> | 保存を遅延させる thenable。 |
| 戻り値 | 説明 |
| void |
waitUntil(thenable: Thenable<any>): void
提供された thenable が解決されるまでイベントを一時停止することを許可します。
注意: この関数はイベントディスパッチ中にのみ呼び出すことができます。
| パラメーター | 説明 |
|---|---|
| thenable: Thenable<any> | 保存を遅延させる thenable。 |
| 戻り値 | 説明 |
| void |
FoldingContext
折りたたみコンテキスト (今後の使用のため)
FoldingRange
行ベースの折りたたみ範囲。有効であるためには、開始行と終了行は 0 より大きく、ドキュメントの行数よりも小さくなければなりません。無効な範囲は無視されます。
コンストラクター
new FoldingRange(start: number, end: number, kind?: FoldingRangeKind): FoldingRange
新しい折りたたみ範囲を作成します。
| パラメーター | 説明 |
|---|---|
| start: number | 折りたたまれた範囲の開始行。 |
| end: number | 折りたたまれた範囲の終了行。 |
| kind?: FoldingRangeKind | 折りたたみ範囲の種類。 |
| 戻り値 | 説明 |
| FoldingRange |
プロパティ
折りたたむ範囲の 0 から始まる終了行。折りたたまれた領域は、その行の最後の文字で終わります。有効であるためには、終了は 0 以上であり、ドキュメントの行数よりも小さくなければなりません。
kind?: FoldingRangeKind
折りたたみ範囲の Kind を記述します。たとえば、Comment または Region。この種類は折りたたみ範囲を分類するために使用され、「すべてのコメントを折りたたむ」などのコマンドで使用されます。FoldingRangeKind ですべての種類が列挙されています。設定されていない場合、範囲は構文要素から派生しています。
折りたたむ範囲の 0 から始まる開始行。折りたたまれた領域は、その行の最後の文字の後に始まります。有効であるためには、終了は 0 以上であり、ドキュメントの行数よりも小さくなければなりません。
FoldingRangeKind
特定の折りたたみ範囲の種類を列挙したもの。この種類は FoldingRange のオプションフィールドであり、コメントから派生した範囲などの特定の折りたたみ範囲を区別するために使用されます。「すべてのコメントを折りたたむ」や「すべての領域を折りたたむ」などのコマンドで使用されます。範囲に種類が設定されていない場合、範囲はコメント、インポート、または領域マーカー以外の構文要素から派生しています。
列挙型メンバー
コメントを表す折りたたみ範囲の種類。
インポートを表す折りたたみ範囲の種類。
#region や #endregion のような折りたたみマーカーから派生した領域を表す折りたたみ範囲の種類。
FoldingRangeProvider
折りたたみ範囲プロバイダーインターフェースは、拡張機能とエディターの 折りたたみ 機能間の契約を定義します。
イベント
onDidChangeFoldingRanges?: Event<void>
このプロバイダーからの折りたたみ範囲が変更されたことを通知するオプションのイベント。
メソッド
provideFoldingRanges(document: TextDocument, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>
折りたたみ範囲のリスト、またはプロバイダーが参加しない、またはキャンセルされた場合は null および undefined を返します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| context: FoldingContext | 追加のコンテキスト情報 (今後の使用のため) |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<FoldingRange[]> |
FormattingOptions
書式設定が使用すべきオプションを記述する値オブジェクト。
プロパティ
タブよりもスペースを優先します。
スペース単位のタブのサイズ。
FunctionBreakpoint
関数名で指定されたブレークポイント。
コンストラクター
new FunctionBreakpoint(functionName: string, enabled?: boolean, condition?: string, hitCondition?: string, logMessage?: string): FunctionBreakpoint
新しい関数ブレークポイントを作成します。
| パラメーター | 説明 |
|---|---|
| functionName: string | |
| enabled?: boolean | |
| condition?: string | |
| hitCondition?: string | |
| logMessage?: string | |
| 戻り値 | 説明 |
| FunctionBreakpoint |
プロパティ
条件付きブレークポイントのオプションの式。
ブレークポイントが有効かどうか。
このブレークポイントがアタッチされている関数の名前。
ブレークポイントが無視されるヒット数を制御するオプションの式。
ブレークポイントの一意の ID。
このブレークポイントにヒットしたときにログに記録されるオプションのメッセージです。{} 内の埋め込み式は、デバッグアダプターによって補間されます。
GlobalEnvironmentVariableCollection
拡張機能がプロセス環境に適用できる変異のコレクション。すべてのスコープに適用されます。
プロパティ
description: string | MarkdownString
環境変数コレクションの説明。これはUIで変更を記述するために使用されます。
コレクションをワークスペースにキャッシュし、ウィンドウの再読み込み間でターミナルに適用するかどうか。trueの場合、コレクションはウィンドウが再読み込みされるとすぐにアクティブになります。さらに、このAPIは、キャッシュされたバージョンが存在する場合、それを返します。コレクションは、拡張機能がアンインストールされた場合、またはコレクションがクリアされた場合に無効になります。デフォルトはtrueです。
メソッド
append(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数に値を追加します。
拡張機能は任意の変数に対して1つの変更しかできないため、これは以前の置換、追加、または先頭への追加の呼び出しを上書きすることに注意してください。
| パラメーター | 説明 |
|---|---|
| variable: string | 追加する変数。 |
| value: string | 変数に追加する値。 |
| options?: EnvironmentVariableMutatorOptions | ミューテーターに適用されるオプション。オプションが指定されていない場合、デフォルトは |
| 戻り値 | 説明 |
| void |
このコレクションからすべてのミューテーターをクリアします。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
delete(variable: string): void
このコレクションの変数に対するミューテーターを削除します。
| パラメーター | 説明 |
|---|---|
| variable: string | ミューテーターを削除する変数。 |
| 戻り値 | 説明 |
| void |
forEach(callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any, thisArg?: any): void
このコレクション内の各ミューテーターを反復処理します。
| パラメーター | 説明 |
|---|---|
| callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any | 各エントリに対して実行する関数。 |
| thisArg?: any | ハンドラ関数を呼び出すときに使用される `this` コンテキスト。 |
| 戻り値 | 説明 |
| void |
get(variable: string): EnvironmentVariableMutator
このコレクションが変数に適用するミューテーター(存在する場合)を取得します。
| パラメーター | 説明 |
|---|---|
| variable: string | ミューテーターを取得する変数。 |
| 戻り値 | 説明 |
| EnvironmentVariableMutator |
getScoped(scope: EnvironmentVariableScope): EnvironmentVariableCollection
拡張機能のスコープ固有の環境変数コレクションを取得します。これにより、指定されたスコープ内でのみターミナル環境変数に変更を加えることが可能になり、グローバルコレクションに追加して (その後で) 適用されます。
このメソッドを通じて取得される各オブジェクトは独立しており、グローバルコレクションを含む他のスコープのオブジェクトには影響しません。
| パラメーター | 説明 |
|---|---|
| scope: EnvironmentVariableScope | 環境変数コレクションが適用されるスコープ。 スコープパラメータが省略された場合、そのパラメータのすべての関連するスコープに適用されるコレクションが返されます。たとえば、「workspaceFolder」パラメータが指定されていない場合、すべてのワークスペースフォルダに適用されるコレクションが返されます。 |
| 戻り値 | 説明 |
| EnvironmentVariableCollection | 渡されたスコープの環境変数コレクション。 |
prepend(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数に値を先頭に追加します。
拡張機能は任意の変数に対して1つの変更しかできないため、これは以前の置換、追加、または先頭への追加の呼び出しを上書きすることに注意してください。
| パラメーター | 説明 |
|---|---|
| variable: string | 先頭に追加する変数。 |
| value: string | 変数に先頭に追加する値。 |
| options?: EnvironmentVariableMutatorOptions | ミューテーターに適用されるオプション。オプションが指定されていない場合、デフォルトは |
| 戻り値 | 説明 |
| void |
replace(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数を値で置き換えます。
拡張機能は任意の変数に対して1つの変更しかできないため、これは以前の置換、追加、または先頭への追加の呼び出しを上書きすることに注意してください。
| パラメーター | 説明 |
|---|---|
| variable: string | 置き換える変数。 |
| value: string | 変数を置き換える値。 |
| options?: EnvironmentVariableMutatorOptions | ミューテーターに適用されるオプション。オプションが指定されていない場合、デフォルトは |
| 戻り値 | 説明 |
| void |
GlobPattern
ファイルパスを照合するためのファイルグロブパターン。これは、グロブパターン文字列 (例: **/*.{ts,js} または *.{ts,js}) または 相対パターン のいずれかです。
グロブパターンは次の構文を持つことができます。
*- パスセグメント内の0個以上の文字に一致します。?- パスセグメント内の1文字に一致します。**- 0個を含む任意の数のパスセグメントに一致します。{}は条件をグループ化します (例:**/*.{ts,js}はすべての TypeScript および JavaScript ファイルに一致します)。[]はパスセグメントで一致する文字の範囲を宣言します (例:example.[0-9]はexample.0、example.1などに一致します)。[!...]はパスセグメントで一致する文字の範囲を否定します (例:example.[!0-9]はexample.a、example.bに一致しますが、example.0には一致しません)。
注意: グロブパターン内でバックスラッシュ (``) は無効です。一致させる既存のファイルパスがある場合は、バックスラッシュをスラッシュに変換する 相対パターン のサポートを使用することを検討してください。そうでない場合は、グロブパターンを作成するときにすべてのバックスラッシュをスラッシュに変換するようにしてください。
GlobPattern: string | RelativePattern
Hover
ホバーは、シンボルまたは単語に関する追加情報を表します。ホバーはツールチップのようなウィジェットでレンダリングされます。
コンストラクター
new Hover(contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString>, range?: Range): Hover
新しいホバーオブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString> | ホバーの内容。 |
| range?: Range | ホバーが適用される範囲。 |
| 戻り値 | 説明 |
| Hover |
プロパティ
contents: Array<MarkdownString | MarkedString>
このホバーの内容。
range?: Range
このホバーが適用される範囲。省略された場合、エディターは現在の位置の単語範囲または現在の位置自体を使用します。
HoverProvider
ホバープロバイダーインターフェースは、拡張機能と ホバー 機能間の契約を定義します。
メソッド
provideHover(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Hover>
指定された位置とドキュメントのホバーを提供します。同じ位置にある複数のホバーは、エディターによってマージされます。ホバーには範囲を持つことができ、省略された場合は位置の単語範囲がデフォルトになります。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<Hover> | ホバー、またはそれに解決される thenable。結果がないことは、 |
IconPath
UI 内のアイコンを表します。これは、URI、ライトテーマとダークテーマの個別の URI、または テーマアイコン のいずれかです。
IconPath: Uri | {dark: Uri, light: Uri} | ThemeIcon
ImplementationProvider
実装プロバイダーインターフェースは、拡張機能と「実装へ移動」機能との間の契約を定義します。
メソッド
provideImplementation(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>
指定された位置とドキュメントにあるシンボルの実装を提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<Definition | LocationLink[]> | 定義またはそれに解決されるthenable。結果がない場合は、 |
IndentAction
Enterキーを押したときのインデントの処理内容を記述します。
列挙型メンバー
新しい行を挿入し、前の行のインデントをコピーします。
新しい行を挿入し、一度インデントします(前の行のインデントを基準に)。
新しい行を2行挿入します。
- 最初の行はインデントされ、カーソルが置かれます。
- 2番目の行は同じインデントレベルになります。
新しい行を挿入し、一度アウトデントします(前の行のインデントを基準に)。
IndentationRule
言語のインデントルールを記述します。
プロパティ
このパターンに一致する行がある場合、その後のすべての行は一度アンインデントされます(別のルールが一致するまで)。
このパターンに一致する行がある場合、その後のすべての行は一度インデントされます(別のルールが一致するまで)。
indentNextLinePattern?: RegExp
このパターンに一致する行がある場合、その後の次の行のみが一度インデントされます。
unIndentedLinePattern?: RegExp
このパターンに一致する行がある場合、そのインデントは変更されず、他のルールに対して評価されません。
InlayHint
インレイヒント情報。
コンストラクター
new InlayHint(position: Position, label: string | InlayHintLabelPart[], kind?: InlayHintKind): InlayHint
新しいインレイヒントを作成します。
| パラメーター | 説明 |
|---|---|
| position: Position | ヒントの位置。 |
| label: string | InlayHintLabelPart[] | ヒントのラベル。 |
| kind?: InlayHintKind | ヒントの種類。 |
| 戻り値 | 説明 |
| InlayHint |
プロパティ
kind?: InlayHintKind
このヒントの種類。インレイヒントの種類は、このインレイヒントの表示方法を定義します。
label: string | InlayHintLabelPart[]
このヒントのラベル。人間が読める文字列、またはラベル部品の配列です。
注: 文字列もラベル部品も空にすることはできません。
ヒントの前にパディングをレンダリングします。パディングは、ヒント自体の背景色ではなく、エディターの背景色を使用します。つまり、パディングはインレイヒントを視覚的に整列/分離するために使用できます。
ヒントの後にパディングをレンダリングします。パディングは、ヒント自体の背景色ではなく、エディターの背景色を使用します。つまり、パディングはインレイヒントを視覚的に整列/分離するために使用できます。
position: Position
このヒントの位置。
textEdits?: TextEdit[]
tooltip?: string | MarkdownString
このアイテムにマウスオーバーしたときに表示されるツールチップのテキスト。
注: このプロパティは、インレイヒントの解決中に遅れて設定できます。
InlayHintKind
インレイヒントの種類。
インラインヒントの種類は、その表示を定義します。例えば、対応する前景色と背景色が使用されます。
列挙型メンバー
型注釈のためのインレイヒント。
パラメーターのためのインレイヒント。
InlayHintLabelPart
インレイヒントラベル部品は、インレイヒントのインタラクティブで複合的なラベルを可能にします。
コンストラクター
new InlayHintLabelPart(value: string): InlayHintLabelPart
新しいインレイヒントラベル部品を作成します。
| パラメーター | 説明 |
|---|---|
| value: string | 部品の値。 |
| 戻り値 | 説明 |
| InlayHintLabelPart |
プロパティ
command?: Command
location?: Location
tooltip?: string | MarkdownString
このラベル部品にマウスオーバーしたときに表示されるツールチップテキスト。
注: このプロパティは、インレイヒントの解決中に遅れて設定できます。
このラベル部品の値。
InlayHintsProvider<T>
インレイヒントプロバイダーインターフェースは、拡張機能とインレイヒント機能との間の契約を定義します。
イベント
onDidChangeInlayHints?: Event<void>
このプロバイダーからのインレイヒントが変更されたことを通知するオプションのイベント。
メソッド
provideInlayHints(document: TextDocument, range: Range, token: CancellationToken): ProviderResult<T[]>
指定された範囲とドキュメントのインレイヒントを提供します。
注: 指定された範囲に含まれないインレイヒントは無視されます。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| range: Range | インレイヒントを計算する範囲。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T[]> | インレイヒントの配列、またはそれに解決されるThenable。 |
resolveInlayHint(hint: T, token: CancellationToken): ProviderResult<T>
| パラメーター | 説明 |
|---|---|
| hint: T | インレイヒント。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T> | 解決されたインレイヒント、またはそれに解決されるThenable。指定された |
InlineCompletionContext
インライン補完が要求されたコンテキストに関する情報を提供します。
プロパティ
selectedCompletionInfo: SelectedCompletionInfo
オートコンプリートウィジェットが表示されている場合に、現在選択されているアイテムに関する情報を提供します。
設定されている場合、提供されるインライン補完は選択されたアイテムのテキストを拡張し、同じ範囲を使用する必要があります。そうでない場合、プレビューとして表示されません。例えば、ドキュメントのテキストがconsole.で、選択されたアイテムがドキュメント内の.を置き換える.logである場合、インライン補完も.を置き換え、.logで始まる必要があります(例: .log())。
選択されたアイテムが変更されるたびに、インライン補完プロバイダーが再度要求されます。
triggerKind: InlineCompletionTriggerKind
インライン補完がどのようにトリガーされたかを記述します。
InlineCompletionItem
インライン補完アイテムは、入力中のテキストを補完するためにインラインで提案されるテキストスニペットを表します。
参照: InlineCompletionItemProvider.provideInlineCompletionItems
コンストラクター
new InlineCompletionItem(insertText: string | SnippetString, range?: Range, command?: Command): InlineCompletionItem
新しいインライン補完アイテムを作成します。
| パラメーター | 説明 |
|---|---|
| insertText: string | SnippetString | 範囲を置き換えるテキスト。 |
| range?: Range | 置き換える範囲。設定されていない場合、要求された位置の単語が使用されます。 |
| command?: Command | この補完を挿入した後に実行されるオプションのコマンド。 |
| 戻り値 | 説明 |
| InlineCompletionItem |
プロパティ
command?: Command
この補完を挿入した後に実行されるオプションのコマンド。
このインライン補完を表示するかどうかを決定するために使用されるテキスト。falsyの場合、InlineCompletionItem.insertTextが使用されます。
置き換えるテキストがフィルターテキストのプレフィックスである場合、インライン補完が表示されます。
insertText: string | SnippetString
範囲を置き換えるテキスト。必須です。プレビューと承認操作の両方に使用されます。
range?: Range
置き換える範囲。同じ行で開始および終了する必要があります。
ユーザーが入力したテキストを削除する際により良いエクスペリエンスを提供するために、挿入よりも置換を優先します。
InlineCompletionItemProvider
インライン補完アイテムプロバイダーインターフェースは、拡張機能とインライン補完機能との間の契約を定義します。
プロバイダーは、ユーザーのジェスチャによって明示的に、または入力時に暗黙的に補完を要求されます。
メソッド
provideInlineCompletionItems(document: TextDocument, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<InlineCompletionList | InlineCompletionItem[]>
指定された位置とドキュメントのインライン補完アイテムを提供します。インライン補完が有効になっている場合、ユーザーが入力停止するたびにこのメソッドが呼び出されます。また、ユーザーが明示的にインライン補完をトリガーしたり、明示的に次のまたは前のインライン補完を要求したりした場合にも呼び出されます。その場合、利用可能なすべてのインライン補完を返す必要があります。context.triggerKindを使用して、これらのシナリオを区別できます。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | インライン補完が要求されるドキュメント。 |
| position: Position | インライン補完が要求される位置。 |
| context: InlineCompletionContext | 追加情報を含むコンテキストオブジェクト。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<InlineCompletionList | InlineCompletionItem[]> | 補完アイテムの配列、またはそれに解決されるthenable。 |
InlineCompletionList
エディターで表示されるインライン補完アイテムのコレクションを表します。
コンストラクター
new InlineCompletionList(items: InlineCompletionItem[]): InlineCompletionList
インライン補完アイテムの新しいリストを作成します。
| パラメーター | 説明 |
|---|---|
| items: InlineCompletionItem[] | |
| 戻り値 | 説明 |
| InlineCompletionList |
プロパティ
items: InlineCompletionItem[]
インライン補完アイテム。
InlineCompletionTriggerKind
インライン補完プロバイダーがどのようにトリガーされたかを記述します。
列挙型メンバー
ユーザーのジェスチャーによって明示的に補完がトリガーされました。複数の補完アイテムを返して、それらを順に切り替えられるようにします。
編集中に自動的に補完がトリガーされました。この場合、単一の補完アイテムを返せば十分です。
InlineValue
インライン値の情報は、さまざまな方法で提供できます。
- 直接テキスト値として(InlineValueTextクラス)。
- 変数ルックアップに使用する名前として(InlineValueVariableLookupクラス)。
- 評価可能な式として(InlineValueEvaluatableExpressionクラス)。InlineValue型は、すべてのインライン値型を1つの型に結合します。
InlineValue: InlineValueText | InlineValueVariableLookup | InlineValueEvaluatableExpression
InlineValueContext
InlineValuesProviderからインライン値を要求する際のコンテキスト情報を含む値オブジェクト。
プロパティ
実行が停止したスタックフレーム(DAP IDとして)。
stoppedLocation: Range
実行が停止したドキュメント範囲。通常、範囲の終了位置はインライン値が表示される行を示します。
InlineValueEvaluatableExpression
式評価を通じてインライン値を提供します。範囲のみが指定されている場合、式は基になるドキュメントから抽出されます。オプションの式を使用して、抽出された式をオーバーライドできます。
コンストラクター
new InlineValueEvaluatableExpression(range: Range, expression?: string): InlineValueEvaluatableExpression
新しいInlineValueEvaluatableExpressionオブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| range: Range | 評価可能な式が抽出される基になるドキュメント内の範囲。 |
| expression?: string | 指定されている場合、抽出された式を上書きします。 |
| 戻り値 | 説明 |
| InlineValueEvaluatableExpression |
プロパティ
指定されている場合、式は抽出された式を上書きします。
range: Range
インライン値が適用されるドキュメント範囲。この範囲は、基になるドキュメントから評価可能な式を抽出するために使用されます。
InlineValuesProvider
インライン値プロバイダーインターフェースは、拡張機能とエディターのデバッガーのインライン値機能との間の契約を定義します。この契約では、プロバイダーは特定のドキュメント範囲のインライン値情報を返し、エディターはこの情報を行末に表示します。
イベント
onDidChangeInlineValues?: Event<void>
インライン値が変更されたことを通知するオプションのイベント。
参照 EventEmitter
メソッド
provideInlineValues(document: TextDocument, viewPort: Range, context: InlineValueContext, token: CancellationToken): ProviderResult<InlineValue[]>
指定されたドキュメントと範囲の「インライン値」情報を提供します。エディターは、指定されたドキュメントでデバッグが停止するたびにこのメソッドを呼び出します。返されたインライン値情報は、エディターの行末にレンダリングされます。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | インライン値情報が必要なドキュメント。 |
| viewPort: Range | インライン値を計算する可視ドキュメント範囲。 |
| context: InlineValueContext | 現在の位置などのコンテキスト情報を含むバッグ。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<InlineValue[]> | InlineValueDescriptorの配列、またはそれに解決されるThenable。結果がないことは、 |
InlineValueText
インライン値をテキストとして提供します。
コンストラクター
new InlineValueText(range: Range, text: string): InlineValueText
新しいInlineValueTextオブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| range: Range | インライン値を表示するドキュメント行。 |
| text: string | 行に表示される値。 |
| 戻り値 | 説明 |
| InlineValueText |
プロパティ
range: Range
インライン値が適用されるドキュメント範囲。
インライン値のテキスト。
InlineValueVariableLookup
変数ルックアップを通じてインライン値を提供します。範囲のみが指定されている場合、変数名は基になるドキュメントから抽出されます。オプションの変数名を使用して、抽出された名前をオーバーライドできます。
コンストラクター
new InlineValueVariableLookup(range: Range, variableName?: string, caseSensitiveLookup?: boolean): InlineValueVariableLookup
新しいInlineValueVariableLookupオブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| range: Range | インライン値を表示するドキュメント行。 |
| variableName?: string | 検索する変数名。 |
| caseSensitiveLookup?: boolean | 検索を実行する方法。指定されていない場合、大文字と小文字を区別して検索します。 |
| 戻り値 | 説明 |
| InlineValueVariableLookup |
プロパティ
検索を実行する方法。
range: Range
インライン値が適用されるドキュメント範囲。この範囲は、基になるドキュメントから変数名を抽出するために使用されます。
指定されている場合、検索する変数名。
InputBox
ユーザーがテキスト値を入力できるようにする具体的なクイック入力。
多くの場合、より便利なwindow.showInputBoxの方が使いやすいことに注意してください。window.createInputBoxは、window.showInputBoxが必要な柔軟性を提供しない場合に使用する必要があります。
イベント
onDidAccept: Event<void>
ユーザーが入力値の受け入れを示したときに発生するイベント。
onDidChangeValue: Event<string>
値が変更されたときに通知するイベント。
onDidHide: Event<void>
この入力UIが非表示になったときに通知するイベント。
このUIが非表示になる理由はいくつかあり、拡張機能にはQuickInput.onDidHideを通じて通知されます。(例:QuickInput.hideへの明示的な呼び出し、ユーザーがEscキーを押す、他の入力UIが開くなど)。
onDidTriggerButton: Event<QuickInputButton>
ボタンがトリガーされたときに通知するイベント。
プロパティ
UIが進行状況インジケーターを表示するかどうか。デフォルトはfalse。
例えば、データの読み込み中やユーザー入力の検証中に、これをtrueに変更します。
buttons: readonly QuickInputButton[]
UI内のアクション用のボタン。
UIがユーザー入力を許可するかどうか。デフォルトはtrue。
例えば、ユーザー入力の検証中や次のステップのデータの読み込み中に、これをfalseに変更します。
UIのフォーカスが失われた場合でも、UIを開いたままにするかどうか。デフォルトはfalse。この設定はiPadでは無視され、常にfalseです。
入力値を非表示にするかどうか。デフォルトはfalse。
値が入力されていない場合に表示されるオプションのプレースホルダー。
ユーザーに質問や説明を提供するオプションのプロンプトテキスト。
オプションの現在のステップ数。
オプションのタイトル。
オプションの合計ステップ数。
validationMessage: string | InputBoxValidationMessage
現在の入力値の問題を示すオプションの検証メッセージ。文字列を返すことで、InputBoxはデフォルトのInputBoxValidationSeverityであるエラーを使用します。undefinedを返すと検証メッセージがクリアされます。
現在の入力値。
valueSelection: readonly [number, number]
入力値内の選択範囲。2つの数値のタプルとして定義され、最初の数値は包括的な開始インデックス、2番目の数値は排他的な終了インデックスです。undefinedの場合、事前入力された値全体が選択され、空の場合(開始と終了が同じ場合)はカーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。
このプロパティは、ユーザーが入力または選択を行っても更新されませんが、拡張機能によって更新できます。
メソッド
この入力UIとそれに関連するリソースを破棄します。まだ表示されている場合は、まず非表示になります。この呼び出しの後、入力UIは機能しなくなり、追加のメソッドやプロパティにはアクセスできません。代わりに、新しい入力UIを作成する必要があります。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
この入力UIを非表示にします。これにより、QuickInput.onDidHideイベントも発生します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
入力UIを現在の設定で表示します。他の入力UIは、最初にQuickInput.onDidHideイベントを発生させます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
InputBoxOptions
入力ボックスUIの動作を設定するオプション。
プロパティ
フォーカスがエディターの別の部分または別のウィンドウに移動した場合でも、入力ボックスを開いたままにするにはtrueに設定します。この設定はiPadでは無視され、常にfalseです。
パスワード入力を表示するかどうかを制御します。パスワード入力は入力されたテキストを隠します。
ユーザーに入力内容を案内するために、入力ボックスにプレースホルダーとして表示するオプションの文字列。
入力ボックスの下に表示するテキスト。
入力ボックスのタイトルを表すオプションの文字列。
入力ボックスに事前入力する値。
valueSelection?: [number, number]
事前入力された値の選択。2つの数値のタプルとして定義され、最初の数値は包括的な開始インデックス、2番目の数値は排他的な終了インデックスです。undefinedの場合、事前入力された値全体が選択され、空の場合(開始と終了が同じ場合)はカーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。
メソッド
validateInput(value: string): string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage>
入力の検証とユーザーへのヒントのために呼び出されるオプションの関数。
| パラメーター | 説明 |
|---|---|
| value: string | 入力ボックスの現在の値。 |
| 戻り値 | 説明 |
| string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage> | エラーメッセージとして表示される人間が読める文字列、または特定のメッセージ深刻度を提供できるInputBoxValidationMessageのいずれか。 'value'が有効な場合は、 |
InputBoxValidationMessage
検証メッセージの動作を設定するためのオブジェクト。
プロパティ
表示する検証メッセージ。
severity: InputBoxValidationSeverity
検証メッセージの深刻度。注:InputBoxValidationSeverity.Errorを使用すると、ユーザーは入力を受け入れる(Enterキーを押す)ことができません。InfoとWarningは、InputBoxが入力を受け入れることを許可します。
InputBoxValidationSeverity
入力ボックス検証の深刻度レベル。
列挙型メンバー
情報レベルの深刻度。
警告レベルの深刻度。
エラーレベルの深刻度。
LanguageConfiguration
言語構成インターフェースは、拡張機能と自動括弧挿入、自動インデントなどのさまざまなエディター機能との間の契約を定義します。
プロパティ
__characterPairSupport?: {autoClosingPairs: Array<{close: string, notIn: string[], open: string}>}
非推奨 使用しないでください。
- 非推奨 - * 代わりに言語構成ファイルのautoClosingPairsプロパティを使用してください。
| パラメーター | 説明 |
|---|---|
| autoClosingPairs: Array<{close: string, notIn: string[], open: string}> |
|
__electricCharacterSupport?: {brackets: any, docComment: {close: string, lineStart: string, open: string, scope: string}}
非推奨 使用しないでください。
- 非推奨 - 間もなくより良いAPIに置き換えられます。
| パラメーター | 説明 |
|---|---|
| brackets: any | このプロパティは非推奨であり、エディターによって無視されます。
|
| docComment: {close: string, lineStart: string, open: string, scope: string} | このプロパティは非推奨であり、エディターで完全にサポートされなくなりました(スコープとlineStartは無視されます)。代わりに、言語構成ファイルのautoClosingPairsプロパティを使用してください。
|
autoClosingPairs?: AutoClosingPair[]
言語の自動閉じ括弧のペア。
brackets?: CharacterPair[]
言語の括弧。この設定は、これらの括弧の周りでEnterを押すことに暗黙的に影響します。
comments?: CommentRule
言語のコメント設定。
indentationRules?: IndentationRule
言語のインデント設定。
onEnterRules?: OnEnterRule[]
Enterキーを押したときに評価される言語のルール。
言語の単語定義。言語がUnicode識別子(例: JavaScript)をサポートしている場合、既知のセパレータの除外を使用する単語定義を提供することが望ましいです。例: 既知のセパレータ(およびドットは浮動小数点数に現れることが許容される)を除くすべてに一致する正規表現
/(-?\d*\.\d\w*)|([^\`\~\!\\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>/\?\s]+)/g
LanguageModelAccessInformation
言語モデルへのアクセスに関する拡張機能固有の情報を表します。
イベント
onDidChange: Event<void>
アクセス情報が変更されたときに発生するイベント。
メソッド
canSendRequest(chat: LanguageModelChat): boolean
言語モデルにリクエストを送信できるかどうかを確認します。
注: この関数を呼び出しても承諾UIはトリガーされず、永続化された状態を確認するだけです。
| パラメーター | 説明 |
|---|---|
| chat: LanguageModelChat | 言語モデルチャットオブジェクト。 |
| 戻り値 | 説明 |
| boolean | リクエストを送信できる場合は |
LanguageModelChat
チャットリクエストを行うための言語モデルを表します。
プロパティ
言語モデルの不透明なファミリ名。値はgpt-3.5-turbo、gpt4、phi2、またはllamaである可能性がありますが、これらは言語を提供する拡張機能によって定義され、変更される可能性があります。
言語モデルの不透明な識別子。
1つのリクエストでモデルに送信できるトークンの最大数。
言語モデルの人間が読める名前。
言語モデルのベンダーのよく知られた識別子。例としてcopilotがありますが、値はチャットモデルを提供する拡張機能によって定義され、それらで調べる必要があります。
モデルの不透明なバージョン文字列。これは言語モデルを提供する拡張機能によって定義され、変更される可能性があります。
メソッド
countTokens(text: string | LanguageModelChatMessage, token?: CancellationToken): Thenable<number>
モデル固有のトークナイザロジックを使用して、メッセージ内のトークン数をカウントします。
| パラメーター | 説明 |
|---|---|
| text: string | LanguageModelChatMessage | 文字列またはメッセージインスタンス。 |
| token?: CancellationToken | オプションのキャンセル トークン。CancellationTokenSource の作成方法を参照してください。 |
| 戻り値 | 説明 |
| Thenable<number> | トークン数に解決されるthenable。 |
sendRequest(messages: LanguageModelChatMessage[], options?: LanguageModelChatRequestOptions, token?: CancellationToken): Thenable<LanguageModelChatResponse>
言語モデルを使用してチャットリクエストを行います。
注: 言語モデルの使用には、アクセス制限とユーザーの同意が必要な場合があります。この関数を初めて(拡張機能に対して)呼び出すと、ユーザーに同意ダイアログが表示されるため、この関数はユーザーのアクションに応じてのみ呼び出す必要があります! 拡張機能は、LanguageModelAccessInformation.canSendRequestを使用して、リクエストを行うために必要な権限があるかどうかを確認できます。
言語モデルへのリクエストが不可能な場合、この関数は拒否されたPromiseを返します。この理由としては、以下が考えられます。
- ユーザーの同意が得られていない場合、
NoPermissionsを参照してください。 - モデルがもう存在しない場合、
NotFoundを参照してください。 - クォータ制限を超過した場合、
Blockedを参照してください。 - その他の問題の場合、拡張機能は [LanguageModelError.cause
LanguageModelError.cause](#LanguageModelError.causeLanguageModelError.cause) を確認する必要があります。
拡張機能は、LanguageModelChatRequestOptions.toolsにツールのセットを渡すことで、言語モデルのツール呼び出しを利用できます。言語モデルはLanguageModelToolCallPartを返し、拡張機能はツールを呼び出し、その結果で別のリクエストを行うことができます。
| パラメーター | 説明 |
|---|---|
| messages: LanguageModelChatMessage[] | メッセージインスタンスの配列。 |
| options?: LanguageModelChatRequestOptions | リクエストを制御するオプション。 |
| token?: CancellationToken | リクエストを制御するキャンセル トークン。CancellationTokenSource の作成方法については、そちらを参照してください。 |
| 戻り値 | 説明 |
| Thenable<LanguageModelChatResponse> | LanguageModelChatResponse に解決される Thenable。リクエストを実行できなかった場合、Promise は拒否されます。 |
LanguageModelChatCapabilities
LanguageModelChatInformation がサポートする様々な機能 (ツール呼び出しや画像入力など)。
プロパティ
画像入力がモデルによってサポートされているかどうか。一般的にサポートされている画像はjpgとpngですが、各モデルはサポートされているMIMEタイプが異なります。
toolCalling?: number | boolean
ツール呼び出しがモデルによってサポートされているかどうか。数値が提供されている場合、それはモデルへのリクエストで提供できるツールの最大数です。
LanguageModelChatInformation
LanguageModelChatProviderによって提供される言語モデルを表します。
プロパティ
capabilities: LanguageModelChatCapabilities
ツール呼び出しや画像入力など、モデルがサポートするさまざまな機能。
モデルと一緒にレンダリングされるオプションの、人間が読める文字列。UIで同じ名前のモデルを区別するのに役立ちます。
言語モデルの不透明なファミリ名。値はgpt-3.5-turbo、gpt4、phi2、またはllamaである可能性があります。
言語モデルの一意の識別子。プロバイダーごとに一意である必要がありますが、グローバルに一意である必要はありません。
モデルが入力として受け入れることができる最大トークン数。
モデルが生成できる最大トークン数。
言語モデルの人間が読める名前。
モデルにカーソルを合わせたときにレンダリングされるツールチップ。モデルに関する詳細情報を提供するために使用されます。
モデルの不透明なバージョン文字列。これはLanguageModelChatSelector.versionでのルックアップ値として使用されます。例えば、GPT 4oには2024-11-20や2024-08-06のような複数のバージョンがあります。
LanguageModelChatMessage
チャット内のメッセージを表します。ユーザーやアシスタントなど、さまざまな役割を想定できます。
Static
Assistant(content: string | Array<LanguageModelTextPart | LanguageModelToolCallPart>, name?: string): LanguageModelChatMessage
新しいアシスタントメッセージを作成するユーティリティ。
| パラメーター | 説明 |
|---|---|
| content: string | Array<LanguageModelTextPart | LanguageModelToolCallPart> | メッセージの内容。 |
| name?: string | メッセージのユーザーのオプション名。 |
| 戻り値 | 説明 |
| LanguageModelChatMessage |
User(content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart>, name?: string): LanguageModelChatMessage
新しいユーザーメッセージを作成するユーティリティ。
| パラメーター | 説明 |
|---|---|
| content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart> | メッセージの内容。 |
| name?: string | メッセージのユーザーのオプション名。 |
| 戻り値 | 説明 |
| LanguageModelChatMessage |
コンストラクター
new LanguageModelChatMessage(role: LanguageModelChatMessageRole, content: string | LanguageModelInputPart[], name?: string): LanguageModelChatMessage
新しいユーザーメッセージを作成します。
| パラメーター | 説明 |
|---|---|
| role: LanguageModelChatMessageRole | メッセージの役割。 |
| content: string | LanguageModelInputPart[] | メッセージの内容。 |
| name?: string | メッセージのユーザーのオプション名。 |
| 戻り値 | 説明 |
| LanguageModelChatMessage |
プロパティ
content: LanguageModelInputPart[]
メッセージがコンテンツとして含めることができる、文字列または異種配列の要素。一部の要素は、特定のモデルにとってメッセージタイプ固有である場合があります。
このメッセージのユーザーのオプション名。
role: LanguageModelChatMessageRole
このメッセージの役割。
LanguageModelChatMessageRole
チャットメッセージの役割を表します。これはユーザーまたはアシスタントのいずれかです。
列挙型メンバー
ユーザーの役割、例えば言語モデルと対話する人間。
アシスタントの役割、例えば応答を生成する言語モデル。
LanguageModelChatProvider<T>
LanguageModelChatProviderは、ユーザーがチャットビューを通じて、またはLanguageModelChatを取得することで拡張APIを通じて使用できる言語モデルへのアクセスを実装します。この例としては、gpt-5、o3などのモデルを提供するOpenAIプロバイダーが挙げられます。
イベント
onDidChangeLanguageModelChatInformation?: Event<void>
利用可能な言語モデルのセットが変更されたときに発生するオプションのイベント。
メソッド
provideLanguageModelChatInformation(options: PrepareLanguageModelChatModelOptions, token: CancellationToken): ProviderResult<T[]>
このプロバイダーが提供する利用可能な言語モデルのリストを取得します。
| パラメーター | 説明 |
|---|---|
| options: PrepareLanguageModelChatModelOptions | この関数の呼び出しコンテキストを指定するオプション。 |
| token: CancellationToken | キャンセル トークン |
| 戻り値 | 説明 |
| ProviderResult<T[]> | 利用可能な言語モデルのリスト |
provideLanguageModelChatResponse(model: T, messages: readonly LanguageModelChatRequestMessage[], options: ProvideLanguageModelChatResponseOptions, progress: Progress<LanguageModelResponsePart>, token: CancellationToken): Thenable<void>
チャットリクエストに対する応答を返し、結果をプログレスコールバックに渡します。LanguageModelChatProviderは、言語モデルから応答パーツを受信するたびに、プログレスコールバックに応答パーツを出力する必要があります。
| パラメーター | 説明 |
|---|---|
| model: T | 使用する言語モデル |
| messages: readonly LanguageModelChatRequestMessage[] | リクエストに含めるメッセージ |
| options: ProvideLanguageModelChatResponseOptions | リクエストのオプション |
| progress: Progress<LanguageModelResponsePart> | ストリーミングされた応答チャンクを出力するプログレス |
| token: CancellationToken | キャンセル トークン |
| 戻り値 | 説明 |
| Thenable<void> | 応答が完了したときに解決されるPromise。結果は実際にはプログレスコールバックに渡されます。 |
provideTokenCount(model: T, text: string | LanguageModelChatRequestMessage, token: CancellationToken): Thenable<number>
モデル固有のトークナイザロジックを使用して、指定されたテキストのトークン数を返します。
| パラメーター | 説明 |
|---|---|
| model: T | 使用する言語モデル |
| text: string | LanguageModelChatRequestMessage | トークンをカウントするテキスト |
| token: CancellationToken | キャンセル トークン |
| 戻り値 | 説明 |
| Thenable<number> | トークン数 |
LanguageModelChatRequestMessage
LanguageModelChatMessageのプロバイダーバージョン。
プロパティ
メッセージがコンテンツとして含めることができる、さまざまな種類の配列。一部の要素は、特定のモデルではメッセージタイプ固有である場合があります。
このメッセージのユーザーのオプション名。
role: LanguageModelChatMessageRole
このメッセージの役割。
LanguageModelChatRequestOptions
言語モデルを使用してチャットリクエストを行うためのオプション。
プロパティ
言語モデルへのアクセスが必要な理由と、それによって有効になる機能について説明する、人間が読めるメッセージ。
言語モデルの動作を制御するオプションのセット。これらのオプションは言語モデルに固有であり、それぞれのドキュメントで確認する必要があります。
toolMode?: LanguageModelChatToolMode
使用するツール選択モード。デフォルトはLanguageModelChatToolMode.Autoです。
tools?: LanguageModelChatTool[]
言語モデルで利用可能なツールのオプションのリスト。これらはlm.toolsを通じて利用可能な登録済みツールであるか、呼び出し側の拡張機能内で実装されたプライベートツールである可能性があります。
LLMがこれらのツールのいずれかを呼び出すことを要求した場合、LanguageModelChatResponse.streamでLanguageModelToolCallPartを返します。ツールを呼び出すのは呼び出し側の責任です。lm.toolsに登録されているツールの場合、それはlm.invokeToolを呼び出すことを意味します。
その後、ツール結果は、LanguageModelToolCallPartを含むアシスタントタイプのLanguageModelChatMessageを作成し、それに続いてLanguageModelToolResultPartを含むユーザータイプのメッセージを作成することで、LLMに提供できます。
LanguageModelChatResponse
言語モデルの応答を表します。
参照 ChatRequest
プロパティ
stream: AsyncIterable<unknown>
テキストとツール呼び出し部分のストリームである非同期イテレータで、全体の応答を形成します。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からテキスト部分以外のすべてをフィルタリングすることと同等です。
LanguageModelChatSelector
チャットリクエスト用の言語モデルを選択する方法を記述します。
プロパティ
言語モデルのファミリ。
言語モデルの識別子。
言語モデルのベンダー。
言語モデルのバージョン。
LanguageModelChatTool
LanguageModelChatRequestOptionsを通じて言語モデルで利用できるツール。言語モデルは、このインターフェースのすべてのプロパティを使用して、どのツールを呼び出すか、そしてどのように呼び出すかを決定します。
プロパティ
ツールの説明。
このツールが受け入れる入力のJSONスキーマ。
ツールの名前。
LanguageModelChatToolMode
言語モデルが使用するためのツール呼び出しモードです。
列挙型メンバー
言語モデルがツールを呼び出すか、メッセージを生成するかを選択できるモードです。これがデフォルトです。
言語モデルは、提供されたツールのいずれかを呼び出す必要があります。注:このモードを使用する場合、一部のモデルは単一のツールのみをサポートします。
LanguageModelError
言語モデル固有のエラーのタイプです。
言語モデルの利用者は、特定の失敗原因を判断するためにcodeプロパティを確認する必要があります。たとえば、未知の言語モデルを参照する場合のif(someError.code === vscode.LanguageModelError.NotFound.name) {...}のようにです。特定されていないエラーの場合、causeプロパティには実際のエラーが含まれます。
Static
Blocked(message?: string): LanguageModelError
要求者がこの言語モデルを使用することをブロックされています。
| パラメーター | 説明 |
|---|---|
| message?: string | |
| 戻り値 | 説明 |
| LanguageModelError |
NoPermissions(message?: string): LanguageModelError
要求者はこの言語モデルを使用する権限がありません。
| パラメーター | 説明 |
|---|---|
| message?: string | |
| 戻り値 | 説明 |
| LanguageModelError |
NotFound(message?: string): LanguageModelError
言語モデルが存在しません。
| パラメーター | 説明 |
|---|---|
| message?: string | |
| 戻り値 | 説明 |
| LanguageModelError |
コンストラクター
new LanguageModelError(message?: string): LanguageModelError
| パラメーター | 説明 |
|---|---|
| message?: string | |
| 戻り値 | 説明 |
| LanguageModelError |
プロパティ
このエラーを識別するコード。
NotFoundのようなエラーの名前、または言語モデル自体からの指定されていないエラーの場合はUnknownが考えられる値です。後者の場合、causeプロパティには実際のエラーが含まれます。
LanguageModelInputPart
LanguageModelChat.sendRequestを通じて送信され、LanguageModelChatProviderによって処理される可能性のあるさまざまなメッセージタイプ。
LanguageModelInputPart: LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelToolCallPart
LanguageModelPromptTsxPart
vscode/prompt-tsxからのPromptElementJSONを含む言語モデル応答の一部。
コンストラクター
new LanguageModelPromptTsxPart(value: unknown): LanguageModelPromptTsxPart
指定されたコンテンツでprompt-tsxパートを構築します。
| パラメーター | 説明 |
|---|---|
| value: unknown | パートの値。 |
| 戻り値 | 説明 |
| LanguageModelPromptTsxPart |
プロパティ
部品の値。
LanguageModelResponsePart
LanguageModelChatProviderがチャット応答ストリームで発行できるさまざまなメッセージタイプ。
LanguageModelResponsePart: LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelToolCallPart
LanguageModelTextPart
LanguageModelChatResponseから返される、テキストの一部を含む言語モデル応答パート。
コンストラクター
new LanguageModelTextPart(value: string): LanguageModelTextPart
指定されたコンテンツでテキストパートを構築します。
| パラメーター | 説明 |
|---|---|
| value: string | パートのテキストコンテンツ。 |
| 戻り値 | 説明 |
| LanguageModelTextPart |
プロパティ
パートのテキストコンテンツ。
LanguageModelTool<T>
LanguageModelChatの呼び出しによって起動できるツール。
メソッド
invoke(options: LanguageModelToolInvocationOptions<T>, token: CancellationToken): ProviderResult<LanguageModelToolResult>
指定された入力でツールを呼び出し、結果を返します。
提供されたLanguageModelToolInvocationOptions.inputは、宣言されたスキーマに対して検証されています。
| パラメーター | 説明 |
|---|---|
| options: LanguageModelToolInvocationOptions<T> | |
| token: CancellationToken | |
| 戻り値 | 説明 |
| ProviderResult<LanguageModelToolResult> |
prepareInvocation(options: LanguageModelToolInvocationPrepareOptions<T>, token: CancellationToken): ProviderResult<PreparedToolInvocation>
ツールが呼び出される前に一度呼び出されます。これは、ツールの実行中に表示される進捗メッセージをカスタマイズし、呼び出し入力からのコンテキストを含むより有用なメッセージを提供するために実装することをお勧めします。また、必要に応じて、ツールの実行前にユーザー確認が必要であることを通知することもできます。
- 注1: 副作用があってはいけません。
- 注2:
prepareInvocationの呼び出しの後に必ずinvokeの呼び出しがあるわけではありません。
| パラメーター | 説明 |
|---|---|
| options: LanguageModelToolInvocationPrepareOptions<T> | |
| token: CancellationToken | |
| 戻り値 | 説明 |
| ProviderResult<PreparedToolInvocation> |
LanguageModelToolCallPart
LanguageModelChatResponseから返される、ツール呼び出しを示す言語モデル応答の一部であり、チャットリクエストにおける以前のツール呼び出しを表すためにLanguageModelChatMessageのコンテンツの一部として含めることもできます。
コンストラクター
new LanguageModelToolCallPart(callId: string, name: string, input: object): LanguageModelToolCallPart
新しいLanguageModelToolCallPartを作成します。
| パラメーター | 説明 |
|---|---|
| callId: string | ツール呼び出しのID。 |
| name: string | 呼び出すツールの名前。 |
| input: object | ツールを呼び出すための入力。 |
| 戻り値 | 説明 |
| LanguageModelToolCallPart |
プロパティ
ツール呼び出しのIDです。これは、チャットリクエスト内でのツール呼び出しの一意の識別子です。
ツールを呼び出すための入力。
呼び出すツールの名前。
LanguageModelToolConfirmationMessages
PreparedToolInvocationでこれが返されると、ユーザーはツールを実行する前に確認を求められます。これらのメッセージは、「続行」と「キャンセル」というボタンとともに表示されます。
プロパティ
message: string | MarkdownString
確認メッセージの本文。
確認メッセージのタイトル。
LanguageModelToolInformation
lm.toolsで利用可能な登録済みツールに関する情報。
プロパティ
言語モデルに渡される可能性のあるこのツールの説明。
このツールが受け入れる入力のJSONスキーマ。
ツールの一意の名前。
ツールによって宣言されたタグのセットで、ツールの機能を大まかに説明します。ツールユーザーはこれらを使用して、手元のタスクに関連するツールのみにフィルタリングできます。
LanguageModelToolInvocationOptions<T>
ツール呼び出しに提供されるオプション。
プロパティ
ツールを呼び出すための入力。入力はLanguageModelToolInformation.inputSchemaで定義されたスキーマと一致する必要があります。
tokenizationOptions?: LanguageModelToolTokenizationOptions
ツールが応答で返すトークンの数をヒントとして示し、ツールがトークンを正確にカウントできるようにするためのオプション。
toolInvocationToken: undefined
ツール呼び出しをチャット参加者からのチャットリクエストに結び付ける不透明なオブジェクト。
有効なツール呼び出しトークンを取得する唯一の方法は、チャットリクエストから提供されたtoolInvocationTokenを使用することです。その場合、チャット応答ビューでツール呼び出しの進行状況バーが自動的に表示され、ツールがユーザー確認を必要とする場合は、チャットビューにインラインで表示されます。
ツールがチャットリクエスト以外で呼び出されている場合、代わりにundefinedが渡され、確認を除くいかなる特別なUIも表示されません。
注: 別のツールを呼び出すツールは、受け取ったtoolInvocationTokenを渡すことができます。
LanguageModelToolInvocationPrepareOptions<T>
プロパティ
ツールが呼び出される際の入力。
LanguageModelToolResult
ツール呼び出しから返される結果。vscode/prompt-tsxを使用している場合、この結果はToolResultを使用してレンダリングできます。
コンストラクター
new LanguageModelToolResult(content: Array<LanguageModelTextPart | LanguageModelPromptTsxPart>): LanguageModelToolResult
LanguageModelToolResultを作成します
| パラメーター | 説明 |
|---|---|
| content: Array<LanguageModelTextPart | LanguageModelPromptTsxPart> | ツール結果コンテンツパートのリスト |
| 戻り値 | 説明 |
| LanguageModelToolResult |
プロパティ
ツール結果コンテンツパートのリスト。このリストは将来新しいコンテンツタイプで拡張される可能性があるため、unknownが含まれています。
参照 lm.invokeTool。
LanguageModelToolResultPart
ツール呼び出しの結果。これはツール呼び出しの対応物であり、ユーザーメッセージのコンテンツにのみ含めることができます。
コンストラクター
new LanguageModelToolResultPart(callId: string, content: unknown[]): LanguageModelToolResultPart
| パラメーター | 説明 |
|---|---|
| callId: string | ツール呼び出しのID。 |
| content: unknown[] | ツール結果のコンテンツ。 |
| 戻り値 | 説明 |
| LanguageModelToolResultPart |
プロパティ
ツール呼び出しのID。
注: これはツール呼び出しパートのcallIdと一致する必要があります。
ツール結果の値。
LanguageModelToolTokenizationOptions
ツール呼び出しのトークン化に関連するオプション。
プロパティ
既知の場合、ツールがその結果で出力すべき最大トークン数。
メソッド
countTokens(text: string, token?: CancellationToken): Thenable<number>
モデル固有のトークナイザロジックを使用して、メッセージ内のトークン数をカウントします。
| パラメーター | 説明 |
|---|---|
| text: string | 文字列。 |
| token?: CancellationToken | オプションのキャンセル トークン。CancellationTokenSource の作成方法を参照してください。 |
| 戻り値 | 説明 |
| Thenable<number> | トークン数に解決されるthenable。 |
LanguageStatusItem
言語ステータスアイテムは、アクティブなテキストエディタの言語ステータスレポート(選択されたリンターや設定問題の通知など)を提示するための推奨される方法です。
プロパティ
accessibilityInformation?: AccessibilityInformation
スクリーンリーダーがこのアイテムとやり取りする際に使用されるアクセシビリティ情報
アイテムを「ビジー」として表示するかどうかを制御します。デフォルトはfalseです。
command: Command
このアイテムのコマンド。
オプションで、このアイテムに関する人間が読める詳細情報。
このアイテムの識別子。
「Java言語ステータス」などのこのアイテムの短い名前。
selector: DocumentSelector
このアイテムが表示されるエディタを定義するセレクター。
severity: LanguageStatusSeverity
このアイテムの重大度。
デフォルトは情報です。このプロパティを使用して、実行可能ファイルの不足や無効な設定など、注意が必要な問題があることをユーザーに知らせることができます。
エントリに表示するテキスト。構文を利用してテキストにアイコンを埋め込むことができます。
My text $(icon-name) contains icons like $(icon-name) this one.
ここで、アイコン名はThemeIcon アイコンセットから取得されます(例:light-bulb、thumbsup、zapなど)。
メソッド
関連リソースを破棄して解放します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
LanguageStatusSeverity
言語ステータスの重大度レベルを表します。
列挙型メンバー
情報レベルの深刻度。
警告レベルの深刻度。
エラーレベルの深刻度。
LinkedEditingRangeProvider
リンクされた編集範囲プロバイダーインターフェースは、拡張機能とリンクされた編集機能間の契約を定義します。
メソッド
provideLinkedEditingRanges(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<LinkedEditingRanges>
ドキュメント内の指定された位置に対して、その位置にあるシンボルの範囲と、同じコンテンツを持つすべての範囲を返します。新しいコンテンツが有効な場合、いずれかの範囲への変更は他のすべての範囲に適用できます。有効なコンテンツを記述するために、オプションで単語パターンを結果とともに返すことができます。結果固有の単語パターンが提供されない場合、言語設定からの単語パターンが使用されます。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | プロバイダーが呼び出されたドキュメント。 |
| position: Position | プロバイダーが呼び出された位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<LinkedEditingRanges> | 一緒に編集できる範囲のリスト |
LinkedEditingRanges
一緒に編集できる範囲のリストと、有効な範囲コンテンツを記述する単語パターンを表します。
コンストラクター
new LinkedEditingRanges(ranges: Range[], wordPattern?: RegExp): LinkedEditingRanges
新しいリンクされた編集範囲オブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| ranges: Range[] | 一緒に編集できる範囲のリスト |
| wordPattern?: RegExp | 指定された範囲の有効なコンテンツを記述するオプションの単語パターン |
| 戻り値 | 説明 |
| LinkedEditingRanges |
プロパティ
ranges: Range[]
一緒に編集できる範囲のリスト。範囲は同じ長さとテキストコンテンツを持ち、重複することはできません。
指定された範囲の有効なコンテンツを記述するオプションの単語パターン。パターンが提供されない場合、言語設定の単語パターンが使用されます。
Location
テキストファイル内の行など、リソース内の位置を表します。
コンストラクター
new Location(uri: Uri, rangeOrPosition: Range | Position): Location
新しい位置オブジェクトを作成します。
プロパティ
range: Range
この位置のドキュメント範囲。
uri: Uri
この位置のリソース識別子。
LocationLink
2つの場所の接続を表します。元の範囲を含む、通常の場所よりも追加のメタデータを提供します。
プロパティ
originSelectionRange?: Range
このリンクの元の範囲。
マウスによる定義ホバーのアンダーライン範囲として使用されます。デフォルトは定義位置の単語範囲です。
targetRange: Range
このリンクの完全なターゲット範囲。
targetSelectionRange?: Range
このリンクの範囲。
targetUri: Uri
このリンクのターゲットリソース識別子。
LogLevel
ログレベル
列挙型メンバー
このレベルではメッセージはログに記録されません。
このレベルではすべてのメッセージがログに記録されます。
このレベルではデバッグ以上のログレベルのメッセージがログに記録されます。
このレベルでは情報以上のログレベルのメッセージがログに記録されます。
このレベルでは警告以上のログレベルのメッセージがログに記録されます。
このレベルではエラーメッセージのみがログに記録されます。
LogOutputChannel
ログ出力を格納するためのチャネル。
LogOutputChannelのインスタンスを取得するには、createOutputChannelを使用します。
イベント
onDidChangeLogLevel: Event<LogLevel>
チャネルのログレベルが変更されたときに発生するイベント。
プロパティ
logLevel: LogLevel
チャネルの現在のログレベル。デフォルトはエディタのログレベルです。
この出力チャネルの人間が読める名前。
メソッド
指定された値をチャネルに追加します。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。falsy値は出力されません。 |
| 戻り値 | 説明 |
| void |
appendLine(value: string): void
指定された値と改行文字をチャネルに追加します。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。falsy値も出力されます。 |
| 戻り値 | 説明 |
| void |
チャネルからすべての出力を削除します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
debug(message: string, ...args: any[]): void
指定されたデバッグメッセージをチャネルに出力します。
メッセージは、チャネルがデバッグログレベル以下を表示するように設定されている場合にのみログに記録されます。
| パラメーター | 説明 |
|---|---|
| message: string | ログに記録するデバッグメッセージ |
| ...args: any[] | |
| 戻り値 | 説明 |
| void |
関連リソースを破棄して解放します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
error(error: string | Error, ...args: any[]): void
指定されたエラーまたはエラーメッセージをチャネルに出力します。
メッセージは、チャネルがエラーログレベル以下を表示するように設定されている場合にのみログに記録されます。
| パラメーター | 説明 |
|---|---|
| error: string | Error | ログに記録するエラーまたはエラーメッセージ |
| ...args: any[] | |
| 戻り値 | 説明 |
| void |
このチャネルをUIから非表示にします。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
info(message: string, ...args: any[]): void
指定された情報メッセージをチャネルに出力します。
メッセージは、チャネルが情報ログレベル以下を表示するように設定されている場合にのみログに記録されます。
| パラメーター | 説明 |
|---|---|
| message: string | ログに記録する情報メッセージ |
| ...args: any[] | |
| 戻り値 | 説明 |
| void |
チャネルのすべての出力を指定された値に置き換えます。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。falsy値は出力されません。 |
| 戻り値 | 説明 |
| void |
show(preserveFocus?: boolean): void
UIでこのチャネルを表示します。
| パラメーター | 説明 |
|---|---|
| preserveFocus?: boolean |
|
| 戻り値 | 説明 |
| void |
show(column?: ViewColumn, preserveFocus?: boolean): void
UIでこのチャネルを表示します。
- 非推奨 - 1つのパラメーターのみを持つオーバーロード(
show(preserveFocus?: boolean): void)を使用してください。
| パラメーター | 説明 |
|---|---|
| column?: ViewColumn | この引数は非推奨であり、無視されます。 |
| preserveFocus?: boolean |
|
| 戻り値 | 説明 |
| void |
trace(message: string, ...args: any[]): void
指定されたトレースメッセージをチャネルに出力します。このメソッドを使用して詳細情報をログに記録します。
メッセージは、チャネルがトレースログレベルを表示するように設定されている場合にのみログに記録されます。
| パラメーター | 説明 |
|---|---|
| message: string | ログに記録するトレースメッセージ |
| ...args: any[] | |
| 戻り値 | 説明 |
| void |
warn(message: string, ...args: any[]): void
指定された警告メッセージをチャネルに出力します。
メッセージは、チャネルが警告ログレベル以下を表示するように設定されている場合にのみログに記録されます。
| パラメーター | 説明 |
|---|---|
| message: string | ログに記録する警告メッセージ |
| ...args: any[] | |
| 戻り値 | 説明 |
| void |
MarkdownString
マークダウン構文による書式設定をサポートする、人間が読めるテキスト。
supportThemeIconsがtrueに設定されている場合、$(<name>)構文によるテーマアイコンのレンダリングがサポートされます。
supportHtmlがtrueに設定されている場合、埋め込みHTMLのレンダリングがサポートされます。
コンストラクター
new MarkdownString(value?: string, supportThemeIcons?: boolean): MarkdownString
指定された値で新しいマークダウン文字列を作成します。
| パラメーター | 説明 |
|---|---|
| value?: string | オプション、初期値。 |
| supportThemeIcons?: boolean | オプションで、MarkdownString内でThemeIconsがサポートされるかどうかを指定します。 |
| 戻り値 | 説明 |
| MarkdownString |
プロパティ
baseUri?: Uri
相対パスが解決される基準となる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'
isTrusted?: boolean | {enabledCommands: readonly string[]}
このマークダウン文字列が信頼できるソースからのものであることを示します。信頼できるマークダウンのみが、コマンドを実行するリンクをサポートします(例:[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))を含めることができるかどうかを示します。
マークダウン文字列。
メソッド
appendCodeblock(value: string, language?: string): MarkdownString
指定された言語を使用して、指定された文字列をコードブロックとして追加します。
| パラメーター | 説明 |
|---|---|
| value: string | コードスニペット。 |
| language?: string | オプションの言語識別子。 |
| 戻り値 | 説明 |
| MarkdownString |
appendMarkdown(value: string): MarkdownString
指定された文字列を「そのまま」このマークダウン文字列に追加します。supportThemeIconsがtrueの場合、value内のThemeIconsはアイコン化されます。
| パラメーター | 説明 |
|---|---|
| value: string | マークダウン文字列。 |
| 戻り値 | 説明 |
| MarkdownString |
appendText(value: string): MarkdownString
指定された文字列をこのマークダウン文字列に追加してエスケープします。
| パラメーター | 説明 |
|---|---|
| value: string | プレーンテキスト。 |
| 戻り値 | 説明 |
| MarkdownString |
MarkedString
MarkedStringは人間が読めるテキストをレンダリングするために使用できます。それはマークダウン文字列であるか、言語とコードスニペットを提供するコードブロックのいずれかです。マークダウン文字列はサニタイズされます。つまり、HTMLはエスケープされます。
- 非推奨 - このタイプは非推奨です。代わりにMarkdownStringを使用してください。
MarkedString: string | {language: string, value: string}
McpHttpServerDefinition
McpHttpServerDefinitionは、Streamable HTTPトランスポートを使用して利用可能なMCPサーバーを表します。
コンストラクター
new McpHttpServerDefinition(label: string, uri: Uri, headers?: Record<string, string>, version?: string): McpHttpServerDefinition
| パラメーター | 説明 |
|---|---|
| label: string | サーバーの人間が読める名前。 |
| uri: Uri | サーバーのURI。 |
| headers?: Record<string, string> | サーバーへの各リクエストに含まれるオプションの追加ヘッダー。 |
| version?: string | |
| 戻り値 | 説明 |
| McpHttpServerDefinition |
プロパティ
headers: Record<string, string>
サーバーへの各リクエストに含まれるオプションの追加ヘッダー。
サーバーの人間が読める名前。
uri: Uri
サーバーのURI。エディタは各セッションを開始するためにこのURIにPOSTリクエストを送信します。
サーバーのオプションのバージョン識別。これが変更されると、エディタはツールが変更されたことを示し、それらを更新するよう促します。
McpServerDefinition
McpServerDefinitionProviderから返される可能性のある、さまざまな種類のモデルコンテキストプロトコルサーバーを記述する定義。
McpServerDefinition: McpStdioServerDefinition | McpHttpServerDefinition
McpServerDefinitionProvider<T>
モデルコンテキストプロトコルサーバー定義を提供できるタイプです。これは拡張機能のアクティベーション中にlm.registerMcpServerDefinitionProviderを使用して登録する必要があります。
イベント
onDidChangeMcpServerDefinitions?: Event<void>
利用可能なサーバーのセットが変更されたことを通知するために発生するオプションのイベント。
メソッド
provideMcpServerDefinitions(token: CancellationToken): ProviderResult<T[]>
利用可能なMCPサーバーを提供します。エディタは、言語モデルのサーバーの可用性を確保するためにこのメソッドを積極的に呼び出すため、拡張機能は認証などのユーザーインタラクションを必要とするアクションを実行すべきではありません。
| パラメーター | 説明 |
|---|---|
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T[]> | 利用可能なMCPサーバーの配列 |
resolveMcpServerDefinition(server: T, token: CancellationToken): ProviderResult<T>
この関数は、エディターがMCPサーバーを起動する必要があるときに呼び出されます。この時点で、拡張機能は、認証などのユーザーインタラクションを必要とする可能性のあるすべてのアクションを実行できます。サーバーのreadonlyではないプロパティは変更でき、拡張機能は解決されたサーバーを返すべきです。
拡張機能は、サーバーを起動すべきではないことを示すために未定義を返すか、エラーをスローする場合があります。保留中のツール呼び出しがある場合、エディターはそれをキャンセルし、言語モデルにエラーメッセージを返します。
| パラメーター | 説明 |
|---|---|
| server: T | 解決するMCPサーバー |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T> | 解決されたサーバー、またはそれを解決するthenable。これは、非読み取り専用プロパティが入力された指定された |
McpStdioServerDefinition
McpStdioServerDefinitionは、ローカルプロセスを実行し、その標準入力および標準出力ストリームで動作することによって利用可能なMCPサーバーを表します。プロセスは拡張機能ホストの子プロセスとして生成され、デフォルトではシェル環境で実行されません。
コンストラクター
new McpStdioServerDefinition(label: string, command: string, args?: string[], env?: Record<string, string | number>, version?: string): McpStdioServerDefinition
| パラメーター | 説明 |
|---|---|
| label: string | サーバーの人間が読める名前。 |
| command: string | サーバーを起動するために使用されるコマンド。 |
| args?: string[] | サーバーに渡される追加のコマンドライン引数。 |
| env?: Record<string, string | number> | サーバーのオプションの追加環境情報。 |
| version?: string | サーバーのオプションのバージョン識別。 |
| 戻り値 | 説明 |
| McpStdioServerDefinition |
プロパティ
サーバーに渡される追加のコマンドライン引数。
サーバーを起動するために使用されるコマンド。Node.jsベースのサーバーは、process.execPathを使用してエディタのNode.jsバージョンでスクリプトを実行できます。
cwd?: Uri
サーバーを起動するために使用される作業ディレクトリ。
env: Record<string, string | number>
サーバーのオプションの追加環境情報。この環境の変数は、エディタの拡張ホストのデフォルトの環境変数を上書きまたは削除(nullの場合)します。
サーバーの人間が読める名前。
サーバーのオプションのバージョン識別。これが変更されると、エディタはツールが変更されたことを示し、それらを更新するよう促します。
Memento
Mementoはストレージユーティリティを表します。値を保存および取得できます。
メソッド
値を返します。
| パラメーター | 説明 |
|---|---|
| key: string | 文字列。 |
| 戻り値 | 説明 |
| T | 保存された値、または |
get<T>(key: string, defaultValue: T): T
値を返します。
| パラメーター | 説明 |
|---|---|
| key: string | 文字列。 |
| defaultValue: T | 指定されたキーを持つ値がない場合( |
| 戻り値 | 説明 |
| T | 保存された値、またはdefaultValue。 |
保存されたキーを返します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| readonly string[] | 保存されたキー。 |
update(key: string, value: any): Thenable<void>
値を保存します。値はJSON-stringifyableである必要があります。
注: undefinedを値として使用すると、基になるストレージからキーが削除されます。
| パラメーター | 説明 |
|---|---|
| key: string | 文字列。 |
| value: any | 値。循環参照を含んではいけません。 |
| 戻り値 | 説明 |
| Thenable<void> |
MessageItem
情報、警告、またはエラーメッセージとともに表示されるアクションを表します。
関連項目
プロパティ
ユーザーがダイアログをキャンセルしたとき(例: ESCキーを押すなど)に、アイテムがトリガーされるべきであることを示すモーダルダイアログのヒント。
注: このオプションは非モーダルメッセージでは無視されます。
「再試行」、「ログを開く」などの短いタイトル。
MessageOptions
プロパティ
人間が読める詳細メッセージで、目立たないようにレンダリングされます。注: 詳細情報はモーダルメッセージにのみ表示されます。
このメッセージがモーダルであるべきであることを示します。
NotebookCell
プロパティ
document: TextDocument
このセルのテキスト。テキストドキュメントとして表されます。
executionSummary: NotebookCellExecutionSummary
このセルの最新の実行サマリー。
このセルが属するノートブック内のインデックス。セルがノートブック内で移動すると、インデックスが更新されます。セルがノートブックから削除された場合、インデックスは-1です。
kind: NotebookCellKind
このセルの種類。
このセルのメタデータ。何でも構いませんが、JSON文字列化可能である必要があります。
notebook: NotebookDocument
このセルを含むノートブック。
outputs: readonly NotebookCellOutput[]
このセルの出力。
NotebookCellData
NotebookCellDataはノートブックセルの生表現です。NotebookDataの一部です。
コンストラクター
new NotebookCellData(kind: NotebookCellKind, value: string, languageId: string): NotebookCellData
新しいセルデータを作成します。最小限のセルデータは、その種類、ソース値、およびソースの言語識別子を指定します。
| パラメーター | 説明 |
|---|---|
| kind: NotebookCellKind | 種類。 |
| value: string | ソース値。 |
| languageId: string | ソース値の言語識別子。 |
| 戻り値 | 説明 |
| NotebookCellData |
プロパティ
executionSummary?: NotebookCellExecutionSummary
このセルデータの実行サマリー。
kind: NotebookCellKind
このセルデータの種類。
このセルデータのソース値の言語識別子。getLanguagesからの任意の値が可能です。
このセルデータの任意のメタデータ。何でも構いませんが、JSON文字列化可能である必要があります。
outputs?: NotebookCellOutput[]
このセルデータの出力。
このセルデータのソース値 - ソースコードまたは書式設定されたテキストのいずれか。
NotebookCellExecution
NotebookCellExecutionは、ノートブックコントローラーがノートブックセルを実行中に変更する方法です。
セル実行オブジェクトが作成されると、セルは[NotebookCellExecutionState.Pending Pending](#NotebookCellExecutionState.Pending Pending)状態に入ります。実行タスクでstart(...)が呼び出されると、[NotebookCellExecutionState.Executing Executing](#NotebookCellExecutionState.Executing Executing)状態に入ります。end(...)が呼び出されると、[NotebookCellExecutionState.Idle Idle](#NotebookCellExecutionState.Idle Idle)状態に入ります。
プロパティ
cell: NotebookCell
この実行が作成されたセル。
このセル実行の順序を設定および解除します。
token: CancellationToken
メソッド
appendOutput(out: NotebookCellOutput | readonly NotebookCellOutput[], cell?: NotebookCell): Thenable<void>
実行中のセルの出力、またはこの実行の影響を受ける別のセルに出力を追加します。
| パラメーター | 説明 |
|---|---|
| out: NotebookCellOutput | readonly NotebookCellOutput[] | 現在の出力に追加される出力。 |
| cell?: NotebookCell | 出力がクリアされるセル。デフォルトはこの実行のセルです。 |
| 戻り値 | 説明 |
| Thenable<void> | 操作が完了したときに解決されるthenable。 |
appendOutputItems(items: NotebookCellOutputItem | readonly NotebookCellOutputItem[], output: NotebookCellOutput): Thenable<void>
既存のセル出力に出力アイテムを追加します。
| パラメーター | 説明 |
|---|---|
| items: NotebookCellOutputItem | readonly NotebookCellOutputItem[] | 既存の出力に追加される出力アイテム。 |
| output: NotebookCellOutput | すでに存在する出力オブジェクト。 |
| 戻り値 | 説明 |
| Thenable<void> | 操作が完了したときに解決されるthenable。 |
clearOutput(cell?: NotebookCell): Thenable<void>
実行中のセルの出力、またはこの実行の影響を受ける別のセルの出力をクリアします。
| パラメーター | 説明 |
|---|---|
| cell?: NotebookCell | 出力がクリアされるセル。デフォルトはこの実行のセルです。 |
| 戻り値 | 説明 |
| Thenable<void> | 操作が完了したときに解決されるthenable。 |
end(success: boolean, endTime?: number): void
実行が終了したことを通知します。
| パラメーター | 説明 |
|---|---|
| success: boolean | trueの場合、セルのステータスバーに緑色のチェックが表示されます。falseの場合、赤色のXが表示されます。undefinedの場合、チェックまたはXアイコンは表示されません。 |
| endTime?: number | 実行が終了した時刻(Unixエポックからのミリ秒単位)。 |
| 戻り値 | 説明 |
| void |
replaceOutput(out: NotebookCellOutput | readonly NotebookCellOutput[], cell?: NotebookCell): Thenable<void>
実行中のセル、またはこの実行によって影響を受ける別のセルの出力を置き換えます。
| パラメーター | 説明 |
|---|---|
| out: NotebookCellOutput | readonly NotebookCellOutput[] | 現在の出力を置き換える出力。 |
| cell?: NotebookCell | 出力がクリアされるセル。デフォルトはこの実行のセルです。 |
| 戻り値 | 説明 |
| Thenable<void> | 操作が完了したときに解決されるthenable。 |
replaceOutputItems(items: NotebookCellOutputItem | readonly NotebookCellOutputItem[], output: NotebookCellOutput): Thenable<void>
既存のセル出力のすべての出力項目を置き換えます。
| パラメーター | 説明 |
|---|---|
| items: NotebookCellOutputItem | readonly NotebookCellOutputItem[] | 既存の出力の項目を置き換える出力項目。 |
| output: NotebookCellOutput | すでに存在する出力オブジェクト。 |
| 戻り値 | 説明 |
| Thenable<void> | 操作が完了したときに解決されるthenable。 |
start(startTime?: number): void
実行が開始されたことを通知します。
| パラメーター | 説明 |
|---|---|
| startTime?: number | 実行が開始された時刻を、Unixエポックからのミリ秒単位で指定します。これにより、セルが実行されている期間を示すクロックが駆動されます。指定しない場合、クロックは表示されません。 |
| 戻り値 | 説明 |
| void |
NotebookCellExecutionSummary
ノートブックセルの実行の概要。
プロパティ
実行が発生した順序。
実行が正常に終了した場合。
timing?: {endTime: number, startTime: number}
実行が開始および終了した時刻(Unixタイムスタンプ)
| パラメーター | 説明 |
|---|---|
| endTime: number | 実行終了時刻。 |
| startTime: number | 実行開始時刻。 |
NotebookCellKind
ノートブックセルの種類。
列挙型メンバー
マークアップセルは、表示に使用される書式設定されたソースです。
NotebookCellOutput
ノートブックセルの出力は、セルを実行した結果を表します。これは、複数の出力項目のコンテナータイプであり、含まれる項目は同じ結果を表しますが、異なるMIMEタイプを使用します。
コンストラクター
new NotebookCellOutput(items: NotebookCellOutputItem[], metadata?: ): NotebookCellOutput
新しいノートブック出力を作成します。
| パラメーター | 説明 |
|---|---|
| items: NotebookCellOutputItem[] | ノートブック出力項目。 |
| metadata?: | オプションのメタデータ。 |
| 戻り値 | 説明 |
| NotebookCellOutput |
プロパティ
items: NotebookCellOutputItem[]
この出力の出力項目。各項目は同じ結果を表す必要があります。注: 出力ごとに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
error(value: Error): NotebookCellOutputItem
application/vnd.code.notebook.error MIMEタイプを使用する NotebookCellOutputItem を作成するファクトリ関数。
| パラメーター | 説明 |
|---|---|
| value: Error | エラーオブジェクト。 |
| 戻り値 | 説明 |
| NotebookCellOutputItem | 新しい出力項目オブジェクト。 |
json(value: any, mime?: string): NotebookCellOutputItem
JSONオブジェクトから NotebookCellOutputItem を作成するファクトリ関数。
注: この関数は「文字列化されたJSON」ではなく、文字列化できるオブジェクトを期待しています。渡された値がJSON文字列化できない場合、この関数はエラーをスローします。
| パラメーター | 説明 |
|---|---|
| value: any | JSON文字列化可能な値。 |
| mime?: string | オプションのMIMEタイプ。デフォルトは |
| 戻り値 | 説明 |
| NotebookCellOutputItem | 新しい出力項目オブジェクト。 |
stderr(value: string): NotebookCellOutputItem
application/vnd.code.notebook.stderr MIMEタイプを使用する NotebookCellOutputItem を作成するファクトリ関数。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。 |
| 戻り値 | 説明 |
| NotebookCellOutputItem | 新しい出力項目オブジェクト。 |
stdout(value: string): NotebookCellOutputItem
application/vnd.code.notebook.stdout MIMEタイプを使用する NotebookCellOutputItem を作成するファクトリ関数。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。 |
| 戻り値 | 説明 |
| NotebookCellOutputItem | 新しい出力項目オブジェクト。 |
text(value: string, mime?: string): NotebookCellOutputItem
文字列から NotebookCellOutputItem を作成するファクトリ関数。
注: 文字列のバイトを作成するためにUTF-8エンコーダが使用されます。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。 |
| mime?: string | オプションのMIMEタイプ。デフォルトは |
| 戻り値 | 説明 |
| NotebookCellOutputItem | 新しい出力項目オブジェクト。 |
コンストラクター
new NotebookCellOutputItem(data: Uint8Array, mime: string): NotebookCellOutputItem
新しいノートブックセル出力項目を作成します。
| パラメーター | 説明 |
|---|---|
| data: Uint8Array | 出力項目の値。 |
| mime: string | 出力項目のMIMEタイプ。 |
| 戻り値 | 説明 |
| NotebookCellOutputItem |
プロパティ
この出力項目のデータ。常に符号なし8ビット整数の配列である必要があります。
データプロパティがどのように解釈されるかを決定するMIMEタイプ。
ノートブックには特定のMIMEタイプに対する組み込みサポートがあり、拡張機能は新しいタイプのサポートを追加したり、既存のタイプをオーバーライドしたりできます。
NotebookCellStatusBarAlignment
ステータスバー項目の配置を表します。
列挙型メンバー
左側に揃えられます。
右側に揃えられます。
NotebookCellStatusBarItem
セルのステータスバーへの寄与
コンストラクター
new NotebookCellStatusBarItem(text: string, alignment: NotebookCellStatusBarAlignment): NotebookCellStatusBarItem
新しい NotebookCellStatusBarItem を作成します。
| パラメーター | 説明 |
|---|---|
| text: string | 項目に表示するテキスト。 |
| alignment: NotebookCellStatusBarAlignment | 項目が左揃えか右揃えか。 |
| 戻り値 | 説明 |
| NotebookCellStatusBarItem |
プロパティ
accessibilityInformation?: AccessibilityInformation
スクリーンリーダーがこの項目と対話するときに使用されるアクセシビリティ情報。
alignment: NotebookCellStatusBarAlignment
項目が左揃えか右揃えか。
command?: string | Command
項目の優先度。値が高い項目ほど左側に表示されます。
項目に表示するテキスト。
項目にホバーしたときに表示されるツールチップ。
NotebookCellStatusBarItemProvider
セルのエディタの下に表示されるステータスバーに項目を寄与できるプロバイダ。
イベント
onDidChangeCellStatusBarItems?: Event<void>
ステータスバー項目が変更されたことを通知するオプションのイベント。provideメソッドが再度呼び出されます。
メソッド
provideCellStatusBarItems(cell: NotebookCell, token: CancellationToken): ProviderResult<NotebookCellStatusBarItem | NotebookCellStatusBarItem[]>
このプロバイダは、セルがビューにスクロールされたとき、そのコンテンツ、出力、言語、またはメタデータが変更されたとき、および実行状態が変更されたときに呼び出されます。
| パラメーター | 説明 |
|---|---|
| cell: NotebookCell | 項目を返すセル。 |
| token: CancellationToken | この要求がキャンセルされた場合にトリガーされるトークン。 |
| 戻り値 | 説明 |
| ProviderResult<NotebookCellStatusBarItem | NotebookCellStatusBarItem[]> | 1つ以上のセルステータスバー項目 |
NotebookController
ノートブックコントローラは、ノートブックセルを実行できるエンティティを表します。これはしばしばカーネルと呼ばれます。
複数のコントローラが存在する場合があり、エディタはユーザーに特定のノートブックに使用するコントローラを選択させます。notebookTypeプロパティは、コントローラがどの種類のノートブック用であるかを定義し、updateNotebookAffinity関数は、コントローラが特定のノートブックドキュメントに対して優先度を設定できるようにします。コントローラが選択されると、そのonDidChangeSelectedNotebooksイベントが発火します。
セルが実行されると、エディタはexecuteHandlerを呼び出し、コントローラはノートブックセル実行を作成および完了することが期待されます。ただし、コントローラは自身で実行を作成することもできます。
イベント
onDidChangeSelectedNotebooks: Event<{notebook: NotebookDocument, selected: boolean}>
プロパティ
あまり目立たないようにレンダリングされる、人間が読める説明。
あまり目立たないようにレンダリングされる、人間が読める詳細。
executeHandler: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => void | Thenable<void>
実行ハンドラは、UIで実行ジェスチャが選択されたときに呼び出されます。たとえば、「セルを実行」、「すべてを実行」、「選択を実行」などです。実行ハンドラは、実行オブジェクトの作成と管理を担当します。
| パラメーター | 説明 |
|---|---|
| cells: NotebookCell[] | |
| notebook: NotebookDocument | |
| controller: NotebookController | |
| 戻り値 | 説明 |
| void | Thenable<void> |
このノートブックコントローラの識別子。
注: コントローラはその識別子によって記憶され、拡張機能はセッション間で安定した識別子を使用する必要があります。
interruptHandler?: (notebook: NotebookDocument) => 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
supportsExecutionOrder?: boolean
このコントローラが実行順序をサポートしているかどうか。エディタがそれらのプレースホルダをレンダリングできるようにするためです。
メソッド
createNotebookCellExecution(cell: NotebookCell): NotebookCellExecution
セル実行タスクを作成します。
注: 1つのセルにつき同時に1つの実行のみ可能であり、別のセル実行がアクティブな状態でセル実行が作成された場合、エラーがスローされます。
これは、実行ハンドラが呼び出されたとき、またはセルの実行がすでに開始されていた場合(例: セルがすでに実行中であった場合、または別のソースからセルの実行がトリガーされた場合)に、応答として使用する必要があります。
| パラメーター | 説明 |
|---|---|
| cell: NotebookCell | 実行を作成するノートブックセル。 |
| 戻り値 | 説明 |
| NotebookCellExecution | ノートブックセル実行。 |
関連リソースを破棄して解放します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
updateNotebookAffinity(notebook: NotebookDocument, affinity: NotebookControllerAffinity): void
コントローラは特定のノートブックドキュメントに対して親和性を設定できます。これにより、一部のノートブックに対してコントローラがより目立つように表示されるようになります。
| パラメーター | 説明 |
|---|---|
| notebook: NotebookDocument | 優先度が設定されているノートブック。 |
| affinity: NotebookControllerAffinity | コントローラアフィニティ |
| 戻り値 | 説明 |
| void |
NotebookControllerAffinity
ノートブックドキュメントに対するノートブックコントローラの親和性。
列挙型メンバー
デフォルトの親和性。
ノートブックに対してコントローラが推奨されています。
NotebookData
コンストラクター
new NotebookData(cells: NotebookCellData[]): NotebookData
新しいノートブックデータを作成します。
| パラメーター | 説明 |
|---|---|
| cells: NotebookCellData[] | セルデータの配列。 |
| 戻り値 | 説明 |
| NotebookData |
プロパティ
cells: NotebookCellData[]
このノートブックデータのセルデータ。
ノートブックデータの任意のメタデータ。
NotebookDocument
ノートブックは、コードまたはマークアップセルのシーケンス自体を表します。ノートブックドキュメントはノートブックデータから作成されます。
プロパティ
ノートブック内のセルの数。
ノートブックが閉じられている場合は true。閉じられたノートブックはもはや同期されず、同じリソースが再度開かれても再利用されません。
未保存の変更がある場合は true。
このノートブックは、まだ保存されていない無題のファイルを表しているかどうか。
このノートブックの任意のメタデータ。何でも構いませんが、JSON文字列化可能である必要があります。
ノートブックの種類。
uri: Uri
このノートブックに関連付けられたURI。
注: ほとんどのノートブックは file スキームを使用しており、これはディスク上のファイルであることを意味します。ただし、すべてのノートブックがディスクに保存されているわけではないため、基になるファイルまたはディスク上の兄弟にアクセスする前に scheme を確認する必要があります。
このノートブックのバージョン番号(元に戻す/やり直すを含むすべての変更後に厳密に増加します)。
メソッド
cellAt(index: number): NotebookCell
指定されたインデックスにあるセルを返します。インデックスはノートブックに合わせて調整されます。
| パラメーター | 説明 |
|---|---|
| index: number | 取得するセルのインデックス。 |
| 戻り値 | 説明 |
| NotebookCell | セル。 |
getCells(range?: NotebookRange): NotebookCell[]
このノートブックのセルを取得します。範囲を指定することでサブセットを取得できます。範囲はノートブックに調整されます。
| パラメーター | 説明 |
|---|---|
| range?: NotebookRange | ノートブックの範囲。 |
| 戻り値 | 説明 |
| NotebookCell[] | 範囲に含まれるセルまたはすべてのセル。 |
ドキュメントを保存します。保存は対応するシリアライザによって処理されます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| Thenable<boolean> | ドキュメントが保存されたときにtrueに解決されるプロミス。ファイルがダーティでなかった場合、または保存に失敗した場合はfalseを返します。 |
NotebookDocumentCellChange
ノートブックセルへの変更を記述します。
プロパティ
cell: NotebookCell
影響を受けるセル。
document: TextDocument
セルのドキュメント、または変更されなかった場合は undefined。
注: 実行された編集などの詳細な変更情報については、onDidChangeTextDocumentイベントを使用してください。
executionSummary: NotebookCellExecutionSummary
セルの新しい実行サマリー、または変更されなかった場合は undefined。
セルの新しいメタデータ、または変更されなかった場合は undefined。
outputs: readonly NotebookCellOutput[]
セルの新しい出力、または変更されなかった場合は undefined。
NotebookDocumentChangeEvent
トランザクション的なノートブック変更を記述するイベント。
プロパティ
cellChanges: readonly NotebookDocumentCellChange[]
セル変更の配列。
contentChanges: readonly NotebookDocumentContentChange[]
追加または削除されたセルを記述するコンテンツ変更の配列。
ノートブックの新しいメタデータ、または変更されなかった場合は undefined。
notebook: NotebookDocument
影響を受けるノートブック。
NotebookDocumentContentChange
ノートブックドキュメントへの構造的な変更、たとえば新しく追加されたセルや削除されたセルを記述します。
プロパティ
addedCells: readonly NotebookCell[]
ドキュメントに追加されたセル。
range: NotebookRange
removedCells: readonly NotebookCell[]
ドキュメントから削除されたセル。
NotebookDocumentContentOptions
ノートブックのコンテンツオプションは、ノートブックのどの部分が永続化されるかを定義します。注
例えば、ノートブックシリアライザは出力の保存を無効にでき、その場合、出力が変更されてもエディタはノートブックをダーティとマークしません。
プロパティ
セルのメタデータプロパティ変更イベントがノートブックドキュメントコンテンツ変更イベントをトリガーするかどうか、およびそれが差分エディタで使用されるかどうかを制御します(デフォルトはfalse)。コンテンツプロバイダがファイルドキュメントにメタデータプロパティを永続化しない場合、これはtrueに設定する必要があります。
ドキュメントのメタデータプロパティ変更イベントがノートブックドキュメントコンテンツ変更イベントをトリガーするかどうか、およびそれが差分エディタで使用されるかどうかを制御します(デフォルトはfalse)。コンテンツプロバイダがファイルドキュメントにメタデータプロパティを永続化しない場合、これはtrueに設定する必要があります。
出力変更イベントがノートブックドキュメントコンテンツ変更イベントをトリガーするかどうか、およびそれが差分エディタで使用されるかどうかを制御します(デフォルトはfalse)。コンテンツプロバイダがファイルドキュメントに出力を永続化しない場合、これはtrueに設定する必要があります。
NotebookDocumentShowOptions
ノートブックエディタでノートブックドキュメントを表示する動作を設定するためのオプションを表します。
プロパティ
true の場合、ノートブックエディタがフォーカスを取得するのを停止するオプションのフラグ。
オプションのフラグで、ノートブックエディタタブがプレビューとして表示されるかどうかを制御します。プレビュータブは、明示的に、または編集によって固定されるまで、置き換えられ再利用されます。デフォルトの動作は、workbench.editor.enablePreview設定に依存します。
selections?: readonly NotebookRange[]
ノートブックエディタ内のドキュメントに適用するオプションの選択範囲。
viewColumn?: ViewColumn
ノートブックエディタを表示するオプションのビューカラム。デフォルトはアクティブです。存在しないカラムは、最大ViewColumn.Nineまで必要に応じて作成されます。ViewColumn.Besideを使用して、現在アクティブなエディタの隣にエディタを開きます。
NotebookDocumentWillSaveEvent
ノートブックドキュメントが保存されるときに発火するイベント。
ドキュメントが保存される前に変更を加えるには、ワークスペース編集に解決されるThenableをwaitUntil関数で呼び出します。
プロパティ
notebook: NotebookDocument
保存されるノートブックドキュメント。
reason: TextDocumentSaveReason
保存がトリガーされた理由。
token: CancellationToken
キャンセル・トークン。
メソッド
waitUntil(thenable: Thenable<WorkspaceEdit>): void
イベントループを一時停止し、ワークスペース編集を適用することができます。この関数へのその後の呼び出しの編集は順序通りに適用されます。ノートブックドキュメントが同時に変更された場合、編集は無視されます。
注意: この関数は、イベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことはできません。
workspace.onWillSaveNotebookDocument(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| パラメーター | 説明 |
|---|---|
| thenable: Thenable<WorkspaceEdit> | ワークスペース編集に解決されるthenable。 |
| 戻り値 | 説明 |
| void |
waitUntil(thenable: Thenable<any>): void
提供されたthenableが解決されるまでイベントループを一時停止できます。
注意: この関数はイベントディスパッチ中にのみ呼び出すことができます。
| パラメーター | 説明 |
|---|---|
| thenable: Thenable<any> | 保存を遅延させる thenable。 |
| 戻り値 | 説明 |
| void |
NotebookEdit
ノートブック編集は、ノートブックのコンテンツに適用されるべき編集を表します。
Static
deleteCells(range: NotebookRange): NotebookEdit
ノートブック内のセルを削除する編集を作成するユーティリティ。
| パラメーター | 説明 |
|---|---|
| range: NotebookRange | 削除するセルの範囲。 |
| 戻り値 | 説明 |
| NotebookEdit |
insertCells(index: number, newCells: NotebookCellData[]): NotebookEdit
ノートブック内のセルを置き換える編集を作成するユーティリティ。
| パラメーター | 説明 |
|---|---|
| index: number | セルを挿入するインデックス。 |
| newCells: NotebookCellData[] | 新しいノートブックセル。 |
| 戻り値 | 説明 |
| NotebookEdit |
replaceCells(range: NotebookRange, newCells: NotebookCellData[]): NotebookEdit
ノートブック内のセルを置き換える編集を作成するユーティリティ。
| パラメーター | 説明 |
|---|---|
| range: NotebookRange | 置き換えるセルの範囲 |
| newCells: NotebookCellData[] | 新しいノートブックセル。 |
| 戻り値 | 説明 |
| NotebookEdit |
updateCellMetadata(index: number, newCellMetadata: ): NotebookEdit
セルのメタデータを更新する編集を作成するユーティリティ。
| パラメーター | 説明 |
|---|---|
| index: number | 更新するセルのインデックス。 |
| newCellMetadata: | セルの新しいメタデータ。 |
| 戻り値 | 説明 |
| NotebookEdit |
updateNotebookMetadata(newNotebookMetadata: ): NotebookEdit
ノートブックのメタデータを更新する編集を作成するユーティリティ。
| パラメーター | 説明 |
|---|---|
| newNotebookMetadata: | ノートブックの新しいメタデータ。 |
| 戻り値 | 説明 |
| NotebookEdit |
コンストラクター
new NotebookEdit(range: NotebookRange, newCells: NotebookCellData[]): NotebookEdit
新しいノートブック編集を作成します。
| パラメーター | 説明 |
|---|---|
| range: NotebookRange | ノートブックの範囲。 |
| newCells: NotebookCellData[] | 新しいセルデータの配列。 |
| 戻り値 | 説明 |
| NotebookEdit |
プロパティ
セル用のオプションの新しいメタデータ。
newCells: NotebookCellData[]
挿入される新しいセル。空の場合もあります。
ノートブック用のオプションの新しいメタデータ。
range: NotebookRange
編集されているセルの範囲。空の場合もあります。
NotebookEditor
ノートブックにアタッチされたノートブックエディタを表します。NotebookEditorの追加プロパティは、後で確定される提案されたAPIで利用できます。
プロパティ
notebook: NotebookDocument
このノートブックエディタに関連付けられたノートブックドキュメント。
selection: NotebookRange
このノートブックエディタの主選択範囲。
selections: readonly NotebookRange[]
このノートブックエディタのすべての選択範囲。
主選択範囲(またはフォーカスされた範囲)は selections[0] です。ドキュメントにセルがない場合、主選択範囲は空の { start: 0, end: 0 } です。
viewColumn?: ViewColumn
このエディタが表示されるカラム。
visibleRanges: readonly NotebookRange[]
エディタ内の現在の可視範囲(垂直方向)。
メソッド
revealRange(range: NotebookRange, revealType?: NotebookEditorRevealType): void
指定された範囲を表示するために、revealTypeで示されるようにスクロールします。
| パラメーター | 説明 |
|---|---|
| range: NotebookRange | 範囲。 |
| revealType?: NotebookEditorRevealType |
|
| 戻り値 | 説明 |
| void |
NotebookEditorRevealType
ノートブックにアタッチされたノートブックエディタを表します。
列挙型メンバー
範囲は可能な限り少ないスクロールで表示されます。
範囲は常にビューポートの中央に表示されます。
範囲がビューポートの外側にある場合、ビューポートの中央に表示されます。それ以外の場合は、可能な限り少ないスクロールで表示されます。
範囲は常にビューポートの最上部に表示されます。
NotebookEditorSelectionChangeEvent
ノートブックエディタの選択範囲の変更を記述するイベントを表します。
プロパティ
notebookEditor: NotebookEditor
選択範囲が変更されたノートブックエディタ。
selections: readonly NotebookRange[]
ノートブックエディタの選択範囲の新しい値。
NotebookEditorVisibleRangesChangeEvent
ノートブックエディタの可視範囲の変更を記述するイベントを表します。
プロパティ
notebookEditor: NotebookEditor
可視範囲が変更されたノートブックエディタ。
visibleRanges: readonly NotebookRange[]
ノートブックエディタの可視範囲の新しい値。
NotebookRange
ノートブック範囲は、2つのセルインデックスの順序付けられたペアを表します。開始が終了以下であることは保証されます。
コンストラクター
new NotebookRange(start: number, end: number): NotebookRange
新しいノートブック範囲を作成します。startがend以前でない場合、値はスワップされます。
| パラメーター | 説明 |
|---|---|
| start: number | 開始インデックス |
| end: number | 終了インデックス。 |
| 戻り値 | 説明 |
| NotebookRange |
プロパティ
この範囲の排他的終了インデックス(0ベース)。
startとendが等しい場合、true。
この範囲の0ベースの開始インデックス。
メソッド
with(change: {end: number, start: number}): NotebookRange
この範囲の新しい範囲を導出します。
| パラメーター | 説明 |
|---|---|
| change: {end: number, start: number} | この範囲への変更を記述するオブジェクト。 |
| 戻り値 | 説明 |
| NotebookRange | 指定された変更を反映する範囲。変更が何も変更しない場合、 |
NotebookRendererMessaging
レンダラメッセージングは、単一のレンダラとの通信に使用されます。notebooks.createRendererMessagingから返されます。
イベント
onDidReceiveMessage: Event<{editor: NotebookEditor, message: any}>
レンダラからメッセージが受信されたときに発火するイベント。
メソッド
postMessage(message: any, editor?: NotebookEditor): Thenable<boolean>
1つまたはすべてのレンダラにメッセージを送信します。
| パラメーター | 説明 |
|---|---|
| message: any | 送信するメッセージ |
| editor?: NotebookEditor | メッセージのターゲットとなるエディタ。指定しない場合、メッセージはすべてのレンダラに送信されます。 |
| 戻り値 | 説明 |
| Thenable<boolean> | メッセージがいずれかのレンダラに正常に配信されたかどうかを示すブール値。 |
NotebookSerializer
ノートブックシリアライザは、エディタがノートブックファイルを開くことを可能にします。
本質的に、エディタはノートブックデータ構造しか知りませんが、そのデータ構造がファイルにどのように書き込まれるか、またファイルからどのように読み取られるかは知りません。ノートブックシリアライザは、バイトをノートブックデータに逆シリアル化し、その逆を行うことで、このギャップを埋めます。
メソッド
deserializeNotebook(content: Uint8Array, token: CancellationToken): NotebookData | Thenable<NotebookData>
ノートブックファイルの内容をノートブックデータ構造に逆シリアル化します。
| パラメーター | 説明 |
|---|---|
| content: Uint8Array | ノートブックファイルの内容。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| NotebookData | Thenable<NotebookData> | ノートブックデータ、またはそれに解決されるThenable。 |
serializeNotebook(data: NotebookData, token: CancellationToken): Uint8Array | Thenable<Uint8Array>
ノートブックデータをファイルコンテンツにシリアル化します。
| パラメーター | 説明 |
|---|---|
| data: NotebookData | ノートブックデータ構造。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| Uint8Array | Thenable<Uint8Array> | バイト配列、またはそれに解決される thenable。 |
OnEnterRule
Enterキーを押したときに評価されるルールを記述します。
プロパティ
action: EnterAction
実行するアクション。
このルールは、カーソル後のテキストがこの正規表現と一致する場合にのみ実行されます。
このルールは、カーソル前のテキストがこの正規表現と一致する場合にのみ実行されます。
このルールは、現在の行の上のテキストがこの正規表現と一致する場合にのみ実行されます。
OnTypeFormattingEditProvider
ドキュメント書式設定プロバイダーインターフェイスは、拡張機能と書式設定機能間の契約を定義します。
メソッド
provideOnTypeFormattingEdits(document: TextDocument, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>
文字が入力された後に書式設定編集を提供します。
与えられた位置と文字は、入力された}に対して一致する{を見つけるなど、プロバイダに展開する位置の範囲をヒントとして与える必要があります。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| ch: string | 入力された文字。 |
| options: FormattingOptions | 書式設定を制御するオプション。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<TextEdit[]> | テキスト編集のセット、またはそれに解決されるthenable。結果がない場合は、 |
OpenDialogOptions
ファイルを開くダイアログの動作を設定するオプション。
- 注1: WindowsおよびLinuxでは、ファイルダイアログはファイルセレクタとフォルダセレクタの両方を兼ねることはできません。したがって、これらのプラットフォームで
canSelectFilesとcanSelectFoldersの両方をtrueに設定した場合、フォルダセレクタが表示されます。 - 注2:
canSelectFilesとcanSelectFoldersを明示的にfalseに設定することは無益であり、エディタはファイルを選択するようにオプションを黙って調整します。
プロパティ
ファイルを選択することを許可します。デフォルトは true です。
フォルダを選択することを許可します。デフォルトは false です。
複数のファイルまたはフォルダを選択することを許可します。
defaultUri?: Uri
開かれたときにダイアログが表示するリソース。
ダイアログで使用されるファイルフィルタのセット。各エントリは、「TypeScript」のような人間が読めるラベルと、拡張子の配列です。例:
{
'Images': ['png', 'jpg'],
'TypeScript': ['ts', 'tsx']
}
開くボタンの人間が読める文字列。
ダイアログのタイトル。
すべてのオペレーティングシステムが開くダイアログにタイトルを表示するわけではないため(macOSなど)、このパラメータは無視される場合があります。
OutputChannel
出力チャネルは、読み取り専用のテキスト情報のためのコンテナーです。
OutputChannelのインスタンスを取得するには、createOutputChannelを使用します。
プロパティ
この出力チャネルの人間が読める名前。
メソッド
指定された値をチャネルに追加します。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。falsy値は出力されません。 |
| 戻り値 | 説明 |
| void |
appendLine(value: string): void
指定された値と改行文字をチャネルに追加します。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。falsy値も出力されます。 |
| 戻り値 | 説明 |
| void |
チャネルからすべての出力を削除します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
関連リソースを破棄して解放します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
このチャネルをUIから非表示にします。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
チャネルのすべての出力を指定された値に置き換えます。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。falsy値は出力されません。 |
| 戻り値 | 説明 |
| void |
show(preserveFocus?: boolean): void
UIでこのチャネルを表示します。
| パラメーター | 説明 |
|---|---|
| preserveFocus?: boolean |
|
| 戻り値 | 説明 |
| void |
show(column?: ViewColumn, preserveFocus?: boolean): void
UIでこのチャネルを表示します。
- 非推奨 - 1つのパラメーターのみを持つオーバーロード(
show(preserveFocus?: boolean): void)を使用してください。
| パラメーター | 説明 |
|---|---|
| column?: ViewColumn | この引数は非推奨であり、無視されます。 |
| preserveFocus?: boolean |
|
| 戻り値 | 説明 |
| void |
OverviewRulerLane
概要ルーラーに装飾をレンダリングするさまざまな位置を表します。概要ルーラーは3つのレーンをサポートしています。
列挙型メンバー
概要ルーラーの左レーン。
概要ルーラーの中央レーン。
概要ルーラーの右レーン。
概要ルーラーのすべてのレーン。
ParameterInformation
呼び出し可能なシグネチャのパラメータを表します。パラメータにはラベルとドキュメントコメントを含めることができます。
コンストラクター
new ParameterInformation(label: string | [number, number], documentation?: string | MarkdownString): ParameterInformation
新しいパラメータ情報オブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| label: string | [number, number] | ラベル文字列、または含まれるシグネチャラベル内の開始と終了(排他的)オフセット。 |
| documentation?: string | MarkdownString | ドキュメント文字列。 |
| 戻り値 | 説明 |
| ParameterInformation |
プロパティ
documentation?: string | MarkdownString
このシグネチャの人間が読めるドキュメントコメント。UIに表示されますが、省略することもできます。
label: string | [number, number]
Position
カーソルの位置など、行と文字の位置を表します。
Positionオブジェクトは不変です。既存のPositionから新しいPositionを導出するには、withまたはtranslateメソッドを使用してください。
コンストラクター
new Position(line: number, character: number): Position
| パラメーター | 説明 |
|---|---|
| line: number | 0ベースの行値。 |
| character: number | 0ベースの文字値。 |
| 戻り値 | 説明 |
| Position |
プロパティ
0ベースの文字値。
文字オフセットはUTF-16 コード単位を使用して表現されます。
0ベースの行値。
メソッド
compareTo(other: Position): number
これをotherと比較します。
| パラメーター | 説明 |
|---|---|
| other: Position | 位置。 |
| 戻り値 | 説明 |
| number | この位置が指定された位置より前にある場合は0未満の数値、この位置が指定された位置より後にある場合は0より大きい数値、またはこの位置と指定された位置が等しい場合は0。 |
isAfter(other: Position): boolean
この位置がotherより後であるかどうかを確認します。
| パラメーター | 説明 |
|---|---|
| other: Position | 位置。 |
| 戻り値 | 説明 |
| boolean | 位置が行より大きいか、同じ行で文字より大きい場合、 |
isAfterOrEqual(other: Position): boolean
この位置がotherより後または等しいかどうかを確認します。
| パラメーター | 説明 |
|---|---|
| other: Position | 位置。 |
| 戻り値 | 説明 |
| boolean | 位置が行より大きいか、同じ行で文字より大きいか等しい場合、 |
isBefore(other: Position): boolean
この位置がotherより前であるかどうかを確認します。
| パラメーター | 説明 |
|---|---|
| other: Position | 位置。 |
| 戻り値 | 説明 |
| boolean | 位置が行より小さいか、同じ行で文字より小さい場合、 |
isBeforeOrEqual(other: Position): boolean
この位置がotherより前または等しいかどうかを確認します。
| パラメーター | 説明 |
|---|---|
| other: Position | 位置。 |
| 戻り値 | 説明 |
| boolean | 位置が行より小さいか、同じ行で文字より小さいか等しい場合、 |
isEqual(other: Position): boolean
この位置がotherと等しいかどうかを確認します。
| パラメーター | 説明 |
|---|---|
| other: Position | 位置。 |
| 戻り値 | 説明 |
| boolean | 指定された位置の行と文字がこの位置の行と文字と等しい場合、 |
translate(lineDelta?: number, characterDelta?: number): Position
この位置を基準とした新しい位置を作成します。
| パラメーター | 説明 |
|---|---|
| lineDelta?: number | 行値のデルタ値。デフォルトは |
| characterDelta?: number | 文字値のデルタ値。デフォルトは |
| 戻り値 | 説明 |
| Position | 行と文字の位置は、現在の行と文字、および対応するデルタの合計です。 |
translate(change: {characterDelta: number, lineDelta: number}): Position
この位置を基準とした新しい位置を導き出します。
| パラメーター | 説明 |
|---|---|
| change: {characterDelta: number, lineDelta: number} | この位置へのデルタを記述するオブジェクト。 |
| 戻り値 | 説明 |
| Position | 指定されたデルタを反映する位置。変更が何も変更しない場合は、 |
with(line?: number, character?: number): Position
この位置から派生した新しい位置を作成します。
with(change: {character: number, line: number}): Position
この位置から新しい位置を導き出します。
| パラメーター | 説明 |
|---|---|
| change: {character: number, line: number} | この位置への変更を記述するオブジェクト。 |
| 戻り値 | 説明 |
| Position | 指定された変更を反映する位置。変更が何も変更しない場合は、 |
PreparedToolInvocation
プロパティ
confirmationMessages?: LanguageModelToolConfirmationMessages
このプロパティが存在する場合、ツールを実行する前にユーザーに確認を求める必要があることを示します。副作用がある、または潜在的に危険なツールについては、ユーザーに確認を求める必要があります。
invocationMessage?: string | MarkdownString
ツール実行中に表示する、カスタマイズされた進行状況メッセージ。
PrepareLanguageModelChatModelOptions
プロパティ
ユーザーにUIフローを介してプロンプトを表示するかどうか、またはモデルをサイレントに解決しようとするかどうか。サイレントがtrueの場合、APIキーなどの情報不足のため、すべてのモデルが解決されない可能性があります。
ProcessExecution
タスクの実行は、シェルとの対話なしに外部プロセスとして行われます。
コンストラクター
new ProcessExecution(process: string, options?: ProcessExecutionOptions): ProcessExecution
プロセス実行を作成します。
| パラメーター | 説明 |
|---|---|
| process: string | 開始するプロセス。 |
| options?: ProcessExecutionOptions | 開始されたプロセスに対するオプション。 |
| 戻り値 | 説明 |
| ProcessExecution |
new ProcessExecution(process: string, args: string[], options?: ProcessExecutionOptions): ProcessExecution
プロセス実行を作成します。
| パラメーター | 説明 |
|---|---|
| process: string | 開始するプロセス。 |
| args: string[] | プロセスに渡す引数。 |
| options?: ProcessExecutionOptions | 開始されたプロセスに対するオプション。 |
| 戻り値 | 説明 |
| ProcessExecution |
プロパティ
プロセスに渡される引数。デフォルトは空の配列です。
options?: ProcessExecutionOptions
プロセス実行時に使用されるプロセスオプション。デフォルトはundefinedです。
実行されるプロセス。
ProcessExecutionOptions
プロセス実行のオプション
プロパティ
実行されたプログラムまたはシェルの現在の作業ディレクトリ。省略された場合、ツールの現在のワークスペースルートが使用されます。
実行されるプログラムまたはシェルの追加の環境。省略された場合、親プロセスの環境が使用されます。提供された場合、親プロセスの環境とマージされます。
Progress<T>
進捗状況の更新を報告する一般的な方法を定義します。
メソッド
進捗状況の更新を報告します。
| パラメーター | 説明 |
|---|---|
| value: T | メッセージや作業の完了状況など、進行状況を示す項目 |
| 戻り値 | 説明 |
| void |
ProgressLocation
進捗状況を表示できるエディタ内の場所。視覚的にどのように進捗状況が表現されるかは、場所によって異なります。
列挙型メンバー
ソース管理ビューレットの進捗状況を、アイコンのオーバーレイとして、またビューレット内に進捗バーとして表示します(表示されている場合)。キャンセル、離散的な進捗、操作を説明するラベルはサポートしていません。
エディタのステータスバーに進捗状況を表示します。キャンセルも離散的な進捗もサポートしていません。進捗ラベル内の$(<name>)構文によるテーマアイコンのレンダリングをサポートします。
オプションのキャンセルボタン付き通知として進捗状況を表示します。無限および離散的な進捗状況の表示をサポートしますが、アイコンのレンダリングはサポートしません。
ProgressOptions
進捗状況がどこでどのように表示されるかを記述する値オブジェクト。
プロパティ
ユーザーが長時間実行される操作をキャンセルできるように、キャンセルボタンを表示するかどうかを制御します。現在、ProgressLocation.Notificationのみがキャンセルボタンの表示をサポートしていることに注意してください。
location: ProgressLocation | {viewId: string}
進捗状況を表示する場所。
操作を記述するために使用される人間が読める文字列。
ProvideLanguageModelChatResponseOptions
LanguageModelChatRequestOptionsのプロバイダーバージョン
プロパティ
言語モデルの動作を制御するオプションのセット。これらのオプションは言語モデルに固有です。
toolMode: LanguageModelChatToolMode
使用するツール選択モード。プロバイダーはこれを尊重して実装する必要があります。
tools?: readonly LanguageModelChatTool[]
言語モデルで利用可能なツールのオプションのリスト。これらはlm.toolsを通じて利用可能な登録済みツールであるか、呼び出し側の拡張機能内で実装されたプライベートツールである可能性があります。
LLMがこれらのツールのいずれかを呼び出すことを要求した場合、LanguageModelChatResponse.streamでLanguageModelToolCallPartを返します。ツールを呼び出すのは呼び出し側の責任です。lm.toolsに登録されているツールの場合、それはlm.invokeToolを呼び出すことを意味します。
その後、ツール結果は、LanguageModelToolCallPartを含むアシスタントタイプのLanguageModelChatMessageを作成し、それに続いてLanguageModelToolResultPartを含むユーザータイプのメッセージを作成することで、LLMに提供できます。
ProviderResult<T>
プロバイダーの結果は、HoverProviderなどのプロバイダーが返す可能性のある値を表します。これは実際の結果型T(例: Hover)であるか、その型Tに解決されるthenableです。さらに、nullとundefinedを直接または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
}
};
ProviderResult: T | undefined | null | Thenable<T | undefined | null>
Pseudoterminal
端末ptyのインターフェースを定義し、拡張機能が端末を制御できるようにします。
イベント
onDidChangeName?: Event<string>
発火すると端末の名前を変更できるイベント。
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 });
onDidClose?: Event<number | void>
発火すると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);
onDidOverrideDimensions?: Event<TerminalDimensions>
発火すると端末の寸法をオーバーライドできるイベント。設定した場合、オーバーライドされた寸法は、端末の実際の寸法よりも小さい場合にのみ有効になることに注意してください(つまり、スクロールバーが表示されることはありません)。端末を通常の寸法(パネルのサイズに合わせる)に戻すには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 });
onDidWrite: Event<string>
発火すると端末にデータを書き込むイベント。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 |
handleInput(data: string): void
端末内のキーストロークや、拡張機能がTerminal.sendTextを呼び出した場合の処理を実装します。dataには、対応するVTシーケンス表現にシリアル化されたキーストローク/テキストが含まれます。
| パラメーター | 説明 |
|---|---|
| data: string | 受信データ。 例: 端末に入力をエコーします。エンター(
|
| 戻り値 | 説明 |
| void |
open(initialDimensions: TerminalDimensions): void
ptyが開かれ、イベントの発火準備ができたときの処理を実装します。
| パラメーター | 説明 |
|---|---|
| initialDimensions: TerminalDimensions | 端末の寸法。この呼び出しの前に端末パネルが開かれていなかった場合、これは未定義になります。 |
| 戻り値 | 説明 |
| void |
setDimensions(dimensions: TerminalDimensions): void
端末パネルに収まる行と列の数が変更された場合(フォントサイズの変更やパネルのリサイズなど)の処理を実装します。端末の寸法はユーザーインターフェースに表示されるまで不明なため、端末の初期状態の寸法は、これがトリガーされるまでundefinedとして扱われるべきです。
onDidOverrideDimensionsによって寸法がオーバーライドされている場合でも、setDimensionsは通常のパネル寸法で引き続き呼び出され、拡張機能は寸法の変更に引き続き反応できます。
| パラメーター | 説明 |
|---|---|
| dimensions: TerminalDimensions | 新しい寸法。 |
| 戻り値 | 説明 |
| void |
QuickDiffProvider
クイック差分プロバイダーは、変更されたリソースの元の状態へのuriを提供します。エディタはこの情報を使用して、テキスト内にアドホックな差分をレンダリングします。
メソッド
provideOriginalResource(uri: Uri, token: CancellationToken): ProviderResult<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する必要があります。
イベント
onDidHide: Event<void>
この入力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
プロパティ
iconPath: IconPath
ボタンのアイコン。
オプションのツールチップ。
QuickInputButtons
Static
Back: QuickInputButton
QuickPick<T>
ユーザーが型Tのアイテムのリストからアイテムを選択できるようにする具体的なQuickInput。アイテムはフィルターテキストフィールドでフィルターでき、複数のアイテムを選択できるオプションcanSelectManyがあります。
多くの場合、より便利なwindow.showQuickPickの方が使いやすいことに注意してください。window.createQuickPickは、window.showQuickPickが必要な柔軟性を提供しない場合に使用する必要があります。
イベント
onDidAccept: Event<void>
ユーザーが選択されたアイテムを受け入れたことを通知するイベント。
onDidChangeActive: Event<readonly T[]>
アクティブなアイテムが変更されたときに通知するイベント。
onDidChangeSelection: Event<readonly T[]>
選択されたアイテムが変更されたときに通知するイベント。
onDidChangeValue: Event<string>
フィルターテキストの値が変更されたときに通知するイベント。
onDidHide: Event<void>
この入力UIが非表示になったときに通知するイベント。
このUIが非表示になる理由はいくつかあり、拡張機能にはQuickInput.onDidHideを通じて通知されます。(例:QuickInput.hideへの明示的な呼び出し、ユーザーがEscキーを押す、他の入力UIが開くなど)。
onDidTriggerButton: Event<QuickInputButton>
トップレベルボタン(buttonsに格納されているボタン)がトリガーされたときに通知するイベント。このイベントはQuickPickItemのボタンでは発生しません。
onDidTriggerItemButton: Event<QuickPickItemButtonEvent<T>>
特定のQuickPickItem内のボタンがトリガーされたときに通知するイベント。このイベントはタイトルバーのボタンでは発生しません。
プロパティ
アクティブなアイテム。これは拡張機能で読み取りおよび更新できます。
UIが進行状況インジケーターを表示するかどうか。デフォルトはfalse。
例えば、データの読み込み中やユーザー入力の検証中に、これをtrueに変更します。
buttons: readonly QuickInputButton[]
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
アイテムのリストから選択できるアイテムを表します。
プロパティ
常にこのアイテムを表示します。
注: このプロパティは、kindがQuickPickItemKind.Separatorに設定されている場合は無視されます。
buttons?: readonly QuickInputButton[]
この特定のアイテムにレンダリングされるオプションのボタン。これらのボタンは、クリックされるとQuickPickItemButtonEventをトリガーします。createQuickPick() APIによって作成されたクイックピックを使用している場合にのみボタンがレンダリングされます。showQuickPick() APIを使用している場合はボタンはレンダリングされません。
注: このプロパティは、kindがQuickPickItemKind.Separatorに設定されている場合は無視されます。
同じ行で目立たないようにレンダリングされる人間が読める文字列。$(<name>)構文によるテーマアイコンのレンダリングをサポートします。
注: このプロパティは、kindがQuickPickItemKind.Separatorに設定されている場合は無視されます。
別の行で目立たないようにレンダリングされる人間が読める文字列。$(<name>)構文によるテーマアイコンのレンダリングをサポートします。
注: このプロパティは、kindがQuickPickItemKind.Separatorに設定されている場合は無視されます。
iconPath?: IconPath
QuickPickItemのアイコンパスまたはThemeIcon。
kind?: QuickPickItemKind
クイックピックでこのアイテムがどのようにレンダリングされるかを決定するQuickPickItemの種類。指定しない場合、デフォルトはQuickPickItemKind.Defaultです。
目立つようにレンダリングされる人間が読める文字列。$(<name>)構文によるテーマアイコンのレンダリングをサポートします。
注: kindがQuickPickItemKind.Defaultに設定されている場合(つまり、区切り文字ではなく通常のアイテムの場合)、$(<name>)構文によるテーマアイコンのレンダリングをサポートします。
このアイテムが最初に選択されているかどうかを示すオプションのフラグ。これはshowQuickPick() APIを使用している場合にのみ考慮されます。createQuickPick() APIで同じことを行うには、QuickPick.selectedItemsを最初に選択したいアイテムに設定するだけです。(注: これはピッカーが複数の選択を許可している場合にのみ考慮されます。)
参照 QuickPickOptions.canPickMany
注: このプロパティは、kindがQuickPickItemKind.Separatorに設定されている場合は無視されます。
QuickPickItemButtonEvent<T>
特定のQuickPickItem内のボタンがトリガーされたときに通知するイベント。このイベントはタイトルバーのボタンでは発生しません。
プロパティ
button: QuickInputButton
クリックされたボタン。
ボタンが属するアイテム。
QuickPickItemKind
クイックピックアイテムの種類。
列挙型メンバー
QuickPickItemの種別がSeparatorの場合、そのアイテムは単なる視覚的な区切り文字であり、実際のアイテムを表しません。適用されるプロパティはlabel のみです。QuickPickItemの他のすべてのプロパティは無視され、効果はありません。
デフォルトのQuickPickItem.kindは、クイックピックで選択できるアイテムです。
QuickPickOptions
クイックピックUIの動作を構成するオプション。
イベント
onDidSelectItem(item: string | QuickPickItem): any
アイテムが選択されるたびに呼び出されるオプションの関数。
| パラメーター | 説明 |
|---|---|
| item: string | QuickPickItem | |
| 戻り値 | 説明 |
| any |
プロパティ
ピッカーが複数の選択を受け入れることを可能にするオプションのフラグ。trueの場合、結果は選択肢の配列になります。
エディタの別の部分または別のウィンドウにフォーカスが移動したときに、ピッカーを開いたままにするにはtrueに設定します。この設定はiPadでは無視され、常にfalseです。
選択肢をフィルタリングする際に説明を含めるオプションのフラグ。
選択肢をフィルタリングする際に詳細を含めるオプションのフラグ。
ユーザーに何を選択するかをガイドするために、入力ボックスにプレースホルダーとして表示されるオプションの文字列。
クイックピックのタイトルを表すオプションの文字列。
Range
範囲は、2つの位置の順序付きペアを表します。start.isBeforeOrEqual(end)は保証されています。
Rangeオブジェクトは不変です。既存の範囲から新しい範囲を導き出すには、with、intersection、またはunionメソッドを使用します。
コンストラクター
new Range(start: Position, end: Position): Range
2つの位置から新しい範囲を作成します。startがendよりも前または等しくない場合、値が交換されます。
new Range(startLine: number, startCharacter: number, endLine: number, endCharacter: number): Range
数値座標から新しい範囲を作成します。これはnew Range(new Position(startLine, startCharacter), new Position(endLine, endCharacter))を使用するよりも短い同等の方法です。
| パラメーター | 説明 |
|---|---|
| startLine: number | 0ベースの行値。 |
| startCharacter: number | 0ベースの文字値。 |
| endLine: number | 0ベースの行値。 |
| endCharacter: number | 0ベースの文字値。 |
| 戻り値 | 説明 |
| Range |
プロパティ
end: Position
終了位置。これはstartよりも後か等しいです。
startとendが等しい場合、true。
start.lineとend.lineが等しい場合はtrue。
start: Position
開始位置。これはendよりも前か等しいです。
メソッド
contains(positionOrRange: Range | Position): boolean
位置または範囲がこの範囲に含まれているかどうかを確認します。
intersection(range: Range): Range
rangeとこの範囲を交差させ、重複がない場合は新しい範囲を返すか、undefinedを返します。
isEqual(other: Range): boolean
with(start?: Position, end?: Position): Range
この範囲から新しい範囲を導き出します。
with(change: {end: Position, start: Position}): Range
この範囲から新しい範囲を導き出します。
ReferenceContext
参照を要求する際の追加情報を含む値オブジェクト。
プロパティ
現在のシンボルの宣言を含める。
ReferenceProvider
参照プロバイダーインターフェースは、拡張機能と参照の検索機能間の契約を定義します。
メソッド
provideReferences(document: TextDocument, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>
指定された位置とドキュメントに対するプロジェクト全体の参照のセットを提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| context: ReferenceContext | 参照要求に関する追加情報。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<Location[]> | ロケーションの配列、またはそのような配列に解決されるthenable。結果がない場合は、 |
RelativePattern
相対パターンは、ベースファイルパスに対して照合されるグロブパターンを構築するためのヘルパーです。ベースパスは、文字列またはURIとしての絶対ファイルパス、またはワークスペースフォルダーのいずれかであり、これが相対パターンを作成する推奨される方法です。
コンストラクター
new RelativePattern(base: string | Uri | WorkspaceFolder, pattern: string): RelativePattern
ベースファイルパスと一致するパターンを持つ新しい相対パターンオブジェクトを作成します。このパターンは、ベースに対する相対的なファイルパスで一致します。
例
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 |
|
| 戻り値 | 説明 |
| RelativePattern |
プロパティ
このパターンが相対的に照合されるベースファイルパス。
これはRelativePattern.baseUriのfsPath値と一致します。
注: この値を更新すると、RelativePattern.baseUriがfileスキーマを持つuriに更新されます。
- 非推奨 - このプロパティは非推奨です。代わりにRelativePattern.baseUriを使用してください。
baseUri: Uri
このパターンが相対的に照合されるベースファイルパス。ファイルパスは絶対パスでなければならず、末尾にパス区切り文字を含まず、相対セグメント(.または..)を含まないようにする必要があります。
ベースパスに対するファイルパスに一致する*.{ts,js}のようなファイルグロブパターン。
例: ベースが/home/work/folderで、ファイルパスが/home/work/folder/index.jsの場合、ファイルグロブパターンはindex.jsに一致します。
RenameProvider
名前変更プロバイダーインターフェースは、拡張機能と名前変更機能間の契約を定義します。
メソッド
prepareRename(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Range | {placeholder: string, range: Range}>
名前変更を実行する前に、位置を解決および検証するためのオプションの関数。結果は範囲、または範囲とプレースホルダーテキストのいずれかになります。プレースホルダーテキストは名前変更されるシンボルの識別子である必要があります。省略された場合、返された範囲内のテキストが使用されます。
注: 提供された場所が名前変更を許可しない場合、この関数はエラーをスローするか、拒否されたthenableを返す必要があります。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | 名前変更が呼び出されるドキュメント。 |
| position: Position | 名前変更が呼び出される位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<Range | {placeholder: string, range: Range}> | 名前変更される識別子の範囲、または範囲とプレースホルダーテキスト。結果がない場合は、 |
provideRenameEdits(document: TextDocument, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit>
シンボルを別の名前に変更するために1つまたは複数のリソースに行う必要がある変更を記述する編集を提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| newName: string | シンボルの新しい名前。指定された名前が無効な場合、プロバイダーは拒否されたプロミスを返す必要があります。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<WorkspaceEdit> | ワークスペース編集、またはそれに解決されるthenable。結果がない場合は、 |
RunOptions
タスクの実行オプション。
プロパティ
再実行時にタスク変数を再評価するかどうかを制御します。
SaveDialogOptions
ファイル保存ダイアログの動作を構成するオプション。
プロパティ
defaultUri?: Uri
開かれたときにダイアログが表示するリソース。
ダイアログで使用されるファイルフィルタのセット。各エントリは、「TypeScript」のような人間が読めるラベルと、拡張子の配列です。例:
{
'Images': ['png', 'jpg'],
'TypeScript': ['ts', 'tsx']
}
保存ボタンの人間が読める文字列。
ダイアログのタイトル。
このパラメータは無視される場合があります。すべてのオペレーティングシステムが保存ダイアログにタイトルを表示するわけではないためです(例: macOS)。
SecretStorage
暗号化されて保存される秘密(または機密情報)のためのストレージユーティリティを表します。秘密ストレージの実装はプラットフォームごとに異なり、秘密はマシン間で同期されません。
イベント
onDidChange: Event<SecretStorageChangeEvent>
秘密が保存または削除されたときに発火します。
メソッド
delete(key: string): Thenable<void>
ストレージから秘密を削除します。
| パラメーター | 説明 |
|---|---|
| key: string | 秘密が保存されたキー。 |
| 戻り値 | 説明 |
| Thenable<void> |
get(key: string): Thenable<string>
キーで保存された秘密を取得します。そのキーに一致するパスワードがない場合はundefinedを返します。
| パラメーター | 説明 |
|---|---|
| key: string | 秘密が保存されたキー。 |
| 戻り値 | 説明 |
| Thenable<string> | 保存された値、または |
この拡張機能によって保存されたすべての秘密のキーを取得します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| Thenable<string[]> |
store(key: string, value: string): Thenable<void>
指定されたキーの下に秘密を保存します。
| パラメーター | 説明 |
|---|---|
| key: string | 秘密を保存するキー。 |
| value: string | 秘密。 |
| 戻り値 | 説明 |
| Thenable<void> |
SecretStorageChangeEvent
秘密が追加または削除されたときに発生するイベントデータ。
プロパティ
変更された秘密のキー。
SelectedCompletionInfo
現在選択されている補完アイテムを記述します。
プロパティ
range: Range
この補完アイテムが受け入れられた場合に置き換えられる範囲。
この補完が受け入れられた場合に範囲が置き換えられるテキスト。
Selection
エディタ内のテキスト選択を表します。
コンストラクター
new Selection(anchor: Position, active: Position): Selection
new Selection(anchorLine: number, anchorCharacter: number, activeLine: number, activeCharacter: number): Selection
4つの座標から選択範囲を作成します。
| パラメーター | 説明 |
|---|---|
| anchorLine: number | 0ベースの行値。 |
| anchorCharacter: number | 0ベースの文字値。 |
| activeLine: number | 0ベースの行値。 |
| activeCharacter: number | 0ベースの文字値。 |
| 戻り値 | 説明 |
| 選択 |
プロパティ
active: Position
カーソルの位置。この位置はanchorの前または後になる場合があります。
anchor: Position
選択範囲の開始位置。この位置はactiveの前または後になる場合があります。
end: Position
終了位置。これはstartよりも後か等しいです。
startとendが等しい場合、true。
start.lineとend.lineが等しい場合はtrue。
start: Position
開始位置。これはendよりも前か等しいです。
メソッド
contains(positionOrRange: Range | Position): boolean
位置または範囲がこの範囲に含まれているかどうかを確認します。
intersection(range: Range): Range
rangeとこの範囲を交差させ、重複がない場合は新しい範囲を返すか、undefinedを返します。
isEqual(other: Range): boolean
with(start?: Position, end?: Position): Range
この範囲から新しい範囲を導き出します。
with(change: {end: Position, start: Position}): Range
この範囲から新しい範囲を導き出します。
SelectionRange
選択範囲は、選択階層の一部を表します。選択範囲には、それを含む親選択範囲がある場合があります。
コンストラクター
new SelectionRange(range: Range, parent?: SelectionRange): SelectionRange
新しい選択範囲を作成します。
| パラメーター | 説明 |
|---|---|
| range: Range | 選択範囲の範囲。 |
| parent?: SelectionRange | 選択範囲の親。 |
| 戻り値 | 説明 |
| SelectionRange |
プロパティ
parent?: SelectionRange
この範囲を含む親選択範囲。
range: Range
この選択範囲のRange。
SelectionRangeProvider
選択範囲プロバイダーインターフェースは、拡張機能と「選択範囲の拡大と縮小」機能間の契約を定義します。
メソッド
provideSelectionRanges(document: TextDocument, positions: readonly Position[], token: CancellationToken): ProviderResult<SelectionRange[]>
指定された位置の選択範囲を提供します。
選択範囲は各位置に対して個別に、独立して計算されるべきです。エディターは範囲を結合および重複排除しますが、プロバイダーは、範囲がその親によって含まれるように、選択範囲の階層を返す必要があります。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| positions: readonly Position[] | コマンドが呼び出された位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<SelectionRange[]> | 選択範囲、またはそれに解決されるthenable。結果がない場合は、 |
SemanticTokens
範囲内またはドキュメント全体のセマンティックトークンを表します。
関連項目
- フォーマットの説明については、provideDocumentSemanticTokensを参照してください。
- インスタンスを作成するためのヘルパーとしてSemanticTokensBuilderを使用します。
コンストラクター
new SemanticTokens(data: Uint32Array, resultId?: string): SemanticTokens
新しいセマンティックトークンを作成します。
| パラメーター | 説明 |
|---|---|
| data: Uint32Array | トークンデータ。 |
| resultId?: string | 結果識別子。 |
| 戻り値 | 説明 |
| SemanticTokens |
プロパティ
実際のトークンデータ。
形式の説明については、provideDocumentSemanticTokensも参照してください。
トークンの結果ID。
これは、`DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits` (実装されている場合) に渡されるIDです。
SemanticTokensBuilder
セマンティックトークンビルダーは、デルタエンコードされたセマンティックトークンを含む`SemanticTokens`インスタンスの作成に役立ちます。
コンストラクター
new SemanticTokensBuilder(legend?: SemanticTokensLegend): SemanticTokensBuilder
セマンティックトークンビルダーを作成します。
| パラメーター | 説明 |
|---|---|
| legend?: SemanticTokensLegend | セマンティックトークンの凡例。 |
| 戻り値 | 説明 |
| SemanticTokensBuilder |
メソッド
build(resultId?: string): SemanticTokens
完了し、`SemanticTokens`インスタンスを作成します。
| パラメーター | 説明 |
|---|---|
| resultId?: string | |
| 戻り値 | 説明 |
| SemanticTokens |
push(line: number, char: number, length: number, tokenType: number, tokenModifiers?: number): void
別のトークンを追加します。
| パラメーター | 説明 |
|---|---|
| line: number | トークンの開始行番号(絶対値)。 |
| char: number | トークンの開始文字(絶対値)。 |
| length: number | トークンの文字長。 |
| tokenType: number | エンコードされたトークンタイプ。 |
| tokenModifiers?: number | エンコードされたトークン修飾子。 |
| 戻り値 | 説明 |
| void |
push(range: Range, tokenType: string, tokenModifiers?: readonly string[]): void
別のトークンを追加します。凡例を提供する場合にのみ使用します。
| パラメーター | 説明 |
|---|---|
| range: Range | トークンの範囲。単一行である必要があります。 |
| tokenType: string | トークンの種類。 |
| tokenModifiers?: readonly string[] | トークン修飾子。 |
| 戻り値 | 説明 |
| void |
SemanticTokensEdit
セマンティックトークンへの編集を表します。
形式の説明については、provideDocumentSemanticTokensEditsも参照してください。
コンストラクター
new SemanticTokensEdit(start: number, deleteCount: number, data?: Uint32Array): SemanticTokensEdit
セマンティックトークンの編集を作成します。
| パラメーター | 説明 |
|---|---|
| start: number | 開始オフセット |
| deleteCount: number | 削除する要素の数。 |
| data?: Uint32Array | 挿入する要素 |
| 戻り値 | 説明 |
| SemanticTokensEdit |
プロパティ
挿入する要素。
削除する要素の数。
編集の開始オフセット。
SemanticTokensEdits
セマンティックトークンへの編集を表します。
形式の説明については、provideDocumentSemanticTokensEditsも参照してください。
コンストラクター
new SemanticTokensEdits(edits: SemanticTokensEdit[], resultId?: string): SemanticTokensEdits
新しいセマンティックトークンの編集を作成します。
| パラメーター | 説明 |
|---|---|
| edits: SemanticTokensEdit[] | セマンティックトークンの編集の配列 |
| resultId?: string | 結果識別子。 |
| 戻り値 | 説明 |
| SemanticTokensEdits |
プロパティ
edits: SemanticTokensEdit[]
トークンデータへの編集。すべての編集は初期データ状態を参照します。
トークンの結果ID。
これは、`DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits` (実装されている場合) に渡されるIDです。
SemanticTokensLegend
セマンティックトークンの凡例には、セマンティックトークンの整数エンコードされた表現を解読するために必要な情報が含まれています。
コンストラクター
new SemanticTokensLegend(tokenTypes: string[], tokenModifiers?: string[]): SemanticTokensLegend
セマンティックトークンの凡例を作成します。
| パラメーター | 説明 |
|---|---|
| tokenTypes: string[] | トークンタイプの配列。 |
| tokenModifiers?: string[] | トークン修飾子の配列。 |
| 戻り値 | 説明 |
| SemanticTokensLegend |
プロパティ
可能なトークン修飾子。
可能なトークンタイプ。
ShellExecution
シェル内で発生するタスク実行を表します。
コンストラクター
new ShellExecution(commandLine: string, options?: ShellExecutionOptions): ShellExecution
完全なコマンドラインを持つシェル実行を作成します。
| パラメーター | 説明 |
|---|---|
| commandLine: string | 実行するコマンドライン。 |
| options?: ShellExecutionOptions | 開始されたシェルのオプション (任意)。 |
| 戻り値 | 説明 |
| ShellExecution |
new ShellExecution(command: string | ShellQuotedString, args: Array<string | ShellQuotedString>, options?: ShellExecutionOptions): ShellExecution
コマンドと引数を持つシェル実行を作成します。実際の実行では、エディタはコマンドと引数からコマンドラインを構築します。これは、特に引用符に関して解釈の対象となります。コマンドラインを完全に制御する必要がある場合は、完全なコマンドラインで`ShellExecution`を作成するコンストラクタを使用してください。
| パラメーター | 説明 |
|---|---|
| command: string | ShellQuotedString | 実行するコマンド。 |
| args: Array<string | ShellQuotedString> | コマンド引数。 |
| options?: ShellExecutionOptions | 開始されたシェルのオプション (任意)。 |
| 戻り値 | 説明 |
| ShellExecution |
プロパティ
args: Array<string | ShellQuotedString>
シェル引数。完全なコマンドラインで作成された場合は`undefined`です。
command: string | ShellQuotedString
シェルコマンド。完全なコマンドラインで作成された場合は`undefined`です。
シェルコマンドライン。コマンドと引数で作成された場合は`undefined`です。
options?: ShellExecutionOptions
コマンドラインがシェルで実行されるときに使用されるシェルオプション。デフォルトは未定義です。
ShellExecutionOptions
シェル実行のオプション
プロパティ
実行されるシェルの現在の作業ディレクトリ。省略された場合は、ツールの現在のワークスペースルートが使用されます。
実行されるシェルの追加環境。省略された場合は、親プロセスの環境が使用されます。提供された場合は、親プロセスの環境とマージされます。
シェル実行可能ファイル。
タスクを実行するために使用されるシェル実行可能ファイルに渡される引数。ほとんどのシェルでは、コマンドを実行するために特別な引数が必要です。たとえば、`bash`は`-c`引数、`PowerShell`は`-Command`、`cmd`は`/d`と`/c`の両方を必要とします。
shellQuoting?: ShellQuotingOptions
このシェルでサポートされているシェルクォーティング。
ShellQuotedString
使用されるシェルに応じて引用符で囲まれる文字列。
プロパティ
quoting: ShellQuoting
使用する引用符スタイル。
実際の文字列値。
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
シェル引用符オプション。
プロパティ
escape?: string | {charsToEscape: string, escapeChar: string}
文字エスケープに使用される文字。文字列が提供された場合、スペースのみがエスケープされます。`{ escapeChar, charsToEscape }`リテラルが提供された場合、`charsToEscape`内のすべての文字は`escapeChar`を使用してエスケープされます。
強い引用符に使用される文字。文字列の長さは1である必要があります。
弱い引用符に使用される文字。文字列の長さは1である必要があります。
SignatureHelp
シグネチャヘルプは、呼び出し可能なもののシグネチャを表します。複数のシグネチャを持つことができますが、アクティブなものは1つだけであり、アクティブなパラメーターも1つだけです。
コンストラクター
new SignatureHelp(): SignatureHelp
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| SignatureHelp |
プロパティ
アクティブなシグネチャのアクティブなパラメーター。
アクティブなシグネチャ。
signatures: SignatureInformation[]
1つ以上のシグネチャ。
SignatureHelpContext
SignatureHelpProviderがトリガーされたコンテキストに関する追加情報。
プロパティ
activeSignatureHelp: SignatureHelp
現在アクティブなSignatureHelp。
`activeSignatureHelp`は、ユーザーが利用可能なシグネチャを矢印で移動することに基づいて、activeSignatureフィールドが更新されます。
シグネチャヘルプがトリガーされたときにすでに表示されていた場合は`true`。
再トリガーは、シグネチャヘルプがすでにアクティブなときに発生し、トリガー文字の入力、カーソル移動、ドキュメントの内容変更などのアクションが原因で発生する可能性があります。
シグネチャヘルプをトリガーした文字。
これは、シグネチャヘルプを手動で呼び出す場合やカーソルを移動する場合など、入力によってシグネチャヘルプがトリガーされない場合は`undefined`です。
triggerKind: SignatureHelpTriggerKind
シグネチャヘルプをトリガーしたアクション。
SignatureHelpProvider
シグネチャヘルププロバイダーインターフェースは、拡張機能とパラメーターヒント機能間の契約を定義します。
メソッド
provideSignatureHelp(document: TextDocument, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult<SignatureHelp>
指定された位置とドキュメントのシグネチャのヘルプを提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| context: SignatureHelpContext | シグネチャヘルプがどのようにトリガーされたかに関する情報。 |
| 戻り値 | 説明 |
| ProviderResult<SignatureHelp> | シグネチャヘルプ、またはそれに解決されるThenable。結果がないことは、`undefined`または`null`を返すことによって通知できます。 |
SignatureHelpProviderMetadata
登録されたSignatureHelpProviderに関するメタデータ。
プロパティ
retriggerCharacters: readonly string[]
シグネチャヘルプを再トリガーする文字のリスト。
これらのトリガー文字は、シグネチャヘルプがすでに表示されている場合にのみアクティブになります。すべてのトリガー文字は再トリガー文字としてもカウントされます。
triggerCharacters: readonly string[]
シグネチャヘルプをトリガーする文字のリスト。
SignatureHelpTriggerKind
SignatureHelpProviderがどのようにトリガーされたか。
列挙型メンバー
シグネチャヘルプは、ユーザーまたはコマンドによって手動で呼び出されました。
シグネチャヘルプはトリガー文字によってトリガーされました。
シグネチャヘルプは、カーソル移動またはドキュメントの内容変更によってトリガーされました。
SignatureInformation
呼び出し可能なもののシグネチャを表します。シグネチャには、関数名のようなラベル、ドキュメントコメント、および一連のパラメーターを含めることができます。
コンストラクター
new SignatureInformation(label: string, documentation?: string | MarkdownString): SignatureInformation
新しいシグネチャ情報オブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| label: string | ラベル文字列。 |
| documentation?: string | MarkdownString | ドキュメント文字列。 |
| 戻り値 | 説明 |
| SignatureInformation |
プロパティ
アクティブなパラメータのインデックス。
提供された場合、これはSignatureHelp.activeParameterの代わりに使用されます。
documentation?: string | MarkdownString
このシグネチャの人間が読めるドキュメントコメント。UIに表示されますが、省略することもできます。
このシグネチャのラベル。UIに表示されます。
parameters: ParameterInformation[]
このシグネチャのパラメーター。
SnippetString
スニペット文字列は、テキストを挿入したり、挿入時にエディターのカーソルを制御したりできるテンプレートです。
スニペットは、`$1`、`$2`、`$ {3:foo}`でタブストップとプレースホルダーを定義できます。`$0`は最終的なタブストップを定義し、デフォルトはスニペットの終わりです。変数は`$name`と`$ {name:default value}`で定義されます。 完全なスニペット構文も参照してください。
コンストラクター
new SnippetString(value?: string): SnippetString
新しいスニペット文字列を作成します。
| パラメーター | 説明 |
|---|---|
| value?: string | スニペット文字列。 |
| 戻り値 | 説明 |
| SnippetString |
プロパティ
スニペット文字列。
メソッド
appendChoice(values: readonly string[], number?: number): SnippetString
このスニペット文字列の値に選択肢(`$ {1|a,b,c|}`)を追加するビルド関数。
| パラメーター | 説明 |
|---|---|
| values: readonly string[] | 選択肢の値 - 文字列の配列 |
| number?: number | このタブストップの番号。デフォルトは1から始まる自動インクリメント値です。 |
| 戻り値 | 説明 |
| SnippetString | このスニペット文字列。 |
appendPlaceholder(value: string | (snippet: SnippetString) => any, number?: number): SnippetString
このスニペット文字列の値にプレースホルダー(`$ {1:value}`)を追加するビルド関数。
| パラメーター | 説明 |
|---|---|
| value: string | (snippet: SnippetString) => any | このプレースホルダーの値 - 文字列またはネストされたスニペットを作成できる関数。 |
| number?: number | このタブストップの番号。デフォルトは1から始まる自動インクリメント値です。 |
| 戻り値 | 説明 |
| SnippetString | このスニペット文字列。 |
appendTabstop(number?: number): SnippetString
このスニペット文字列の値にタブストップ(`$1`、`$2`など)を追加するビルド関数。
| パラメーター | 説明 |
|---|---|
| number?: number | このタブストップの番号。デフォルトは1から始まる自動インクリメント値です。 |
| 戻り値 | 説明 |
| SnippetString | このスニペット文字列。 |
appendText(string: string): SnippetString
指定された文字列をこのスニペット文字列の値に追加するビルダー関数。
| パラメーター | 説明 |
|---|---|
| string: string | 'as given'として追加する値。文字列はエスケープされます。 |
| 戻り値 | 説明 |
| SnippetString | このスニペット文字列。 |
appendVariable(name: string, defaultValue: string | (snippet: SnippetString) => any): SnippetString
このスニペット文字列の値に変数を追加するビルド関数。
| パラメーター | 説明 |
|---|---|
| name: string | 変数の名前 - `$ `を除く。 |
| defaultValue: string | (snippet: SnippetString) => any | 変数名が解決できない場合に使用されるデフォルト値 - 文字列またはネストされたスニペットを作成できる関数。 |
| 戻り値 | 説明 |
| SnippetString | このスニペット文字列。 |
SnippetTextEdit
スニペット編集は、エディタによって実行される対話型編集を表します。
注: スニペット編集は、常に通常のテキスト編集として実行できます。これは、一致するエディタが開いていない場合、またはワークスペース編集に複数のファイルのスニペット編集が含まれている場合に発生します。その場合、アクティブなエディタと一致するもののみがスニペット編集として実行され、その他は通常のテキスト編集として実行されます。
Static
insert(position: Position, snippet: SnippetString): SnippetTextEdit
スニペット挿入編集を作成するためのユーティリティ。
| パラメーター | 説明 |
|---|---|
| position: Position | 位置。空の範囲になります。 |
| snippet: SnippetString | スニペット文字列。 |
| 戻り値 | 説明 |
| SnippetTextEdit | 新しいスニペット編集オブジェクト。 |
replace(range: Range, snippet: SnippetString): SnippetTextEdit
スニペット置換編集を作成するためのユーティリティ。
| パラメーター | 説明 |
|---|---|
| range: Range | 範囲。 |
| snippet: SnippetString | スニペット文字列。 |
| 戻り値 | 説明 |
| SnippetTextEdit | 新しいスニペット編集オブジェクト。 |
コンストラクター
new SnippetTextEdit(range: Range, snippet: SnippetString): SnippetTextEdit
新しいスニペット編集を作成します。
| パラメーター | 説明 |
|---|---|
| range: Range | 範囲。 |
| snippet: SnippetString | スニペット文字列。 |
| 戻り値 | 説明 |
| SnippetTextEdit |
プロパティ
スニペット編集を既存の空白を保持したまま適用するかどうか。
range: Range
この編集が適用される範囲。
snippet: SnippetString
この編集が実行するスニペット。
SourceBreakpoint
ソースの場所で指定されたブレークポイント。
コンストラクター
new SourceBreakpoint(location: Location, enabled?: boolean, condition?: string, hitCondition?: string, logMessage?: string): SourceBreakpoint
ソースの場所に新しいブレークポイントを作成します。
| パラメーター | 説明 |
|---|---|
| location: Location | |
| enabled?: boolean | |
| condition?: string | |
| hitCondition?: string | |
| logMessage?: string | |
| 戻り値 | 説明 |
| SourceBreakpoint |
プロパティ
条件付きブレークポイントのオプションの式。
ブレークポイントが有効かどうか。
ブレークポイントが無視されるヒット数を制御するオプションの式。
ブレークポイントの一意の ID。
location: Location
このブレークポイントのソースと行の位置。
このブレークポイントにヒットしたときにログに記録されるオプションのメッセージです。{} 内の埋め込み式は、デバッグアダプターによって補間されます。
SourceControl
ソースコントロールは、エディタにリソース状態を提供し、いくつかのソースコントロール関連の方法でエディタと対話することができます。
プロパティ
acceptInputCommand?: Command
オプションの入力コマンドを受け入れます。
ユーザーがソースコントロール入力の値を受け入れると、このコマンドが呼び出されます。
オプションのコミットテンプレート文字列。
ソースコントロールビューレットは、必要に応じてこの値でソースコントロール入力にデータを入力します。
このソースコントロールのID。
inputBox: SourceControlInputBox
このソースコントロールの入力ボックス。
このソースコントロールの人間が読めるラベル。
quickDiffProvider?: QuickDiffProvider
オプションのクイック差分プロバイダー。
rootUri: Uri
このソースコントロールのルートの(オプションの)Uri。
statusBarCommands?: Command[]
オプションのステータスバーコマンド。
これらのコマンドは、エディタのステータスバーに表示されます。
メソッド
createResourceGroup(id: string, label: string): SourceControlResourceGroup
新しいリソースグループを作成します。
| パラメーター | 説明 |
|---|---|
| id: string | |
| label: string | |
| 戻り値 | 説明 |
| SourceControlResourceGroup |
このソースコントロールを破棄します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
SourceControlInputBox
ソースコントロールビューレットの入力ボックスを表します。
プロパティ
入力ボックスが有効になっているかどうかを制御します(デフォルトは`true`)。
ユーザーをガイドするために、入力ボックスにプレースホルダーとして表示する文字列。
入力ボックスの内容のセッターとゲッター。
入力ボックスが表示されているかどうかを制御します(デフォルトは`true`)。
SourceControlResourceDecorations
ソースコントロールリソース状態の装飾。ライトテーマとダークテーマで個別に指定できます。
プロパティ
dark?: SourceControlResourceThemableDecorations
ダークテーマの装飾。
ソースコントロールリソース状態をUIでフェードアウトさせるかどうか。
iconPath?: string | Uri | ThemeIcon
特定のソースコントロールリソース状態のアイコンパス。
light?: SourceControlResourceThemableDecorations
ライトテーマの装飾。
ソースコントロールリソース状態を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。
このソースコントロールリソースグループのラベル。
resourceStates: SourceControlResourceState[]
このグループのソースコントロールリソース状態のコレクション。
メソッド
このソースコントロールリソースグループを破棄します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
SourceControlResourceState
ソースコントロールリソース状態は、特定のソースコントロールグループ内の基になるワークスペースリソースの状態を表します。
プロパティ
command?: Command
リソース状態がソースコントロールビューレットで開かれたときに実行されるべきコマンド。
リソース状態のコンテキスト値。これは、リソース固有のアクションを提供するために使用できます。たとえば、リソースに`diffable`としてコンテキスト値が与えられた場合。`menus`拡張ポイントを使用して`scm/resourceState/context`にアクションを提供するときに、`when`式でキー`scmResourceState`にコンテキスト値を指定できます。例えば、`scmResourceState == diffable`のように。
"contributes": {
"menus": {
"scm/resourceState/context": [
{
"command": "extension.diff",
"when": "scmResourceState == diffable"
}
]
}
}
これにより、`contextValue`が`diffable`であるリソースに対してのみアクション`extension.diff`が表示されます。
decorations?: SourceControlResourceDecorations
このソースコントロールリソース状態の装飾。
resourceUri: Uri
ワークスペース内の基になるリソースのUri。
SourceControlResourceThemableDecorations
ソースコントロールリソース状態のテーマ対応の装飾。
プロパティ
iconPath?: string | Uri | ThemeIcon
特定のソースコントロールリソース状態のアイコンパス。
StatementCoverage
単一のステートメントまたは行のコードカバレッジ情報を含みます。
コンストラクター
new StatementCoverage(executed: number | boolean, location: Range | Position, branches?: BranchCoverage[]): StatementCoverage
| パラメーター | 説明 |
|---|---|
| executed: number | boolean | このステートメントが実行された回数。正確な回数が不明な場合は、実行されたかどうかを示すブール値。ゼロまたはfalseの場合、ステートメントは未カバーとしてマークされます。 |
| location: Range | Position | ステートメントの位置。 |
| branches?: BranchCoverage[] | この行のブランチからのカバレッジ。条件分岐でない場合は省略してください。 |
| 戻り値 | 説明 |
| StatementCoverage |
プロパティ
branches: BranchCoverage[]
この行またはステートメントのブランチからのカバレッジ。条件分岐でない場合、これは空になります。
このステートメントが実行された回数。正確な回数が不明な場合は、実行されたかどうかを示すブール値。ゼロまたはfalseの場合、ステートメントは未カバーとしてマークされます。
ステートメントの位置。
StatusBarAlignment
ステータスバー項目の配置を表します。
列挙型メンバー
左側に揃えられます。
右側に揃えられます。
StatusBarItem
ステータスバーアイテムは、テキストとアイコンを表示し、クリック時にコマンドを実行できるステータスバーの貢献です。
プロパティ
accessibilityInformation: AccessibilityInformation
スクリーンリーダーがこのステータスバー項目と対話するときに使用されるアクセシビリティ情報
alignment: StatusBarAlignment
この項目の配置。
backgroundColor: ThemeColor
このエントリの背景色。
注意: 以下の色のみがサポートされています
new ThemeColor('statusBarItem.errorBackground')new ThemeColor('statusBarItem.warningBackground')
将来的にはさらに多くの背景色がサポートされる可能性があります。
注意: 背景色が設定されている場合、すべてのテーマでエントリが読み取り可能であることを保証するために、ステータスバーが`color`の選択をオーバーライドする場合があります。
color: string | ThemeColor
このエントリのフォアグラウンドカラー。
command: string | Command
このアイテムの識別子。
注意: window.createStatusBarItemメソッドによって識別子が提供されなかった場合、識別子は拡張機能識別子と一致します。
'Python Language Indicator'、'Git Status'など、エントリの名前。ステータスバー項目が何であるかをユーザーが理解できる程度に、名前の長さを短く、かつ説明的に保つようにしてください。
この項目の優先度。値が大きいほど、項目は左に表示されるはずです。
エントリに表示するテキスト。構文を利用してテキストにアイコンを埋め込むことができます。
My text $(icon-name) contains icons like $(icon-name) this one.
ここで、アイコン名はThemeIcon アイコンセットから取得されます(例:light-bulb、thumbsup、zapなど)。
tooltip: string | MarkdownString
このエントリの上にカーソルを置いたときに表示されるツールチップテキスト。
メソッド
関連するリソースを破棄して解放します。hideを呼び出します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
ステータスバーのエントリを非表示にします。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
ステータスバーにエントリを表示します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
SymbolInformation
変数、クラス、インターフェースなどのプログラミング構成に関する情報を表します。
コンストラクター
new SymbolInformation(name: string, kind: SymbolKind, containerName: string, location: Location): SymbolInformation
新しいシンボル情報オブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| name: string | シンボルの名前。 |
| kind: SymbolKind | シンボルの種類。 |
| containerName: string | シンボルを含むシンボルの名前。 |
| location: Location | シンボルの場所。 |
| 戻り値 | 説明 |
| SymbolInformation |
new SymbolInformation(name: string, kind: SymbolKind, range: Range, uri?: Uri, containerName?: string): SymbolInformation
新しいシンボル情報オブジェクトを作成します。
- 非推奨 - Locationオブジェクトを受け取るコンストラクタを使用してください。
| パラメーター | 説明 |
|---|---|
| name: string | シンボルの名前。 |
| kind: SymbolKind | シンボルの種類。 |
| range: Range | シンボルの場所の範囲。 |
| uri?: Uri | シンボルの場所のリソース。現在のドキュメントがデフォルトです。 |
| containerName?: string | シンボルを含むシンボルの名前。 |
| 戻り値 | 説明 |
| SymbolInformation |
プロパティ
このシンボルを含むシンボルの名前。
kind: SymbolKind
このシンボルの種類。
location: Location
このシンボルの場所。
このシンボルの名前。
tags?: readonly SymbolTag[]
このシンボルのタグ。
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
タブグループ内のタブを表します。タブは単なるエディタ領域内のグラフィカルな表現です。バッキングエディタは保証されません。
プロパティ
group: TabGroup
タブが属するグループ。
タブの構造 (例: テキスト、ノートブック、カスタムなど) を定義します。リソースやその他の便利なプロパティは、タブの種類で定義されます。
タブが現在アクティブであるかどうか。これは、グループ内で選択されているタブであることによって決まります。
タブにダーティインジケーターが表示されているかどうか。
タブがピン留めされているかどうか (ピンアイコンが表示されているかどうか)。
タブがプレビューモードであるかどうか。
タブに表示されるテキスト。
TabChangeEvent
タブの変更を記述するイベント。
プロパティ
changed: readonly Tab[]
状態がアクティブに変わったなど、変更されたタブ。
closed: readonly Tab[]
閉じられたタブ。
opened: readonly Tab[]
開かれたタブ。
TabGroup
タブのグループを表します。タブグループ自体は複数のタブで構成されます。
プロパティ
activeTab: Tab
グループ内のアクティブなタブ。これは現在コンテンツがレンダリングされているタブです。
注: グループごとにアクティブなタブは1つだけですが、アクティブなグループは1つだけです。
tabs: readonly Tab[]
グループに含まれるタブのリスト。グループに開いているタブがない場合、これは空になることがあります。
viewColumn: ViewColumn
グループのビューカラム。
TabGroupChangeEvent
タブグループの変更を記述するイベント。
プロパティ
changed: readonly TabGroup[]
アクティブな状態が変更されたなど、変更されたタブグループ。
closed: readonly TabGroup[]
閉じられたタブグループ。
opened: readonly TabGroup[]
開かれたタブグループ。
TabGroups
タブを含む複数のグループで構成されるメインエディター領域を表します。
イベント
onDidChangeTabGroups: Event<TabGroupChangeEvent>
onDidChangeTabs: Event<TabChangeEvent>
プロパティ
activeTabGroup: TabGroup
現在アクティブなグループ。
all: readonly TabGroup[]
グループコンテナ内のすべてのグループ。
メソッド
close(tab: Tab | readonly Tab[], preserveFocus?: boolean): Thenable<boolean>
タブを閉じます。これにより、タブオブジェクトは無効になり、それ以上のアクションにタブを使用することはできません。注意: ダーティタブの場合、確認ダイアログが表示され、キャンセルされる可能性があります。キャンセルされた場合でもタブは有効です。
close(tabGroup: TabGroup | readonly TabGroup[], preserveFocus?: boolean): Thenable<boolean>
タブグループを閉じます。これにより、タブグループオブジェクトは無効になり、それ以上のアクションにタブグループを使用することはできません。
TabInputCustom
タブはカスタムエディターを表します。
コンストラクター
new TabInputCustom(uri: Uri, viewType: string): TabInputCustom
カスタムエディターのタブ入力を構築します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | タブの URI。 |
| viewType: string | カスタムエディターのビュータイプ。 |
| 戻り値 | 説明 |
| TabInputCustom |
プロパティ
uri: Uri
タブが表す URI。
カスタムエディターのタイプ。
TabInputNotebook
タブはノートブックを表します。
コンストラクター
new TabInputNotebook(uri: Uri, notebookType: string): TabInputNotebook
ノートブック用の新しいタブ入力を構築します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | ノートブックの URI。 |
| notebookType: string | ノートブックのタイプ。NotebookDocumentのnotebookTypeにマッピングされます。 |
| 戻り値 | 説明 |
| TabInputNotebook |
プロパティ
ノートブックのタイプ。NotebookDocumentのnotebookTypeにマッピングされます。
uri: Uri
タブが表す URI。
TabInputNotebookDiff
タブは、差分構成で2つのノートブックを表します。
コンストラクター
new TabInputNotebookDiff(original: Uri, modified: Uri, notebookType: string): TabInputNotebookDiff
ノートブックの差分タブ入力を構築します。
| パラメーター | 説明 |
|---|---|
| original: Uri | 元の未変更のノートブックの URI。 |
| modified: Uri | 変更されたノートブックの URI。 |
| notebookType: string | ノートブックのタイプ。NotebookDocumentのnotebookTypeにマッピングされます。 |
| 戻り値 | 説明 |
| TabInputNotebookDiff |
プロパティ
modified: Uri
変更されたノートブックの URI。
ノートブックのタイプ。NotebookDocumentのnotebookTypeにマッピングされます。
original: Uri
元のノートブックの URI。
TabInputTerminal
タブはエディター領域のターミナルを表します。
コンストラクター
new TabInputTerminal(): TabInputTerminal
ターミナルタブ入力を構築します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| TabInputTerminal |
TabInputText
タブは単一のテキストベースのリソースを表します。
コンストラクター
new TabInputText(uri: Uri): TabInputText
指定された URI を持つテキストタブ入力を構築します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | タブの URI。 |
| 戻り値 | 説明 |
| TabInputText |
プロパティ
uri: Uri
タブが表す URI。
TabInputTextDiff
タブは、差分としてレンダリングされる2つのテキストベースのリソースを表します。
コンストラクター
new TabInputTextDiff(original: Uri, modified: Uri): TabInputTextDiff
指定された URI を持つ新しいテキスト差分タブ入力を構築します。
| パラメーター | 説明 |
|---|---|
| original: Uri | 元のテキストリソースの URI。 |
| modified: Uri | 変更されたテキストリソースの URI。 |
| 戻り値 | 説明 |
| TabInputTextDiff |
プロパティ
modified: Uri
変更されたテキストリソースの URI。
original: Uri
元のテキストリソースの URI。
TabInputWebview
タブはウェブビューを表します。
コンストラクター
new TabInputWebview(viewType: string): TabInputWebview
指定されたビュータイプを持つウェブビュータブ入力を構築します。
| パラメーター | 説明 |
|---|---|
| viewType: string | ウェブビューのタイプ。WebviewPanelのviewTypeにマッピングされます。 |
| 戻り値 | 説明 |
| TabInputWebview |
プロパティ
ウェブビューのタイプ。WebviewPanelのviewTypeにマッピングされます。
Task
実行するタスク
コンストラクター
new Task(taskDefinition: TaskDefinition, scope: WorkspaceFolder | Global | Workspace, name: string, source: string, execution?: ProcessExecution | ShellExecution | CustomExecution, problemMatchers?: string | string[]): Task
新しいタスクを作成します。
| パラメーター | 説明 |
|---|---|
| taskDefinition: TaskDefinition | taskDefinitions拡張ポイントで定義されているタスク定義。 |
| scope: WorkspaceFolder | Global | Workspace | タスクのスコープを指定します。グローバルタスク、ワークスペースタスク、または特定のワークスペースフォルダーのタスクのいずれかです。グローバルタスクは現在サポートされていません。 |
| name: string | タスクの名前。ユーザーインターフェースに表示されます。 |
| source: string | タスクのソース (例: 'gulp'、'npm'など)。ユーザーインターフェースに表示されます。 |
| execution?: ProcessExecution | ShellExecution | CustomExecution | プロセスまたはシェル実行。 |
| problemMatchers?: string | string[] | '$tsc'や'$eslint'のような、使用する問題マッチャーの名前。問題マッチャーは、 |
| 戻り値 | 説明 |
| Task |
new Task(taskDefinition: TaskDefinition, name: string, source: string, execution?: ProcessExecution | ShellExecution, problemMatchers?: string | string[]): Task
新しいタスクを作成します。
- 非推奨 - タスクのスコープを指定できる新しいコンストラクターを使用してください。
| パラメーター | 説明 |
|---|---|
| taskDefinition: TaskDefinition | taskDefinitions拡張ポイントで定義されているタスク定義。 |
| name: string | タスクの名前。ユーザーインターフェースに表示されます。 |
| source: string | タスクのソース (例: 'gulp'、'npm'など)。ユーザーインターフェースに表示されます。 |
| execution?: ProcessExecution | ShellExecution | プロセスまたはシェル実行。 |
| problemMatchers?: string | string[] | '$tsc'や'$eslint'のような、使用する問題マッチャーの名前。問題マッチャーは、 |
| 戻り値 | 説明 |
| Task |
プロパティ
definition: TaskDefinition
タスクの定義。
タスク名が表示される場所で、別の行に目立たないようにレンダリングされる人間が読める文字列。$(<name>)構文によるテーマアイコンのレンダリングをサポートします。
execution?: ProcessExecution | ShellExecution | CustomExecution
タスクの実行エンジン
group?: TaskGroup
このタスクが属するタスクグループ。定義済みの一連の利用可能なグループについてはTaskGroupを参照してください。デフォルトは未定義で、タスクが特別なグループに属さないことを意味します。
タスクがバックグラウンドタスクであるかどうか。
タスクの名前
presentationOptions: TaskPresentationOptions
プレゼンテーションオプション。空のリテラルがデフォルトです。
タスクにアタッチされた問題マッチャー。デフォルトは空の配列です。
runOptions: RunOptions
タスクの実行オプション
scope: WorkspaceFolder | Global | Workspace
タスクのスコープ。
このシェルタスクのソースを記述する人間が読める文字列。例: 'gulp'または'npm'。$(<name>)構文によるテーマアイコンのレンダリングをサポートします。
TaskDefinition
システム内のタスクの種類を定義する構造。値はJSON文字列化可能である必要があります。
プロパティ
拡張機能によって提供されるタスクを記述するタスク定義。通常、タスクプロバイダーはタスクを識別するためにより多くのプロパティを定義します。それらは、拡張機能のpackage.jsonの 'taskDefinitions' 拡張ポイントの下に定義する必要があります。npmタスク定義は次のようになります。
interface NpmTaskDefinition extends TaskDefinition {
script: string;
}
'$'で始まる型識別子は内部使用のために予約されており、拡張機能によって使用されるべきではありません。
TaskEndEvent
実行されたタスクの終了を通知するイベント。
このインターフェースは実装を意図していません。
プロパティ
execution: TaskExecution
完了したタスクを表すタスク項目。
TaskExecution
実行されたタスクを表すオブジェクト。タスクを終了するために使用できます。
このインターフェースは実装を意図していません。
プロパティ
task: Task
開始されたタスク。
メソッド
タスクの実行を終了します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
TaskFilter
タスクフィルターは、バージョンとタイプによってタスクを識別します。
プロパティ
返されるタスクタイプ。
tasks.jsonファイルで使用されるタスクバージョン。文字列はpackage.jsonのセマンティックバージョン表記をサポートします。
TaskGroup
タスクのグループ化。エディターはデフォルトで「Clean」、「Build」、「RebuildAll」、「Test」グループをサポートしています。
Static
Build: TaskGroup
ビルドタスクグループ。
Clean: TaskGroup
クリーンタスクグループ。
Rebuild: TaskGroup
すべて再構築タスクグループ。
Test: TaskGroup
すべてのテストタスクグループ。
コンストラクター
new TaskGroup(id: string, label: string): TaskGroup
プライベートコンストラクター
| パラメーター | 説明 |
|---|---|
| id: string | タスクグループの識別子。 |
| label: string | タスクグループの人間が読める名前。 |
| 戻り値 | 説明 |
| TaskGroup |
プロパティ
タスクグループのID。TaskGroup.Clean.id、TaskGroup.Build.id、TaskGroup.Rebuild.id、またはTaskGroup.Test.idのいずれかです。
このグループの一部であるタスクがグループのデフォルトであるかどうか。このプロパティはAPIを介して設定することはできず、ユーザーのタスク構成によって制御されます。
TaskPanelKind
タスク間でタスクチャンネルがどのように使用されるかを制御します。
列挙型メンバー
他のタスクとパネルを共有します。これがデフォルトです。
このタスク専用のパネルを使用します。パネルは他のタスクと共有されません。
このタスクが実行されるたびに新しいパネルを作成します。
TaskPresentationOptions
タスクがUIでどのように表示されるかを制御します。
プロパティ
タスクを実行する前にターミナルをクリアするかどうかを制御します。
タスク実行後にターミナルを閉じるかどうかを制御します。
タスクに関連付けられたコマンドをユーザーインターフェースにエコーするかどうかを制御します。
タスク出力を表示するパネルがフォーカスを受け取るかどうかを制御します。
panel?: TaskPanelKind
タスクパネルがこのタスクのみに使用されるか (専用)、タスク間で共有されるか (共有)、またはタスク実行ごとに新しいパネルが作成されるか (新規) を制御します。デフォルトはTaskInstanceKind.Sharedです。
reveal?: TaskRevealKind
タスク出力がユーザーインターフェースに表示されるかどうかを制御します。デフォルトはRevealKind.Alwaysです。
"ターミナルはタスクによって再利用されます。閉じるには任意のキーを押してください"というメッセージを表示するかどうかを制御します。
TaskProcessEndEvent
タスクを介してトリガーされたプロセス実行の終了を通知するイベント
プロパティ
execution: TaskExecution
プロセスが開始されたタスク実行。
プロセスの終了コード。タスクが終了した場合、undefinedになります。
TaskProcessStartEvent
タスクを介してトリガーされたプロセス実行の開始を通知するイベント
プロパティ
execution: TaskExecution
プロセスが開始されたタスク実行。
基になるプロセスID。
TaskProvider<T>
タスクプロバイダーは、タスクサービスにタスクを追加できます。タスクプロバイダーはtasks.registerTaskProviderを介して登録されます。
メソッド
provideTasks(token: CancellationToken): ProviderResult<T[]>
タスクを提供します。
| パラメーター | 説明 |
|---|---|
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T[]> | タスクの配列 |
resolveTask(task: T, token: CancellationToken): ProviderResult<T>
実行が設定されていないタスクを解決します。タスクは多くの場合、tasks.jsonファイルで見つかった情報から作成されます。そのようなタスクは実行方法に関する情報が欠けているため、タスクプロバイダーはresolveTaskメソッドで欠けている情報を補完する必要があります。このメソッドは、上記のprovideTasksメソッドから返されるタスクについては呼び出されません。これらのタスクは常に完全に解決されているためです。resolveTaskメソッドの有効なデフォルト実装はundefinedを返すことです。
taskのプロパティを埋める際には、まったく同じTaskDefinitionを使用し、新しいものを作成しないように必ず確認してください。他のプロパティは変更される可能性があります。
| パラメーター | 説明 |
|---|---|
| task: T | 解決するタスク。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T> | 解決されたタスク |
TaskRevealKind
ターミナルの表示動作を制御します。
列挙型メンバー
タスクが実行されると、常にターミナルを前面に表示します。
タスクの実行中に問題が検出された場合 (例: タスクを開始できなかったため)、ターミナルを前面に表示します。
タスクが実行されても、ターミナルが前面に表示されることはありません。
TaskScope
タスクのスコープ。
列挙型メンバー
タスクはグローバルタスクです。グローバルタスクは現在サポートされていません。
タスクはワークスペースタスクです。
TaskStartEvent
タスク実行の開始を通知するイベント。
このインターフェースは実装を意図していません。
プロパティ
execution: TaskExecution
開始されたタスクを表すタスク項目。
TelemetryLogger
拡張機能が使用状況とエラーテレメトリをログするために使用できるテレメトリロガー。
ロガーは送信者をラップしますが、以下のことを保証します。
- テレメトリを無効または調整するためのユーザー設定が尊重され、
- 潜在的に機密性の高いデータが削除されること
また、送信されるデータをすべて出力する「エコーUI」を有効にし、エディタが未処理のエラーをそれぞれの拡張機能に転送できるようにします。
TelemetryLoggerのインスタンスを取得するには、createTelemetryLoggerを使用します。
イベント
onDidChangeEnableStates: Event<TelemetryLogger>
使用状況またはエラーテレメトリの有効化状態が変更されたときに発生するイベント。
プロパティ
このロガーのエラーテレメトリが有効であるかどうか。
このロガーの使用状況テレメトリが有効であるかどうか。
メソッド
このオブジェクトを破棄し、リソースを解放します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
logError(eventName: string, data?: Record<string, any>): void
エラーイベントをログに記録します。
クリーニング、テレメトリ設定チェック、データ混入が完了した後、TelemetrySender.sendEventDataを呼び出してイベントをログに記録します。logUsageとは異なり、テレメトリ設定がError+の場合にイベントをログに記録します。拡張機能のテレメトリ出力チャネルへのエコーを自動的にサポートします。
| パラメーター | 説明 |
|---|---|
| eventName: string | ログに記録するイベント名 |
| data?: Record<string, any> | ログに記録するデータ |
| 戻り値 | 説明 |
| void |
logError(error: Error, data?: Record<string, any>): void
エラーイベントをログに記録します。
TelemetrySender.sendErrorDataを呼び出します。クリーニング、テレメトリチェック、データ混入を行います。拡張機能のテレメトリ出力チャネルへのエコーを自動的にサポートします。また、拡張機能ホストプロセス内でスローされたすべての例外を自動的にログに記録します。
| パラメーター | 説明 |
|---|---|
| error: Error | PIIがクリーニングされたスタックトレースを含むエラーオブジェクト |
| data?: Record<string, any> | スタックトレースとともにログに記録する追加データ |
| 戻り値 | 説明 |
| void |
logUsage(eventName: string, data?: Record<string, any>): void
使用状況イベントをログに記録します。
クリーニング、テレメトリ設定チェック、データ混入が完了した後、TelemetrySender.sendEventDataを呼び出してイベントをログに記録します。拡張機能のテレメトリ出力チャネルへのエコーを自動的にサポートします。
| パラメーター | 説明 |
|---|---|
| eventName: string | ログに記録するイベント名 |
| data?: Record<string, any> | ログに記録するデータ |
| 戻り値 | 説明 |
| void |
TelemetryLoggerOptions
TelemetryLoggerを作成するためのオプション
プロパティ
additionalCommonProperties?: Record<string, any>
データオブジェクトに挿入すべき追加の共通プロパティ。
ignoreBuiltInCommonProperties?: boolean
OS、拡張機能名などの組み込みの共通プロパティがデータオブジェクトに挿入されるのを回避するかどうか。定義されていない場合はfalseがデフォルトです。
ignoreUnhandledErrors?: boolean
拡張機能によって引き起こされた拡張機能ホスト上の未処理のエラーを送信者にログに記録するかどうか。定義されていない場合は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' });
メソッド
flush(): void | Thenable<void>
この送信者が、そのTelemetryLoggerが破棄されているときに、残りのイベントを送信する機会を与えるオプションのフラッシュ関数
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void | Thenable<void> |
sendErrorData(error: Error, data?: Record<string, any>): void
エラーを送信する関数。TelemetryLogger内で使用されます。
| パラメーター | 説明 |
|---|---|
| error: Error | ログに記録されるエラー |
| data?: Record<string, any> | 例外とともに収集される追加データ |
| 戻り値 | 説明 |
| void |
sendEventData(eventName: string, data?: Record<string, any>): void
スタックトレースなしでイベントデータを送信する関数。TelemetryLogger内で使用されます。
| パラメーター | 説明 |
|---|---|
| eventName: string | ログに記録しているイベントの名前 |
| data?: Record<string, any> | ログに記録されるシリアライズ可能なキーと値のペア |
| 戻り値 | 説明 |
| void |
TelemetryTrustedValue<T>
クリーニングしないのが安全であることを示す特別な値ラッパー。これは、値に識別可能な情報が含まれていないことを保証でき、クリーニングによって不適切に編集されている場合に使用されます。
コンストラクター
new TelemetryTrustedValue<T>(value: T): TelemetryTrustedValue<T>
新しいテレメトリ信頼値を作成します。
| パラメーター | 説明 |
|---|---|
| value: T | 信頼する値 |
| 戻り値 | 説明 |
| TelemetryTrustedValue<T> |
プロパティ
PIIを含まないと信頼されている値。
Terminal
統合ターミナル内の個々のターミナルインスタンス。
プロパティ
creationOptions: Readonly<TerminalOptions | ExtensionTerminalOptions>
ターミナルを初期化するために使用されたオブジェクト。これは、例えば、この拡張機能によって起動されなかったターミナルのシェルタイプを検出したり、シェルが起動されたフォルダを検出したりするのに役立ちます。
exitStatus: TerminalExitStatus
ターミナルの終了ステータス。ターミナルがアクティブな間は未定義になります。
例: ターミナルがゼロ以外の終了コードで終了したときに、終了コードを含む通知を表示します。
window.onDidCloseTerminal(t => {
if (t.exitStatus && t.exitStatus.code) {
vscode.window.showInformationMessage(`Exit code: ${t.exitStatus.code}`);
}
});
ターミナルの名前。
シェルプロセスのプロセスID。
shellIntegration: TerminalShellIntegration
ターミナル用のシェル統合機能を含むオブジェクト。これはターミナルが作成された直後には常にundefinedになります。window.onDidChangeTerminalShellIntegrationをリッスンして、ターミナルでシェル統合がアクティブ化されたときに通知を受け取ります。
シェル統合がアクティブにならない場合、このオブジェクトは未定義のままになる可能性があることに注意してください。たとえば、コマンドプロンプトはシェル統合をサポートしておらず、ユーザーのシェル設定が自動シェル統合のアクティブ化と競合する可能性があります。
state: TerminalState
ターミナルの現在の状態。
メソッド
関連リソースを破棄して解放します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
このターミナルが現在表示されている場合、ターミナルパネルを非表示にします。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
sendText(text: string, shouldExecute?: boolean): void
ターミナルにテキストを送信します。テキストは、ターミナルの基になるptyプロセス (シェル) の標準入力に書き込まれます。
| パラメーター | 説明 |
|---|---|
| text: string | 送信するテキスト。 |
| shouldExecute?: boolean | 送信されるテキストが、単にターミナルに挿入されるのではなく、実行されるべきであることを示します。追加される文字はプラットフォームに応じて |
| 戻り値 | 説明 |
| void |
show(preserveFocus?: boolean): void
ターミナルパネルを表示し、UIでこのターミナルを表示します。
| パラメーター | 説明 |
|---|---|
| preserveFocus?: boolean |
|
| 戻り値 | 説明 |
| void |
TerminalDimensions
ターミナルの寸法を表します。
プロパティ
ターミナルの列数。
ターミナルの行数。
TerminalEditorLocationOptions
TerminalLocationをエディタと仮定し、ViewColumnとpreserveFocus プロパティを指定できます。
プロパティ
オプションのフラグで、trueの場合、ターミナルがフォーカスを受け取るのを停止します。
viewColumn: ViewColumn
ターミナルをエディター領域に表示するビュー列。デフォルトはアクティブです。存在しない列は、必要に応じてViewColumn.Nineの最大値まで作成されます。ViewColumn.Besideを使用して、現在アクティブなエディターの横にエディターを開きます。
TerminalExitReason
ターミナル終了理由の種類。
列挙型メンバー
不明な理由。
ウィンドウが閉じられた/リロードされた。
シェルプロセスが終了した。
ユーザーがターミナルを閉じた。
拡張機能がターミナルを破棄した。
TerminalExitStatus
ターミナルがどのように終了したかを表します。
プロパティ
ターミナルが終了したときの終了コードで、以下の値をとることができます。
- ゼロ: ターミナルプロセスまたはカスタム実行が成功した。
- ゼロ以外: ターミナルプロセスまたはカスタム実行が失敗した。
undefined: ユーザーが強制的にターミナルを閉じたか、カスタム実行が終了コードを提供せずに終了した。
reason: TerminalExitReason
ターミナルの終了をトリガーした理由。
TerminalLink
ターミナル行のリンク。
コンストラクター
new TerminalLink(startIndex: number, length: number, tooltip?: string): TerminalLink
新しいターミナルリンクを作成します。
| パラメーター | 説明 |
|---|---|
| startIndex: number | TerminalLinkContext.line上のリンクの開始インデックス。 |
| length: number | TerminalLinkContext.line上のリンクの長さ。 |
| tooltip?: string | このリンクの上にマウスを置いたときに表示されるツールチップテキスト。 ツールチップが提供されている場合、 |
| 戻り値 | 説明 |
| TerminalLink |
プロパティ
TerminalLinkContext.line上のリンクの長さ。
TerminalLinkContext.line上のリンクの開始インデックス。
このリンクの上にマウスを置いたときに表示されるツールチップテキスト。
ツールチップが提供されている場合、{0} (ctrl + click)のように、リンクをトリガーする方法に関する指示を含む文字列で表示されます。具体的な指示は、OS、ユーザー設定、およびローカライズによって異なります。
TerminalLinkContext
ターミナル内の行に関する情報を提供し、それに対してリンクを提供します。
プロパティ
これは、ターミナルの折り返しされていない行のテキストです。
terminal: Terminal
リンクが属するターミナル。
TerminalLinkProvider<T>
ターミナル内のリンクの検出と処理を可能にするプロバイダー。
メソッド
handleTerminalLink(link: T): ProviderResult<void>
アクティブ化されたターミナルリンクを処理します。
| パラメーター | 説明 |
|---|---|
| link: T | 処理するリンク。 |
| 戻り値 | 説明 |
| ProviderResult<void> |
provideTerminalLinks(context: TerminalLinkContext, token: CancellationToken): ProviderResult<T[]>
指定されたコンテキストのターミナルリンクを提供します。これは、以前の呼び出しが解決される前であっても複数回呼び出される可能性があることに注意してください。非同期の使用が重複すると問題が発生する可能性があるグローバルオブジェクト (例: RegExp) を共有しないようにしてください。
| パラメーター | 説明 |
|---|---|
| context: TerminalLinkContext | リンクが提供される対象に関する情報。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T[]> | 指定された行のターミナルリンクのリスト。 |
TerminalLocation
ターミナルの場所。
列挙型メンバー
ターミナルビュー内
エディター領域内
TerminalOptions
ターミナルが使用すべきオプションを記述する値オブジェクト。
プロパティ
color?: ThemeColor
ターミナルのアイコンThemeColor。最高のコントラストとテーマ間の整合性のために、terminal.ansi*テーマキーが推奨されます。
cwd?: string | Uri
ターミナルに使用する現在の作業ディレクトリのパスまたはURI。
エディタープロセスに追加される環境変数を含むオブジェクト。
有効にすると、ターミナルは通常どおりプロセスを実行しますが、Terminal.showが呼び出されるまでユーザーに表示されません。これは、対話が必要な場合にのみユーザーに通知したいが、対話が必要な場合にのみ通知したい場合に典型的です。ターミナルはすべての拡張機能に通常どおり公開されます。非表示のターミナルは、ワークスペースが次に開かれたときに復元されません。
iconPath?: IconPath
端末のアイコンパスまたはThemeIcon。
再起動時および再読み込み時のデフォルトのターミナル永続化をオプトアウトします。これは、terminal.integrated.enablePersistentSessions が有効になっている場合にのみ有効になります。
location?: TerminalEditorLocationOptions | TerminalSplitLocationOptions | TerminalLocation
初回起動時にターミナルに書き込むメッセージ。これはプロセスに送信されるのではなく、ターミナルに直接書き込まれることに注意してください。これは、テキストスタイルを設定するなどのエスケープシーケンスをサポートします。
UI でターミナルを表すために使用される、人間が判読可能な文字列。
カスタムシェル実行可能ファイルへの引数。Windowsでのみ文字列を使用でき、コマンドライン形式でシェル引数を指定できます。
shellIntegrationNonce?: string
シェル統合シーケンスが信頼できるソースからのものであることを検証するために使用するナンス。この UX の影響の例としては、コマンドラインがナンスで報告された場合、シェル統合コマンド装飾 を介して再実行する前に、コマンドラインが正しいことをユーザーに確認する必要がないことなどがあります。
ターミナルにカスタムシェル統合サポートが含まれている場合は、これを使用する必要があります。ランダムなGUIDに設定する必要があり、その後`VSCODE_NONCE`環境変数が設定されます。シェル内では、一般アクセスから保護するために、これを環境から削除する必要があります。それが完了すると、関連するシーケンスに渡して、信頼できるようにすることができます。
ターミナルで使用するカスタムシェル実行可能ファイルへのパス。
ターミナルプロセス環境が `TerminalOptions.env` で提供されたものと完全に一致するかどうか。これが false (デフォルト) の場合、環境はウィンドウの環境に基づき、`terminal.integrated.env.windows` などの設定されたプラットフォーム設定も適用されます。これが true の場合、プロセスや設定から何も継承されないため、完全な環境を提供する必要があります。
TerminalProfile
ターミナルプロファイルは、ターミナルがどのように起動されるかを定義します。
コンストラクター
new TerminalProfile(options: TerminalOptions | ExtensionTerminalOptions): TerminalProfile
新しいターミナルプロファイルを作成します。
| パラメーター | 説明 |
|---|---|
| options: TerminalOptions | ExtensionTerminalOptions | ターミナルが起動するオプション。 |
| 戻り値 | 説明 |
| TerminalProfile |
プロパティ
options: TerminalOptions | ExtensionTerminalOptions
ターミナルが起動するオプション。
TerminalProfileProvider
UIまたはコマンドを介して起動されたときに、提供されたターミナルプロファイルのターミナルプロファイルを提供します。
メソッド
provideTerminalProfile(token: CancellationToken): ProviderResult<TerminalProfile>
ターミナルプロファイルを提供します。
| パラメーター | 説明 |
|---|---|
| token: CancellationToken | 結果が不要になったことを示すキャンセル トークン。 |
| 戻り値 | 説明 |
| ProviderResult<TerminalProfile> | ターミナルプロファイル。 |
TerminalShellExecution
ターミナルで実行されたコマンド。
プロパティ
commandLine: TerminalShellExecutionCommandLine
実行されたコマンドライン。この値の信頼性は、特定のシェルのシェル統合の実装によって異なります。この値は、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');
}
cwd: Uri
このコマンドが実行されたときにシェルによって報告された作業ディレクトリ。この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
ターミナルで実行されたコマンドライン。
プロパティ
confidence: TerminalShellExecutionCommandLineConfidence
コマンドライン値の信頼度。これは、値がどのように取得されたかによって決まります。これはシェル統合スクリプトの実装に依存します。
コマンドライン値が信頼できるソースからのものであり、したがって「(コマンド)を実行しますか?」という通知のようなユーザーの追加確認なしに安全に実行できるかどうか。この検証は、コマンドを再度実行する場合にのみ必要となる可能性があります。
これは、コマンドラインがシェル統合スクリプトによって明示的に報告された場合(つまり、高い信頼性)、かつ検証にナンスが使用された場合にのみtrueです。
コマンドとその引数を含む、実行された完全なコマンドライン。
TerminalShellExecutionCommandLineConfidence
列挙型メンバー
コマンドライン値の信頼度は低い。これは、シェル統合スクリプトによって報告されたマーカーを使用してターミナルバッファから値が読み取られたことを意味します。さらに、以下のいずれかの条件が満たされます。
- コマンドが一番左の列から開始された(これは一般的ではない)、または
- コマンドが複数行であるため、改行文字や右プロンプトのために正確に検出することがより困難である。
- シェル統合スクリプトによってコマンドラインマーカーが報告されなかった。
コマンドライン値の信頼性は中程度です。これは、シェル統合スクリプトによって報告されたマーカーを使用してターミナルバッファから値が読み取られたことを意味します。コマンドは単一行であり、一番左の列から開始されていません (これは一般的ではありません)。
コマンドライン値の信頼度は高い。これは、シェル統合スクリプトから明示的に値が送信されたか、TerminalShellIntegration.executeCommand APIを介してコマンドが実行されたことを意味します。
TerminalShellExecutionEndEvent
ターミナルでの実行が終了したことを知らせるイベント。
プロパティ
execution: TerminalShellExecution
終了したターミナルシェル実行。
シェルによって報告された終了コード。
これが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');
}
}
});
shellIntegration: TerminalShellIntegration
シェル統合オブジェクト。
terminal: Terminal
シェル統合がアクティブ化されたターミナル。
TerminalShellExecutionStartEvent
ターミナルで実行が開始されたことを知らせるイベント。
プロパティ
execution: TerminalShellExecution
終了したターミナルシェル実行。
shellIntegration: TerminalShellIntegration
シェル統合オブジェクト。
terminal: Terminal
シェル統合がアクティブ化されたターミナル。
TerminalShellIntegration
シェル統合によって提供される、ターミナルが所有する機能。
プロパティ
cwd: Uri
ターミナルの現在の作業ディレクトリ。このUriは、別のマシン上のファイルを表す場合があります (例: 別のマシンへのssh)。これには、シェル統合が作業ディレクトリの報告をサポートしている必要があります。
メソッド
executeCommand(commandLine: string): TerminalShellExecution
コマンドを実行し、必要に応じて実行中のコマンドを中断するために必要に応じて^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 |
executeCommand(executable: string, args: 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
ターミナルのシェル統合が変更されたことを示すイベント。
プロパティ
shellIntegration: TerminalShellIntegration
シェル統合オブジェクト。
terminal: Terminal
シェル統合がアクティブ化されたターミナル。
TerminalSplitLocationOptions
ターミナルの親Terminalの場所を使用します。
プロパティ
parentTerminal: 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。これはグローバルに一意である必要があります。
items: TestItemCollection
「トップレベル」のTestItemインスタンスのコレクション。これらは独自の子を持つことができ、「テストツリー」を形成します。
拡張機能は、いつテストを追加するかを制御します。たとえば、ファイル内のテストの装飾を表示するために、workspace.onDidOpenTextDocumentが発火したときに、ファイルにテストを追加する必要があります。
ただし、エディタはresolveHandlerを使用して子を明示的に要求する場合があります。詳細については、そのメソッドのドキュメントを参照してください。
テストコントローラーの人間が読めるラベル。
refreshHandler: (token: CancellationToken) => void | Thenable<void>
このメソッドが存在する場合、UIに更新ボタンが表示され、クリックされるとこのメソッドが呼び出されます。呼び出された場合、拡張機能はワークスペースをスキャンして、新しいテスト、変更されたテスト、または削除されたテストを検出する必要があります。
拡張機能は、たとえばFileSystemWatcherを使用して、テストをリアルタイムで更新し、このメソッドをフォールバックとして使用することをお勧めします。
| パラメーター | 説明 |
|---|---|
| token: CancellationToken | |
| 戻り値 | 説明 |
| void | Thenable<void> | テストが更新されたときに解決されるthenable。 |
resolveHandler?: (item: TestItem) => void | Thenable<void>
TestItem.canResolveChildrenがtrueの場合、エディタがテストアイテムの子を要求するために呼び出す可能性がある拡張機能が提供する関数。呼び出された場合、アイテムは子を発見し、子が見つかるとTestController.createTestItemを呼び出す必要があります。
通常、拡張機能がテスト項目のライフサイクルを管理しますが、特定の状況では、エディタが特定の項目の子を読み込むよう要求することがあります。たとえば、エディタをリロードした後にテストを再実行するようユーザーが要求した場合、エディタは以前に実行されたテストを解決するためにこのメソッドを呼び出す必要がある場合があります。
関数が返るか、返されたthenableが解決されるまで、エクスプローラ内の項目は自動的に「ビジー」とマークされます。
メソッド
createRunProfile(label: string, kind: TestRunProfileKind, runHandler: (request: TestRunRequest, token: CancellationToken) => void | Thenable<void>, isDefault?: boolean, tag?: TestTag, supportsContinuousRun?: boolean): TestRunProfile
テストを実行するために使用されるプロファイルを作成します。テストを実行するには、拡張機能が少なくとも1つのプロファイルを作成する必要があります。
| パラメーター | 説明 |
|---|---|
| label: string | このプロファイルの人間が読めるラベル。 |
| kind: TestRunProfileKind | このプロファイルが管理する実行の種類を設定します。 |
| runHandler: (request: TestRunRequest, token: CancellationToken) => void | Thenable<void> | テスト実行を開始するために呼び出される関数。 |
| isDefault?: boolean | これがその種別に対するデフォルトアクションであるかどうか。 |
| tag?: TestTag | プロファイルのテストタグ。 |
| supportsContinuousRun?: boolean | プロファイルが継続的な実行をサポートしているかどうか。 |
| 戻り値 | 説明 |
| TestRunProfile | このコントローラーに自動的に関連付けられているTestRunProfileのインスタンス。 |
createTestItem(id: string, label: string, uri?: Uri): TestItem
新しい管理されたTestItemインスタンスを作成します。既存のアイテムのTestItem.children、またはTestController.itemsに追加できます。
| パラメーター | 説明 |
|---|---|
| id: string | TestItemの識別子。テストアイテムのIDは、追加されるTestItemCollection内で一意である必要があります。 |
| label: string | テスト項目の人間が読めるラベル。 |
| uri?: Uri | このTestItemが関連付けられているURI。ファイルまたはディレクトリである場合があります。 |
| 戻り値 | 説明 |
| TestItem |
createTestRun(request: TestRunRequest, name?: string, persist?: boolean): TestRun
TestRunを作成します。これは、テスト実行要求があったときにTestRunProfileによって呼び出される必要があり、外部でテスト実行が検出された場合にも呼び出すことができます。作成されると、要求に含まれるテストはキューに入れられた状態に移行します。
同じ`request`インスタンスを使用して作成されたすべての実行はグループ化されます。これは、たとえば、単一のテストスイートが複数のプラットフォームで実行される場合に役立ちます。
| パラメーター | 説明 |
|---|---|
| request: TestRunRequest | テスト実行要求。 |
| name?: string | 実行の人間が読める名前。これは、テスト実行における複数の結果セットを区別するために使用できます。たとえば、テストが複数のプラットフォームで実行される場合に便利です。 |
| persist?: boolean | 実行によって作成された結果がエディターに保持されるべきかどうか。これは、カバレッジ情報ファイルなどのように、結果が既に外部に保存されているファイルからのものである場合、false になることがあります。 |
| 戻り値 | 説明 |
| TestRun | TestRunのインスタンス。このメソッドが呼び出された瞬間からTestRun.endが呼び出されるまで「実行中」と見なされます。 |
テストコントローラーの登録を解除し、関連するテストと未保存の結果を破棄します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
invalidateTestResults(items?: TestItem | readonly TestItem[]): void
アイテムの結果を期限切れとしてマークします。これは通常、コードや設定が変更され、以前の結果がもはや関連性がないと見なされるべきではない場合に呼び出されます。結果を期限切れとしてマークするために使用されるのと同じロジックは、継続的なテスト実行を駆動するために使用されることがあります。
このメソッドに項目が渡された場合、その項目とそのすべての子のテスト結果は期限切れとしてマークされます。項目が渡されない場合、TestControllerが所有するすべてのテストは期限切れとしてマークされます。
このメソッドが呼び出される前(進行中の実行を含む)に開始されたすべてのテスト実行は、古くなったとマークされ、エディタのUIでの優先順位が下がります。
TestCoverageCount
カバーされたリソースに関する情報を含むクラス。ファイル内の行、ブランチ、宣言に対してカウントを与えることができます。
コンストラクター
new TestCoverageCount(covered: number, total: number): TestCoverageCount
| パラメーター | 説明 |
|---|---|
| covered: number | |
| total: number | |
| 戻り値 | 説明 |
| TestCoverageCount |
プロパティ
ファイル内でカバーされたアイテムの数。
ファイル内のカバーされたアイテムの合計数。
TestItem
「テストエクスプローラー」ビューに表示される項目。
TestItemは、テストスイートまたはテスト自体を表すことができます。どちらも同様の機能を持つためです。
プロパティ
テストエクスプローラービューで項目が「ビジー」として表示されるかどうかを制御します。これは、子を検出する間のステータスを表示するのに役立ちます。
デフォルトはfalseです。
このテスト項目が、解決によって子を検出できるかどうかを示します。
trueの場合、この項目はテストエクスプローラービューで展開可能として表示され、項目を展開すると、TestController.resolveHandlerが項目とともに呼び出されます。
デフォルトはfalseです。
children: TestItemCollection
このテスト項目の子。テストスイートの場合、個々のテストケースまたはネストされたスイートが含まれる場合があります。
ラベルの横に表示されるオプションの説明。
error: string | MarkdownString
テストのロード中に発生したオプションのエラー。
これはテスト結果ではなく、構文エラーなどのテスト検出におけるエラーを表すためにのみ使用されるべきであることに注意してください。
TestItemの識別子。これは、ワークスペース(テストエクスプローラー)内のテスト結果とドキュメント内のテストを関連付けるために使用されます。TestItemのライフタイム中は変更できず、親の直接の子の中で一意である必要があります。
テストケースを記述する表示名。
parent: TestItem
このアイテムの親。自動的に設定され、TestController.items内のトップレベルアイテムや、まだ他のアイテムの子に含まれていないアイテムの場合は未定義になります。
range: Range
uri内のテストアイテムの場所。
これは、uriがファイルを指している場合にのみ意味があります。
この項目を他の項目と比較するときに使用すべき文字列。falsyの場合、ラベルが使用されます。
tags: readonly TestTag[]
このテスト項目に関連付けられたタグ。タグと組み合わせて使用したり、単に組織的な機能として使用したりできます。
uri: Uri
このTestItemに関連付けられたURI。ファイルまたはディレクトリである場合があります。
TestItemCollection
TestItem.childrenおよびTestController.itemsにあるテスト項目のコレクション。
プロパティ
コレクション内の項目数を取得します。
メソッド
add(item: TestItem): void
テスト項目を子に追加します。同じIDの項目が既に存在する場合、それは置き換えられます。
| パラメーター | 説明 |
|---|---|
| item: TestItem | 追加する項目。 |
| 戻り値 | 説明 |
| void |
コレクションから単一のテスト項目を削除します。
| パラメーター | 説明 |
|---|---|
| itemId: string | 削除する項目ID。 |
| 戻り値 | 説明 |
| void |
forEach(callback: (item: TestItem, collection: TestItemCollection) => unknown, thisArg?: any): void
このコレクションの各エントリを反復処理します。
| パラメーター | 説明 |
|---|---|
| callback: (item: TestItem, collection: TestItemCollection) => unknown | 各エントリに対して実行する関数。 |
| thisArg?: any | ハンドラ関数を呼び出すときに使用される `this` コンテキスト。 |
| 戻り値 | 説明 |
| void |
get(itemId: string): TestItem
子コレクション内に存在する場合、IDでテスト項目を効率的に取得します。
| パラメーター | 説明 |
|---|---|
| itemId: string | 取得するアイテムID。 |
| 戻り値 | 説明 |
| TestItem | 見つかったアイテム、または存在しない場合は未定義。 |
replace(items: readonly TestItem[]): void
コレクションに格納されているアイテムを置き換えます。
| パラメーター | 説明 |
|---|---|
| items: readonly TestItem[] | 格納するアイテム。 |
| 戻り値 | 説明 |
| void |
TestMessage
テスト状態に関連付けられたメッセージ。特定のソース範囲にリンクできます。たとえば、アサーション失敗に役立ちます。
Static
diff(message: string | MarkdownString, expected: string, actual: string): TestMessage
エディターで差分として表示される新しいTestMessageを作成します。
| パラメーター | 説明 |
|---|---|
| message: string | MarkdownString | ユーザーに表示するメッセージ。 |
| expected: string | 期待される出力。 |
| actual: string | 実際の出力。 |
| 戻り値 | 説明 |
| TestMessage |
コンストラクター
new TestMessage(message: string | MarkdownString): 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"
}
]
}
}
コマンドは、以下を含むオブジェクトで呼び出されます。
test: メッセージが関連付けられているTestItem (もしそれがまだTestController.itemsコレクションに存在する場合)。message: TestMessageインスタンス。
期待されるテスト出力。actualOutput と一緒に指定すると、差分ビューが表示されます。
location?: Location
関連付けられたファイルの位置。
message: string | MarkdownString
表示する人間が読めるメッセージテキスト。
stackTrace?: TestMessageStackFrame[]
メッセージまたは失敗に関連付けられたスタックトレース。
TestMessageStackFrame
TestMessage.stackTraceで見つかったスタックフレーム。
コンストラクター
new TestMessageStackFrame(label: string, uri?: Uri, position?: Position): TestMessageStackFrame
| パラメーター | 説明 |
|---|---|
| label: string | スタックフレームの名前 |
| uri?: Uri | |
| position?: Position | ファイル内のスタックフレームの位置 |
| 戻り値 | 説明 |
| TestMessageStackFrame |
プロパティ
スタックフレームの名前。通常はメソッド名または関数名です。
position?: Position
ファイル内のスタックフレームの位置。
uri?: Uri
このスタックフレームの場所。コールフレームの場所がエディターからアクセスできる場合は、URIとして提供する必要があります。
TestRun
TestRunは、進行中または完了したテスト実行を表し、実行中の個々のテストの状態を報告するメソッドを提供します。
イベント
onDidDispose: Event<void>
エディタがテスト実行に関連付けられたデータに関心がなくなったときに発生するイベント。
プロパティ
テスト実行がエディターによってリロード後も保持されるかどうか。
実行の人間が読める名前。これは、テスト実行における複数の結果セットを区別するために使用できます。たとえば、テストが複数のプラットフォームで実行される場合に便利です。
token: CancellationToken
UIからテスト実行がキャンセルされたときにトリガーされるキャンセルトークン。
メソッド
addCoverage(fileCoverage: FileCoverage): void
実行中のファイルにカバレッジを追加します。
| パラメーター | 説明 |
|---|---|
| fileCoverage: FileCoverage | |
| 戻り値 | 説明 |
| void |
appendOutput(output: string, location?: Location, test?: TestItem): void
テストランナーからの生の出力を追加します。ユーザーの要求に応じて、出力はターミナルに表示されます。色やテキストスタイルなどのANSIエスケープシーケンスがサポートされています。改行はLF (\n)ではなくCRLF (\r\n)として指定する必要があります。
テスト実行の終了を通知します。実行に含まれているテストで、状態が更新されていないものは、状態がリセットされます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
enqueued(test: TestItem): void
テストが後の実行のためにキューに入れられたことを示します。
| パラメーター | 説明 |
|---|---|
| test: TestItem | 更新するテスト項目。 |
| 戻り値 | 説明 |
| void |
errored(test: TestItem, message: TestMessage | readonly TestMessage[], duration?: number): void
テストでエラーが発生したことを示します。失敗を説明するために1つ以上のTestMessagesを渡す必要があります。これは「失敗」状態とは異なり、コンパイルエラーなどにより、まったく実行できなかったテストを示します。
| パラメーター | 説明 |
|---|---|
| test: TestItem | 更新するテスト項目。 |
| message: TestMessage | readonly TestMessage[] | テスト失敗に関連付けられたメッセージ。 |
| duration?: number | テストの実行にかかった時間 (ミリ秒単位)。 |
| 戻り値 | 説明 |
| void |
failed(test: TestItem, message: TestMessage | readonly TestMessage[], duration?: number): void
テストが失敗したことを示します。失敗を説明するために1つ以上のTestMessagesを渡す必要があります。
| パラメーター | 説明 |
|---|---|
| test: TestItem | 更新するテスト項目。 |
| message: TestMessage | readonly TestMessage[] | テスト失敗に関連付けられたメッセージ。 |
| duration?: number | テストの実行にかかった時間 (ミリ秒単位)。 |
| 戻り値 | 説明 |
| void |
passed(test: TestItem, duration?: number): void
テストがパスしたことを示します。
| パラメーター | 説明 |
|---|---|
| test: TestItem | 更新するテスト項目。 |
| duration?: number | テストの実行にかかった時間 (ミリ秒単位)。 |
| 戻り値 | 説明 |
| void |
skipped(test: TestItem): void
テストがスキップされたことを示します。
| パラメーター | 説明 |
|---|---|
| test: TestItem | 更新するテスト項目。 |
| 戻り値 | 説明 |
| void |
started(test: TestItem): void
テストの実行が開始されたことを示します。
| パラメーター | 説明 |
|---|---|
| test: TestItem | 更新するテスト項目。 |
| 戻り値 | 説明 |
| void |
TestRunProfile
TestRunProfileは、TestControllerでテストを実行する1つの方法を記述します。
イベント
onDidChangeDefault: Event<boolean>
ユーザーがこのプロファイルをデフォルトにするかどうかを変更したときに発生します。イベントにはisDefaultの新しい値が含まれます。
プロパティ
このメソッドが存在する場合、UIに設定ギアが表示され、クリックされるとこのメソッドが呼び出されます。呼び出された場合、クイックピックの表示や設定ファイルのオープンなど、他のエディターアクションを実行できます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
このプロファイルが、その種別が実行されたときに実行されるデフォルトのアクションであるかどうかを制御します。たとえば、ユーザーが汎用的な「すべて実行」ボタンをクリックした場合、TestRunProfileKind.Runのデフォルトプロファイルが実行されますが、ユーザーはこれを設定できます。
ユーザーがデフォルトプロファイルで行った変更は、onDidChangeDefaultイベント後にこのプロパティに反映されます。
kind: TestRunProfileKind
このプロファイルが制御する実行の種類を設定します。特定の種類のプロファイルが存在しない場合、UIでは利用できません。
UIにユーザーに表示されるラベル。
ユーザーが特定の実行方法でテストを再実行するように要求した場合、このラベルにはある程度の意味があることに注意してください。たとえば、通常実行されたテストをユーザーがデバッグモードで再実行するように要求した場合、エディターは`Debug`種別の同じラベルを持つ構成を使用しようとします。そのような構成がない場合は、デフォルトが使用されます。
loadDetailedCoverage?: (testRun: TestRun, fileCoverage: FileCoverage, token: CancellationToken) => Thenable<FileCoverageDetail[]>
ファイルの詳細なステートメントレベルおよび関数レベルのカバレッジを提供する、拡張機能が提供する関数。この関数は、エディターでファイルを開いたり、「テストカバレッジ」ビューで展開したりするなど、ファイルの詳細が必要な場合にエディターによって呼び出されます。
この関数に渡されるFileCoverageオブジェクトは、このプロファイルに関連付けられたTestRun.addCoverage呼び出しで発行されたインスタンスと同じです。
| パラメーター | 説明 |
|---|---|
| testRun: TestRun | |
| fileCoverage: FileCoverage | |
| token: CancellationToken | |
| 戻り値 | 説明 |
| Thenable<FileCoverageDetail[]> |
loadDetailedCoverageForTest?: (testRun: TestRun, fileCoverage: FileCoverage, fromTestItem: TestItem, token: CancellationToken) => Thenable<FileCoverageDetail[]>
ファイル内の単一のテストに対して詳細なステートメントレベルおよび関数レベルのカバレッジを提供する、拡張機能が提供する関数。これは、FileCoverage.includesTestsにテスト項目が提供され、かつそのようなデータが報告されるファイルに対してのみ呼び出される、TestRunProfile.loadDetailedCoverageのテストごとの兄弟です。
通常、ユーザーがファイルを開くと最初にTestRunProfile.loadDetailedCoverageが呼び出され、その後、ユーザーが特定のテストごとのカバレッジ情報にドリルダウンした場合にこのメソッドが呼び出されます。このメソッドは、実行中に特定のテストによって実行されたステートメントと宣言に対するカバレッジデータのみを返す必要があります。
この関数に渡されるFileCoverageオブジェクトは、このプロファイルに関連付けられたTestRun.addCoverage呼び出しで発行されたインスタンスと同じです。
| パラメーター | 説明 |
|---|---|
| testRun: TestRun | カバレッジデータを生成したテスト実行。 |
| fileCoverage: FileCoverage | 詳細なカバレッジをロードする対象のファイルカバレッジオブジェクト。 |
| fromTestItem: TestItem | カバレッジ情報を要求するテスト項目。 |
| token: CancellationToken | 操作をキャンセルする必要があることを示すキャンセルトークン。 |
| 戻り値 | 説明 |
| Thenable<FileCoverageDetail[]> |
runHandler: (request: TestRunRequest, token: CancellationToken) => void | Thenable<void>
テスト実行を開始するために呼び出されるハンドラ。呼び出されると、関数は少なくとも1回TestController.createTestRunを呼び出す必要があり、要求に関連付けられたすべてのテスト実行は、関数が返るか、返されたPromiseが解決される前に作成される必要があります。
supportsContinuousRunが設定されている場合、TestRunRequest.continuousはtrueになる可能性があります。この場合、プロファイルはソースコードの変更を監視し、tokenに対するキャンセルが要求されるまで、TestController.createTestRunを呼び出すことで新しいテスト実行を作成する必要があります。
| パラメーター | 説明 |
|---|---|
| request: TestRunRequest | テスト実行のリクエスト情報。 |
| token: CancellationToken | |
| 戻り値 | 説明 |
| void | Thenable<void> |
supportsContinuousRun: boolean
このプロファイルが継続的なリクエスト実行をサポートするかどうか。サポートする場合、TestRunRequest.continuousはtrueに設定されることがあります。デフォルトはfalseです。
tag: TestTag
プロファイルに関連付けられたタグ。これが設定されている場合、同じタグを持つTestItemインスタンスのみがこのプロファイルで実行可能になります。
メソッド
実行プロファイルを削除します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
TestRunProfileKind
TestRunProfilesが制御する実行の種類。
列挙型メンバー
Runテストプロファイルの種類。
Debugテストプロファイルの種類。
Coverageテストプロファイルの種類。
TestRunRequest
TestRunRequestはTestRunの前駆体であり、これはTestController.createTestRunにリクエストを渡すことで作成されます。TestRunRequestには、実行すべきテスト、実行すべきでないテスト、およびそれらがどのように実行されるか(プロファイルを介して)に関する情報が含まれています。
一般的に、TestRunRequestはエディタによって作成され、TestRunProfile.runHandlerに渡されますが、runHandlerの外部でテストリクエストと実行を作成することもできます。
コンストラクター
new TestRunRequest(include?: readonly TestItem[], exclude?: readonly TestItem[], profile?: TestRunProfile, continuous?: boolean, preserveFocus?: boolean): TestRunRequest
| パラメーター | 説明 |
|---|---|
| include?: readonly TestItem[] | 実行する特定のテストの配列。すべてのテストを実行する場合は未定義。 |
| exclude?: readonly TestItem[] | 実行から除外するテストの配列。 |
| profile?: TestRunProfile | このリクエストに使用される実行プロファイル。 |
| continuous?: boolean | ソース変更時に継続的にテストを実行するかどうか。 |
| preserveFocus?: boolean | 実行開始時にユーザーのフォーカスを維持するかどうか |
| 戻り値 | 説明 |
| TestRunRequest |
プロパティ
ソースコードが変更されたときにプロファイルを継続的に実行するかどうか。これは、TestRunProfile.supportsContinuousRun を設定するプロファイルにのみ関連します。
exclude: readonly TestItem[]
ユーザーがこの実行に含まれるテストから除外としてマークしたテストの配列。除外は包含の後に適用されるべきです。
除外が要求されなかった場合は省略できます。テストコントローラーは、除外されたテスト、または除外されたテストの子をどれも実行すべきではありません。
include: readonly TestItem[]
実行する特定のテストのフィルター。指定された場合、拡張機能は、TestRunRequest.exclude に表示されるテストを除いて、含まれるすべてのテストとそのすべての子を実行する必要があります。このプロパティが未定義の場合、拡張機能は単にすべてのテストを実行する必要があります。
テストを実行するプロセスは、まだ解決されていないテストアイテムの子を解決する必要があります。
テスト結果ビューのフォーカス方法を制御します。trueの場合、エディターはユーザーのフォーカスを維持します。falseの場合、エディターはテスト結果ビューにフォーカスを移動することを優先しますが、これはユーザーが設定できます。
profile: TestRunProfile
このリクエストに使用されるプロファイル。エディターUIから発行されるリクエストでは常に定義されますが、拡張機能はプロファイルに関連付けられていないリクエストをプログラムで作成できます。
TestTag
タグは TestItems および TestRunProfiles に関連付けることができます。タグを持つプロファイルは、TestItem.tags 配列にそのタグを含むテストのみを実行できます。
コンストラクター
new TestTag(id: string): TestTag
新しい 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' のいずれかとして定義されています。
eol: EndOfLine
このドキュメントで主に使用されている 行末 シーケンス。
関連付けられたリソースのファイルシステムパス。TextDocument.uri.fsPath の省略記法です。URIスキームとは無関係です。
ドキュメントが閉じられた場合は true。閉じられたドキュメントは同期されなくなり、同じリソースが再度開かれても再利用されません。
未保存の変更がある場合は true。
このドキュメントがまだ保存されていない無題のファイルを表しているかどうか。*注意*、これはドキュメントがディスクに保存されることを意味しません。Uri.scheme を使用して、ドキュメントがどこに 保存 されるか (例: file、ftp など) を確認してください。
このドキュメントに関連付けられた言語の識別子。
このドキュメントの行数。
uri: Uri
このドキュメントに関連付けられた URI。
*注意* ほとんどのドキュメントは file スキームを使用しており、これはそれらがディスク上のファイルであることを意味します。ただし、すべてのドキュメントがディスクに保存されているわけではないため、基になるファイルやディスク上の兄弟にアクセスしようとする前に scheme を確認する必要があります。
関連項目
このドキュメントのバージョン番号 (元に戻す/やり直すを含む各変更後に厳密に増加します)。
メソッド
getText(range?: Range): string
このドキュメントのテキストを取得します。範囲を指定することで、部分文字列を取得できます。範囲は調整されます。
| パラメーター | 説明 |
|---|---|
| range?: Range | 範囲に含まれるテキストのみ。 |
| 戻り値 | 説明 |
| string | 指定された範囲内のテキスト、またはテキスト全体。 |
getWordRangeAtPosition(position: Position, regex?: RegExp): Range
指定された位置にある単語範囲を取得します。デフォルトでは、単語はスペース、ハイフン、アンダースコアなどの一般的な区切り文字によって定義されます。さらに、言語ごとにカスタムの[単語定義]を定義できます。カスタム正規表現を提供することも可能です。
- 注1: カスタム正規表現は空文字列にマッチしてはならず、マッチした場合は無視されます。
- 注2: カスタム正規表現は複数行の文字列にマッチせず、速度の観点から正規表現はスペースを含む単語にマッチすべきではありません。より複雑な、単語ではないシナリオには TextLine.text を使用してください。
位置は調整されます。
lineAt(line: number): TextLine
行番号で示されるテキスト行を返します。返されたオブジェクトはリアルタイムでは*ない*ため、ドキュメントへの変更は反映されません。
lineAt(position: Position): TextLine
位置で示されるテキスト行を返します。返されたオブジェクトはリアルタイムでは*ない*ため、ドキュメントへの変更は反映されません。
位置は調整されます。
*関連項目* TextDocument.lineAt
offsetAt(position: Position): number
位置をゼロベースのオフセットに変換します。
位置は調整されます。
positionAt(offset: number): Position
ゼロベースのオフセットを位置に変換します。
基になるファイルを保存します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| Thenable<boolean> | ファイルが保存されたときに |
validatePosition(position: Position): Position
validateRange(range: Range): Range
TextDocumentChangeEvent
トランザクション的な ドキュメント の変更を記述するイベント。
プロパティ
contentChanges: readonly TextDocumentContentChangeEvent[]
コンテンツ変更の配列。
document: TextDocument
影響を受けるドキュメント。
reason: TextDocumentChangeReason
ドキュメントが変更された理由。理由が不明な場合は undefined。
TextDocumentChangeReason
テキストドキュメントが変更された理由。
列挙型メンバー
テキストの変更は、元に戻す操作によって発生します。
テキストの変更は、やり直し操作によって発生します。
TextDocumentContentChangeEvent
ドキュメント のテキストにおける個々の変更を記述するイベント。
プロパティ
range: Range
置き換えられた範囲。
置き換えられた範囲の長さ。
置き換えられた範囲のオフセット。
範囲の新しいテキスト。
TextDocumentContentProvider
テキストドキュメントコンテンツプロバイダーは、dllからのソースやmdから生成されたhtmlなど、読み取り専用ドキュメントをエディターに追加することを可能にします。
コンテンツプロバイダーは uriスキーム に 登録 されます。そのスキームを持つURIが ロード されるときにコンテンツプロバイダーに要求されます。
イベント
リソースが変更されたことを示すイベント。
メソッド
provideTextDocumentContent(uri: Uri, token: CancellationToken): ProviderResult<string>
指定されたURIのテキストコンテンツを提供します。
エディターは、返された文字列コンテンツを使用して読み取り専用の ドキュメント を作成します。対応するドキュメントが 閉じられた ときに、割り当てられたリソースは解放されるべきです。
注: 作成された ドキュメント の内容は、行末シーケンスの正規化により、提供されたテキストと同一ではない場合があります。
| パラメーター | 説明 |
|---|---|
| uri: Uri | このプロバイダーが 登録 されたスキームと一致するスキームを持つ URI。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<string> | 文字列またはその文字列に解決されるthenable。 |
TextDocumentSaveReason
テキストドキュメントが保存される理由を表します。
列挙型メンバー
手動でトリガーされたもの。例: ユーザーが保存ボタンを押したり、デバッグを開始したり、API呼び出しによって。
遅延後の自動。
エディターがフォーカスを失ったとき。
TextDocumentShowOptions
プロパティ
true の場合、エディターがフォーカスを取得するのを止めるオプションのフラグ。
エディタータブをプレビューとして表示するかどうかを制御するオプションのフラグ。プレビュータブは、明示的に、または編集によって設定されるまで、置き換えられて再利用されます。
*注意* ユーザーが設定でプレビューエディターを無効にしている場合、このフラグは無視されます。
selection?: Range
エディター内のドキュメントに適用するオプションの選択範囲。
viewColumn?: ViewColumn
エディターを表示するオプションのビュー列。デフォルトは アクティブ です。存在しない列は、ViewColumn.Nine の最大値まで必要に応じて作成されます。現在アクティブなエディターの横にエディターを開くには ViewColumn.Beside を使用します。
TextDocumentWillSaveEvent
プロパティ
document: TextDocument
保存されるドキュメント。
reason: TextDocumentSaveReason
保存がトリガーされた理由。
メソッド
waitUntil(thenable: Thenable<readonly TextEdit[]>): void
イベントループを一時停止し、保存前編集を適用することを許可します。この関数への後続の呼び出しの編集は、順序どおりに適用されます。ドキュメントの同時変更が発生した場合、編集は*無視*されます。
注意: この関数は、イベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことはできません。
workspace.onWillSaveTextDocument(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
waitUntil(thenable: Thenable<any>): void
提供されたthenableが解決されるまでイベントループを一時停止できます。
注意: この関数はイベントディスパッチ中にのみ呼び出すことができます。
| パラメーター | 説明 |
|---|---|
| thenable: Thenable<any> | 保存を遅延させる thenable。 |
| 戻り値 | 説明 |
| void |
TextEdit
ドキュメントに適用されるべき編集を表すテキスト編集。
Static
delete(range: Range): TextEdit
insert(position: Position, newText: string): TextEdit
挿入編集を作成するユーティリティ。
replace(range: Range, newText: string): TextEdit
setEndOfLine(eol: EndOfLine): TextEdit
コンストラクター
new TextEdit(range: Range, newText: string): TextEdit
プロパティ
newEol?: EndOfLine
ドキュメントで使用される行末シーケンス。
*注意*、行末シーケンスはドキュメント全体に適用されます。
この編集が挿入する文字列。
range: Range
この編集が適用される範囲。
TextEditor
ドキュメントにアタッチされたエディターを表します。
プロパティ
document: TextDocument
このテキストエディターに関連付けられたドキュメント。ドキュメントは、このテキストエディターの存続期間全体で同じになります。
options: TextEditorOptions
テキストエディターのオプション。
selection: Selection
このテキストエディター上のプライマリ選択。TextEditor.selections[0] の省略形。
selections: readonly Selection[]
このテキストエディターの選択範囲。プライマリ選択は常にインデックス0にあります。
viewColumn: ViewColumn
このエディターが表示される列。メインエディターの1つではない場合 (例: 埋め込みエディター) またはエディターの列が3を超える場合は undefined になります。
visibleRanges: readonly Range[]
エディターの現在の表示範囲 (垂直方向)。これは垂直スクロールのみを考慮し、水平スクロールは考慮しません。
メソッド
edit(callback: (editBuilder: TextEditorEdit) => void, options?: {undoStopAfter: boolean, undoStopBefore: boolean}): Thenable<boolean>
このテキストエディターに関連付けられたドキュメントに対して編集を実行します。
指定されたコールバック関数は、編集を行うために使用する必要がある エディットビルダー で呼び出されます。エディットビルダーは、コールバックが実行されている間のみ有効であることに注意してください。
| パラメーター | 説明 |
|---|---|
| callback: (editBuilder: TextEditorEdit) => void | エディットビルダーを使用して編集を作成できる関数。 |
| options?: {undoStopAfter: boolean, undoStopBefore: boolean} | この編集に関する元に戻す/やり直す動作。デフォルトでは、この編集の前後に元に戻す停止が作成されます。 |
| 戻り値 | 説明 |
| Thenable<boolean> | 編集が適用できたかどうかを示す値に解決されるプロミス。 |
テキストエディターを非表示にします。
- 非推奨 - 代わりにコマンド
workbench.action.closeActiveEditorを使用してください。このメソッドは予期しない動作を示し、次回のメジャーアップデートで削除されます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
insertSnippet(snippet: SnippetString, location?: Range | Position | readonly Range[] | readonly Position[], options?: {keepWhitespace: boolean, undoStopAfter: boolean, undoStopBefore: boolean}): Thenable<boolean>
スニペットを挿入し、エディターをスニペットモードにします。「スニペットモード」とは、エディターがプレースホルダーと追加のカーソルを追加し、ユーザーがスニペットを完了または受け入れることができるようにすることを意味します。
| パラメーター | 説明 |
|---|---|
| snippet: SnippetString | この編集で挿入するスニペット。 |
| location?: Range | Position | readonly Range[] | readonly Position[] | スニペットを挿入する位置または範囲。デフォルトは現在のエディターの選択範囲または複数の選択範囲です。 |
| options?: {keepWhitespace: boolean, undoStopAfter: boolean, undoStopBefore: boolean} | この編集に関する元に戻す/やり直す動作。デフォルトでは、この編集の前後に元に戻す停止が作成されます。 |
| 戻り値 | 説明 |
| Thenable<boolean> | スニペットを挿入できたかどうかを示す値に解決されるプロミス。プロミスは、スニペットが完全に埋め込まれたり受け入れられたりしたことを示すものではないことに注意してください。 |
revealRange(range: Range, revealType?: TextEditorRevealType): void
指定された範囲を表示するために、revealTypeで示されるようにスクロールします。
| パラメーター | 説明 |
|---|---|
| range: Range | 範囲。 |
| revealType?: TextEditorRevealType |
|
| 戻り値 | 説明 |
| void |
setDecorations(decorationType: TextEditorDecorationType, rangesOrOptions: readonly Range[] | readonly DecorationOptions[]): void
テキストエディターに一連の装飾を追加します。指定された装飾タイプで一連の装飾がすでに存在する場合、それらは置き換えられます。rangesOrOptionsが空の場合、指定された装飾タイプの既存の装飾は削除されます。
*関連項目* createTextEditorDecorationType。
| パラメーター | 説明 |
|---|---|
| decorationType: TextEditorDecorationType | 装飾タイプ。 |
| rangesOrOptions: readonly Range[] | readonly DecorationOptions[] | |
| 戻り値 | 説明 |
| void |
show(column?: ViewColumn): void
テキストエディターを表示します。
- *非推奨* - 代わりに window.showTextDocument を使用してください。
| パラメーター | 説明 |
|---|---|
| column?: ViewColumn | このエディターを表示する 列。このメソッドは予期しない動作を示し、次回のメジャーアップデートで削除されます。 |
| 戻り値 | 説明 |
| void |
TextEditorCursorStyle
カーソルのレンダリングスタイル。
列挙型メンバー
カーソルを垂直の太線としてレンダリングします。
カーソルを塗りつぶされたブロックとしてレンダリングします。
カーソルを太い水平線としてレンダリングします。
カーソルを垂直の細線としてレンダリングします。
カーソルをブロックのアウトラインとしてレンダリングします。
カーソルを細い水平線としてレンダリングします。
TextEditorDecorationType
テキストエディターで同じスタイルオプションを共有する装飾のセットへのハンドルを表します。
TextEditorDecorationType のインスタンスを取得するには、createTextEditorDecorationType を使用します。
プロパティ
ハンドルの内部表現。
メソッド
この装飾タイプと、それを使用しているすべてのテキストエディター上のすべての装飾を削除します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
TextEditorEdit
TextEditor で単一のトランザクションとして適用される複雑な編集。これには編集の説明が保持されており、編集が有効な場合(つまり、重複する領域がなく、ドキュメントがその間に変更されていないなど)、テキストエディターに関連付けられたドキュメントに適用できます。
メソッド
delete(location: Range | Selection): void
insert(location: Position, value: string): void
指定した位置にテキストを挿入します。value に \r\n または \n を使用でき、それらは現在の ドキュメント に合わせて正規化されます。replace を使用しても同じテキスト編集を行えますが、insert は異なる結果選択(移動される)を生成します。
| パラメーター | 説明 |
|---|---|
| location: Position | 新しいテキストが挿入される位置。 |
| value: string | この操作が挿入する新しいテキスト。 |
| 戻り値 | 説明 |
| void |
replace(location: Range | Position | Selection, value: string): void
特定のテキスト領域を新しい値に置き換えます。value に \r\n または \n を使用でき、それらは現在の ドキュメント に合わせて正規化されます。
setEndOfLine(endOfLine: EndOfLine): void
TextEditorLineNumbersStyle
行番号のレンダリングスタイル。
列挙型メンバー
行番号をレンダリングしません。
行番号をレンダリングします。
プライマリカーソル位置に対して相対的な値で行番号をレンダリングします。
10行ごとに線番号をレンダリングします。
TextEditorOptions
プロパティ
cursorStyle?: TextEditorCursorStyle
このエディターにおけるカーソルのレンダリングスタイル。テキストエディターのオプションを取得する場合、このプロパティは常に存在します。テキストエディターのオプションを設定する場合、このプロパティはオプションです。
insertSpaces が true のときに挿入するスペースの数。
テキストエディターのオプションを取得する場合、このプロパティは常に数値(解決済み)になります。テキストエディターのオプションを設定する場合、このプロパティはオプションであり、数値または "tabSize" にすることができます。
insertSpaces?: string | boolean
Tabキーを押すと n スペースを挿入します。テキストエディターのオプションを取得する場合、このプロパティは常にブール値(解決済み)になります。テキストエディターのオプションを設定する場合、このプロパティはオプションであり、ブール値または "auto" にすることができます。
lineNumbers?: TextEditorLineNumbersStyle
現在の行番号に対して相対的な行番号をレンダリングします。テキストエディターのオプションを取得する場合、このプロパティは常に存在します。テキストエディターのオプションを設定する場合、このプロパティはオプションです。
タブが占めるスペースのサイズ。これは2つの目的で使用されます。
- タブ文字のレンダリング幅;
- insertSpaces が true で
indentSizeが"tabSize"に設定されている場合に挿入するスペースの数。
テキストエディターのオプションを取得する場合、このプロパティは常に数値(解決済み)になります。テキストエディターのオプションを設定する場合、このプロパティはオプションであり、数値または "auto" にすることができます。
TextEditorOptionsChangeEvent
テキストエディターのオプションの変更を記述するイベントを表します。
プロパティ
options: TextEditorOptions
テキストエディターのオプションの新しい値。
textEditor: TextEditor
オプションが変更されたテキストエディター。
TextEditorRevealType
テキストエディターにおけるさまざまな 表示 戦略を表します。
列挙型メンバー
範囲は可能な限り少ないスクロールで表示されます。
範囲は常にビューポートの中央に表示されます。
範囲がビューポートの外側にある場合、ビューポートの中央に表示されます。それ以外の場合は、可能な限り少ないスクロールで表示されます。
範囲は常にビューポートの最上部に表示されます。
TextEditorSelectionChangeEvent
テキストエディターの選択範囲の変更を記述するイベントを表します。
プロパティ
kind: TextEditorSelectionChangeKind
このイベントをトリガーした 変更の種類。undefined の可能性があります。
selections: readonly Selection[]
テキストエディターの選択範囲の新しい値。
textEditor: TextEditor
選択範囲が変更されたテキストエディター。
TextEditorSelectionChangeKind
選択範囲変更イベントを引き起こす可能性のあるソースを表します。
列挙型メンバー
エディターへの入力による選択範囲の変更。
エディターでのクリックによる選択範囲の変更。
コマンド実行による選択範囲の変更。
TextEditorViewColumnChangeEvent
テキストエディターのビュー列の変更を記述するイベントを表します。
プロパティ
textEditor: TextEditor
ビュー列が変更されたテキストエディター。
viewColumn: ViewColumn
テキストエディターのビュー列の新しい値。
TextEditorVisibleRangesChangeEvent
テキストエディターの表示範囲の変更を記述するイベントを表します。
プロパティ
textEditor: TextEditor
表示範囲が変更されたテキストエディター。
visibleRanges: readonly Range[]
テキストエディターの表示範囲の新しい値。
TextLine
ソースコードの行のような、テキストの行を表します。
TextLine オブジェクトは **不変** です。ドキュメント が変更されても、以前に取得された行は最新の状態を表しません。
プロパティ
firstNonWhitespaceCharacterIndex: number
/\s/ で定義される空白文字ではない最初の文字のオフセット。**注意**、行がすべて空白の場合、行の長さが返されます。
この行が空白文字のみであるかどうか、TextLine.firstNonWhitespaceCharacterIndex === TextLine.text.length の省略形。
ゼロベースの行番号。
range: Range
行区切り文字を含まないこの行がカバーする範囲。
rangeIncludingLineBreak: Range
行区切り文字を含むこの行がカバーする範囲。
行区切り文字を含まないこの行のテキスト。
ThemableDecorationAttachmentRenderOptions
プロパティ
backgroundColor?: string | ThemeColor
装飾アタッチメントに適用されるCSSスタイルプロパティ。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
borderColor?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
color?: string | ThemeColor
装飾アタッチメントに適用されるCSSスタイルプロパティ。
contentIconPath?: string | Uri
アタッチメントにレンダリングする画像の **絶対パス** または URI。アイコンまたはテキストのいずれかを表示できますが、両方を表示することはできません。
アタッチメントに表示されるテキストコンテンツを定義します。アイコンまたはテキストのいずれかを表示できますが、両方を表示することはできません。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
ThemableDecorationInstanceRenderOptions
装飾インスタンスのテーマ対応レンダリングオプションを表します。
プロパティ
after?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。
before?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。
ThemableDecorationRenderOptions
テキストエディターの装飾のテーマ固有のレンダリングスタイルを表します。
プロパティ
after?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。
backgroundColor?: string | ThemeColor
デコレーションの背景色。他のデコレーションと調和するように、rgba() を使用して透明な背景色を定義してください。あるいは、カラーレジストリから色を参照することもできます。
before?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
borderColor?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のボーダープロパティを1つ以上設定するには、「border」を使用する方が良いでしょう。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のボーダープロパティを1つ以上設定するには、「border」を使用する方が良いでしょう。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のボーダープロパティを1つ以上設定するには、「border」を使用する方が良いでしょう。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のボーダープロパティを1つ以上設定するには、「border」を使用する方が良いでしょう。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のボーダープロパティを1つ以上設定するには、「border」を使用する方が良いでしょう。
color?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
gutterIconPath?: string | Uri
ガターにレンダリングされる画像の絶対パスまたはURI。
ガターアイコンのサイズを指定します。「auto」、「contain」、「cover」および任意のパーセンテージ値が使用可能です。詳細については、https://msdn.microsoft.com/en-us/library/jj127316(v=vs.85).aspxを参照してください。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
outlineColor?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のアウトラインプロパティを1つ以上設定するには、「outline」を使用する方が良いでしょう。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のアウトラインプロパティを1つ以上設定するには、「outline」を使用する方が良いでしょう。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個別のアウトラインプロパティを1つ以上設定するには、「outline」を使用する方が良いでしょう。
overviewRulerColor?: string | ThemeColor
概要ルーラーのデコレーションの色。rgba() を使用して透明な色を定義し、他のデコレーションと調和させてください。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
ThemeColor
https://vscode.dokyumento.jp/api/references/theme-color で定義されているワークベンチカラーのいずれかへの参照。カスタムカラーよりもテーマカラーを使用することが推奨されます。これにより、テーマ作者とユーザーが色を変更する可能性が与えられるためです。
コンストラクター
new ThemeColor(id: string): ThemeColor
テーマカラーへの参照を作成します。
| パラメーター | 説明 |
|---|---|
| id: string | 色の。利用可能な色は https://vscode.dokyumento.jp/api/references/theme-color に記載されています。 |
| 戻り値 | 説明 |
| ThemeColor |
プロパティ
この色のID。
ThemeIcon
名前付きアイコンへの参照。現在、ファイル、フォルダー、およびThemeIcon id がサポートされています。カスタムアイコンよりもテーマアイコンを使用することが推奨されます。これにより、製品テーマ作者がアイコンを変更する可能性が与えられるためです。
*注意* テーマアイコンはラベルや説明の中にもレンダリングできます。テーマアイコンをサポートする場所はこれを明記し、$(<name>) の構文を使用します。例えば、quickPick.label = "Hello World $(globe)"。
Static
File: ThemeIcon
ファイルを表すアイコンへの参照。アイコンは現在のファイルアイコンテーマから取得されるか、プレースホルダーアイコンが使用されます。
Folder: ThemeIcon
フォルダーを表すアイコンへの参照。アイコンは現在のファイルアイコンテーマから取得されるか、プレースホルダーアイコンが使用されます。
コンストラクター
new ThemeIcon(id: string, color?: ThemeColor): ThemeIcon
テーマアイコンへの参照を作成します。
| パラメーター | 説明 |
|---|---|
| id: string | アイコンの ID。利用可能なアイコンは、https://vscode.dokyumento.jp/api/references/icons-in-labels#icon-listingにリストされています。 |
| color?: ThemeColor | アイコンのオプションの |
| 戻り値 | 説明 |
| ThemeIcon |
プロパティ
color?: ThemeColor
アイコンのオプションのThemeColor。この色は現在、TreeItemでのみ使用されています。
アイコンのID。利用可能なアイコンは、https://vscode.dokyumento.jp/api/references/icons-in-labels#icon-listingにリストされています。
TreeCheckboxChangeEvent<T>
ツリーアイテムのチェックボックスの状態の変更を記述するイベント。
プロパティ
items: ReadonlyArray<[T, TreeItemCheckboxState]>
チェックまたはチェック解除されたアイテム。
TreeDataProvider<T>
ツリーデータを提供するデータプロバイダー
イベント
onDidChangeTreeData?: Event<void | T | T[]>
要素またはルートが変更されたことを通知するオプションのイベントです。これにより、ビューは変更された要素/ルートとその子を再帰的に(表示されている場合)更新します。ルートが変更されたことを通知するには、引数を渡さないか、undefinedまたはnullを渡します。
メソッド
getChildren(element?: T): ProviderResult<T[]>
elementの子、または要素が渡されない場合はルートの子を取得します。
| パラメーター | 説明 |
|---|---|
| element?: T | プロバイダーが子を取得する要素。 |
| 戻り値 | 説明 |
| ProviderResult<T[]> |
|
getParent(element: T): ProviderResult<T>
elementの親を返すオプションのメソッド。elementがルートの子の場合はnullまたはundefinedを返します。
注:このメソッドは、reveal APIにアクセスするために実装する必要があります。
| パラメーター | 説明 |
|---|---|
| element: T | 親を返す必要のある要素。 |
| 戻り値 | 説明 |
| ProviderResult<T> |
|
getTreeItem(element: T): TreeItem | Thenable<TreeItem>
elementのTreeItem表現を取得します。
resolveTreeItem(item: TreeItem, element: T, token: CancellationToken): ProviderResult<TreeItem>
ホバー時にTreeItemプロパティが未定義の場合に解決するために呼び出されます。ツリーアイテムのクリック/オープン時にTreeItemプロパティが未定義の場合に解決するために呼び出されます。resolveTreeItemで解決できるのは未定義のプロパティのみです。機能は後で拡張され、選択時および/またはオープン時に他の不足しているプロパティを解決するために呼び出される可能性があります。
TreeItemごとに一度だけ呼び出されます。
onDidChangeTreeDataはresolveTreeItem内からトリガーされるべきではありません。
注意: この関数はツリーアイテムがすでにUIに表示されているときに呼び出されます。そのため、表示を変更するプロパティ(ラベル、説明など)は変更できません。
| パラメーター | 説明 |
|---|---|
| item: TreeItem |
|
| element: T | TreeItemに関連付けられたオブジェクト。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<TreeItem> | 解決されたツリーアイテム、またはそれに解決するthenable。与えられた |
TreeDragAndDropController<T>
TreeViewでのドラッグアンドドロップをサポートします。
プロパティ
dragMimeTypes: readonly string[]
このTreeDragAndDropControllerのhandleDragメソッドがツリーデータ転送に追加する可能性のあるMIMEタイプ。これは、よく定義された既存のMIMEタイプ、および拡張機能によって定義されたMIMEタイプである可能性があります。
推奨されるツリーのMIMEタイプ(application/vnd.code.tree.)は自動的に追加されます。
dropMimeTypes: readonly string[]
このDragAndDropControllerのhandleDropメソッドがサポートするMIMEタイプ。これは、よく定義された既存のMIMEタイプ、および拡張機能によって定義されたMIMEタイプである可能性があります。
ツリーからのドロップをサポートするには、そのツリーのMIMEタイプを追加する必要があります。これには、同じツリー内からのドロップも含まれます。ツリーのMIMEタイプは、application/vnd.code.tree.の形式であることが推奨されます。
ファイルの実際のMIMEタイプに関係なく、あらゆる種類のドロップされたファイルをサポートするには、特別なfilesMIMEタイプを使用します。
ドラッグされたアイテムのMIMEタイプを知るには
DragAndDropControllerをセットアップします- 開発者: ログレベルを設定...コマンドを使用してレベルを「デバッグ」に設定します
- 開発者ツールを開き、不明なMIMEタイプのアイテムをツリーの上にドラッグします。MIMEタイプは開発者コンソールに記録されます。
拡張機能に送信できないMIMEタイプは省略されることに注意してください。
メソッド
handleDrag(source: readonly T[], dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>
ユーザーがこの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> |
handleDrop(target: T, dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>
ドラッグ&ドロップアクションの結果、このDragAndDropControllerが属するツリーにドロップされたときに呼び出されます。
拡張機能は、更新が必要な要素に対してonDidChangeTreeDataを発生させる必要があります。
| パラメーター | 説明 |
|---|---|
| target: T | ドロップが発生しているターゲットツリー要素。未定義の場合、ターゲットはルートです。 |
| dataTransfer: DataTransfer | ドラッグのソースのデータ転送項目。 |
| token: CancellationToken | ドロップがキャンセルされたことを示すキャンセル・トークン。 |
| 戻り値 | 説明 |
| void | Thenable<void> |
TreeItem
ツリー項目は、ツリーのUI要素です。ツリー項目はデータプロバイダーによって作成されます。
コンストラクター
new TreeItem(label: string | TreeItemLabel, collapsibleState?: TreeItemCollapsibleState): TreeItem
| パラメーター | 説明 |
|---|---|
| label: string | TreeItemLabel | このアイテムを説明する人間が読める文字列 |
| collapsibleState?: TreeItemCollapsibleState | ツリーアイテムのTreeItemCollapsibleState。デフォルトはTreeItemCollapsibleState.Noneです。 |
| 戻り値 | 説明 |
| TreeItem |
new TreeItem(resourceUri: Uri, collapsibleState?: TreeItemCollapsibleState): TreeItem
| パラメーター | 説明 |
|---|---|
| resourceUri: Uri | このアイテムを表すリソースのUri。 |
| collapsibleState?: TreeItemCollapsibleState | ツリーアイテムのTreeItemCollapsibleState。デフォルトはTreeItemCollapsibleState.Noneです。 |
| 戻り値 | 説明 |
| TreeItem |
プロパティ
accessibilityInformation?: AccessibilityInformation
スクリーンリーダーがこのツリー項目と対話するときに使用されるアクセシビリティ情報。一般的に、TreeItemはaccessibilityInformationのroleを設定する必要はありませんが、TreeItemがツリー状に表示されない場合にroleを設定することが意味をなす場合があります。
checkboxState?: TreeItemCheckboxState | {accessibilityInformation: AccessibilityInformation, state: TreeItemCheckboxState, tooltip: string}
ツリーアイテムのTreeItemCheckboxState。checkboxStateが変更されたときにonDidChangeTreeDataを発生させる必要があります。
collapsibleState?: TreeItemCollapsibleState
ツリー項目が折りたたみ可能かどうかを表すTreeItemCollapsibleState。
command?: Command
ツリー項目が選択されたときに実行されるCommand。
ツリー項目がエディターで何かを開く場合は、コマンド ID として vscode.open または vscode.diff を使用してください。これらのコマンドを使用すると、結果のエディターが他の組み込みツリーがエディターを開く方法と一貫して表示されます。
ツリーアイテムのコンテキスト値。これはツリー内でアイテム固有のアクションを提供するために使用できます。例えば、ツリーアイテムにfolderというコンテキスト値が与えられた場合、menus拡張ポイントを使用してview/item/contextにアクションを提供するときに、when式でキーviewItemにviewItem == folderのようなコンテキスト値を指定できます。
"contributes": {
"menus": {
"view/item/context": [
{
"command": "extension.deleteFolder",
"when": "viewItem == folder"
}
]
}
}
これにより、contextValueがfolderであるアイテムに対してのみアクションextension.deleteFolderが表示されます。
description?: string | boolean
人間が読める文字列で、より目立たないようにレンダリングされます。trueの場合、resourceUriから派生し、falsyの場合、表示されません。
iconPath?: string | IconPath
ツリーアイテムのアイコンパスまたはThemeIcon。falsyの場合、アイテムが折りたたみ可能であればFolder Theme Iconが割り当てられ、そうでなければFile Theme Iconが割り当てられます。ファイルまたはフォルダーのThemeIconが指定されている場合、アイコンは指定されたテーマアイコンの現在のファイルアイコンテーマからresourceUri(提供されている場合)を使用して派生します。
ツリー全体で一意である必要があるツリー項目にオプションのIDです。IDはツリー項目の選択状態と展開状態を保持するために使用されます。
提供されない場合、IDはツリーアイテムのラベルを使用して生成されます。**注意**:ラベルが変更されるとIDも変更され、選択状態と展開状態は安定して維持できなくなります。
label?: string | TreeItemLabel
この項目を記述する人間が読める文字列。falsyの場合、resourceUriから派生します。
resourceUri?: Uri
tooltip?: string | MarkdownString
このアイテムにマウスオーバーしたときに表示されるツールチップのテキスト。
TreeItemCheckboxState
ツリーアイテムのチェックボックス状態
列挙型メンバー
アイテムがチェックされていないことを示します
アイテムがチェック済みであることを示します
TreeItemCollapsibleState
ツリーアイテムの折りたたみ状態
列挙型メンバー
項目が折りたたんだり展開したりできないことを決定します。子がないことを意味します。
アイテムが折りたたまれていることを示します
アイテムが展開されていることを示します
TreeItemLabel
Tree itemを記述するラベル
プロパティ
highlights?: Array<[number, number]>
ラベル内で強調表示する範囲。範囲は、最初の数値が開始インデックス(含む)、2番目の数値が終了インデックス(排他的)である2つの数値のタプルとして定義されます。
ツリーアイテムを記述する人間が読める文字列。
TreeView<T>
ツリービューを表します
イベント
onDidChangeCheckboxState: Event<TreeCheckboxChangeEvent<T>>
要素またはルートがチェックまたはチェック解除されたことを通知するイベント。
onDidChangeSelection: Event<TreeViewSelectionChangeEvent<T>>
選択が変更されたときに発生するイベント
onDidChangeVisibility: Event<TreeViewVisibilityChangeEvent>
可視性が変更されたときに発生するイベント
onDidCollapseElement: Event<TreeViewExpansionEvent<T>>
要素が折りたたまれたときに発生するイベント
onDidExpandElement: Event<TreeViewExpansionEvent<T>>
要素が展開されたときに発生するイベント
プロパティ
badge?: ViewBadge
このTreeViewに表示するバッジ。バッジを削除するには、undefinedに設定します。
ビューのタイトルでより目立たないようにレンダリングされる、人間が読める任意の記述。タイトルの記述をnull、undefined、または空の文字列に設定すると、ビューから記述が削除されます。
ビューに表示される、人間が読める任意のメッセージ。メッセージを null、undefined、または空の文字列に設定すると、ビューからメッセージが削除されます。
現在選択されている要素。
ツリービューのタイトルは、最初は拡張機能の package.json から取得されます。title プロパティの変更は、ビューのタイトルにある UI に適切に反映されます。
ツリービューが可視の場合はtrue、それ以外の場合はfalse。
メソッド
このオブジェクトを破棄します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| any |
reveal(element: T, options?: {expand: number | boolean, focus: boolean, select: boolean}): Thenable<void>
ツリービューで指定された要素を表示します。ツリービューが非表示の場合は、ツリービューが表示され、要素が表示されます。
デフォルトでは、表示された要素は選択されます。選択しないようにするには、オプションselectをfalseに設定します。フォーカスするには、オプションfocusをtrueに設定します。表示された要素を展開するには、オプションexpandをtrueに設定します。再帰的に展開するには、expandを展開するレベルの数に設定します。
- 注意:最大で3レベルまでしか展開できません。
- 注意:このAPIにアクセスするには、TreeViewが登録されているTreeDataProviderがgetParentメソッドを実装している必要があります。
| パラメーター | 説明 |
|---|---|
| element: T | |
| options?: {expand: number | boolean, focus: boolean, select: boolean} | |
| 戻り値 | 説明 |
| Thenable<void> |
TreeViewExpansionEvent<T>
TreeView内の要素が展開または折りたたまれたときに発生するイベント
プロパティ
展開または折りたたまれた要素。
TreeViewOptions<T>
TreeViewを作成するためのオプション
プロパティ
ツリーが複数選択をサポートするかどうか。ツリーが複数選択をサポートし、ツリーからコマンドが実行される場合、コマンドの最初の引数はコマンドが実行されたツリー項目であり、2番目の引数は選択されたすべてのツリー項目を含む配列です。
dragAndDropController?: TreeDragAndDropController<T>
ツリービューでドラッグアンドドロップを実装するためのオプションのインターフェース。
manageCheckboxStateManually?: boolean
デフォルトでは、ツリーアイテムの子がすでにフェッチされている場合、子チェックボックスは親ツリーアイテムのチェック状態に基づいて自動的に管理されます。ツリーアイテムがデフォルトで折りたたまれている場合(つまり、子がまだフェッチされていない場合)、子チェックボックスは更新されません。この動作をオーバーライドし、拡張機能で子と親のチェックボックス状態を管理するには、これをtrueに設定します。
TreeViewOptions.manageCheckboxStateManuallyがfalseの場合の例(デフォルトの動作)
ツリー項目がチェックされ、その後その子項目がフェッチされます。子項目はチェックされます。
ツリーアイテムの親がチェックされました。ツリーアイテムとそのすべての兄弟がチェックされます。
- 親
- 子1
- 子2 ユーザーが親をチェックすると、ツリーはこのようになります
- 親
- 子1
- 子2
- ツリー項目とそのすべての兄弟がチェックされます。親もチェックされます。
- 親
- 子1
- 子2 ユーザーが子1と子2をチェックすると、ツリーはこのようになります。
- 親
- 子1
- 子2
- ツリー項目がチェック解除されました。親はチェック解除されます。
- 親
- 子1
- 子2 ユーザーが子1のチェックを外すと、ツリーはこのようになります。
- 親
- 子1
- 子2
すべてを折りたたむアクションを表示するかどうか。
treeDataProvider: TreeDataProvider<T>
ツリーデータを提供するデータプロバイダー。
TreeViewSelectionChangeEvent<T>
ツリービューの選択に変更があったときに発生するイベント
プロパティ
選択された要素。
TreeViewVisibilityChangeEvent
ツリービューの可視性に変更があったときに発生するイベント
プロパティ
ツリービューが可視の場合はtrue、それ以外の場合はfalse。
TypeDefinitionProvider
型定義プロバイダーは、拡張機能と型定義機能間の契約を定義します。
メソッド
provideTypeDefinition(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>
指定された位置とドキュメントにあるシンボルの型定義を提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<Definition | LocationLink[]> | 定義またはそれに解決されるthenable。結果がない場合は、 |
TypeHierarchyItem
クラスやインターフェースなど、型階層の項目を表します。
コンストラクター
new TypeHierarchyItem(kind: SymbolKind, name: string, detail: string, uri: Uri, range: Range, selectionRange: Range): TypeHierarchyItem
新しい型階層項目を作成します。
| パラメーター | 説明 |
|---|---|
| kind: SymbolKind | 項目の種類。 |
| name: string | アイテムの名前。 |
| detail: string | アイテムの詳細。 |
| uri: Uri | アイテムのUri。 |
| range: Range | アイテムの全範囲。 |
| selectionRange: Range | アイテムの選択範囲。 |
| 戻り値 | 説明 |
| TypeHierarchyItem |
プロパティ
この項目の詳細情報。例: 関数のシグネチャ。
kind: SymbolKind
この項目の種類。
この項目の名前。
range: Range
先頭/末尾の空白は含まないが、コメントやコードなどその他すべてを含む、このシンボルを囲む範囲。
selectionRange: Range
このシンボルが選択されたり表示されたりするときに選択および表示されるべき範囲。たとえば、クラスの名前などです。rangeプロパティに含まれている必要があります。
tags?: readonly SymbolTag[]
この項目用のタグ。
uri: Uri
この項目のリソース識別子。
TypeHierarchyProvider
型階層プロバイダーインターフェースは、拡張機能と型階層機能間の契約を記述します。
メソッド
prepareTypeHierarchy(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<TypeHierarchyItem | TypeHierarchyItem[]>
指定されたドキュメントと位置で示される項目を返すことで、型階層をブートストラップします。この項目は型グラフへの入り口として使用されます。指定された位置に項目がない場合、プロバイダーはundefinedまたはnullを返す必要があります。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<TypeHierarchyItem | TypeHierarchyItem[]> | 1つ以上の型階層アイテム、またはそれらに解決されるthenable。結果がないことは、 |
provideTypeHierarchySubtypes(item: TypeHierarchyItem, token: CancellationToken): ProviderResult<TypeHierarchyItem[]>
項目のすべてのサブタイプ、たとえば、指定された項目から派生/継承されたすべての型を提供します。グラフ用語では、これは型グラフ内の指向性のある注釈付きエッジを記述します。たとえば、指定された項目が開始ノードであり、結果は到達可能なノードです。
| パラメーター | 説明 |
|---|---|
| item: TypeHierarchyItem | サブタイプを計算する階層アイテム。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<TypeHierarchyItem[]> | 直接のサブタイプのセット、またはそれに解決されるthenable。結果がないことは、 |
provideTypeHierarchySupertypes(item: TypeHierarchyItem, token: CancellationToken): ProviderResult<TypeHierarchyItem[]>
項目のすべてのスーパータイプ、たとえば、型が派生/継承されているすべての型を提供します。グラフ用語では、これは型グラフ内の指向性のある注釈付きエッジを記述します。たとえば、指定された項目が開始ノードであり、結果は到達可能なノードです。
| パラメーター | 説明 |
|---|---|
| item: TypeHierarchyItem | スーパータイプを計算する階層項目。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<TypeHierarchyItem[]> | 直接のスーパータイプのセット、またはそれに解決されるthenable。結果がないことは、 |
UIKind
拡張機能を使用できるUIの可能な種類。
列挙型メンバー
拡張機能はデスクトップアプリケーションからアクセスされます。
拡張機能はWebブラウザからアクセスされます。
Uri
ディスク上のファイルまたは無題のリソースなどの別のリソースを表すユニバーサルリソース識別子。
Static
file(path: string): Uri
ファイルシステムパスからURIを作成します。スキームはfileになります。
Uri.parse と Uri.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インスタンス。 |
from(components: {authority: string, fragment: string, path: string, query: string, scheme: string}): Uri
コンポーネント部分からURIを作成する
参照: Uri.toString
| パラメーター | 説明 |
|---|---|
| components: {authority: string, fragment: string, path: string, query: string, scheme: string} | Uriのコンポーネントパーツ。 |
| 戻り値 | 説明 |
| Uri | 新しいUriインスタンス。 |
joinPath(base: Uri, ...pathSegments: string[]): Uri
ベースURIのパスと指定されたパスセグメントを結合した結果のパスを持つ新しいURIを作成します。
- 注意1:
joinPathはパスコンポーネントのみに影響し、その他のすべてのコンポーネント (スキーム、権限、クエリ、フラグメント) はそのまま残されます。 - 注意2: ベースURIはパスを持つ必要があります。そうでない場合、エラーがスローされます。
パスセグメントは以下の方法で正規化されます。
- パス区切り文字(
/または\)の連続は単一の区切り文字に置き換えられます。 - Windows上の
file-urisの場合、バックスラッシュ文字(``)はパスセパレータとみなされます。 ..セグメントは親セグメントを、.は現在のセグメントを示します。- パスには常にルートがあり、例えばWindowsではドライブレターがルートであるため、
joinPath(Uri.file('file:///c:/root'), '../../other').fsPath === 'c:/other'が真となります。
parse(value: string, strict?: boolean): Uri
文字列からURIを作成します。例: http://www.example.com/some/path、file:///usr/home、またはscheme:with/path。
注意: しばらくの間、schemeを持たないURIも受け入れられていましたが、すべてのURIはスキームを持つべきであるため、これは正しくありません。既存のコードの破損を避けるために、オプションのstrict引数が追加されました。Uri.parse('my:uri', true)のように、これを使用することを強くお勧めします。
参照: Uri.toString
| パラメーター | 説明 |
|---|---|
| value: string | URIの文字列値。 |
| strict?: boolean |
|
| 戻り値 | 説明 |
| Uri | 新しいUriインスタンス。 |
コンストラクター
new Uri(scheme: string, authority: string, path: string, query: string, fragment: string): Uri
新しいUriオブジェクトを作成するには、fileおよびparseファクトリ関数を使用します。
| パラメーター | 説明 |
|---|---|
| scheme: string | |
| authority: string | |
| path: string | |
| query: string | |
| fragment: string | |
| 戻り値 | 説明 |
| Uri |
プロパティ
権限は、http://www.example.com/some/path?query#fragmentのwww.example.comの部分です。最初の二重スラッシュと次のスラッシュの間の部分です。
フラグメントは、http://www.example.com/some/path?query#fragmentのfragment部分です。
このUriに対応するファイルシステムパスを表す文字列。
UNCパスを処理し、Windowsのドライブレターを小文字に正規化します。また、プラットフォーム固有のパス区切り文字を使用します。
- 無効な文字やセマンティクスについてはパスを検証しません。
- このUriのスキームを考慮しません。
- 結果の文字列は表示目的で使用すべきではなく、
readFileなどのディスク操作に使用すべきです。
pathプロパティとの違いは、プラットフォーム固有のパス区切り文字の使用とUNCパスの処理です。以下のサンプルでその違いを説明します。
const u = URI.parse('file://server/c$/folder/file.txt');
u.authority === 'server';
u.path === '/c$/folder/file.txt';
u.fsPath === '\\serverc$\folder\file.txt';
パスは、http://www.example.com/some/path?query#fragmentの/some/path部分です。
クエリは、http://www.example.com/some/path?query#fragmentのquery部分です。
スキームは、http://www.example.com/some/path?query#fragmentのhttp部分です。最初のコロンより前の部分です。
メソッド
このUriのJSON表現を返します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| any | オブジェクト。 |
toString(skipEncoding?: boolean): string
このUriの文字列表現を返します。URIの表現と正規化はスキームによって異なります。
- 結果の文字列は、Uri.parseで安全に使用できます。
- 結果の文字列は表示目的で使用すべきではありません。
注意:実装は積極的にエンコードするため、予期しないが誤りではない結果を招くことがよくあります。例えば、コロンは%3Aにエンコードされ、ファイルURIでは予期しないかもしれません。また、&と=もエンコードされ、HTTP URIでは予期しないかもしれません。安定性の理由から、これはもはや変更できません。過剰なエンコードに悩まされる場合は、skipEncoding引数を使用してください:uri.toString(true)。
| パラメーター | 説明 |
|---|---|
| skipEncoding?: boolean | 結果をパーセンテージエンコードしない。デフォルトは |
| 戻り値 | 説明 |
| string | このUriの文字列表現。 |
with(change: {authority: string, fragment: string, path: string, query: string, scheme: 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への変更を記述するオブジェクト。コンポーネントを設定解除するには、 |
| 戻り値 | 説明 |
| Uri | 与えられた変更を反映した新しいUri。変更が何も変わらない場合は |
UriHandler
URIハンドラーは、システム全体のURIを処理する責任があります。
関連項目: window.registerUriHandler。
メソッド
handleUri(uri: Uri): ProviderResult<void>
指定されたシステム全体のUriを処理します。
関連項目: window.registerUriHandler。
| パラメーター | 説明 |
|---|---|
| uri: Uri | |
| 戻り値 | 説明 |
| ProviderResult<void> |
ViewBadge
ビューに値を表示するバッジ
プロパティ
バッジのツールチップに表示するラベル。
バッジに表示する値。
ViewColumn
ウィンドウ内のエディターの位置を表します。エディターはグリッドに配置でき、各列はグリッド内のエディターの表示順に数えて1つのエディター位置を表します。
列挙型メンバー
アクティブな列の横にある列を表す記号的なエディター列。この値はエディターを開くときに使用できますが、エディターの解決されたviewColumn値は常にOne、Two、Three、...またはundefinedであり、決してBesideではありません。
現在アクティブな列を表す記号的なエディター列。この値はエディターを開くときに使用できますが、エディターの解決されたviewColumn値は常にOne、Two、Three、...またはundefinedであり、決してActiveではありません。
最初のエディタ列。
2番目のエディタ列。
3番目のエディタ列。
4番目のエディタ列。
5番目のエディタ列。
6番目のエディタ列。
7番目のエディタ列。
8番目のエディタ列。
9番目のエディタ列。
Webview
iframeと同様に、HTMLコンテンツを表示します。
イベント
onDidReceiveMessage: Event<any>
ウェブビューコンテンツがメッセージを投稿したときに発生します。
Webviewコンテンツは、文字列またはJSONシリアル化可能なオブジェクトを拡張機能に投稿できます。メッセージを受信する拡張機能はブラウザ環境で実行されないため、Blob、File、ImageDataなどの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にリストされていることを確認してください。
ウェブビューはサンドボックス化されていますが、スクリプトの実行や任意のコンテンツの読み込みは可能です。したがって、拡張機能はウェブビューと連携する際に、すべての標準的なウェブセキュリティのベストプラクティスに従う必要があります。これには、すべての信頼できない入力(ワークスペースからのコンテンツを含む)を適切にサニタイズし、コンテンツセキュリティポリシーを設定することが含まれます。
options: WebviewOptions
ウェブビューのコンテンツ設定。
メソッド
asWebviewUri(localResource: Uri): Uri
ローカルファイルシステムのURIをウェブビュー内で使用できるURIに変換します。
Webviewは、file: URIを使用してワークスペースまたはローカルファイルシステムからリソースを直接読み込むことはできません。asWebviewUri関数は、ローカルのfile: URIを受け取り、同じリソースを読み込むためにWebview内で使用できるURIに変換します。
webview.html = `<img src="${webview.asWebviewUri(
vscode.Uri.file('/Users/codey/workspace/cat.gif')
)}">`;
postMessage(message: any): Thenable<boolean>
ウェブビューコンテンツにメッセージを投稿します。
メッセージは、ウェブビューがライブ状態(表示されているか、retainContextWhenHiddenが設定されてバックグラウンドにあるか)の場合にのみ配信されます。
| パラメーター | 説明 |
|---|---|
| message: any | メッセージの本文。これは文字列またはその他のJSONシリアル化可能なオブジェクトである必要があります。 古いバージョンのVS Codeでは、 ただし、拡張機能の |
| 戻り値 | 説明 |
| Thenable<boolean> | メッセージがウェブビューに投稿されたとき、またはメッセージが配信不能なために破棄されたときに解決されるプロミス。 メッセージがウェブビューに投稿された場合は
メッセージが実際に受信されたことを確認したい場合は、ウェブビューから拡張機能に確認メッセージを投稿するように試みることができます。 |
WebviewOptions
ウェブビューのコンテンツ設定。
プロパティ
enableCommandUris?: boolean | readonly string[]
ウェブビューコンテンツでコマンドURIを有効にするかどうかを制御します。
デフォルトはfalse(コマンドURIは無効)です。
配列を渡すと、配列内のコマンドのみが許可されます。
ウェブビューコンテンツでフォームを有効にするかどうかを制御します。
スクリプトが有効になっている場合、デフォルトはtrueです。それ以外の場合、デフォルトはfalseです。このプロパティを明示的にtrueまたはfalseに設定すると、デフォルトがオーバーライドされます。
ウェブビューコンテンツでスクリプトを有効にするかどうかを制御します。
デフォルトはfalse(スクリプト無効)です。
localResourceRoots?: readonly Uri[]
ウェブビューがasWebviewUriからのURIを使用してローカル(ファイルシステム)リソースを読み込むことができるルートパス
現在のワークスペースのルートフォルダーと拡張機能のインストールディレクトリがデフォルトです。
ローカルリソースへのアクセスを一切許可しない場合は、空の配列を渡します。
portMapping?: readonly WebviewPortMapping[]
ウェブビュー内で使用されるlocalhostポートのマッピング。
ポートマッピングを使用すると、ウェブビューがlocalhostポートをどのように解決するかを透過的に定義できます。これは、ウェブビュー内で静的なlocalhostポートを使用し、サービスが実行されているランダムなポートに解決されるようにするために使用できます。
ウェブビューがlocalhostコンテンツにアクセスする場合、webviewPortとextensionHostPortポートが同じであっても、ポートマッピングを指定することをお勧めします。
注:ポートマッピングはhttpまたはhttpsのURLでのみ機能します。WebSocket URL(例:ws://:3000)は別のポートにマップできません。
WebviewPanel
ウェブビューを含むパネル。
イベント
onDidChangeViewState: Event<WebviewPanelOnDidChangeViewStateEvent>
パネルのビュー状態が変更されたときに発生します。
onDidDispose: Event<void>
パネルが破棄されたときに発生します。
これは、ユーザーがパネルを閉じたか、.dispose()が呼び出されたためかもしれません。
破棄されたパネルを使用しようとすると、例外がスローされます。
プロパティ
パネルがアクティブ(ユーザーによってフォーカスされている)かどうか。
iconPath?: Uri | {dark: Uri, light: Uri}
UIに表示されるパネルのアイコン。
options: WebviewPanelOptions
ウェブビューパネルのコンテンツ設定。
UIに表示されるパネルのタイトル。
viewColumn: ViewColumn
パネルのエディター位置。このプロパティは、ウェブビューがいずれかのエディタービュー列にある場合にのみ設定されます。
'markdown.preview'など、ウェブビューパネルの種類を識別します。
パネルが表示されているかどうか。
webview: Webview
パネルに属するWebview。
メソッド
Webviewパネルを破棄します。
これにより、表示されている場合はパネルが閉じられ、Webviewが所有するリソースが破棄されます。Webviewパネルは、ユーザーがWebviewパネルを閉じるときにも破棄されます。どちらの場合も、onDisposeイベントが発生します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| any |
reveal(viewColumn?: ViewColumn, preserveFocus?: boolean): void
指定された列にWebviewパネルを表示します。
Webviewパネルは一度に1つの列にのみ表示できます。すでに表示されている場合、このメソッドは新しい列に移動します。
| パラメーター | 説明 |
|---|---|
| viewColumn?: ViewColumn | パネルを表示するビュー列。未定義の場合は現在の |
| preserveFocus?: boolean |
|
| 戻り値 | 説明 |
| void |
WebviewPanelOnDidChangeViewStateEvent
Webviewパネルのビュー状態が変更されたときに発生するイベント。
プロパティ
webviewPanel: WebviewPanel
ビュー状態が変更されたWebviewパネル。
WebviewPanelOptions
Webviewパネルのコンテンツ設定。
プロパティ
パネルで検索ウィジェットが有効になっているかどうかを制御します。
デフォルトはfalseです。
retainContextWhenHidden?: boolean
パネルが非表示になっても、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を復元できます。
メソッド
deserializeWebviewPanel(webviewPanel: WebviewPanel, state: T): Thenable<void>
シリアライズされたstateからWebviewパネルを復元します。
シリアライズされたWebviewが初めて表示されたときに呼び出されます。
| パラメーター | 説明 |
|---|---|
| webviewPanel: WebviewPanel | 復元するWebviewパネル。シリアライザはこのパネルの所有権を取得する必要があります。シリアライザは、Webviewの |
| state: T | Webviewコンテンツから永続化された状態。 |
| 戻り値 | 説明 |
| Thenable<void> | Webviewが完全に復元されたことを示すThenable。 |
WebviewPortMapping
Webview内部のlocalhostに使用されるポートマッピングを定義します。
プロパティ
宛先ポート。webviewPortはこのポートに解決されます。
Webview内部で再マップするlocalhostポート。
WebviewView
Webviewベースのビュー。
イベント
onDidChangeVisibility: Event<void>
ビューの可視性が変更されたときに発生するイベント。
可視性の変更をトリガーするアクション
- ビューが折りたたまれたり展開されたりした。
- ユーザーがサイドバーまたはパネルで別のビューグループに切り替えた。
コンテキストメニューを使用してビューを非表示にすると、ビューが破棄され、onDidDisposeが発生することに注意してください。
onDidDispose: Event<void>
ビューが破棄されたときに発生するイベント。
ビューは、ユーザーによって明示的に非表示にされたときに破棄されます(これは、ユーザーがビュー内で右クリックし、webviewビューのチェックを外したときに発生します)。
破棄されたビューを使用しようとすると、例外がスローされます。
プロパティ
badge?: ViewBadge
このWebviewビューに表示するバッジ。バッジを削除するには、未定義に設定します。
タイトルに目立たなくレンダリングされる、人間が読める文字列。
UIに表示されるビュータイトル。
ビュータイトルは、最初に拡張機能のpackage.json貢献から取得されます。
'hexEditor.dataView'など、Webviewビューのタイプを識別します。
Webviewが現在表示されているかどうかを追跡します。
ビューは、画面に表示され、展開されている場合に可視になります。
webview: Webview
ビューの基になるWebview。
メソッド
show(preserveFocus?: boolean): void
UIでビューを明らかにします。
ビューが折りたたまれている場合、これにより展開されます。
| パラメーター | 説明 |
|---|---|
| preserveFocus?: boolean |
|
| 戻り値 | 説明 |
| void |
WebviewViewProvider
WebviewView要素を作成するためのプロバイダー。
メソッド
resolveWebviewView(webviewView: WebviewView, context: WebviewViewResolveContext<unknown>, token: CancellationToken): void | Thenable<void>
Webviewビューを解決します。
resolveWebviewViewは、ビューが最初に表示されたときに呼び出されます。これは、ビューが最初にロードされたとき、またはユーザーがビューを非表示にしてから再度表示したときに発生する可能性があります。
| パラメーター | 説明 |
|---|---|
| webviewView: WebviewView | 復元するWebviewビュー。プロバイダーはこのビューの所有権を取得する必要があります。プロバイダーは、Webviewの |
| context: WebviewViewResolveContext<unknown> | 解決されるビューに関する追加のメタデータ。 |
| token: CancellationToken | 提供されているビューが不要になったことを示すキャンセル トークン。 |
| 戻り値 | 説明 |
| void | Thenable<void> | ビューが完全に解決されたことを示すオプションのThenable。 |
WebviewViewResolveContext<T>
解決されるWebviewビューに関する追加情報。
プロパティ
Webviewコンテンツから永続化された状態。
リソースを節約するため、エディターは通常、表示されていないWebviewドキュメント(iframeコンテンツ)を解放します。たとえば、ユーザーがビューを折りたたんだり、サイドバーで別のトップレベルのアクティビティに切り替えたりすると、WebviewView自体は生きたままですが、Webviewの基になるドキュメントは解放されます。ビューが再び表示されると、再作成されます。
この動作は、WebviewOptionsでretainContextWhenHiddenを設定することで防ぐことができます。ただし、これによりリソース使用量が増加するため、可能な限り避けるべきです。代わりに、永続化された状態を使用してWebviewの状態を保存し、必要に応じて迅速に再作成できるようにすることができます。
永続化された状態を保存するには、Webview内で任意のJSONシリアライズ可能なオブジェクトでacquireVsCodeApi().setState()を呼び出します。状態を再度復元するには、getState()を呼び出します。たとえば、
// Within the webview
const vscode = acquireVsCodeApi();
// Get existing state
const oldState = vscode.getState() || { value: 0 };
// Update state
setState({ value: oldState.value + 1 });
エディターは、Webviewが非表示になったとき、およびエディターの再起動後も永続化された状態が正しく保存されることを保証します。
WindowState
ウィンドウの状態を表します。
プロパティ
最近ウィンドウが操作されたかどうか。これは、アクティビティが発生するとすぐに、またはユーザーの非アクティブ状態が短い時間続くと変更されます。
現在のウィンドウがフォーカスされているかどうか。
WorkspaceConfiguration
設定を表します。これは、次の統合されたビューです。
- 既定の設定
- グローバル(ユーザー)設定
- ワークスペース設定
- ワークスペースフォルダー設定 - 要求されたリソースが属するワークスペースフォルダーのいずれかから。
- 言語設定 - 要求された言語で定義された設定。
実効値(getで返される)は、次の順序で値を上書きまたはマージして計算されます。
defaultValue(package.jsonで定義されている場合、そうでなければ値の型から派生)globalValue(定義されている場合)workspaceValue(定義されている場合)workspaceFolderValue(定義されている場合)defaultLanguageValue(定義されている場合)globalLanguageValue(定義されている場合)workspaceLanguageValue(定義されている場合)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 | 値 |
get<T>(section: string, defaultValue: T): T
この設定から値を返します。
| パラメーター | 説明 |
|---|---|
| section: string | 構成名で、ドット区切り名をサポートします。 |
| defaultValue: T | 値が見つからない場合に返される値は |
| 戻り値 | 説明 |
| T | 値 |
この設定に特定の値があるかどうかを確認します。
| パラメーター | 説明 |
|---|---|
| section: string | 構成名で、ドット区切り名をサポートします。 |
| 戻り値 | 説明 |
| boolean | セクションが |
inspect<T>(section: string): {defaultLanguageValue: T, defaultValue: T, globalLanguageValue: T, globalValue: T, key: string, languageIds: string[], workspaceFolderLanguageValue: T, workspaceFolderValue: T, workspaceLanguageValue: T, workspaceValue: T}
設定値に関するすべての情報を取得します。設定値は、多くの場合、デフォルト値、グローバルまたはインストール全体の値、ワークスペース固有の値、フォルダー固有の値、および言語固有の値(WorkspaceConfigurationが言語にスコープされている場合)で構成されます。
また、指定された設定が定義されているすべての言語IDも提供します。
注: 設定名は設定ツリーのリーフを示す必要があります(editor.fontSize対editor)。そうでない場合、結果は返されません。
| パラメーター | 説明 |
|---|---|
| section: string | 構成名で、ドット区切り名をサポートします。 |
| 戻り値 | 説明 |
| {defaultLanguageValue: T, defaultValue: T, globalLanguageValue: T, globalValue: T, key: string, languageIds: string[], workspaceFolderLanguageValue: T, workspaceFolderValue: T, workspaceLanguageValue: T, workspaceValue: T} | 設定値に関する情報、または |
update(section: string, value: any, configurationTarget?: boolean | ConfigurationTarget, overrideInLanguage?: boolean): Thenable<void>
設定値を更新します。更新された設定値は永続化されます。
値は次の場所で変更できます。
- グローバル設定: エディターのすべてのインスタンスの値を変更します。
- ワークスペース設定: 利用可能な場合、現在のワークスペースの値を変更します。
- ワークスペースフォルダー設定: 要求されたリソースが属するワークスペースフォルダーのいずれかの設定値を変更します。
- 言語設定: 要求されたlanguageIdの値を変更します。
注: 設定値を削除するには、undefinedを使用します。例: config.update('somekey', undefined)
- スローされるエラー - 更新中にエラーが発生した場合。
- 登録されていない設定。
- ウィンドウ設定からワークスペースフォルダーへ
- ワークスペースが開いていない場合のワークスペースまたはワークスペースフォルダーへの設定。
- ワークスペースフォルダー設定がない場合のワークスペースフォルダーへの設定。
- WorkspaceConfigurationがリソースにスコープされていない場合のワークスペースフォルダーへの設定。
| パラメーター | 説明 |
|---|---|
| section: string | 構成名で、ドット区切り名をサポートします。 |
| value: any | 新しい値。 |
| configurationTarget?: boolean | ConfigurationTarget | 設定ターゲットまたはブール値。 - |
| overrideInLanguage?: boolean | 要求された言語IDのスコープ内で値を更新するかどうか。 - |
| 戻り値 | 説明 |
| Thenable<void> |
WorkspaceEdit
ワークスペース編集は、複数のリソースとドキュメントに対するテキストとファイルの変更の集合です。
ワークスペース編集を適用するには、applyEdit関数を使用します。
コンストラクター
new WorkspaceEdit(): WorkspaceEdit
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| WorkspaceEdit |
プロパティ
テキストまたはリソースの変更の影響を受けるリソースの数。
メソッド
createFile(uri: Uri, options?: {contents: Uint8Array | DataTransferFile, ignoreIfExists: boolean, overwrite: boolean}, metadata?: WorkspaceEditEntryMetadata): void
通常のファイルを作成します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | 新しいファイルのUri。 |
| options?: {contents: Uint8Array | DataTransferFile, ignoreIfExists: boolean, overwrite: boolean} | 既存のファイルを上書きするか、無視するかを定義します。 |
| metadata?: WorkspaceEditEntryMetadata | エントリのオプションのメタデータ。 |
| 戻り値 | 説明 |
| void |
delete(uri: Uri, range: Range, metadata?: WorkspaceEditEntryMetadata): void
指定された範囲のテキストを削除します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | リソース識別子。 |
| range: Range | 範囲。 |
| metadata?: WorkspaceEditEntryMetadata | エントリのオプションのメタデータ。 |
| 戻り値 | 説明 |
| void |
deleteFile(uri: Uri, options?: {ignoreIfNotExists: boolean, recursive: boolean}, metadata?: WorkspaceEditEntryMetadata): void
ファイルまたはフォルダーを削除します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | 削除するファイルのuri。 |
| options?: {ignoreIfNotExists: boolean, recursive: boolean} | |
| metadata?: WorkspaceEditEntryMetadata | エントリのオプションのメタデータ。 |
| 戻り値 | 説明 |
| void |
entries(): Array<[Uri, TextEdit[]]>
リソース別にグループ化されたすべてのテキスト編集を取得します。
has(uri: Uri): boolean
リソースのテキスト編集が存在するかどうかを確認します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | リソース識別子。 |
| 戻り値 | 説明 |
| boolean | この編集によって指定されたリソースが影響を受ける場合は |
insert(uri: Uri, position: Position, newText: string, metadata?: WorkspaceEditEntryMetadata): void
指定された位置に指定されたテキストを挿入します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | リソース識別子。 |
| position: Position | 位置。 |
| newText: string | 文字列。 |
| metadata?: WorkspaceEditEntryMetadata | エントリのオプションのメタデータ。 |
| 戻り値 | 説明 |
| void |
renameFile(oldUri: Uri, newUri: Uri, options?: {ignoreIfExists: boolean, overwrite: boolean}, metadata?: WorkspaceEditEntryMetadata): void
ファイルまたはフォルダの名前を変更します。
| パラメーター | 説明 |
|---|---|
| oldUri: Uri | 既存のファイル。 |
| newUri: Uri | 新しい場所。 |
| options?: {ignoreIfExists: boolean, overwrite: boolean} | 既存のファイルを上書きするか、無視するかを定義します。上書きとignoreIfExistsの両方が設定されている場合、上書きが優先されます。 |
| metadata?: WorkspaceEditEntryMetadata | エントリのオプションのメタデータ。 |
| 戻り値 | 説明 |
| void |
replace(uri: Uri, range: Range, newText: string, metadata?: WorkspaceEditEntryMetadata): void
指定されたリソースの指定された範囲を、指定されたテキストで置き換えます。
| パラメーター | 説明 |
|---|---|
| uri: Uri | リソース識別子。 |
| range: Range | 範囲。 |
| newText: string | 文字列。 |
| metadata?: WorkspaceEditEntryMetadata | エントリのオプションのメタデータ。 |
| 戻り値 | 説明 |
| void |
set(uri: Uri, edits: ReadonlyArray<TextEdit | SnippetTextEdit>): void
リソースのテキスト編集またはスニペット編集を設定(および置き換え)します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | リソース識別子。 |
| edits: ReadonlyArray<TextEdit | SnippetTextEdit> | 編集の配列。 |
| 戻り値 | 説明 |
| void |
set(uri: Uri, edits: ReadonlyArray<[TextEdit | SnippetTextEdit, WorkspaceEditEntryMetadata]>): void
メタデータ付きのテキスト編集またはスニペット編集をリソースに設定(および置き換え)します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | リソース識別子。 |
| edits: ReadonlyArray<[TextEdit | SnippetTextEdit, WorkspaceEditEntryMetadata]> | 編集の配列。 |
| 戻り値 | 説明 |
| void |
set(uri: Uri, edits: readonly NotebookEdit[]): void
リソースのノートブック編集を設定(および置き換え)します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | リソース識別子。 |
| edits: readonly NotebookEdit[] | 編集の配列。 |
| 戻り値 | 説明 |
| void |
set(uri: Uri, edits: ReadonlyArray<[NotebookEdit, WorkspaceEditEntryMetadata]>): void
メタデータ付きのノートブック編集をリソースに設定(および置き換え)します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | リソース識別子。 |
| edits: ReadonlyArray<[NotebookEdit, WorkspaceEditEntryMetadata]> | 編集の配列。 |
| 戻り値 | 説明 |
| void |
WorkspaceEditEntryMetadata
ワークスペース編集のエントリの追加データ。エントリにラベルを付け、ユーザーによる確認が必要なエントリとしてマークすることをサポートします。エディターは、同じラベルを持つ編集をツリーノードにグループ化します。たとえば、「文字列の変更」というラベルが付けられたすべての編集はツリーノードになります。
プロパティ
同じ行に目立たなくレンダリングされる人間が読める文字列。
iconPath?: IconPath
編集用のアイコンパスまたはThemeIcon。
目立つようにレンダリングされる人間が読める文字列。
ユーザー確認が必要であることを示すフラグ。
WorkspaceEditMetadata
ワークスペース編集に関する追加データ。
プロパティ
この編集がリファクタリングであることをエディターに通知します。
WorkspaceFolder
ワークスペースフォルダーは、エディターによって開かれる可能性のある多数のルートの1つです。すべてのワークスペースフォルダーは等しく、アクティブまたはプライマリなワークスペースフォルダーという概念はありません。
プロパティ
このワークスペースフォルダーの序数。
このワークスペースフォルダーの名前。uri-pathの基本名にデフォルト設定されます。
uri: Uri
このワークスペースフォルダーに関連付けられたURI。
注: Uri型は、将来のエディターリリースでローカルディスクに保存されていないワークスペースフォルダー(例: ftp://server/workspaces/foo)をサポートできるように意図的に選択されました。
WorkspaceFolderPickOptions
ワークスペースフォルダー選択UIの動作を設定するためのオプション。
プロパティ
エディタの別の部分または別のウィンドウにフォーカスが移動したときに、ピッカーを開いたままにするにはtrueに設定します。この設定はiPadでは無視され、常にfalseです。
ユーザーに何を選択するかをガイドするために、入力ボックスにプレースホルダーとして表示されるオプションの文字列。
WorkspaceFoldersChangeEvent
ワークスペースフォルダーのセットの変更を記述するイベント。
プロパティ
added: readonly WorkspaceFolder[]
追加されたワークスペースフォルダー。
removed: readonly WorkspaceFolder[]
削除されたワークスペースフォルダー。
WorkspaceSymbolProvider<T>
ワークスペースシンボルプロバイダーインターフェースは、拡張機能とシンボル検索機能との間の契約を定義します。
メソッド
provideWorkspaceSymbols(query: string, token: CancellationToken): ProviderResult<T[]>
指定されたクエリ文字列に一致するシンボルをプロジェクト全体で検索します。
queryパラメーターは緩やかな方法で解釈されるべきです。なぜならエディターは結果に独自の強調表示とスコアリングを適用するからです。良い経験則は、大文字と小文字を区別せずに照合し、queryの文字が候補シンボルにその順序で出現することを確認するだけです。プレフィックス、サブストリング、または同様の厳密な照合を使用しないでください。
パフォーマンスを向上させるために、実装者はresolveWorkspaceSymbolを実装し、rangeが定義されていない部分的なlocationオブジェクトを持つシンボルを提供できます。エディターは、選択されたシンボル(例: ワークスペースシンボルを開くとき)に対してのみresolveWorkspaceSymbolを呼び出します。
| パラメーター | 説明 |
|---|---|
| query: string | クエリ文字列は空の文字列でもよく、その場合はすべてのシンボルが返されるべきです。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T[]> | ドキュメントハイライトの配列、またはそのような配列に解決されるThenable。結果がないことは、 |
resolveWorkspaceSymbol(symbol: T, token: CancellationToken): ProviderResult<T>
指定されたシンボルのlocationを記入します。このメソッドは、UIでシンボルが選択されるたびに呼び出されます。プロバイダーはこのメソッドを実装し、provideWorkspaceSymbolsから不完全なシンボルを返すことができます。これは多くの場合、パフォーマンスの向上に役立ちます。
| パラメーター | 説明 |
|---|---|
| symbol: T | 解決されるシンボル。 |
| token: CancellationToken | キャンセル・トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T> | 解決されたシンボル、またはそれに解決されるthenable。結果が返されない場合、指定された |
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型を使用します。
認証用の名前空間。