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 つのみです。それぞれの providerId は '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。 |
chat
チャット機能用の名前空間です。ユーザーはチャットビューでメッセージを送信することでチャット参加者と対話します。チャット参加者は、ChatResponseStream を介してマークダウンやその他の種類のコンテンツで応答できます。
関数
createChatParticipant(id: string, handler: ChatRequestHandler): ChatParticipant
新しい チャット参加者 インスタンスを作成します。
| パラメーター | 説明 |
|---|---|
| id: string | 参加者の一意の識別子。 |
| handler: ChatRequestHandler | 参加者のリクエストハンドラー。 |
| 戻り値 | 説明 |
| ChatParticipant | 新しいチャット参加者。 |
コマンド
コマンドを扱うための名前空間です。端的に言えば、コマンドとは一意の識別子を持つ関数のことです。その関数は「コマンドハンドラー」とも呼ばれます。
コマンドは、registerCommand および registerTextEditorCommand 関数を使用してエディターに追加できます。コマンドは手動で、または UI 操作から実行できます。それらには以下のものがあります。
- palette -
package.jsonのcommandsセクションを使用して、コマンドパレットにコマンドを表示させます。 - keybinding -
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。コマンドハンドラー関数が何も返さない場合、 |
getCommands(filterInternal?: boolean): Thenable<string[]>
利用可能なすべてのコマンドのリストを取得します。アンダースコアで始まるコマンドは内部コマンドとして扱われます。
| パラメーター | 説明 |
|---|---|
| filterInternal?: boolean | 内部コマンド(アンダースコアで始まるもの)を表示しない場合は |
| 戻り値 | 説明 |
| Thenable<string[]> | コマンド ID のリストに解決される Thenable。 |
registerCommand(command: string, callback: (args: any[]) => any, thisArg?: any): Disposable
キーボードショートカット、メニュー項目、アクション、または直接呼び出すことができるコマンドを登録します。
既存のコマンド識別子でコマンドを 2 回登録するとエラーが発生します。
| パラメーター | 説明 |
|---|---|
| command: string | コマンドの一意の識別子。 |
| callback: (args: any[]) => any | コマンドハンドラー関数。 |
| thisArg?: any | ハンドラー関数を呼び出すときに使用される |
| 戻り値 | 説明 |
| Disposable | 破棄時にこのコマンドの登録を解除する Disposable。 |
registerTextEditorCommand(command: string, callback: (textEditor: TextEditor, edit: TextEditorEdit, args: any[]) => void, thisArg?: any): Disposable
キーボードショートカット、メニュー項目、アクション、または直接呼び出すことができるテキストエディターコマンドを登録します。
テキストエディターコマンドは、コマンドが呼び出されたときにアクティブなエディターがある場合にのみ実行されるため、通常の コマンド とは異なります。また、エディターコマンドのハンドラーは、アクティブなエディターと 編集 ビルダーにアクセスできます。編集ビルダーはコールバックの実行中にのみ有効であることに注意してください。
| パラメーター | 説明 |
|---|---|
| command: string | コマンドの一意の識別子。 |
| callback: (textEditor: TextEditor, edit: TextEditorEdit, args: any[]) => void | |
| thisArg?: any | ハンドラー関数を呼び出すときに使用される |
| 戻り値 | 説明 |
| Disposable | 破棄時にこのコマンドの登録を解除する Disposable。 |
comments
関数
createCommentController(id: string, label: string): CommentController
新しい コメントコントローラー インスタンスを作成します。
| パラメーター | 説明 |
|---|---|
| id: string | コメントコントローラーの |
| 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 に変換します。ソース記述子がパスに基づいている場合は file Uri が返されます。ソース記述子が参照番号を使用している場合は、対応する ContentProvider と実行中のデバッグセッションを必要とする、特定のデバッグ Uri (スキーム 'debug') が構築されます。
「Source」記述子に Uri を作成するための情報が不足している場合は、エラーがスローされます。
| パラメーター | 説明 |
|---|---|
| source: DebugProtocolSource | デバッグアダプタープロトコルで定義された Source 型に準拠するオブジェクト。 |
| session?: DebugSession | ソース記述子がアクティブなデバッグセッションからコンテンツを読み込むために参照番号を使用する場合に使用される、オプションのデバッグセッション。 |
| 戻り値 | 説明 |
| Uri | ソースのコンテンツを読み込むために使用できる Uri。 |
registerDebugAdapterDescriptorFactory(debugType: string, factory: DebugAdapterDescriptorFactory): Disposable
特定のデバッグタイプに対する デバッグアダプター記述子ファクトリー を登録します。拡張機能は、その拡張機能で定義されたデバッグタイプに対してのみ DebugAdapterDescriptorFactory を登録できます。それ以外の場合はエラーがスローされます。1 つのデバッグタイプに対して複数の 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' メソッドが登録される トリガー。 |
| 戻り値 | 説明 |
| 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 | 名前付き構成の検索と変数の解決に使用する ワークスペースフォルダー。フォルダー設定以外の場合は |
| nameOrConfiguration: string | DebugConfiguration | デバッグまたは複合構成の名前、あるいは DebugConfiguration オブジェクト。 |
| parentSessionOrOptions?: DebugSession | DebugSessionOptions | デバッグセッションオプション。親 デバッグセッション が渡された場合、この親セッションのみを持つオプションと想定されます。 |
| 戻り値 | 説明 |
| Thenable<boolean> | デバッグが正常に開始できたときに解決される Thenable。 |
stopDebugging(session?: DebugSession): Thenable<void>
指定されたデバッグセッションを停止します。セッションが省略された場合は、すべてのデバッグセッションを停止します。
| パラメーター | 説明 |
|---|---|
| session?: DebugSession | 停止する デバッグセッション。省略された場合はすべてのセッションが停止されます。 |
| 戻り値 | 説明 |
| Thenable<void> | セッションが停止したときに解決される Thenable。 |
env
エディターが実行されている環境を説明する名前空間です。
変数
アプリケーションがホストされている場所。デスクトップでは 'desktop' です。Web では指定された埋め込み先(例:'github.dev'、'codespaces')であり、埋め込み先がその情報を提供しない場合は 'web' です。
'VS Code' のようなエディターのアプリケーション名。
エディターが実行されているアプリケーションルートフォルダー。
注意:アプリケーションルートフォルダーの表現を持たない環境で実行されている場合、値は空文字列になります。
clipboard: Clipboard
システムクリップボード。
アプリケーションがポータブルモードで実行されているかどうかを示します。
ポータブルモードは、アプリケーションが data ディレクトリを含むフォルダーから実行されたときに有効になり、自己完結型のインストールを可能にします。
ポータブルモード について詳しく学びます。
これがアプリケーションの新規インストールであることを示します。インストール後最初の 1 日以内であれば true、それ以外は false です。
ユーザーがテレメトリを有効にしているかどうかを示します。拡張機能がテレメトリを送信すべきかどうかを判断するために監視できます。
de-CH、fr、en-US などの推奨ユーザー言語を表します。
logLevel: LogLevel
現在のエディターのログレベル。
コンピューターの一意の識別子。
remoteName: string | undefined
リモートの名前。拡張機能によって定義され、一般的な例として Windows Subsystem for Linux 用の wsl や、SSH を使用するリモート用の ssh-remote などがあります。
注意:リモート拡張ホストがない場合、値は undefined になりますが、リモート拡張ホストが存在する場合、すべての拡張ホスト(ローカルおよびリモート)で値が定義されます。特定の拡張機能がリモートで実行されているかどうかを知るには Extension.extensionKind を使用してください。
現在のセッションの一意の識別子。エディターが起動するたびに変更されます。
拡張ホストに対して検出されたデフォルトのシェル。これは拡張ホストのプラットフォームの terminal.integrated.defaultProfile 設定によって上書きされます。シェルをサポートしていない環境では、値は空文字列であることに注意してください。
uiKind: UIKind
UI 種類のプロパティは、拡張機能がどの UI からアクセスされているかを示します。たとえば、拡張機能はデスクトップアプリケーションや Web ブラウザーからアクセスされる場合があります。
エディターがオペレーティングシステムに登録するカスタム 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);
注意:解決された URI はシステムやユーザーのアクションによって無効になる可能性があるため、拡張機能は asExternalUri の結果をキャッシュすべきではありません。たとえば、リモートの場合、ユーザーが 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> | オープンが成功したかどうかを示す Promise。 |
extensions
インストールされている拡張機能を扱うための名前空間です。拡張機能は Extension インターフェースによって表され、それらに対するリフレクションを可能にします。
拡張機能作成者は、activate 呼び出しから API のパブリックサーフェスを返すことで、他の拡張機能に API を提供できます。
export function activate(context: vscode.ExtensionContext) {
let api = {
sum(a, b) {
return a + b;
},
mul(a, b) {
return a * b;
}
};
// 'export' public api-surface
return api;
}
別の拡張機能の API に依存する場合は、package.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 | 拡張機能または |
l10n
拡張機能 API のローカライズ関連機能用の名前空間です。これを正しく使用するには、拡張機能マニフェストで l10n を定義し、bundle.l10n を持っている必要があります。
注: 組み込みの拡張機能(例:Git、TypeScript Language Features、GitHub Authentication)は 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 | ローカライズするメッセージ。 |
| ...args: Array<string | number | boolean> | ローカライズ済み文字列で使用される引数。引数のインデックスは、ローカライズ済み文字列内のテンプレートプレースホルダーと一致させるために使用されます。 |
| 戻り値 | 説明 |
| string | 引数が挿入されたローカライズ済み文字列。 |
t(message: string, args: Record<string, string | number | boolean>): string
文字列をローカライズ対象としてマークします。env.language で指定された言語でローカライズされたバンドルが利用可能であり、そのバンドルにこのメッセージのローカライズ値がある場合、そのローカライズ値が返されます(テンプレート化された値には args 値が挿入されます)。
例
l10n.t('Hello {name}', { name: 'Erich' });
| パラメーター | 説明 |
|---|---|
| message: string | ローカライズするメッセージ。 |
| args: Record<string, string | number | boolean> | ローカライズ済み文字列で使用される引数。Record 内のキーの名前は、ローカライズ済み文字列内のテンプレートプレースホルダーと一致させるために使用されます。 |
| 戻り値 | 説明 |
| string | 引数が挿入されたローカライズ済み文字列。 |
t(options: {args: Array<string | number | boolean> | Record<string, string | number | boolean>, comment: string | string[], message: string}): string
文字列をローカライズ対象としてマークします。env.language で指定された言語でローカライズされたバンドルが利用可能であり、そのバンドルにこのメッセージのローカライズ値がある場合、そのローカライズ値が返されます(テンプレート化された値には args 値が挿入されます)。
| パラメーター | 説明 |
|---|---|
| options: {args: Array<string | number | boolean> | Record<string, string | number | boolean>, 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
ドキュメント セレクター とドキュメント間のマッチを計算します。ゼロより大きい値は、セレクターがドキュメントに一致することを意味します。
マッチは以下のルールに従って計算されます。
- DocumentSelector が配列である場合、含まれる各
DocumentFilterまたは言語識別子についてマッチを計算し、最大値をとります。 - 文字列は DocumentFilter の
language部分になるように脱糖されるため、"fooLang"は{ language: "fooLang" }のようになります。 - DocumentFilter は、その部分をドキュメントと比較することでドキュメントと照合されます。以下のルールが適用されます。
DocumentFilterが空 ({}) の場合、結果は0です。scheme、language、pattern、またはnotebookが定義されているが、一致しない場合、結果は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 | セレクターが一致する場合は |
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
ドキュメントハイライトプロバイダーを登録します。
言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは スコア によって並べ替えられ、ドキュメントのハイライトを順次求められます。プロバイダーが 非偽 または 非失敗 の結果を返すと、プロセスは停止します。
| パラメーター | 説明 |
|---|---|
| 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 にマージされます。
貼り付け操作 の場合、各プロバイダーが呼び出され、1 つ以上の DocumentPasteEdits を返すことができます。編集は 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
テキストドキュメント内の評価可能な式を特定するプロバイダーを登録します。エディターはアクティブなデバッグセッションでその式を評価し、デバッグホバーに結果を表示します。
同じ言語に対して複数のプロバイダーが登録されている場合、任意のプロバイダーが使用されます。
| パラメーター | 説明 |
|---|---|
| selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
| provider: EvaluatableExpressionProvider | 評価可能な式プロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄されたときにこのプロバイダーの登録を解除する Disposable。 |
registerFoldingRangeProvider(selector: DocumentSelector, provider: FoldingRangeProvider): Disposable
折りたたみ範囲プロバイダーを登録します。
言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並列で呼び出され、結果がマージされます。同じ位置で複数の折りたたみ範囲が開始される場合、最初に登録されたプロバイダーの範囲のみが使用されます。折りたたみ範囲が、より小さい位置を持つ別の範囲と重なる場合、その範囲も無視されます。
プロバイダーが失敗(拒否されたPromiseまたは例外)しても、操作全体が失敗することはありません。
| パラメーター | 説明 |
|---|---|
| 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
リンクされた編集範囲プロバイダーを登録します。
言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコア順にソートされ、結果を持つ最も適合するプロバイダーが使用されます。選択されたプロバイダーが失敗すると、操作全体が失敗します。
| パラメーター | 説明 |
|---|---|
| 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
名前変更プロバイダーを登録します。
言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコア順にソートされ、順次呼び出されます。結果を生成した最初のプロバイダーが、操作全体の結果を定義します。
| パラメーター | 説明 |
|---|---|
| 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
シグネチャヘルププロバイダーを登録します。
言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコア順にソートされ、有効な結果を返すプロバイダーが現れるまで順次呼び出されます。
| パラメーター | 説明 |
|---|---|
| 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
ワークスペースシンボルプロバイダーを登録します。
複数のプロバイダーを登録できます。その場合、プロバイダーは並列で呼び出され、結果がマージされます。プロバイダーが失敗(拒否されたPromiseまたは例外)しても、操作全体が失敗することはありません。
| パラメーター | 説明 |
|---|---|
| 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
エディターが消費できるようにModel Context Protocolサーバーを公開するプロバイダーを登録します。これにより、ユーザーが設定ファイルで作成したものに加えて、MCPサーバーをエディターに動的に提供できるようになります。
このメソッドを呼び出す前に、拡張機能は対応する id を持つ contributes.mcpServerDefinitionProviders 拡張ポイントを登録する必要があります。例:
"contributes": {
"mcpServerDefinitionProviders": [
{
"id": "cool-cloud-registry.mcp-servers",
"label": "Cool Cloud Registry",
}
]
}
新しいMcpServerDefinitionProviderが利用可能になると、デフォルトでは、チャットメッセージが送信されたときにエディターが自動的にそれを呼び出して新しいサーバーやツールを検出します。このフローを有効にするには、拡張機能はアクティベーション中に registerMcpServerDefinitionProvider を呼び出す必要があります。
| パラメーター | 説明 |
|---|---|
| id: string | 拡張機能に対して一意のプロバイダーのID。 |
| provider: McpServerDefinitionProvider<McpServerDefinition> | 登録するプロバイダー。 |
| 戻り値 | 説明 |
| Disposable | 破棄時にプロバイダーの登録を解除するDisposable。 |
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 インスタンスを登録し、次に TestItems を追加することによって公開されます。コントローラーは、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>
アクティブなカラーテーマが変更された、または変更があるときに発生する Event。
onDidChangeActiveNotebookEditor: Event<NotebookEditor | undefined>
アクティブなノートブックエディターが変更されたときに発生する Event。注意: このイベントは、アクティブなエディターが undefined に変更されたときにも発生します。
onDidChangeActiveTerminal: Event<Terminal | undefined>
アクティブなターミナルが変更されたときに発生する Event。注意: このイベントは、アクティブなターミナルが undefined に変更されたときにも発生します。
onDidChangeActiveTextEditor: Event<TextEditor | undefined>
アクティブなエディターが変更されたときに発生する Event。注意: このイベントは、アクティブなエディターが undefined に変更されたときにも発生します。
onDidChangeNotebookEditorSelection: Event<NotebookEditorSelectionChangeEvent>
ノートブックエディターの選択範囲が変更されたときに発生する Event。
onDidChangeNotebookEditorVisibleRanges: Event<NotebookEditorVisibleRangesChangeEvent>
ノートブックエディターの可視範囲が変更されたときに発生する Event。
onDidChangeTerminalShellIntegration: Event<TerminalShellIntegrationChangeEvent>
ターミナルでシェル統合がアクティブになった、またはそのプロパティのいずれかが変更されたときに発生します。
onDidChangeTerminalState: Event<Terminal>
onDidChangeTextEditorOptions: Event<TextEditorOptionsChangeEvent>
エディターのオプションが変更されたときに発生する Event。
onDidChangeTextEditorSelection: Event<TextEditorSelectionChangeEvent>
エディター内の選択範囲が変更されたときに発生する Event。
onDidChangeTextEditorViewColumn: Event<TextEditorViewColumnChangeEvent>
エディターのビュー列が変更されたときに発生する Event。
onDidChangeTextEditorVisibleRanges: Event<TextEditorVisibleRangesChangeEvent>
エディターの可視範囲が変更されたときに発生する Event。
onDidChangeVisibleNotebookEditors: Event<readonly NotebookEditor[]>
表示されているノートブックエディターが変更されたときに発生する Event。
onDidChangeVisibleTextEditors: Event<readonly TextEditor[]>
表示されているエディターの配列が変更されたときに発生する Event。
onDidChangeWindowState: Event<WindowState>
現在のウィンドウのフォーカスまたはアクティビティの状態が変更されたときに発生する Event。イベントの値は、ウィンドウがフォーカスされているかどうかを表します。
onDidCloseTerminal: Event<Terminal>
ターミナルが破棄されたときに発生する Event。
onDidEndTerminalShellExecution: Event<TerminalShellExecutionEndEvent>
ターミナルコマンドが終了したときに発生します。このイベントは、ターミナルで シェル統合 がアクティブになっている場合にのみ発生します。
onDidOpenTerminal: Event<Terminal>
createTerminal API またはコマンドを通じてターミナルが作成されたときに発生する Event。
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
基盤となるシェルプロセスを持つ Terminal を作成します。ターミナルの作業ディレクトリ (cwd) は、ワークスペースディレクトリが存在する場合は、そのディレクトリになります。
- スロー - 新しいプロセスを開始できない環境で実行されている場合。
createTerminal(options: TerminalOptions): Terminal
基盤となるシェルプロセスを持つ Terminal を作成します。
- スロー - 新しいプロセスを開始できない環境で実行されている場合。
| パラメーター | 説明 |
|---|---|
| options: TerminalOptions | 新しいターミナルの特性を記述する TerminalOptions オブジェクト。 |
| 戻り値 | 説明 |
| ターミナル | 新しいターミナル。 |
createTerminal(options: ExtensionTerminalOptions): Terminal
拡張機能がその入力と出力を制御する 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
新しいWebviewパネルを作成して表示します。
| パラメーター | 説明 |
|---|---|
| viewType: string | Webviewパネルのタイプを識別します。 |
| title: string | パネルのタイトル。 |
| showOptions: ViewColumn | {preserveFocus: boolean, viewColumn: ViewColumn} | エディター内のどこにWebviewを表示するか。preserveFocusが設定されている場合、新しいWebviewはフォーカスを取得しません。 |
| options?: WebviewPanelOptions & WebviewOptions | 新しいパネルの設定。 |
| 戻り値 | 説明 |
| WebviewPanel | 新しいWebviewパネル。 |
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
システム全体の uris を処理できる uri handler を登録します。複数のウィンドウが開いている場合、最上位のウィンドウがuriを処理します。uriハンドラーは、それが寄与された拡張機能にスコープされ、拡張機能自体に向けられたuriのみを処理できます。uriは次のルールに従う必要があります。
- uriスキームは
vscode.env.uriSchemeである必要があります。 - uriオーソリティは拡張機能ID(例:
my.extension)である必要があります。 - uriのパス、クエリ、フラグメント部分は任意です。
例えば、my.extension 拡張機能がuriハンドラーを登録する場合、product-name://my.extension で始まるuriのみを処理できます。
拡張機能は、そのアクティベーション期間全体で単一のuriハンドラーのみを登録できます。
- 注: 現在の拡張機能に向けられたuriが処理される直前に発生する
onUriというアクティベーションイベントがあります。
| パラメーター | 説明 |
|---|---|
| handler: UriHandler | この拡張機能用に登録するuriハンドラー。 |
| 戻り値 | 説明 |
| Disposable | ハンドラーの登録を解除する disposable。 |
registerWebviewPanelSerializer(viewType: string, serializer: WebviewPanelSerializer<unknown>): Disposable
Webviewパネルシリアライザーを登録します。
復元をサポートする拡張機能は、"onWebviewPanel:viewType" アクティベーションイベントを持ち、アクティベーション中に registerWebviewPanelSerializer が確実に呼び出されるようにする必要があります。
特定の viewType に対して一度に登録できるシリアライザーは1つだけです。
| パラメーター | 説明 |
|---|---|
| viewType: string | シリアル化可能なWebviewパネルのタイプ。 |
| serializer: WebviewPanelSerializer<unknown> | Webviewシリアライザー。 |
| 戻り値 | 説明 |
| 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 が解決も拒否もされていない間、ソース管理(SCM)ビューレットに進捗を表示します。
- 非推奨 - 代わりに
withProgressを使用してください。
workspace
現在のワークスペースを扱うための名前空間。ワークスペースとは、エディターウィンドウ(インスタンス)で開かれている 1 つまたは複数のフォルダーの集合です。
ワークスペースなしでエディターを開くことも可能です。たとえば、プラットフォームのファイルメニューからファイルを選択して新しいエディターウィンドウを開いた場合、ワークスペース内にはいません。このモードでは、エディターの機能の一部が制限されますが、引き続きテキストファイルを開いて編集できます。
ワークスペースの概念の詳細については、https://vscode.dokyumento.jp/docs/editor/workspaces を参照してください。
ワークスペースは、ファイルシステムのイベントの 監視 とファイルの 検索 をサポートしています。どちらもパフォーマンスが良く、エディタープロセス 外 で実行されるため、Node.js の同等機能の代わりに常にこれらを使用してください。
変数
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>
テキストドキュメント が変更されたときに発行されるイベント。これは通常、コンテンツ が変更されたときだけでなく、dirty 状態などの他の要素が変更されたときにも発生します。
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 が 変更された ときに発行されるイベント。
表示されているテキストドキュメントが開かれたときにイベントリスナーを追加するには、名前空間 の 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 つまたは複数のリソースに変更を加えるか、リソースを作成、削除、名前変更します。
ワークスペース編集のすべての変更は、追加された順序で適用されます。同じ位置に複数のテキスト挿入が行われた場合、それらがリソース編集と交互に行われない限り、挿入された順序で結果のテキストに文字列が現れます。「ファイルの削除」->「ファイルへのテキスト挿入」のような無効なシーケンスは操作の失敗を引き起こします。
テキスト編集のみで構成されるワークスペース編集を適用する場合、「すべてか無か(all-or-nothing)」戦略が使用されます。リソースの作成や削除を含むワークスペース編集の場合、単一の編集が失敗すると操作が中断されます(後続の編集は試行されません)。
| パラメーター | 説明 |
|---|---|
| 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 が複雑(例: ** やパスセグメントを含む)な場合、再帰的に監視されます。それ以外の場合は非再帰的に監視されます(つまり、そのパスの最初のレベルの変更のみが報告されます)。
注意:ファイルシステムに存在しないパスは、作成されるまで遅延して監視され、作成された後に提供されたパラメーターに応じて監視が開始されます。監視されているパスが削除された場合、監視は中断され、パスが再度作成されるまでイベントは報告されません。
可能であれば、再帰的な監視の使用は最小限に抑えてください。再帰的なファイル監視は非常にリソースを消費します。
string を globPattern として提供すると、開いているすべてのワークスペースフォルダーでファイルイベントを監視するための簡便なメソッドとして機能します。監視対象のフォルダーを追加するために使用することはできず、開いているワークスペースフォルダーの一部ではないフォルダーからのファイルイベントも報告されません。
注意:globPattern パラメーターの大文字と小文字の区別は、監視が実行されているファイルシステムに依存します。Windows および macOS では大文字と小文字が区別されず、Linux では区別されます。
必要に応じて、特定の種類のイベントを無視するフラグを提供できます。
イベントのリッスンを停止するには、監視を破棄(dispose)する必要があります。
注意:フォルダーを削除したときのファイルイベントには、含まれるファイルに対するイベントが含まれない場合があります。例えば、フォルダーをごみ箱に移動した場合、技術的にはこれは名前変更/移動操作であり、各ファイルに対する削除操作ではないため、1 つのイベントのみが報告されます。さらに、同じ親操作に属する複数のイベント(フォルダー削除など)を 1 つの親イベントにまとめるパフォーマンス最適化が行われています。そのため、すべての削除されたファイルについて知る必要がある場合は、** を使用して監視し、すべてのファイルイベントを自分で処理する必要があります。
注意:再帰的なファイル監視からのファイルイベントは、ユーザー設定に基づいて除外される場合があります。設定 files.watcherExclude は、多くのファイル変更を一度に生成することが知られているフォルダー(.git フォルダーなど)からのファイルイベントのオーバーヘッドを削減するのに役立ちます。そのため、再帰的な監視を必要としない単純なパターンで監視し、除外設定が無視され、イベントを完全に制御できるようにすることを強くお勧めします。
注意:監視対象のパス自体がシンボリックリンクでない限り、ファイル監視のためにシンボリックリンクが自動的に追跡されることはありません。
注意:変更されたとして報告されるファイルパスは、大文字と小文字を区別しないプラットフォーム(通常は macOS と Windows、Linux は除く)では、ディスク上の実際の大文字と小文字の表現と異なる場合があります。ユーザーは任意のパス形式でワークスペースフォルダーを開くことができ、それを維持しようとします。これは以下を意味します:
- パスがワークスペースフォルダー内の場合、そのパスは、ワークスペースフォルダーのパス表現と一致し、子についてはディスク上の大文字小文字の表現と一致します。
- パスがワークスペースフォルダー外の場合、大文字と小文字は監視のために提供されたパスの表現と一致します。同様に、シンボリックリンクは維持されます。つまり、ファイルイベントは、監視のために提供されたパスを報告し、ターゲットのパスは報告しません。
例
ファイル監視の基本的な構成は以下の通りです:
const watcher = vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(<folder>, <pattern>));
watcher.onDidChange(uri => { ... }); // listen to files being changed
watcher.onDidCreate(uri => { ... }); // listen to files/folders being created
watcher.onDidDelete(uri => { ... }); // listen to files/folders getting deleted
watcher.dispose(); // dispose after usage
ワークスペースのファイル監視
特定のワークスペースフォルダー内のファイルイベントのみに関心がある場合
vscode.workspace.createFileSystemWatcher(
new vscode.RelativePattern(vscode.workspace.workspaceFolders[0], '**/*.js')
);
開いているすべてのワークスペースフォルダー全体でファイルイベントを監視したい場合
vscode.workspace.createFileSystemWatcher('**/*.js');
注意:ワークスペースが開かれていない場合(空のウィンドウ)、ワークスペースフォルダーの配列は空になる可能性があります。
ワークスペース外のファイル監視
ワークスペース外の *.js ファイルの変更(非再帰的)を監視するには、そのようなフォルダーへの Uri を渡します
vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.Uri.file(<path to folder outside workspace>), '*.js'));
再帰的に監視するには、複雑なグロブパターンを使用します
vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.Uri.file(<path to folder outside workspace>), '**/*.js'));
以下は、アクティブなエディターをファイル変更について監視する例です
vscode.workspace.createFileSystemWatcher(
new vscode.RelativePattern(vscode.window.activeTextEditor.document.uri, '*')
);
| パラメーター | 説明 |
|---|---|
| globPattern: GlobPattern | 監視がどのファイルイベントを報告するかを制御する グロブパターン。 |
| ignoreCreateEvents?: boolean | ファイルが作成されたときに無視します。 |
| ignoreChangeEvents?: boolean | ファイルが変更されたときに無視します。 |
| ignoreDeleteEvents?: boolean | ファイルが削除されたときに無視します。 |
| 戻り値 | 説明 |
| FileSystemWatcher | 新しいファイルシステム監視インスタンス。不要になったら破棄する必要があります。 |
decode(content: Uint8Array): Thenable<string>
Uint8Array から string にコンテンツをデコードします。エンコーディングが適切に適用されるように、一度にすべてのコンテンツを提供する必要があります。このメソッドをチャンク形式でデコードするために使用しないでください。結果が正しくなくなる可能性があります。
設定とバッファーのコンテンツ(バイトオーダーマークなど)に基づいてエンコーディングを選択します。
注意:エンコーディングでサポートされていないコンテンツをデコードすると、結果に適切な置換文字が含まれる場合があります。
- スローされるエラー - コンテンツがバイナリの場合、このメソッドはエラーをスローします。
| パラメーター | 説明 |
|---|---|
| content: Uint8Array |
|
| 戻り値 | 説明 |
| Thenable<string> | デコードされた |
decode(content: Uint8Array, options: {encoding: string}): Thenable<string>
提供されたエンコーディングを使用して、Uint8Array から string にコンテンツをデコードします。エンコーディングが適切に適用されるように、一度にすべてのコンテンツを提供する必要があります。このメソッドをチャンク形式でデコードするために使用しないでください。結果が正しくなくなる可能性があります。
注意:エンコーディングでサポートされていないコンテンツをデコードすると、結果に適切な置換文字が含まれる場合があります。
- スローされるエラー - コンテンツがバイナリの場合、このメソッドはエラーをスローします。
| パラメーター | 説明 |
|---|---|
| content: Uint8Array |
|
| options: {encoding: string} | エンコーディングを選択するための追加のコンテキスト。 |
| 戻り値 | 説明 |
| Thenable<string> | デコードされた |
decode(content: Uint8Array, options: {uri: Uri}): Thenable<string>
Uint8Array から string にコンテンツをデコードします。エンコーディングが適切に適用されるように、一度にすべてのコンテンツを提供する必要があります。このメソッドをチャンク形式でデコードするために使用しないでください。結果が正しくなくなる可能性があります。
エンコーディングは、設定とバッファーのコンテンツ(バイトオーダーマークなど)に基づいて選択されます。
注意:エンコーディングでサポートされていないコンテンツをデコードすると、結果に適切な置換文字が含まれる場合があります。
- スローされるエラー - コンテンツがバイナリの場合、このメソッドはエラーをスローします。
| パラメーター | 説明 |
|---|---|
| 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 | 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 セットに置き換えます。この「スプライス(splice)」動作を使用して、1回の操作でワークスペースフォルダーの追加、削除、変更を行うことができます。
注意: 場合によっては、このメソッドを呼び出すと、現在実行中の拡張機能(このメソッドを呼び出した拡張機能を含む)が終了および再起動されることがあります。例えば、最初のワークスペースフォルダーが追加、削除、または変更されると、(非推奨の)rootPath プロパティが最初のワークスペースフォルダーを指すように更新されます。もう一つのケースは、空または単一フォルダーのワークスペースから複数フォルダーのワークスペースに移行する場合です(以下も参照: https://vscode.dokyumento.jp/docs/editor/workspaces)。
ワークスペースフォルダーが更新されたときに通知を受け取るには、onDidChangeWorkspaceFolders() イベントを使用してください。
例: ワークスペースフォルダーの末尾に新しいワークスペースフォルダーを追加する
workspace.updateWorkspaceFolders(workspace.workspaceFolders ? workspace.workspaceFolders.length : 0, null, { uri: ...});
例: 最初のワークスペースフォルダーを削除する
workspace.updateWorkspaceFolders(0, 1);
例: 既存のワークスペースフォルダーを新しいものに置き換える
workspace.updateWorkspaceFolders(0, 1, { uri: ...});
既存のワークスペースフォルダーを削除し、異なる名前で再度追加してフォルダー名を変更することは有効です。
注意: onDidChangeWorkspaceFolders() が発生するのを待たずに updateWorkspaceFolders() を複数回呼び出すことはできません。
| パラメーター | 説明 |
|---|---|
| start: number | 現在開いているワークスペースフォルダーのリストにおける、ワークスペースフォルダーの削除を開始するゼロベースの場所。 |
| deleteCount: number | 削除するワークスペースフォルダーの数(オプション)。 |
| ...workspaceFoldersToAdd: Array<{name: string, uri: Uri}> | 削除されたワークスペースフォルダーの代わりに追加するワークスペースフォルダーの可変セット(オプション)。各ワークスペースは、必須のURIとオプションの名前で識別されます。 |
| 戻り値 | 説明 |
| boolean | 操作が正常に開始された場合は true、引数が無効なワークスペースフォルダー状態(例: 同じURIを持つ2つのフォルダー)を引き起こす場合は false。 |
AccessibilityInformation
スクリーンリーダーの動作を制御するアクセシビリティ情報。
プロパティ
アイテムがフォーカスされたときにスクリーンリーダーによって読み上げられるラベル。
スクリーンリーダーがどのように対話するかを定義するウィジェットのロール。ツリーのような要素がチェックボックスのように振る舞う場合など、特別な場合にロールを設定する必要があります。ロールが指定されていない場合、エディターは自動的に適切なロールを選択します。ARIAロールの詳細については、こちらを参照してください https://w3c.github.io/aria/#widget_roles
AuthenticationForceNewSessionOptions
forceNewSession フラグを指定して authentication.getSession を呼び出す際に使用されるオプション(オプション)。
- 非推奨 - 代わりに 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>
セッションの配列が変更された、またはセッション内のデータが変更されたときに発生する Event。
メソッド
createSession(scopes: readonly string[], options: AuthenticationProviderSessionOptions): Thenable<AuthenticationSession>
ユーザーにログインを促します。
ログインが成功した場合、onDidChangeSessions イベントが発生する必要があります。
ログインが失敗した場合、拒否された promise が返される必要があります。
プロバイダーが複数アカウントをサポートしていないことを指定している場合、これらのスコープに一致する既存のセッションがすでにある場合は、このメソッドは呼び出されるべきではありません。
| パラメーター | 説明 |
|---|---|
| scopes: readonly string[] | 新しいセッションを作成する際に使用するスコープ(権限)のリスト。 |
| options: AuthenticationProviderSessionOptions | セッションを作成するための追加オプション。 |
| 戻り値 | 説明 |
| Thenable<AuthenticationSession> | 認証セッションを解決する promise。 |
getSessions(scopes: readonly string[], options: AuthenticationProviderSessionOptions): Thenable<AuthenticationSession[]>
セッションのリストを取得します。
| パラメーター | 説明 |
|---|---|
| scopes: readonly string[] | スコープのリスト(オプション)。指定された場合、返されるセッションはこれらの権限に一致する必要があり、指定されない場合はすべてのセッションが返される必要があります。 |
| options: AuthenticationProviderSessionOptions | セッションを取得するための追加オプション。 |
| 戻り値 | 説明 |
| Thenable<AuthenticationSession[]> | 認証セッションの配列を解決する promise。 |
removeSession(sessionId: string): Thenable<void>
セッションIDに対応するセッションを削除します。
削除が成功した場合、onDidChangeSessions イベントが発生する必要があります。
セッションを削除できない場合、プロバイダーはエラーメッセージとともに拒否する必要があります。
| パラメーター | 説明 |
|---|---|
| sessionId: string | 削除するセッションのID。 |
| 戻り値 | 説明 |
| Thenable<void> |
AuthenticationProviderAuthenticationSessionsChangeEvent
AuthenticationSession が追加、削除、または変更されたときに発生する Event。
プロパティ
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
現在ログインしているユーザーのセッションを表します。
プロパティ
アクセストークン。このトークンは、サービスへのリクエストを認証するために使用される必要があります。OAuthで普及しています。
account: AuthenticationSessionAccountInformation
セッションに関連付けられたアカウント。
認証セッションの識別子。
IDトークン。このトークンにはユーザーに関するアイデンティティ情報が含まれています。OpenID Connectで普及しています。
セッションのアクセストークンによって付与された権限。利用可能なスコープは AuthenticationProvider によって定義されます。
AuthenticationSessionAccountInformation
AuthenticationSession に関連付けられたアカウントの情報。
プロパティ
アカウントの一意の識別子。
人間が読み取れるアカウント名。
AuthenticationSessionsChangeEvent
AuthenticationSession が追加、削除、または変更されたときに発生する Event。
プロパティ
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 | このブランチが実行された回数、または正確な回数が不明な場合は実行されたかどうかを示すブール値。0 または false の場合、ブランチは未実行(未網羅)としてマークされます。 |
| location?: Range | Position | ブランチの位置。 |
| label?: string | |
| 戻り値 | 説明 |
| BranchCoverage |
プロパティ
このブランチが実行された回数、または正確な回数が不明な場合は実行されたかどうかを示すブール値。0 または false の場合、ブランチは未実行(未網羅)としてマークされます。
ブランチのラベル。例えば「${label} ブランチは実行されませんでした」というコンテキストで使用されます。
ブランチの位置。
Breakpoint
すべてのブレークポイントタイプの基本クラス。
コンストラクター
new Breakpoint(enabled?: boolean, condition?: string, hitCondition?: string, logMessage?: string): Breakpoint
新しいブレークポイントを作成します。
| パラメーター | 説明 |
|---|---|
| enabled?: boolean | ブレークポイントが有効かどうか。 |
| condition?: string | 条件付きブレークポイントの式。 |
| hitCondition?: string | ブレークポイントのヒットを何回無視するかを制御する式。 |
| logMessage?: string | ブレークポイントがヒットしたときに表示するログメッセージ。 |
| 戻り値 | 説明 |
| Breakpoint |
プロパティ
条件付きブレークポイントの式(オプション)。
ブレークポイントが有効かどうか。
ブレークポイントのヒットを何回無視するかを制御する式(オプション)。
ブレークポイントの一意の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>
キャンセル時に発生する Event。
CancellationTokenSource
キャンセルソースは、キャンセル トークンを作成および制御します。
コンストラクター
new CancellationTokenSource(): CancellationTokenSource
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| CancellationTokenSource |
プロパティ
token: CancellationToken
このソースのキャンセル トークン。
メソッド
トークンに対してキャンセルをシグナルします。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
オブジェクトを破棄し、リソースを解放します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
CharacterPair
開始括弧と終了括弧のペアのように、2つの文字からなるタプル。
CharacterPair: [string, string]
ChatContext
参加者に渡される追加のコンテキスト。
プロパティ
history: ReadonlyArray<ChatRequestTurn | ChatResponseTurn>
現在のチャットセッションにおけるこれまでのすべてのチャットメッセージ。現在、現在の参加者のチャットメッセージのみが含まれています。
ChatErrorDetails
チャットリクエストからのエラー結果を表します。
プロパティ
ユーザーに表示されるエラーメッセージ。
true に設定されている場合、応答は部分的にぼかされます。
ChatFollowup
参加者によって提案されたフォローアップの質問。
プロパティ
デフォルトでは、フォローアップは同じ参加者/コマンドに行きます。しかし、このプロパティを設定して異なるコマンドを呼び出すことができます。
ユーザーに表示するタイトル。指定されていない場合、デフォルトでプロンプトが表示されます。
デフォルトでは、フォローアップは同じ参加者/コマンドに行きます。しかし、このプロパティを設定して、IDによって異なる参加者を呼び出すことができます。フォローアップは、同じ拡張機能によって提供された参加者のみを呼び出すことができます。
チャットに送信するメッセージ。
ChatFollowupProvider
各リクエスト後に1回呼び出され、ユーザーに表示する提案されたフォローアップの質問を取得します。ユーザーはフォローアップをクリックしてチャットに送信できます。
メソッド
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]
prompt 内の参照の開始および終了インデックス。未定義の場合、参照はプロンプトテキストの一部ではありませんでした。
注 インデックスは先頭の # 文字を考慮に入れているため、プロンプトをそのまま変更するために使用できます。
ChatParticipant
チャット参加者は、 接頭辞を使用してチャットセッションでユーザーによって呼び出されます。呼び出されると、チャットリクエストを処理し、ユーザーに応答を提供する唯一の責任を負います。ChatParticipant は chat.createChatParticipant を使用して作成されます。
イベント
onDidReceiveFeedback: Event<ChatResultFeedback>
結果に対するフィードバックが受信されるたび(ユーザーが結果に高評価または低評価を付けたときなど)に発生するイベント。
渡された result は、このチャット参加者のハンドラーから以前に返された結果と同じプロパティを持つことが保証されます。
プロパティ
followupProvider?: ChatFollowupProvider
このプロバイダーは、提案されたフォローアップの質問を取得するために、各リクエスト後に1回呼び出されます。
iconPath?: IconPath
UI に表示される参加者のアイコン。
この参加者の一意のID。
requestHandler: ChatRequestHandler
この参加者へのリクエストのハンドラー。
メソッド
この参加者を破棄し、リソースを解放します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
ChatParticipantToolToken
チャットリクエストの処理のコンテキスト内でツールを呼び出す際に lm.invokeTool に渡すことができるトークン。
ChatParticipantToolToken: never
ChatPromptReference
ユーザーがチャットリクエストに追加した値への参照。
プロパティ
この種類の参照の一意の識別子。
LLM プロンプトで使用できるこの値の説明。
range?: [start: number, end: number]
prompt 内の参照の開始および終了インデックス。未定義の場合、参照はプロンプトテキストの一部ではありませんでした。
注 インデックスは先頭の # 文字を考慮に入れているため、プロンプトをそのまま変更するために使用できます。
この参照の値。現在 string | Uri | Location 型が使用されていますが、将来的に拡張される可能性があります。
ChatRequest
チャット参加者へのリクエスト。
プロパティ
このリクエストに対して選択された [ChatCommand コマンド](#_ChatCommand コマンド) の名前。
model: LanguageModelChat
これは、UI で現在選択されているモデルです。拡張機能はこれを使用するか、lm.selectChatModels を使用して別のモデルを選択できます。リクエストの存続期間を超えてこれを保持しないでください。
ユーザーによって入力されたプロンプト。
このリクエストで使用される参照に関する情報は、ChatRequest.references に保存されます。
注 参加者の [ChatParticipant.name 名前](#_ChatParticipant.name 名前) と [ChatCommand.name コマンド](#_ChatCommand.name コマンド) はプロンプトの一部ではありません。
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 コマンド](#_ChatCommand コマンド) の名前。
このリクエストの宛先となったチャット参加者のID。
ユーザーによって入力されたプロンプト。
このリクエストで使用される参照に関する情報は、ChatRequestTurn.references に保存されます。
注 参加者の [ChatParticipant.name 名前](#_ChatParticipant.name 名前) と [ChatCommand.name コマンド](#_ChatCommand.name コマンド) はプロンプトの一部ではありません。
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 | Markdown 文字列、または Markdown として解釈されるべき文字列。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
Markdown パートをこのストリームにプッシュします。push(new ChatResponseMarkdownPart(value)) のショートハンドです。
| パラメーター | 説明 |
|---|---|
| value: string | MarkdownString | Markdown 文字列、または Markdown として解釈されるべき文字列。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 | コードアクションの種類。 |
| 戻り値 | 説明 |
| CodeAction |
プロパティ
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 コマンドを使用して特定の種類のコードアクションをトリガーすることもできます。
静的
Empty: CodeActionKind
空の種類。
Notebook: CodeActionKind
ノートブック全体のスコープに適用されるすべてのコードアクションの基本種類。これを使用する CodeActionKind は常に notebook. で始まる必要があります。
これには、新しい CodeAction を作成して拡張機能経由で寄与する必要があります。既存の種類に新しい notebook. プレフィックスを追加するだけでは機能しません。機能がフルノートブックスコープ固有であるためです。
ノートブックの CodeActionKind は、以下のいずれかとして初期化できます(どちらも notebook.source.xyz になります)
const newKind = CodeActionKind.Notebook.append(CodeActionKind.Source.append('xyz').value)const newKind = CodeActionKind.Notebook.append('source.xyz')
種類/アクションの例
notebook.source.organizeImports(すべてのインポートを新しいトップセルに移動する可能性があります)notebook.source.normalizeVariableNames(すべての変数を標準化されたケーシング形式に名前変更する可能性があります)
QuickFix: 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 |
|
| 戻り値 | 説明 |
| CodeActionKind |
プロパティ
種類の文字列値。例: "refactor.extract.function"。
メソッド
append(parts: string): CodeActionKind
現在の種類により具体的なセレクターを付加して新しい種類を作成します。
現在の種類を変更しません。
| パラメーター | 説明 |
|---|---|
| parts: string | |
| 戻り値 | 説明 |
| CodeActionKind |
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
このコードレンズが有効な範囲。1 行のみにまたがる必要があります。
CodeLensProvider<T>
コードレンズプロバイダーは、ソーステキストに コマンド を追加します。コマンドは、ソーステキスト間の専用の水平線として表示されます。
イベント
onDidChangeCodeLenses?: Event<void>
このプロバイダーからのコードレンズが変更されたことを通知するためのオプションのイベント。
メソッド
provideCodeLenses(document: TextDocument, token: CancellationToken): ProviderResult<T[]>
レンズ のリストを計算します。この呼び出しは可能な限り高速に返す必要があり、コマンドの計算に時間がかかる場合は、実装者は範囲のみを設定したコードレンズオブジェクトを返し、resolve を実装する必要があります。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| token: CancellationToken | キャンセル トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T[]> | コードレンズの配列、またはそれに解決される Thenable。結果がない場合は、 |
resolveCodeLens(codeLens: T, token: CancellationToken): ProviderResult<T>
この関数は、表示可能な各コードレンズに対して、通常はスクロール時および レンズの計算 呼び出し後に呼び出されます。
| パラメーター | 説明 |
|---|---|
| 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 | アルファ成分。 |
| 戻り値 | 説明 |
| Color |
プロパティ
[0-1] の範囲におけるこの色のアルファ成分。
[0-1] の範囲におけるこの色の青色成分。
[0-1] の範囲におけるこの色の緑色成分。
[0-1] の範囲におけるこの色の赤色成分。
ColorInformation
ドキュメントからの色の範囲を表します。
コンストラクター
new ColorInformation(range: Range, color: Color): 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 | この色表示のラベル。 |
| 戻り値 | 説明 |
| ColorPresentation |
プロパティ
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 == editable のように comment キーのコンテキスト値を指定できます。
"contributes": {
"menus": {
"comments/comment/title": [
{
"command": "extension.deleteComment",
"when": "comment == editable"
}
]
}
}
これにより、contextValue が editable であるコメントに対してのみ、アクション extension.deleteComment が表示されます。
Comment を説明するオプションのラベル。ラベルは、authorName が存在する場合、その隣にレンダリングされます。
mode: CommentMode
コメントの コメントモード
reactions?: CommentReaction[]
Comment のオプションのリアクション
コメントに表示されるオプションのタイムスタンプ。日付はユーザーのロケールと設定に従ってフォーマットされます。
CommentAuthorInformation
Comment の作成者情報
プロパティ
iconPath?: Uri
作成者のオプションのアイコンパス
コメントの作成者の表示名
CommentController
コメントコントローラーは、エディターに コメント のサポートを提供し、ユーザーがコメントと対話するためのさまざまな方法を提供できます。
プロパティ
commentingRangeProvider?: CommentingRangeProvider
オプションのコメント範囲プロバイダー。任意のリソース URI に対してコメントをサポートする 範囲 のリストを提供します。
提供されない場合、ユーザーはコメントを残すことができません。
このコメントコントローラーの ID。
このコメントコントローラーの人間が読める形式のラベル。
options?: CommentOptions
コメントコントローラーのオプション
reactionHandler?: (comment: Comment, reaction: CommentReaction) => Thenable<void>
Comment に対するリアクションの作成および削除のためのオプションのリアクションハンドラー。
| パラメーター | 説明 |
|---|---|
| comment: Comment | |
| reaction: CommentReaction | |
| 戻り値 | 説明 |
| Thenable<void> |
メソッド
createCommentThread(uri: Uri, range: Range, comments: readonly Comment[]): CommentThread
コメントスレッド を作成します。コメントスレッドは、(リソースが一致する場合)可視テキストエディターおよびコメントパネルに作成後に表示されます。
| パラメーター | 説明 |
|---|---|
| uri: 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
Comment のコメントモード
列挙型メンバー
コメントエディターを表示します
コメントのプレビューを表示します
CommentOptions
コメントコントローラー の オプション を表します。
プロパティ
コメント入力ボックスにフォーカスがあるときにプレースホルダーとして表示するオプションの文字列。
コメント入力ボックスが折りたたまれているときに表示するオプションの文字列。
CommentReaction
Comment のリアクション
プロパティ
コメントの 作成者 がこのリアクションに反応したかどうか
このリアクションに反応したユーザーの数
iconPath: string | Uri
UI で表示されるリアクション用のアイコン。
リアクションの人間が読める形式のラベル
CommentReply
comments/commentThread/context に登録されたアクションのコマンド引数。
プロパティ
コメントエディター内の値
thread: CommentThread
アクティブな コメントスレッド
CommentRule
言語のコメントがどのように機能するかを説明します。
プロパティ
blockComment?: CharacterPair
/* ブロックコメント */ のようなブロックコメント文字ペア
lineComment?: string | LineCommentRule
// これはコメントです のような行コメントトークン
CommentThread
ドキュメント内の特定の範囲における会話を表す コメント のコレクション。
プロパティ
canReply: boolean | CommentAuthorInformation
スレッドが返信をサポートするかどうか。デフォルトは true。
collapsibleState: CommentThreadCollapsibleState
ドキュメントを開くときにスレッドを折りたたむか展開するか。デフォルトは Collapsed。
comments: readonly Comment[]
スレッドの順序付けられたコメント。
コメントスレッドのコンテキスト値。これは、スレッド固有のアクションに寄与するために使用できます。たとえば、コメントスレッドにコンテキスト値として editable が与えられているとします。menus 拡張機能ポイントを使用して comments/commentThread/title にアクションを寄与する場合、when 式で commentThread == editable のように commentThread キーのコンテキスト値を指定できます。
"contributes": {
"menus": {
"comments/commentThread/title": [
{
"command": "extension.deleteCommentThread",
"when": "commentThread == editable"
}
]
}
}
これにより、contextValue が editable であるコメントスレッドに対してのみ、アクション extension.deleteCommentThread が表示されます。
Comment Thread を説明するオプションの人間が読める形式のラベル
range: Range
ドキュメント内のコメントスレッドが配置されている範囲。スレッドアイコンは範囲の最後の行に表示されます。未定義に設定されている場合、コメントは特定の範囲ではなく、ファイルに関連付けられます。
state?: CommentThreadState
コメントのスレッド状態に影響を与える可能性のあるコメントスレッドのオプションの状態。
uri: Uri
スレッドが作成されたドキュメントの URI。
メソッド
このコメントスレッドを破棄します。
破棄されると、このコメントスレッドは適切なタイミングで可視エディターおよびコメントパネルから削除されます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
CommentThreadCollapsibleState
コメントスレッド の折りたたみ状態
列挙型メンバー
アイテムが折りたたまれていることを示します
アイテムが展開されていることを示します
CommentThreadState
コメントスレッドの状態。
列挙型メンバー
未解決のスレッド状態
解決済みのスレッド状態
CompletionContext
補完プロバイダー がトリガーされるコンテキストに関する追加情報が含まれます。
プロパティ
補完アイテムプロバイダーをトリガーした文字。
プロバイダーが文字によってトリガーされなかった場合は undefined。
補完プロバイダーがトリガーされた時点で、トリガー文字はすでにドキュメント内に存在します。
triggerKind: CompletionTriggerKind
補完がどのようにトリガーされたか。
CompletionItem
補完アイテムは、入力中のテキストを補完するために提案されるテキストスニペットを表します。
ラベルのみから補完アイテムを作成すれば十分です。その場合、補完アイテムはカーソルまでの単語を、指定されたラベルまたは insertText で置き換えます。それ以外の場合は、指定された edit が使用されます。
エディターで補完アイテムを選択すると、定義済みまたは合成されたテキスト編集が*すべて*のカーソル/選択範囲に適用されますが、additionalTextEdits は提供された通りに適用されます。
関連項目
コンストラクター
new CompletionItem(label: string | CompletionItemLabel, kind?: CompletionItemKind): CompletionItem
新しい補完アイテムを作成します。
補完アイテムには少なくともラベルが必要であり、これは挿入テキストとして、またソートやフィルタリングにも使用されます。
| パラメーター | 説明 |
|---|---|
| label: string | CompletionItemLabel | 補完のラベル。 |
| kind?: CompletionItemKind | 補完の種類。 |
| 戻り値 | 説明 |
| CompletionItem |
プロパティ
additionalTextEdits?: TextEdit[]
command?: Command
この補完を挿入した*後*に実行される、オプションのコマンド。*注意*: 現在のドキュメントに対する追加の修正は、additionalTextEdits プロパティで記述する必要があります。
この補完がアクティブなときに押されると、それを先に受け入れてからその文字を入力する、オプションの文字セット。*注意*: すべてのコミット文字は length=1 である必要があり、不要な文字は無視されます。
型やシンボル情報など、このアイテムに関する人間が読める補完情報。
documentation?: string | MarkdownString
ドキュメントコメントを表す人間が読める文字列。
insertText?: string | SnippetString
この補完を選択したときにドキュメントに挿入する文字列またはスニペット。falsy の場合は、label が使用されます。
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 の後に控えめに表示されるオプションの文字列。完全修飾名やファイルパスに使用する必要があります。
label の直後に間隔を空けず、控えめに表示されるオプションの文字列。関数シグネチャや型アノテーションに使用する必要があります。
この補完アイテムのラベル。
デフォルトでは、これがこの補完を選択したときに挿入されるテキストでもあります。
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>
補完アイテムが与えられたら、ドキュメントコメントや詳細などのデータを補完します。
エディターは補完アイテムを一度だけ解決します。
注意: この関数は、補完アイテムが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 を実装するには、拡張機能は CustomEditorProvider.onDidChangeCustomDocument によってエディターの内部編集スタックにこの編集が追加された直後の状態に、ドキュメントとエディターを復元する必要があります。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void | Thenable<void> |
編集操作を元に戻します。
これは、ユーザーがこの編集を元に戻したときにエディターによって呼び出されます。undo を実装するには、拡張機能は CustomEditorProvider.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>>
カスタムエディター内で編集が発生したことを通知します。
このイベントは、カスタムエディターで編集が発生するたびに拡張機能によって発行される必要があります。編集とは、テキストの変更から画像の切り抜き、リストの並べ替えまで、何であっても構いません。編集とは何か、各編集でどのデータが保存されるかは、拡張機能が自由に定義できます。
onDidChangeCustomDocument を発行すると、エディターは変更済み(ダーティ)としてマークされます。これは、ユーザーがファイルを保存または元に戻すとクリアされます。
元に戻す/やり直しをサポートするエディターは、編集が発生するたびに CustomDocumentEditEvent を発行する必要があります。これにより、ユーザーはエディターの標準的なキーボードショートカットを使用して編集を元に戻したりやり直したりできます。また、ユーザーが最後の保存状態まで編集をすべて元に戻すと、エディターはエディターを「変更済み」ではないとマークします。
編集をサポートしているがエディターの標準的な元に戻す/やり直しメカニズムを使用できないエディターは、CustomDocumentContentChangeEvent を発行する必要があります。元に戻す/やり直しをサポートしていないエディターのダーティ状態をユーザーがクリアする唯一の方法は、ファイルを save または revert することです。
エディターは、CustomDocumentEditEvent イベントのみを発行するか、または CustomDocumentContentChangeEvent イベントのみを発行するようにしてください。
メソッド
backupCustomDocument(document: T, context: CustomDocumentBackupContext, cancellation: CancellationToken): Thenable<CustomDocumentBackup>
変更済みのカスタムドキュメントをバックアップします。
バックアップはホットエグジット用、およびデータ損失を防ぐために使用されます。backupCustomDocument メソッドは、編集が適用された状態でリソースを永続化する必要があります。最も一般的なのは、ExtensionContext.storagePath にリソースをディスクへ保存することです。エディターが再読み込みされ、リソースに対してカスタムエディターが開かれると、拡張機能はそのリソースに対してバックアップが存在するかどうかを最初に確認する必要があります。バックアップが存在する場合、拡張機能はワークスペースのリソースからではなく、バックアップからファイルの内容を読み込む必要があります。
backupCustomDocument は、ユーザーがドキュメントの編集を停止してから約1秒後にトリガーされます。ユーザーがドキュメントを急速に編集する場合、編集が停止するまで backupCustomDocument は呼び出されません。
auto save が有効な場合、backupCustomDocument は呼び出されません(自動保存によってリソースがすでに永続化されているため)。
| パラメーター | 説明 |
|---|---|
| document: T | バックアップするドキュメント。 |
| context: CustomDocumentBackupContext | ドキュメントのバックアップに使用できる情報。 |
| cancellation: CancellationToken | 新しいバックアップが来ているため、現在のバックアップを通知するトークン。キャンセルへの対応方法は拡張機能次第です。たとえば、時間がかかる操作で大きなファイルをバックアップしている場合、エディターが有効なバックアップを持つことを保証するために、拡張機能はキャンセルせずに進行中のバックアップを完了させることを選択できます。 |
| 戻り値 | 説明 |
| Thenable<CustomDocumentBackup> | バックアップが完了したことを通知する Thenable。 |
openCustomDocument(uri: Uri, openContext: CustomDocumentOpenContext, token: CancellationToken): T | Thenable<T>
指定されたリソースに対して新しいドキュメントを作成します。
openCustomDocument は、指定されたリソースのエディターが最初に開かれたときに呼び出されます。その後、開かれたドキュメントは resolveCustomEditor に渡され、ユーザーにエディターが表示されます。
すでに開いている CustomDocuments は、ユーザーが追加のエディターを開いた場合に再利用されます。指定されたリソースのすべてのエディターが閉じられると、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を表示するために使用される Webview パネル。 解決中、プロバイダーはコンテンツ Webview パネルの初期 HTML を埋め込み、関心のあるすべてのイベントリスナーをフックする必要があります。プロバイダーは、コマンドなどで後で使用するために |
| token: CancellationToken | 結果が不要になったことを示すキャンセル トークン。 |
| 戻り値 | 説明 |
| void | Thenable<void> | カスタムエディターが解決されたことを示すオプションの thenable。 |
revertCustomDocument(document: T, cancellation: CancellationToken): Thenable<void>
カスタムドキュメントを最後に保存された状態に戻します。
このメソッドは、ユーザーがカスタムエディターで File: Revert File をトリガーしたときにエディターによって呼び出されます。(これはエディターの File: Revert File コマンドを使用している場合のみであり、ファイルの git revert ではないことに注意してください)。
実装者は、document のすべてのエディターインスタンス(webview)が、保存された状態と同じ状態でドキュメントを表示していることを確認する必要があります。これには通常、ワークスペースからファイルを再読み込みすることが含まれます。
| パラメーター | 説明 |
|---|---|
| document: T | 元に戻すドキュメント。 |
| cancellation: CancellationToken | 元に戻す操作が不要になったことを示すトークン。 |
| 戻り値 | 説明 |
| Thenable<void> | 元に戻す操作が完了したことを通知する Thenable。 |
saveCustomDocument(document: T, cancellation: CancellationToken): Thenable<void>
カスタムドキュメントを保存します。
このメソッドは、ユーザーがカスタムエディターを保存したときにエディターによって呼び出されます。これは、カスタムエディターがアクティブなときにユーザーが保存をトリガーした場合や、save all などのコマンド、または有効な場合は自動保存によって発生する可能性があります。
実装者はカスタムエディターを永続化する必要があります。これには通常、カスタムドキュメントのファイルデータをディスクに書き込むことが含まれます。saveCustomDocument が完了すると、関連付けられたエディターインスタンスは「変更済み」としてはマークされなくなります。
| パラメーター | 説明 |
|---|---|
| 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 に渡され、ユーザーにエディターが表示されます。
すでに開いている CustomDocuments は、ユーザーが追加のエディターを開いた場合に再利用されます。指定されたリソースのすべてのエディターが閉じられると、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を表示するために使用される Webview パネル。 解決中、プロバイダーはコンテンツ Webview パネルの初期 HTML を埋め込み、関心のあるすべてのイベントリスナーをフックする必要があります。プロバイダーは、コマンドなどで後で使用するために |
| token: CancellationToken | 結果が不要になったことを示すキャンセル トークン。 |
| 戻り値 | 説明 |
| void | Thenable<void> | カスタムエディターが解決されたことを示すオプションの thenable。 |
CustomTextEditorProvider
テキストベースのカスタムエディターのためのプロバイダー。
テキストベースのカスタムエディターは、TextDocument をデータモデルとして使用します。これにより、元に戻す操作やバックアップなど、多くの一般的な操作をエディターで処理できるため、カスタムエディターの実装が大幅に簡略化されます。プロバイダーは、Webview と TextDocument 間でテキストの変更を同期する役割を担います。
メソッド
resolveCustomTextEditor(document: TextDocument, webviewPanel: WebviewPanel, token: CancellationToken): void | Thenable<void>
指定されたテキストリソースのカスタムエディターを解決します。
これは、ユーザーが CustomTextEditorProvider のリソースを最初に開いたとき、またはこの CustomTextEditorProvider を使用している既存のエディターを再度開いたときに呼び出されます。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | 解決するリソースのドキュメント。 |
| webviewPanel: WebviewPanel | このリソースのエディターUIを表示するために使用される Webview パネル。 解決中、プロバイダーはコンテンツ Webview パネルの初期 HTML を埋め込み、関心のあるすべてのイベントリスナーをフックする必要があります。プロバイダーは、コマンドなどで後で使用するために WebviewPanel を保持することもできます。詳細については WebviewPanel を参照してください。 |
| token: CancellationToken | 結果が不要になったことを示すキャンセル トークン。 |
| 戻り値 | 説明 |
| void | Thenable<void> | カスタムエディターが解決されたことを示す thenable。 |
DataTransfer
転送された対応するデータの MIME タイプのマッピングを含むマップ。
handleDrag を実装するドラッグ&ドロップコントローラーは、DataTransfer に追加の MIME タイプを追加できます。これらの追加の MIME タイプは、ドラッグが同じドラッグ&ドロップコントローラー内の要素から開始された場合にのみ handleDrop に含まれます。
コンストラクター
new DataTransfer(): 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 | ハンドラー関数を呼び出すときに使用される |
| 戻り値 | 説明 |
| void |
get(mimeType: string): DataTransferItem
指定された MIME タイプのデータ転送アイテムを取得します。
| パラメーター | 説明 |
|---|---|
| mimeType: string | データ転送アイテムを取得するための MIME タイプ( 特殊な MIME タイプ
|
| 戻り値 | 説明 |
| DataTransferItem |
set(mimeType: string, value: DataTransferItem): void
MIME タイプからデータ転送アイテムへのマッピングを設定します。
| パラメーター | 説明 |
|---|---|
| mimeType: string | データを設定する MIME タイプ。MIME タイプは小文字で保存され、検索は大文字と小文字を区別しません。 |
| value: DataTransferItem | 指定された MIME タイプのデータ転送アイテム。 |
| 戻り値 | 説明 |
| void |
DataTransferFile
DataTransferItem に関連付けられたファイル。
この型のインスタンスは、拡張機能ではなく、エディターによってのみ作成できます。
プロパティ
ファイル名。
uri?: Uri
ファイルのフルパス。
Web 上では 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
デバッグアダプターがデバッグアダプタープロトコルメッセージをエディターに送信しました。
| パラメーター | 説明 |
|---|---|
| message: any | |
| 戻り値 | 説明 |
| void |
onWillReceiveMessage(message: any): void
デバッグアダプターがエディターからデバッグアダプタープロトコルメッセージを受信しようとしています。
| パラメーター | 説明 |
|---|---|
| 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を通じて(例えば「デバッグの選択と開始」コマンドを介して)要求したときに動的に生成されたデバッグ構成を提供する場合です。トリガーの種類は、debug.registerDebugConfigurationProvider で DebugConfigurationProvider を登録する際に使用されます。
列挙型メンバー
DebugConfigurationProvider.provideDebugConfigurations が呼び出され、新しく作成されたlaunch.jsonの初期デバッグ構成を提供します。
DebugConfigurationProvider.provideDebugConfigurations が呼び出され、ユーザーがUIを介して(例えば「デバッグの選択と開始」コマンドを介して)要求したときに動的に生成されたデバッグ構成を提供します。
DebugConsole
デバッグコンソールを表します。
メソッド
指定された値をデバッグコンソールに追加します。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。falseと評価される値は出力されません。 |
| 戻り値 | 説明 |
| void |
appendLine(value: string): void
指定された値と改行文字をデバッグコンソールに追加します。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。falseと評価される値も出力されます。 |
| 戻り値 | 説明 |
| void |
DebugConsoleMode
デバッグセッションで使用されるデバッグコンソールモード。オプションを参照してください。
列挙型メンバー
デバッグセッションには個別のデバッグコンソールが必要です。
デバッグセッションは、親セッションとデバッグコンソールを共有する必要があります。この値は、親セッションを持たないセッションには効果がありません。
DebugProtocolBreakpoint
DebugProtocolBreakpointは、デバッグアダプタープロトコルで定義されている Breakpoint 型の不透明な代理型です。
DebugProtocolMessage
DebugProtocolMessageは、デバッグアダプタープロトコルで定義されている ProtocolMessage 型の不透明な代理型です。
DebugProtocolSource
DebugProtocolSourceは、デバッグアダプタープロトコルで定義されている 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の場合、子を1つしか持たないデバッグセッションは、ツリーをよりコンパクトにするために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
シンボルが定義されている場所に関する情報。
通常の場所の定義に関する追加のメタデータ(定義シンボルの範囲を含む)を提供します。
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 | 重大度。デフォルトはエラーです。 |
| 戻り値 | 説明 |
| Diagnostic |
プロパティ
code?: string | number | {target: Uri, value: string | number}
この診断のコードまたは識別子。コードアクションを提供する際など、後の処理に使用する必要があります。
人間が読めるメッセージ。
range: Range
この診断が適用される範囲。
relatedInformation?: DiagnosticRelatedInformation[]
関連する診断情報の配列。例えば、スコープ内のシンボル名が衝突した場合、すべての定義をこのプロパティを介してマークできます。
severity: DiagnosticSeverity
重大度。デフォルトはエラーです。
この診断のソースを説明する人間が読める文字列。例えば '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 | ハンドラー関数を呼び出すときに使用される |
| 戻り値 | 説明 |
| 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
イベントリスニングやタイマーなど、リソースを解放できるタイプを表します。
静的
from(...disposableLikes: Array<{dispose: () => any}>): Disposable
多くのDisposableライクなオブジェクトを1つにまとめます。Disposable のインスタンスではないが dispose 関数を持つオブジェクトがある場合、このメソッドを使用できます。
| パラメーター | 説明 |
|---|---|
| ...disposableLikes: Array<{dispose: () => any}> | 少なくとも |
| 戻り値 | 説明 |
| Disposable | 破棄時に提供されたすべての破棄可能なオブジェクトを破棄する新しい破棄可能なオブジェクトを返します。 |
コンストラクター
new Disposable(callOnDispose: () => any): 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 で返す可能性のある kind のリスト。
これは、特定の kind の編集が要求されたときにプロバイダーをフィルタリングするために使用されます。
DocumentDropOrPasteEditKind
DocumentDropEdit または DocumentPasteEdit を識別します。
静的
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 | ハイライトの種類。デフォルトは text です。 |
| 戻り値 | 説明 |
| DocumentHighlight |
プロパティ
kind?: DocumentHighlightKind
ハイライトの種類。デフォルトは text です。
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>
リンクが与えられた場合、その target を補完します。このメソッドは、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
貼り付けた位置に挿入するテキストまたはスニペット。
編集により高度な挿入ロジックが必要な場合は、これを空の文字列に設定し、代わりに additional edit を提供してください。
kind: DocumentDropOrPasteEditKind
編集の種類。
編集を説明する人間が読めるラベル。
yieldTo?: readonly DocumentDropOrPasteEditKind[]
複数の貼り付け編集が適用される可能性がある場合の順序を制御します。
この編集が他を優先(yield to)する場合、ユーザーに表示される可能な貼り付け編集のリストで下位に表示されます。
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[] | document 内でコピーされる範囲。 |
| 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[] | 貼り付け先の document 内の範囲。 |
| dataTransfer: DataTransfer | 貼り付けに関連付けられた データ転送。このオブジェクトは、貼り付け操作の期間中のみ有効です。 |
| context: DocumentPasteEditContext | 貼り付けのための追加コンテキスト。 |
| token: CancellationToken | キャンセル トークン。 |
| 戻り値 | 説明 |
| ProviderResult<T[]> | 貼り付けを適用できる潜在的な 編集 のセット。返された DocumentPasteEdit は一度に1つだけ適用されます。すべてのプロバイダーから複数の編集が返された場合、最初のものが自動的に適用され、ユーザーが他の編集に切り替えられるウィジェットが表示されます。 |
resolveDocumentPasteEdit(pasteEdit: T, token: CancellationToken): ProviderResult<T>
編集が適用される前に DocumentPasteEdit.additionalEdit を補完するオプションのメソッド。
これは編集ごとに1回呼び出され、完全な編集の生成に時間がかかる場合に使用する必要があります。解決(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 で返す可能性のある kind のリスト。
これは、特定の kind の編集が要求されたときにプロバイダーをフィルタリングするために使用されます。
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
ドキュメント範囲セマンティックトークンプロバイダーインターフェースは、拡張機能とセマンティックトークンの間の規約を定義します。
イベント
onDidChangeSemanticTokens?: Event<void>
このプロバイダーからのセマンティックトークンが変更されたことを示すオプションのイベント。
メソッド
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: [] }
- まず、凡例(legend)を作成する必要があります。この凡例は事前に提供される必要があり、可能なすべてのトークンタイプを網羅しなければなりません。この例では、プロバイダー登録時に渡される以下の凡例を選択します。
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つの範囲を持ちます。1つはその定義を囲む範囲で、もう1つは識別子の範囲のように、最も興味深い範囲を指すものです。
コンストラクター
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
このシンボルが選択されたときに選択され、表示される範囲(例: 関数の名前)。範囲 に含まれている必要があります。
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
環境変数の値を追加します。
拡張機能は特定の変数に対して単一の変更しか行えないため、これは以前の置換、追加、または先頭追加の呼び出しを上書きすることに注意してください。
| パラメーター | 説明 |
|---|---|
| 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 | ハンドラー関数を呼び出すときに使用される |
| 戻り値 | 説明 |
| void |
get(variable: string): EnvironmentVariableMutator
このコレクションが変数に適用するミューテーターがあればそれを取得します。
| パラメーター | 説明 |
|---|---|
| variable: string | ミューテーターを取得する対象の変数。 |
| 戻り値 | 説明 |
| EnvironmentVariableMutator |
prepend(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数の先頭に値を追加します。
拡張機能は特定の変数に対して単一の変更しか行えないため、これは以前の置換、追加、または先頭追加の呼び出しを上書きすることに注意してください。
| パラメーター | 説明 |
|---|---|
| variable: string | 先頭に追加する変数。 |
| value: string | 変数に追加する値。 |
| options?: EnvironmentVariableMutatorOptions | ミューテーター(変更者)に適用されるオプション。オプションが提供されない場合、デフォルトで |
| 戻り値 | 説明 |
| void |
replace(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数を値で置き換えます。
拡張機能は特定の変数に対して単一の変更しか行えないため、これは以前の置換、追加、または先頭追加の呼び出しを上書きすることに注意してください。
| パラメーター | 説明 |
|---|---|
| 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 | イベントリスナーをサブスクライブ解除するディスポーザブル。 |
EventEmitter<T>
イベントエミッターは、他者がサブスクライブするための Event を作成および管理するために使用できます。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}
現在開いている ワークスペース から独立した状態を格納するメモオブジェクト。
拡張機能がグローバルな状態を格納できる絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられます。ただし、親ディレクトリは存在することが保証されています。
キーと値のデータを格納するには 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)を追加できる配列。この拡張機能が無効化されると、これらは破棄されます。
注意: 非同期の破棄関数(dispose-functions)は待機されません。
workspaceState: Memento
現在開いている ワークスペース のコンテキストで状態を格納するメモオブジェクト。
メソッド
asAbsolutePath(relativePath: string): string
拡張機能に含まれるリソースの絶対パスを取得します。
注意: 絶対 URI は Uri.joinPath と extensionUri を介して構築できます。例: vscode.Uri.joinPath(context.extensionUri, relativePath);
| パラメーター | 説明 |
|---|---|
| relativePath: string | 拡張機能に含まれるリソースへの相対パス。 |
| 戻り値 | 説明 |
| string | リソースの絶対パス。 |
ExtensionKind
リモートウィンドウでは、拡張機能の種類(Kind)は、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
シェル統合シーケンスが信頼できるソースからのものであることを確認するために使用するナンス(nonce)。この UX への影響の例として、コマンドラインがナンス付きで報告された場合、シェル統合コマンド装飾 を通じてそれを再実行する前に、ユーザーがそのコマンドラインが正しいかを確認する必要がなくなります。
ターミナルに カスタムシェル統合サポート が含まれている場合、これを使用する必要があります。ランダムな GUID に設定してください。Pseudoterminal の実装内では、この値を関連するシーケンスに渡すことで、それらを信頼できるものにすることができます。
FileChangeEvent
ファイルシステムプロバイダーがファイル変更を通知するために使用しなければならないイベント。
プロパティ
type: FileChangeType
変更のタイプ。
uri: Uri
変更されたファイルの URI。
FileChangeType
ファイル変更タイプの列挙型。
列挙型メンバー
ファイルの内容またはメタデータが変更されました。
ファイルが作成されました。
ファイルが削除されました。
FileCoverage
ファイルのカバレッジメタデータが含まれています。
静的
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);
静的
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の親が存在しない場合、FileNotFound(mkdirp ロジックは不要)。
- throws -
destinationが存在し、overwriteオプションがtrueではない場合、FileExists。
- throws - 権限が不十分な場合、NoPermissions。
createDirectory(uri: Uri): void | Thenable<void>
新しいディレクトリを作成します(新しいファイルは write 呼び出しを介して作成されることに注意してください)。
- throws -
uriの親が存在しない場合、FileNotFound(mkdirp ロジックは不要)。
- 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の親が存在しない場合、FileNotFound(mkdirp ロジックは不要)。
- 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/**)
注意: 組み込みファイルシステムプロバイダーの excludes パターンの大文字と小文字の区別は、基盤となるファイルシステムに依存します。Windows および macOS では大文字と小文字が区別されず、Linux では区別されます。
これらのルールに従って変更があるたびに 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が設定されている場合、FileNotFound(mkdirp ロジックは不要)。
- 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
行ベースの折りたたみ範囲。有効であるためには、開始行と終了行がゼロより大きく、ドキュメントの行数より小さい必要があります。無効な範囲は無視されます。
コンストラクター
new FoldingRange(start: number, end: number, kind?: FoldingRangeKind): FoldingRange
新しい折りたたみ範囲を作成します。
| パラメーター | 説明 |
|---|---|
| start: number | 折りたたまれる範囲の開始行。 |
| end: number | 折りたたまれる範囲の終了行。 |
| kind?: FoldingRangeKind | 折りたたみ範囲のタイプ。 |
| 戻り値 | 説明 |
| FoldingRange |
プロパティ
折りたたむ範囲のゼロベースの終了行。折りたたまれた領域は、その行の最後の文字で終わります。有効であるためには、終了行はゼロ以上で、ドキュメントの行数より小さい必要があります。
kind?: FoldingRangeKind
Comment や Region などの折りたたみ範囲の 種類 を記述します。この種類は折りたたみ範囲を分類するために使用され、「すべてのコメントを折りたたむ」などのコマンドによって使用されます。すべての種類の列挙型については FoldingRangeKind を参照してください。設定されていない場合、その範囲は構文要素に由来します。
折りたたむ範囲のゼロベースの開始行。折りたたまれた領域は、その行の最後の文字の後に始まります。有効であるためには、終了行はゼロ以上で、ドキュメントの行数より小さい必要があります。
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
環境変数の値を追加します。
拡張機能は特定の変数に対して単一の変更しか行えないため、これは以前の置換、追加、または先頭追加の呼び出しを上書きすることに注意してください。
| パラメーター | 説明 |
|---|---|
| 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 | ハンドラー関数を呼び出すときに使用される |
| 戻り値 | 説明 |
| void |
get(variable: string): EnvironmentVariableMutator
このコレクションが変数に適用するミューテーターがあればそれを取得します。
| パラメーター | 説明 |
|---|---|
| variable: string | ミューテーターを取得する対象の変数。 |
| 戻り値 | 説明 |
| EnvironmentVariableMutator |
getScoped(scope: EnvironmentVariableScope): EnvironmentVariableCollection
拡張機能用のスコープ固有の環境変数コレクションを取得します。これにより、指定されたスコープ内でのみターミナル環境変数を変更でき、グローバルコレクションに加えて(かつ適用後に)適用されます。
このメソッドを通じて取得された各オブジェクトは分離されており、グローバルコレクションを含む他のスコープのオブジェクトには影響を与えません。
| パラメーター | 説明 |
|---|---|
| scope: EnvironmentVariableScope | 環境変数コレクションが適用されるスコープ。 スコープパラメータを省略した場合、そのパラメータに関連するすべてのスコープに適用されるコレクションが返されます。例えば、「workspaceFolder」パラメータが指定されていない場合は、すべてのワークスペースフォルダー全体に適用されるコレクションが返されます。 |
| 戻り値 | 説明 |
| EnvironmentVariableCollection | 渡されたスコープに対する環境変数コレクション。 |
prepend(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数の先頭に値を追加します。
拡張機能は特定の変数に対して単一の変更しか行えないため、これは以前の置換、追加、または先頭追加の呼び出しを上書きすることに注意してください。
| パラメーター | 説明 |
|---|---|
| variable: string | 先頭に追加する変数。 |
| value: string | 変数に追加する値。 |
| options?: EnvironmentVariableMutatorOptions | ミューテーター(変更者)に適用されるオプション。オプションが提供されない場合、デフォルトで |
| 戻り値 | 説明 |
| void |
replace(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数を値で置き換えます。
拡張機能は特定の変数に対して単一の変更しか行えないため、これは以前の置換、追加、または先頭追加の呼び出しを上書きすることに注意してください。
| パラメーター | 説明 |
|---|---|
| variable: string | 置き換える変数。 |
| value: string | 変数と置き換える値。 |
| options?: EnvironmentVariableMutatorOptions | ミューテーター(変更者)に適用されるオプション。オプションが提供されない場合、デフォルトで |
| 戻り値 | 説明 |
| void |
GlobPattern
ファイルパスを照合するためのファイルグロブパターン。これは、グロブパターン文字列(**/*.{ts,js} や *.{ts,js} など)または 相対パターン のいずれかです。
グロブパターンには以下の構文を使用できます。
*- パスセグメント内のゼロ個以上の文字に一致する?- パスセグメント内の1文字に一致する**- ゼロ個以上のパスセグメントに一致する{}は条件をグループ化します(例:**/*.{ts,js}はすべての TypeScript および JavaScript ファイルと一致します)[]はパスセグメント内で一致させる文字の範囲を宣言します(例:example.[0-9]はexample.0,example.1, ... と一致します)[!...]はパスセグメント内で一致させる文字の範囲を否定します(例:example.[!0-9]はexample.a,example.bと一致しますが、example.0は一致しません)
注意: バックスラッシュ (``) はグロブパターン内では無効です。既存のファイルパスを照合する必要がある場合は、バックスラッシュをスラッシュに変換する 相対パターン のサポートを使用することを検討してください。それ以外の場合は、グロブパターンを作成する際に必ずバックスラッシュをスラッシュに変換するようにしてください。
GlobPattern: string | RelativePattern
Hover
ホバーは、シンボルや単語に関する追加情報を表します。ホバーはツールチップのようなウィジェットで表示されます。
コンストラクター
new Hover(contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString>, range?: Range): Hover
新しいホバーオブジェクトを作成します。
| パラメーター | 説明 |
|---|---|
| contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString> | ホバーの内容。 |
| range?: Range | ホバーが適用される範囲。 |
| 戻り値 | 説明 |
| ホバー |
プロパティ
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 キーを押したときのインデントの動作を記述します。
列挙型メンバー
新しい行を挿入し、前の行のインデントをコピーします。
新しい行を挿入し、(前の行のインデントに対して)1レベルインデントします。
2つの新しい行を挿入します。
- 1つ目はインデントされ、カーソルが配置されます。
- 2つ目は同じインデントレベルになります。
新しい行を挿入し、(前の行のインデントに対して)1レベルアウトデントします。
IndentationRule
言語のインデントルールを記述します。
プロパティ
行がこのパターンと一致する場合、それ以降のすべての行は(別のルールが一致するまで)1レベルアウトデントされます。
行がこのパターンと一致する場合、それ以降のすべての行は(別のルールが一致するまで)1レベルインデントされます。
indentNextLinePattern?: RegExp
行がこのパターンと一致する場合、その直後の次の行のみが1レベルインデントされます。
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[]
このインレイヒントを受け入れたときに実行されるオプションの テキスト編集。インレイヒントを受け入れるためのデフォルトのジェスチャはダブルクリックです。
注意: 編集は、インレイヒント(またはその最も近いバリエーション)がドキュメントの一部となり、インレイヒント自体が不要になるようにドキュメントを変更することが期待されます。
注意: このプロパティは、インレイヒントの 解決 (resolving) 中に遅延設定することができます。
tooltip?: string | MarkdownString
このアイテムにマウスを合わせたときに表示されるツールチップテキスト。
注意: このプロパティは、インレイヒントの 解決 (resolving) 中に遅延設定することができます。
InlayHintKind
インレイヒントの種類。
インレイヒントの種類は、対応する前景色や背景色が使用されるなど、インラインヒントの見た目を定義します。
列挙型メンバー
型注釈のためのインレイヒント。
パラメータのためのインレイヒント。
InlayHintLabelPart
インレイヒントラベルパーツを使用すると、インレイヒントのインタラクティブで複合的なラベルを作成できます。
コンストラクター
new InlayHintLabelPart(value: string): InlayHintLabelPart
新しいインレイヒントラベルパーツを作成します。
| パラメーター | 説明 |
|---|---|
| value: string | パーツの値。 |
| 戻り値 | 説明 |
| InlayHintLabelPart |
プロパティ
command?: Command
このラベルパーツのためのオプションのコマンド。
エディターはコマンドを持つパーツをクリック可能なリンクとしてレンダリングします。ラベルパーツが 場所 (location) と コマンド (command) を定義している場合、コマンドがコンテキストメニューに追加されます。
注意: このプロパティは、インレイヒントの 解決 (resolving) 中に遅延設定することができます。
location?: Location
このラベルパーツを表す、オプションの ソースコードの場所。
エディターはこの場所をホバーおよびコードナビゲーション機能に使用します: このパーツはクリック可能なリンクとなり、指定された場所のシンボルの定義へ移動します(必ずしも場所自体ではありません)。また、指定された場所で表示されるホバーを表示し、さらにコードナビゲーションコマンドを含むコンテキストメニューを表示します。
注意: このプロパティは、インレイヒントの 解決 (resolving) 中に遅延設定することができます。
tooltip?: string | MarkdownString
このラベルパーツにマウスを合わせたときに表示されるツールチップテキスト。
注意: このプロパティは、インレイヒントの 解決 (resolving) 中に遅延設定することができます。
このラベルパーツの値。
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[]> | InlineValueDescriptors の配列、またはそれを解決する 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
ユーザーがテキスト値を入力できるようにするための具体的な QuickInput。
多くの場合、より便利な window.showInputBox の方が使いやすいことに注意してください。window.createInputBox は、window.showInputBox が必要な柔軟性を提供しない場合に使用する必要があります。
イベント
onDidAccept: Event<void>
ユーザーが入力値の受け入れを示したときにシグナルを送るイベント。
onDidChangeValue: Event<string>
値が変更されたときにシグナルを送るイベント。
onDidHide: Event<void>
onDidTriggerButton: Event<QuickInputButton>
ボタンがトリガーされたときにシグナルを送るイベント。
プロパティ
UI に進行状況インジケーターを表示するかどうかを決定します。デフォルトは false です。
例えば、より多くのデータを読み込んでいる間やユーザーの入力を検証している間などに、これを true に変更します。
buttons: readonly QuickInputButton[]
UI 内の操作用ボタン。
UI がユーザー入力を許可するかどうかを決定します。デフォルトは true です。
例えば、ユーザー入力を検証している間やユーザー入力の次のステップのためにデータを読み込んでいる間などに、これを false に変更します。
UI フォーカスを失った場合でも UI を開いたままにするかどうかを決定します。デフォルトは false です。この設定は iPad では無視され、常に false になります。
入力値を隠すべきかどうかを決定します。デフォルトは false です。
値が入力されていないときに表示されるオプションのプレースホルダーテキスト。
ユーザーへの質問や説明を提供するオプションのプロンプトテキスト。
マルチステップ入力フローのためのオプションの現在のステップ数。
入力 UI のためのオプションのタイトル。
マルチステップ入力フローのためのオプションの合計ステップ数。
validationMessage: string | InputBoxValidationMessage
現在の入力値に問題があることを示すオプションの検証メッセージ。
文字列を設定することにより、InputBox はデフォルトの InputBoxValidationSeverity として Error を使用します。undefined を返すと検証メッセージがクリアされます。
現在の入力値。
valueSelection: readonly [number, number]
入力値の選択範囲。
2つの数値のタプルとして定義され、1つ目が開始インデックス(含む)、2つ目が終了インデックス(含まず)です。undefined の場合は事前に設定された値全体が選択され、空(開始と終了が等しい)の場合はカーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。
このプロパティは、ユーザーが入力したり選択したりしても更新されませんが、拡張機能によって更新することは可能です。
メソッド
この入力 UI と関連リソースを破棄します。
まだ表示されている場合は、まず非表示になります。この呼び出し以降、入力 UI は機能しなくなり、そのメソッドやプロパティにアクセスすべきではありません。代わりに新しい入力 UI を作成する必要があります。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
この入力 UI を非表示にします。
これは onDidHide イベントも発生させます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
現在の構成で入力 UI を表示します。
他の入力 UI は、まず onDidHide イベントを発生させます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
InputBoxOptions
入力ボックス UI の動作を構成するためのオプション。
プロパティ
フォーカスがエディターの他の部分や他のウィンドウに移動しても入力ボックスを開いたままにするには true に設定します。この設定は iPad では無視され、常に false です。
パスワード入力を表示するかどうかを制御します。パスワード入力は入力されたテキストを隠します。
ユーザーに何をすべきかを示すための、入力ボックス内のプレースホルダーとして表示されるオプションの文字列。
入力ボックスの下に表示されるテキスト。
入力ボックスのタイトルを表すオプションの文字列。
入力ボックスにあらかじめ設定しておく値。
valueSelection?: [number, number]
事前に設定された 値 の選択範囲。2つの数値のタプルとして定義され、1つ目が開始インデックス(含む)、2つ目が終了インデックス(含まず)です。undefined の場合は事前に設定された値全体が選択され、空(開始と終了が等しい)の場合はカーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。
メソッド
validateInput(value: string): string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage>
入力を検証し、ユーザーにヒントを与えるために呼び出されるオプションの関数。
| パラメーター | 説明 |
|---|---|
| value: string | 入力ボックスの現在の値。 |
| 戻り値 | 説明 |
| string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage> | エラーメッセージとして表示される人間が読める文字列、または特定のメッセージの深刻度を提供できる InputBoxValidationMessage。'value' が有効な場合は |
InputBoxValidationMessage
InputBox のための検証メッセージを表します。
プロパティ
ユーザーに表示する検証メッセージ。
severity: InputBoxValidationSeverity
検証メッセージの深刻度レベル。
注: InputBoxValidationSeverity.Error を使用する場合、ユーザーは入力を受け入れること(例: Enter キーを押す)ができなくなります。Info および Warning の深刻度では、入力の受け入れは引き続き許可されます。
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} | このプロパティは非推奨であり、エディターによって完全にはサポートされなくなりました(scope と 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 などですが、これらは言語を寄与する拡張機能によって定義され、変更される可能性があります。
言語モデルの不透明な識別子。
単一のリクエストでモデルに送信できる最大トークン数。
人間が読める言語モデルの名前。
言語モデルベンダーのよく知られた識別子。例として 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。リクエストが行えなかった場合、プロミスは拒否されます。 |
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
チャット内のメッセージを表します。ユーザーやアシスタントなど、異なる役割を持つことができます。
静的
Assistant(content: string | Array<LanguageModelTextPart | LanguageModelDataPart | LanguageModelToolCallPart>, name?: string): LanguageModelChatMessage
新しいアシスタントメッセージを作成するためのユーティリティ。
| パラメーター | 説明 |
|---|---|
| content: string | Array<LanguageModelTextPart | LanguageModelDataPart | LanguageModelToolCallPart> | メッセージの内容。 |
| name?: string | メッセージに対するオプションのユーザー名。 |
| 戻り値 | 説明 |
| LanguageModelChatMessage |
User(content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelDataPart>, name?: string): LanguageModelChatMessage
新しいユーザーメッセージを作成するためのユーティリティ。
| パラメーター | 説明 |
|---|---|
| content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelDataPart> | メッセージの内容。 |
| 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> | 応答が完了したときに解決されるプロミス。結果は実際には進行状況コールバックに渡されます。 |
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ループを中断します。
例
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
言語モデルが使用するツール呼び出しモード。
列挙型メンバー
言語モデルはツールを呼び出すか、メッセージを生成するかを選択できます。これがデフォルトです。
言語モデルは提供されたツールのいずれかを呼び出す必要があります。このモードを使用する場合、単一のツールのみをサポートするモデルがあることに注意してください。
LanguageModelDataPart
静的
image(data: Uint8Array, mime: string): LanguageModelDataPart
画像用の新しい LanguageModelDataPart を作成する。
| パラメーター | 説明 |
|---|---|
| data: Uint8Array | バイナリ画像データ |
| mime: string | 画像の MIME タイプ。一般的な値は |
| 戻り値 | 説明 |
| LanguageModelDataPart |
json(value: any, mime?: string): LanguageModelDataPart
JSON用の新しい LanguageModelDataPart を作成する。
注意:この関数は "文字列化されたJSON" ではなく、文字列化可能なオブジェクトを期待しています。渡された値をJSON文字列化できない場合、この関数はエラーをスローします。
| パラメーター | 説明 |
|---|---|
| value: any | JSON文字列化可能な値。 |
| mime?: string | オプションの MIME タイプ、デフォルトは |
| 戻り値 | 説明 |
| LanguageModelDataPart |
text(value: string, mime?: string): LanguageModelDataPart
テキスト用の新しい LanguageModelDataPart を作成する。
注意:文字列のバイトを作成するために UTF-8 エンコーダーが使用されます。
| パラメーター | 説明 |
|---|---|
| value: string | テキストデータ |
| mime?: string | MIME タイプ(もしあれば)。一般的な値は |
| 戻り値 | 説明 |
| LanguageModelDataPart |
コンストラクター
new LanguageModelDataPart(data: Uint8Array, mimeType: string): LanguageModelDataPart
指定されたコンテンツで汎用データパートを構築する。
| パラメーター | 説明 |
|---|---|
| data: Uint8Array | このパートのバイトデータ。 |
| mimeType: string | データの mime タイプ。 |
| 戻り値 | 説明 |
| LanguageModelDataPart |
プロパティ
このパートのバイトデータ。
data プロパティがどのように解釈されるかを決定する mime タイプ。
LanguageModelError
言語モデル固有のエラータイプ。
言語モデルの消費者は、code プロパティを確認して特定の失敗原因を判断する必要があります。例えば、未知の言語モデルを参照した場合の if(someError.code === vscode.LanguageModelError.NotFound.name) {...} などです。特定されていないエラーの場合、cause プロパティに実際のエラーが含まれます。
静的
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 | LanguageModelDataPart
LanguageModelPromptTsxPart
vscode/prompt-tsx からの PromptElementJSON を含む言語モデル応答パート。
コンストラクター
new LanguageModelPromptTsxPart(value: unknown): LanguageModelPromptTsxPart
指定されたコンテンツで prompt-tsx パートを構築する。
| パラメーター | 説明 |
|---|---|
| value: unknown | パートの値。 |
| 戻り値 | 説明 |
| LanguageModelPromptTsxPart |
プロパティ
パーツの値。
LanguageModelResponsePart
LanguageModelChatProvider がチャット応答ストリームで発行できるさまざまなメッセージタイプ
LanguageModelResponsePart: LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelToolCallPart | LanguageModelDataPart
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>
LanguageModelTool.prepareInvocation 用のオプション。
プロパティ
ツールを呼び出す際の入力。
LanguageModelToolResult
ツール呼び出しから返される結果。vscode/prompt-tsx を使用している場合、この結果は ToolResult を使用してレンダリングされる可能性があります。
コンストラクター
new LanguageModelToolResult(content: unknown[]): LanguageModelToolResult
LanguageModelToolResult を作成する
| パラメーター | 説明 |
|---|---|
| content: unknown[] | ツール結果コンテンツパートのリスト |
| 戻り値 | 説明 |
| 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 Language Status」のような、このアイテムの短い名前。
selector: DocumentSelector
このアイテムが表示されるエディターを定義する セレクター。
severity: LanguageStatusSeverity
このアイテムの重要度。
デフォルトは information です。このプロパティを使用して、不足している実行可能ファイルや無効な構成など、注意が必要な問題があることをユーザーに通知できます。
エントリに表示するテキスト。構文を利用してテキストにアイコンを埋め込むことができます。
My text $(icon-name) contains icons like $(icon-name) this one.
ここで icon-name は ThemeIcon アイコンセット から取得されます(例:light-bulb、thumbsup、zap など)。
メソッド
関連するリソースを破棄し、解放する。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
LanguageStatusSeverity
言語ステータスの重要度レベルを表します。
列挙型メンバー
情報レベルの重要度。
警告レベルの重要度。
エラーレベルの重要度。
LineCommentRule
行コメントの構成。
プロパティ
// のような行コメントトークン。
コメントトークンをインデントせず、最初の列に配置するかどうか。デフォルトは false。
LinkedEditingRangeProvider
リンク編集範囲プロバイダーインターフェースは、拡張機能とリンク編集機能との間の契約を定義します。
メソッド
provideLinkedEditingRanges(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<LinkedEditingRanges>
ドキュメント内の指定された位置に対して、その位置にあるシンボルの範囲と、同じコンテンツを持つすべての範囲を返します。新しいコンテンツが有効であれば、範囲の1つへの変更を他のすべての範囲に適用できます。有効なコンテンツを記述するために、結果とともにオプションのワードパターンを返すことができます。結果固有のワードパターンが提供されない場合は、言語構成のワードパターンが使用されます。
| パラメーター | 説明 |
|---|---|
| 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 | 文字列。falseと評価される値は出力されません。 |
| 戻り値 | 説明 |
| void |
appendLine(value: string): void
指定された値と改行文字をチャネルに追加する。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。falseと評価される値も出力されます。 |
| 戻り値 | 説明 |
| 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 | 文字列。falseと評価される値は出力されません。 |
| 戻り値 | 説明 |
| 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[]}
このマークダウン文字列が信頼できるソースからのものであることを示します。信頼されたマークダウンのみが、[実行](command:myCommandId)のようにコマンドを実行するリンクをサポートします。
デフォルトはfalseです(コマンドは無効です)。
このマークダウン文字列に生のHTMLタグを含めることができることを示します。デフォルトはfalseです。
supportHtmlがfalseの場合、マークダウンレンダラーはマークダウンテキストに含まれるすべての生のHTMLタグを取り除きます。つまり、レンダリングにはマークダウン構文のみを使用できます。
supportHtmlがtrueの場合、マークダウンレンダラーは、安全なサブセットのHTMLタグと属性のレンダリングも許可します。サポートされているすべてのタグと属性のリストについては、こちらを参照してください。
このマークダウン文字列に$(zap)のようなThemeIconsを含めることができることを示します。
マークダウン文字列。
メソッド
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から返される、さまざまな種類のModel Context Protocolサーバーを記述する定義。
McpServerDefinition: McpStdioServerDefinition | McpHttpServerDefinition
McpServerDefinitionProvider<T>
Model Context Protocolサーバー定義を提供できる型。これは拡張機能のアクティブ化中に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ではないプロパティは変更可能であり、拡張機能は解決されたサーバーを返す必要があります。
拡張機能は、サーバーを起動すべきでないことを示すためにundefinedを返すか、エラーをスローできます。保留中のツール呼び出しがある場合、エディターはそれをキャンセルし、言語モデルにエラーメッセージを返します。
| パラメーター | 説明 |
|---|---|
| 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文字列化可能である必要があります。
注意: 値として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つの表現。
静的
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
ノートブックのコンテンツオプションは、ノートブックのどの部分が永続化されるかを定義します。
例えば、ノートブックシリアライザーが出力の保存をオプトアウトした場合、その出力が変更されてもエディターはノートブックを ダーティ(未保存) としてマークしません。
プロパティ
セルメタデータのプロパティ変更イベントがノートブックドキュメントのコンテンツ変更イベントをトリガーするかどうか、およびそれがdiffエディターで使用されるかどうかを制御します。デフォルトは false です。コンテンツプロバイダーがメタデータのプロパティをファイルドキュメントに永続化しない場合は、true に設定する必要があります。
ドキュメントメタデータのプロパティ変更イベントがノートブックドキュメントのコンテンツ変更イベントをトリガーするかどうか、およびそれがdiffエディターで使用されるかどうかを制御します。デフォルトは false です。コンテンツプロバイダーがメタデータのプロパティをファイルドキュメントに永続化しない場合は、true に設定する必要があります。
出力変更イベントがノートブックドキュメントのコンテンツ変更イベントをトリガーするかどうか、およびそれがdiffエディターで使用されるかどうかを制御します。デフォルトは 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
ノートブック編集は、ノートブックのコンテンツに適用されるべき編集を表します。
静的
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 | 文字列。falseと評価される値は出力されません。 |
| 戻り値 | 説明 |
| void |
appendLine(value: string): void
指定された値と改行文字をチャネルに追加する。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。falseと評価される値も出力されます。 |
| 戻り値 | 説明 |
| void |
チャネルからすべての出力を削除する。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
関連するリソースを破棄し、解放する。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
このチャネルをUIから非表示にする。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
チャネルのすべての出力を指定された値で置き換えます。
| パラメーター | 説明 |
|---|---|
| value: string | 文字列。falseと評価される値は出力されません。 |
| 戻り値 | 説明 |
| 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 オブジェクトは イミュータブル(不変) です。既存の位置から新しい位置を派生させるには、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
LanguageModelTool.prepareInvocation への呼び出しの結果。
プロパティ
confirmationMessages?: LanguageModelToolConfirmationMessages
このプロパティが存在することは、ツールを実行する前にユーザーに確認を求める必要があることを示します。副作用がある、または危険である可能性があるツールについては、ユーザーに確認を求める必要があります。
invocationMessage?: string | MarkdownString
ツール実行中に表示されるカスタマイズされた進行メッセージ。
PrepareLanguageModelChatModelOptions
LanguageModelChatProvider.provideLanguageModelChatInformation に渡されるオプションのリスト。
プロパティ
UI フローを通じてユーザーにプロンプトを表示するか、モデルをサイレントに解決するかどうか。silent が 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 です。さらに、直接または thenable から null および undefined を返すこともできます。
以下のスニペットはすべて HoverProvider の有効な実装です。
let a: HoverProvider = {
provideHover(doc, pos, token): ProviderResult<Hover> {
return new Hover('Hello World');
}
};
let b: HoverProvider = {
provideHover(doc, pos, token): ProviderResult<Hover> {
return new Promise(resolve => {
resolve(new Hover('Hello World'));
});
}
};
let c: HoverProvider = {
provideHover(doc, pos, token): ProviderResult<Hover> {
return; // undefined
}
};
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 が呼び出される前に発生したイベントは無視されます。
数値を使用して端末の終了コードを提供できます。終了コードは正でなければならず、0以外の終了コードは失敗を示します。これは通常の端末では通知を表示し、CustomExecution API と一緒に使用された場合は依存タスクの進行を許可します。
例: "y" が押されたときに端末を終了し、それ以外の場合は通知を表示します。
const writeEmitter = new vscode.EventEmitter<string>();
const closeEmitter = new vscode.EventEmitter<void>();
const pty: vscode.Pseudoterminal = {
onDidWrite: writeEmitter.event,
onDidClose: closeEmitter.event,
open: () => writeEmitter.fire('Press y to exit successfully'),
close: () => {},
handleInput: data => {
if (data !== 'y') {
vscode.window.showInformationMessage('Something went wrong');
}
closeEmitter.fire();
}
};
const terminal = vscode.window.createTerminal({ name: 'Exit example', pty });
terminal.show(true);
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 | 入力データ。 例: 端末に入力をエコーします。Enter のシーケンス(
|
| 戻り値 | 説明 |
| void |
open(initialDimensions: TerminalDimensions): void
pty が開き、イベントの発生を開始する準備ができたときを処理するように実装してください。
| パラメーター | 説明 |
|---|---|
| initialDimensions: TerminalDimensions | 端末の寸法。これが呼び出される前に端末パネルが開かれていない場合、これは undefined になります。 |
| 戻り値 | 説明 |
| void |
setDimensions(dimensions: TerminalDimensions): void
フォントサイズの変更やパネルのサイズ変更など、端末パネルに収まる行数と列数が変わったときを処理するように実装してください。端末の寸法の初期状態は、ユーザーインターフェースに表示されるまでサイズが不明なため、これがトリガーされるまでは undefined として扱われるべきです。
寸法が onDidOverrideDimensions によって上書きされている場合でも、setDimensions は通常のパネル寸法で呼び出され続け、拡張機能が寸法変更に反応し続けられるようにします。
| パラメーター | 説明 |
|---|---|
| dimensions: TerminalDimensions | 新しい寸法。 |
| 戻り値 | 説明 |
| void |
QuickDiffProvider
Quick diff プロバイダーは、変更されたリソースの元の状態への uri を提供します。エディターはこの情報を使用して、テキスト内のアドホックな diff をレンダリングします。
メソッド
provideOriginalResource(uri: Uri, token: CancellationToken): ProviderResult<Uri>
指定されたリソース URI の元のリソースへの Uri を提供します。
| パラメーター | 説明 |
|---|---|
| uri: Uri | テキストエディターで開かれているリソースの URI。 |
| token: CancellationToken | キャンセル トークン。 |
| 戻り値 | 説明 |
| ProviderResult<Uri> | 一致する元のリソースの URI に解決される thenable。 |
QuickInput
すべてのクイック入力型の基本インターフェース。
クイック入力は、拡張機能がシンプルな UI 要素を通じてユーザーと対話するための統合された方法を提供します。クイック入力 UI は最初は表示されません。プロパティを設定した後、拡張機能は show を呼び出すことで UI を表示できます。
この UI が非表示にならなければならない理由はいくつかあり、拡張機能は onDidHide を通じて通知されます。例としては、hide への明示的な呼び出し、ユーザーが Esc キーを押した場合、他の入力 UI が開いた場合などがあります。
ユーザーが Enter キーを押すなど、現在の状態を受け入れるようなジェスチャーを行っても、この UI コンポーネントは自動的には隠れません。ユーザーの入力を受け入れるかどうか、および hide の呼び出しによって UI を実際に隠すべきかどうかは、拡張機能の判断に委ねられます。
拡張機能がこの入力 UI を必要としなくなった場合は、関連付けられたリソースを解放できるように dispose する必要があります。
イベント
onDidHide: Event<void>
プロパティ
UI に進行状況インジケーターを表示するかどうかを決定します。デフォルトは false です。
例えば、より多くのデータを読み込んでいる間やユーザーの入力を検証している間などに、これを true に変更します。
UI がユーザー入力を許可するかどうかを決定します。デフォルトは true です。
例えば、ユーザー入力を検証している間やユーザー入力の次のステップのためにデータを読み込んでいる間などに、これを false に変更します。
UI フォーカスを失った場合でも UI を開いたままにするかどうかを決定します。デフォルトは false です。この設定は iPad では無視され、常に false になります。
マルチステップ入力フローのためのオプションの現在のステップ数。
入力 UI のためのオプションのタイトル。
マルチステップ入力フローのためのオプションの合計ステップ数。
メソッド
この入力 UI と関連リソースを破棄します。
まだ表示されている場合は、まず非表示になります。この呼び出し以降、入力 UI は機能しなくなり、そのメソッドやプロパティにアクセスすべきではありません。代わりに新しい入力 UI を作成する必要があります。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
この入力 UI を非表示にします。
これは onDidHide イベントも発生させます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
現在の構成で入力 UI を表示します。
他の入力 UI は、まず onDidHide イベントを発生させます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
QuickInputButton
プロパティ
iconPath: IconPath
ボタンのアイコン。
location?: QuickInputButtonLocation
ボタンを表示する場所。
デフォルトは QuickInputButtonLocation.Title です。
注: このプロパティは、ボタンが QuickPickItem に追加された場合は無視されます。
存在する場合、ボタンがオン/オフを切り替え可能なトグルボタンであることを示します。
| パラメーター | 説明 |
|---|---|
| checked: boolean | トグルボタンが現在オンかどうかを示します。このプロパティはボタンが切り替えられたときに更新されます。 |
ボタンの上にマウスを置いたときに表示されるオプションのツールチップ。
QuickInputButtonLocation
QuickInputButton をレンダリングする場所を指定します。
列挙型メンバー
ボタンはタイトルバーにレンダリングされます。
ボタンは入力ボックスの右側にインラインでレンダリングされます。
ボタンは入力ボックス内の右端にレンダリングされます。
QuickInputButtons
静的
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>
onDidTriggerButton: Event<QuickInputButton>
ボタンがトリガーされたときにシグナルを送るイベント。
このイベントは、buttons 配列に格納されているボタンがトリガーされたときに発生します。QuickPickItem 上のボタンでは発生しません。
onDidTriggerItemButton: Event<QuickPickItemButtonEvent<T>>
特定の QuickPickItem 内のボタンがトリガーされたことを通知するイベント。
このイベントは、buttons の一部であるタイトルバーのボタンでは発生しません。
プロパティ
アクティブなアイテム。拡張機能から読み取りおよび更新が可能です。
UI に進行状況インジケーターを表示するかどうかを決定します。デフォルトは false です。
例えば、より多くのデータを読み込んでいる間やユーザーの入力を検証している間などに、これを true に変更します。
buttons: readonly QuickInputButton[]
UI 内の操作用ボタン。
同時に複数のアイテムを選択できるかどうかを決定します。デフォルトは false です。
UI がユーザー入力を許可するかどうかを決定します。デフォルトは true です。
例えば、ユーザー入力を検証している間やユーザー入力の次のステップのためにデータを読み込んでいる間などに、これを false に変更します。
UI フォーカスを失った場合でも UI を開いたままにするかどうかを決定します。デフォルトは false です。この設定は iPad では無視され、常に false になります。
選択対象のアイテム。拡張機能から読み取りおよび更新が可能です。
QuickPick アイテムが更新されたときにスクロール位置を維持するかどうかを決定します。デフォルトは false です。
フィルタテキストをアイテムの description に対してもマッチングするかどうかを決定します。デフォルトは false です。
フィルタテキストをアイテムの detail に対してもマッチングするかどうかを決定します。デフォルトは false です。
値が入力されていないときにフィルタテキストボックスに表示されるオプションのプレースホルダーテキスト。
ユーザーに指示やコンテキストを提供するオプションのテキスト。
プロンプトは入力ボックスの下、アイテムリストの上に表示されます。
選択されたアイテム。拡張機能から読み取りおよび更新が可能です。
マルチステップ入力フローのためのオプションの現在のステップ数。
入力 UI のためのオプションのタイトル。
マルチステップ入力フローのためのオプションの合計ステップ数。
フィルタテキストの現在の値。
メソッド
この入力 UI と関連リソースを破棄します。
まだ表示されている場合は、まず非表示になります。この呼び出し以降、入力 UI は機能しなくなり、そのメソッドやプロパティにアクセスすべきではありません。代わりに新しい入力 UI を作成する必要があります。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
この入力 UI を非表示にします。
これは onDidHide イベントも発生させます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
現在の構成で入力 UI を表示します。
他の入力 UI は、まず onDidHide イベントを発生させます。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
QuickPickItem
アイテムのリストから選択可能なアイテムを表します。
プロパティ
ユーザーの入力によってフィルタリングされた場合でも、このアイテムを常に表示するかどうかを決定します。
注: このプロパティは、kind が QuickPickItemKind.Separator に設定されている場合は無視されます。
buttons?: readonly QuickInputButton[]
この特定のアイテム上にレンダリングされるオプションのボタン。
これらのボタンは、押されると QuickPickItemButtonEvent をトリガーします。ボタンは createQuickPick API で作成された Quick Pick を使用している場合にのみレンダリングされます。showQuickPick API を使用している場合はレンダリングされません。
注: このプロパティは、kind が QuickPickItemKind.Separator に設定されている場合は無視されます。
同じ行に目立たないようにレンダリングされる人間が読める文字列。
$(<name>) 構文による テーマアイコン のレンダリングをサポートしています。
注: このプロパティは、kind が QuickPickItemKind.Separator に設定されている場合は無視されます。
別の行に目立たないようにレンダリングされる人間が読める文字列。
$(<name>) 構文による テーマアイコン のレンダリングをサポートしています。
注: このプロパティは、kind が QuickPickItemKind.Separator に設定されている場合は無視されます。
iconPath?: IconPath
アイテムのアイコン。
kind?: QuickPickItemKind
Quick Pick 内でのレンダリング方法を決定するアイテムの種類。
指定されていない場合、デフォルトは QuickPickItemKind.Default です。
目立つようにレンダリングされる人間が読める文字列。
$(<name>) 構文による テーマアイコン のレンダリングをサポートしています。
注: kind が QuickPickItemKind.Default に設定されている場合(セパレーターではなく通常のアイテム)、$(<name>) 構文による テーマアイコン のレンダリングをサポートします。
このアイテムが初期状態で選択されているかどうかを示すオプションのフラグ。
これは showQuickPick API を使用している場合にのみ適用されます。createQuickPick API で同様のことを行うには、単純に selectedItems を初期状態で選択したいアイテムに設定してください。
注: これはピッカーが複数選択を許可している場合にのみ適用されます。
参照: QuickPickOptions.canPickMany
注: このプロパティは、kind が QuickPickItemKind.Separator に設定されている場合は無視されます。
resourceUri?: Uri
このアイテムに関連付けられたリソースを表す Uri。
設定されている場合、このプロパティは明示的に提供されていない場合にいくつかのアイテムプロパティを自動的に派生させるために使用されます。
- ラベル: label が提供されていないか空の場合、リソースのファイル名から派生します。
- 説明: description が提供されていないか空の場合、リソースのパスから派生します。
- アイコン: iconPath が ThemeIcon.File または ThemeIcon.Folder に設定されている場合、現在のファイルアイコンテーマから派生します。
QuickPickItemButtonEvent<T>
QuickPickItem 上で押されたボタンを記述するイベント。
プロパティ
button: QuickInputButton
押されたボタン。
ボタンが属するアイテム。
QuickPickItemKind
quick pick item の種類を定義します。
列挙型メンバー
視覚的なグループ化を提供するセパレーターアイテム。
QuickPickItem の種類が Separator の場合、そのアイテムは視覚的な区切りであり、選択可能なアイテムではありません。適用されるプロパティは label のみです。QuickPickItem 上の他のすべてのプロパティは無視され、効果はありません。
Quick Pick で選択可能なアイテムのデフォルトの種類。
QuickPickOptions
Quick Pick UI の動作を設定するオプション。
イベント
onDidSelectItem(item: string | QuickPickItem): any
アイテムが選択されるたびに呼び出されるオプション関数。
| パラメーター | 説明 |
|---|---|
| item: string | QuickPickItem | |
| 戻り値 | 説明 |
| any |
プロパティ
ピッカーが複数選択を許可するかどうかを決定します。true の場合、結果は選択されたアイテムの配列になります。
エディターの別の部分や別のウィンドウにフォーカスが移動したときにピッカーを開いたままにするには true を設定します。この設定は iPad では無視され、常に false になります。
アイテムをフィルタリングするときに description を含めるかどうかを決定します。デフォルトは false です。
アイテムをフィルタリングするときに detail を含めるかどうかを決定します。デフォルトは false です。
ユーザーをガイドするために、入力ボックス内にプレースホルダーとして表示されるオプションの文字列。
ユーザーに指示やコンテキストを提供するオプションのテキスト。
プロンプトは入力ボックスの下、アイテムリストの上に表示されます。
Quick Pick のオプションのタイトル。
Range
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
ReferenceProvider(参照プロバイダー)インターフェースは、拡張機能と find references(参照検索)機能との間の契約を定義します。
メソッド
provideReferences(document: TextDocument, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>
指定された位置とドキュメントに対するプロジェクト全体のリファレンスセットを提供します。
| パラメーター | 説明 |
|---|---|
| document: TextDocument | コマンドが呼び出されたドキュメント。 |
| position: Position | コマンドが呼び出された位置。 |
| context: ReferenceContext | リファレンスリクエストに関する付加情報。 |
| token: CancellationToken | キャンセル トークン。 |
| 戻り値 | 説明 |
| ProviderResult<Location[]> | 場所の配列、またはその解決を待機する thenable。結果がないことは |
RelativePattern
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
RenameProvider(名前変更プロバイダー)インターフェースは、拡張機能と rename(名前変更)機能との間の契約を定義します。
メソッド
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 | シンボルの新しい名前。指定された名前が無効な場合、プロバイダーは拒否された Promise を返さなければなりません。 |
| 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から始まる文字の値。 |
| 戻り値 | 説明 |
| Selection |
プロパティ
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
SelectionRange(選択範囲)は、選択階層の一部を表します。選択範囲は、それを含む親選択範囲を持つ場合があります。
コンストラクター
new SelectionRange(range: Range, parent?: SelectionRange): SelectionRange
新しい選択範囲を作成します。
| パラメーター | 説明 |
|---|---|
| range: Range | 選択範囲の範囲。 |
| parent?: SelectionRange | 選択範囲の親。 |
| 戻り値 | 説明 |
| SelectionRange |
プロパティ
parent?: SelectionRange
この範囲を含む親選択範囲。
range: Range
この選択範囲の Range。
SelectionRangeProvider
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
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
シェル内でコマンドラインが実行されるときに使用されるシェルオプション。デフォルトは undefined です。
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
Signature help(シグネチャヘルプ)は、呼び出し可能なもののシグネチャを表します。複数のシグネチャが存在する可能性がありますが、アクティブなシグネチャとアクティブなパラメータはそれぞれ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 オブジェクト。結果がない場合は、 |
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:デフォルト値} で定義されます。完全なスニペット構文も参照してください。
コンストラクター
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 | '与えられた通りに' 追加する値。文字列はエスケープされます。 |
| 戻り値 | 説明 |
| SnippetString | このスニペット文字列。 |
appendVariable(name: string, defaultValue: string | (snippet: SnippetString) => any): SnippetString
このスニペット文字列の 値 に変数 (${VAR}) を追加するビルダー関数です。
| パラメーター | 説明 |
|---|---|
| name: string | 変数名 - |
| defaultValue: string | (snippet: SnippetString) => any | 変数名を解決できない場合に使用されるデフォルト値 - 文字列、またはネストされたスニペットを作成できる関数。 |
| 戻り値 | 説明 |
| SnippetString | このスニペット文字列。 |
SnippetTextEdit
スニペット編集は、エディタによって実行される対話的な編集を表します。
注意: スニペット編集は、通常の テキスト編集 として常に実行可能です。これは、対応するエディタが開いていない場合や、ワークスペース編集 に複数のファイルに対するスニペット編集が含まれている場合に発生します。その場合、アクティブなエディタに一致するものだけがスニペット編集として実行され、その他は通常のテキスト編集として実行されます。
静的
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 == exportable のようにキー scmResourceGroupState のコンテキスト値を指定できます。
"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 == diffable のようにキー scmResourceState のコンテキスト値を指定できます。
"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 | このステートメントが実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。0 または false の場合、ステートメントは未実行としてマークされます。 |
| location: Range | Position | ステートメントの位置。 |
| branches?: BranchCoverage[] | この行の分岐からの実行範囲。条件式ではない場合は省略する必要があります。 |
| 戻り値 | 説明 |
| StatementCoverage |
プロパティ
branches: BranchCoverage[]
この行またはステートメントの分岐からの実行範囲。条件式ではない場合、これは空になります。
このステートメントが実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。0 または false の場合、ステートメントは未実行としてマークされます。
ステートメントの位置。
StatusBarAlignment
ステータスバーアイテムの配置を表します。
列挙型メンバー
左側に配置。
右側に配置。
StatusBarItem
ステータスバーアイテムは、テキストやアイコンを表示し、クリック時にコマンドを実行できるステータスバーへの貢献です。
プロパティ
accessibilityInformation: AccessibilityInformation
スクリーンリーダーがこの StatusBar アイテムとやり取りする際に使用されるアクセシビリティ情報。
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.
ここで icon-name は 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
このタブは、diff 構成内の2つのノートブックを表します。
コンストラクター
new TabInputNotebookDiff(original: Uri, modified: Uri, notebookType: string): TabInputNotebookDiff
ノートブック diff タブ入力を構築します。
| パラメーター | 説明 |
|---|---|
| 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
このタブは、diff としてレンダリングされる2つのテキストベースのリソースを表します。
コンストラクター
new TabInputTextDiff(original: Uri, modified: Uri): TabInputTextDiff
指定された URI を持つ新しいテキスト diff タブ入力を構築します。
| パラメーター | 説明 |
|---|---|
| original: Uri | 元のテキストリソースの URI。 |
| modified: Uri | 変更されたテキストリソースの URI。 |
| 戻り値 | 説明 |
| TabInputTextDiff |
プロパティ
modified: Uri
変更されたテキストリソースの URI。
original: Uri
元のテキストリソースの URI。
TabInputWebview
このタブは Webview を表します。
コンストラクター
new TabInputWebview(viewType: string): TabInputWebview
指定されたビュータイプを持つ Webview タブ入力を構築します。
| パラメーター | 説明 |
|---|---|
| viewType: string | Webview の種類。WebviewPanel の viewType にマップされます。 |
| 戻り値 | 説明 |
| TabInputWebview |
プロパティ
Webview の種類。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 のセマンティックバージョニング(semver)表記をサポートしています。
TaskGroup
タスクのグループ化。エディタはデフォルトで 'Clean'、'Build'、'RebuildAll'、'Test' グループをサポートしています。
静的
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
タスクパネルをこのタスク専用にするか(Dedicated)、タスク間で共有するか(Shared)、あるいは実行のたびに新しいパネルを作成するか(New)を制御します。デフォルトは TaskInstanceKind.Shared です。
reveal?: TaskRevealKind
タスクの出力をユーザーインターフェースに表示(Reveal)するかどうかを制御します。デフォルトは RevealKind.Always です。
"Terminal will be reused by tasks, press any key to close it"(ターミナルはタスクによって再利用されます。キーを押すと閉じます)というメッセージを表示するかどうかを制御します。
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
拡張機能が使用状況とエラーのテレメトリをログに記録するために使用できるテレメトリロガー。
ロガーは 送信者 をラップしますが、以下のことを保証します。
- テレメトリを無効化または調整するユーザー設定が尊重されること、および
- 潜在的に機密性の高いデータが削除されること。
また、送信されたデータを表示する「echo UI」を有効にし、エディタが未処理のエラーをそれぞれの拡張機能に転送できるようにします。
TelemetryLogger のインスタンスを取得するには、createTelemetryLogger を使用してください。
イベント
onDidChangeEnableStates: Event<TelemetryLogger>
使用状況またはエラーのテレメトリの有効状態が変更されたときに発生する イベント。
プロパティ
このロガーでエラーテレメトリが有効かどうか。
このロガーで使用状況テレメトリが有効かどうか。
メソッド
このオブジェクトを破棄し、リソースを解放します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
logError(eventName: string, data?: Record<string, any>): void
エラーイベントをログに記録します。
クリーンアップ、テレメトリ設定のチェック、データ・ミックスインが完了した後、TelemetrySender.sendEventData を呼び出してイベントを記録します。テレメトリ設定が「Error+」の場合にイベントをログに記録するという点で logUsage とは異なります。自動的に拡張機能のテレメトリ出力チャネルへのエコーをサポートします。
| パラメーター | 説明 |
|---|---|
| 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
ターミナルの終了ステータス。ターミナルがアクティブな間は undefined になります。
例: ターミナルが非ゼロの終了コードで終了したときに、終了コードを表示する通知を表示します。
window.onDidCloseTerminal(t => {
if (t.exitStatus && t.exitStatus.code) {
vscode.window.showInformationMessage(`Exit code: ${t.exitStatus.code}`);
}
});
ターミナルの名前。
シェルプロセスのプロセスID。
shellIntegration: TerminalShellIntegration
ターミナル向けの シェル統合 機能を持つオブジェクト。ターミナル作成直後は常に undefined になります。ターミナルでシェル統合がアクティブになったときに通知を受け取るには、window.onDidChangeTerminalShellIntegration をリッスンしてください。
シェル統合がアクティブにならない場合、このオブジェクトは undefined のままになる可能性があることに注意してください。例えば、コマンドプロンプトはシェル統合をサポートしておらず、ユーザーのシェル設定が自動的なシェル統合のアクティブ化と競合する可能性があります。
state: TerminalState
Terminal の現在の状態。
メソッド
関連するリソースを破棄し、解放する。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| 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 の場合、Terminal がフォーカスを取得するのを防ぐオプションのフラグ。
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
シェル統合シーケンスが信頼できるソースからのものであることを確認するために使用するナンス(nonce)。この 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
値がどのように取得されたかによって決定されるコマンドライン値の信頼度。これはシェル統合スクリプトの実装に依存します。
コマンドライン値が信頼されたソースから来たものであり、したがって「(コマンド)を実行しますか?」といったユーザーの追加確認なしで実行しても安全かどうか。この確認は、コマンドを再度実行する場合にのみ必要となる可能性があります。
これは、コマンドラインがシェル統合スクリプトによって明示的に報告され(例: 高信頼度)、検証のためにナンス(nonce)が使用された場合にのみ 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 を送信します。
- スローされるエラー - タスクターミナルのように、この API をサポートしていないターミナルで実行された場合。
例
// Execute a command in a terminal immediately after being created
const myTerm = window.createTerminal();
window.onDidChangeTerminalShellIntegration(async ({ terminal, shellIntegration }) => {
if (terminal === myTerm) {
const execution = shellIntegration.executeCommand('echo "Hello world"');
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
console.log(`Command exited with code ${event.exitCode}`);
}
});
}
}));
// Fallback to sendText if there is no shell integration within 3 seconds of launching
setTimeout(() => {
if (!myTerm.shellIntegration) {
myTerm.sendText('echo "Hello world"');
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
}, 3000);
例
// Send command to terminal that has been alive for a while
const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
const execution = shellIntegration.executeCommand({ commandLine });
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
console.log(`Command exited with code ${event.exitCode}`);
}
});
} else {
term.sendText(commandLine);
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
| パラメーター | 説明 |
|---|---|
| commandLine: string | 実行するコマンドライン。これがターミナルに送信される正確なテキストです。 |
| 戻り値 | 説明 |
| TerminalShellExecution |
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 Private Mode Set (DECSET)」を参照してください。
Terminal の検出されたシェルタイプ。シェルが何であるか明確なシグナルがない場合、またはシェルがまだサポートされていない場合は undefined になります。この値は、起動されたとき(例: zsh 内で bash を実行している場合)に、サブシェルのシェルタイプに変更されるべきです。
可能な値は現在、'bash', 'cmd', 'csh', 'fish', 'gitbash', 'julia', 'ksh', 'node', 'nu', 'pwsh', 'python', 'sh', 'wsl', 'xonsh', 'zsh' のいずれかとして定義されています。
TestController
テストを発見して実行するためのエントリポイント。これには、エディタ UI を構築するために使用される TestController.items が含まれており、テストを実行できるように 実行プロファイル に関連付けられています。
プロパティ
tests.createTestController に渡されるコントローラーのID。これはグローバルに一意である必要があります。
items: TestItemCollection
「テストツリー」を形成するために、それ自体が独自の 子(children) を持つことができる「トップレベル」の 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 が解決されるまで、自動的に「busy(ビジー)」としてマークされます。
メソッド
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 内のトップレベル項目や、まだ他の項目の children に含まれていない項目については未定義(undefined)となります。
range: Range
その uri 内でのテスト項目の場所です。
これは uri がファイルを指している場合にのみ意味を持ちます。
この項目を他の項目と比較する際に使用すべき文字列です。falsy(偽値)の場合、label が使用されます。
tags: readonly TestTag[]
このテスト項目に関連付けられたタグです。tags と組み合わせて使用したり、単に整理機能として使用したりできます。
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 | ハンドラー関数を呼び出すときに使用される |
| 戻り値 | 説明 |
| void |
get(itemId: string): TestItem
子の中に存在する場合、ID によって効率的にテスト項目を取得します。
| パラメーター | 説明 |
|---|---|
| itemId: string | 取得する項目の ID。 |
| 戻り値 | 説明 |
| TestItem | 見つかった項目。存在しない場合は undefined を返します。 |
replace(items: readonly TestItem[]): void
コレクションによって格納されている項目を置換します。
| パラメーター | 説明 |
|---|---|
| items: readonly TestItem[] | 格納する項目。 |
| 戻り値 | 説明 |
| void |
TestMessage
テスト状態に関連付けられたメッセージです。特定のソース範囲にリンクできるため、例えばアサーション失敗などに役立ちます。
静的
diff(message: string | MarkdownString, expected: string, actual: string): TestMessage
エディター内で差分(diff)として表示される新しい TestMessage を作成します。
| パラメーター | 説明 |
|---|---|
| message: string | MarkdownString | ユーザーに表示するメッセージ。 |
| expected: string | 期待される出力。 |
| actual: string | 実際の出力。 |
| 戻り値 | 説明 |
| TestMessage |
コンストラクター
new TestMessage(message: string | MarkdownString): TestMessage
新しい TestMessage インスタンスを作成します。
| パラメーター | 説明 |
|---|---|
| message: string | MarkdownString | ユーザーに表示するメッセージ。 |
| 戻り値 | 説明 |
| TestMessage |
プロパティ
実際のテスト出力。expectedOutput と一緒に提供された場合、差分ビューが表示されます。
テスト項目のコンテキスト値です。これは、テストのピークビュー(peek view)にメッセージ固有のアクションを提供するために使用できます。ここで設定された値は、以下の menus 貢献ポイントの testMessage プロパティで見つけることができます。
testing/message/context- 結果ツリー内のメッセージ用のコンテキストメニューtesting/message/content- メッセージが表示されているエディターコンテンツに重なる目立つボタン。
例えば
"contributes": {
"menus": {
"testing/message/content": [
{
"command": "extension.deleteCommentThread",
"when": "testMessage == canApplyRichDiff"
}
]
}
}
コマンドは、以下のプロパティを含むオブジェクトで呼び出されます。
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 を渡す必要があります。これは「failed(失敗)」状態とは異なり、コンパイルエラーなどにより、テスト自体が実行できなかったことを示します。
| パラメーター | 説明 |
|---|---|
| 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[]>
ファイル内の単一テストに対する詳細なステートメントおよび関数レベルのカバレッジを提供する、拡張機能によって提供される関数です。これは TestRunProfile.loadDetailedCoverage のテストごとの兄弟にあたり、FileCoverage.includesTests でテスト項目が提供され、そのようなデータが報告されているファイルに対してのみ呼び出されます。
多くの場合、ユーザーがファイルを開くと最初に TestRunProfile.loadDetailedCoverage が呼び出され、次にテストごとの特定のカバレッジ情報を深掘りした場合にこのメソッドが呼び出されます。このメソッドは、ラン中に特定のテストによって実行されたステートメントと宣言に対するカバレッジデータのみを返す必要があります。
この関数に渡される FileCoverage オブジェクトは、このプロファイルに関連付けられた TestRun.addCoverage 呼び出しで生成されたものと同じインスタンスです。
| パラメーター | 説明 |
|---|---|
| testRun: TestRun | カバレッジデータを生成したテストラン。 |
| fileCoverage: FileCoverage | 詳細なカバレッジを読み込むファイルカバレッジオブジェクト。 |
| fromTestItem: TestItem | カバレッジ情報を要求するテスト項目。 |
| token: CancellationToken | 操作をキャンセルすべきであることを示すキャンセル用トークン。 |
| 戻り値 | 説明 |
| Thenable<FileCoverageDetail[]> |
runHandler: (request: TestRunRequest, token: CancellationToken) => void | Thenable<void>
テストランを開始するために呼び出されるハンドラーです。呼び出された際、関数は 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.tags 配列に含む TestItem インスタンスのみがこのプロファイルで実行可能です。
メソッド
ランプロファイルを削除します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
TestRunProfileKind
TestRunProfiles が制御する実行の種類。
列挙型メンバー
Run テストプロファイルの種類。
Debug テストプロファイルの種類。
Coverage テストプロファイルの種類。
TestRunRequest
TestRunRequest は TestRun の前身であり、リクエストを TestController.createTestRun に渡すことによって作成されます。TestRunRequest には、どのテストを実行すべきか、実行すべきでないか、およびどのように実行されるか(profile 経由)に関する情報が含まれています。
通常、TestRunRequest はエディターによって作成され TestRunProfile.runHandler に渡されますが、runHandler の外でテストリクエストやテストランを作成することも可能です。
コンストラクター
new TestRunRequest(include?: readonly TestItem[], exclude?: readonly TestItem[], profile?: TestRunProfile, continuous?: boolean, preserveFocus?: boolean): TestRunRequest
| パラメーター | 説明 |
|---|---|
| include?: readonly TestItem[] | 実行する特定のテストの配列、またはすべてのテストを実行する場合は undefined |
| exclude?: readonly TestItem[] | ランから除外するテストの配列。 |
| profile?: TestRunProfile | このリクエストに使用されるランプロファイル。 |
| continuous?: boolean | ソース変更時に継続的にテストを実行するかどうか。 |
| preserveFocus?: boolean | ランが開始されたときにユーザーのフォーカスを保持するかどうか |
| 戻り値 | 説明 |
| TestRunRequest |
プロパティ
ソースコードの変更に伴ってプロファイルが継続的に実行されるかどうか。TestRunProfile.supportsContinuousRun を設定するプロファイルにのみ関連します。
exclude: readonly TestItem[]
ユーザーがこのランに含まれるテストから除外したとマークしたテストの配列。除外は包含の後に適用されるべきです。
除外が要求されなかった場合は省略可能です。テストコントローラーは、除外されたテストや除外されたテストの子を実行してはなりません。
include: readonly TestItem[]
実行する特定のテストのフィルター。指定された場合、拡張機能は TestRunRequest.exclude に現れるテストを除き、含まれるすべてのテストとその子をすべて実行する必要があります。このプロパティが undefined の場合、拡張機能は単純にすべてのテストを実行する必要があります。
テストを実行するプロセスでは、まだ解決されていないテスト項目の子を解決する必要があります。
テスト結果ビューがどのようにフォーカスされるかを制御します。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。
このドキュメントがまだ一度も保存されていない名称未設定のファイルを表しているかどうか。注意:これはドキュメントがディスクに保存されることを意味するものではありません。ドキュメントがどこに保存されるか(例: file, ftp など)を確認するには Uri.scheme を使用してください。
このドキュメントに関連付けられた言語の識別子。
このドキュメントの行数。
uri: Uri
このドキュメントに関連付けられた URI。
注意:ほとんどのドキュメントは file スキーマを使用しており、これらはディスク上のファイルであることを意味します。しかし、すべてのドキュメントがディスク上に保存されるわけではないため、基礎となるファイルやディスク上の兄弟ファイルにアクセスしようとする前に、scheme を確認する必要があります。
関連項目
このドキュメントのバージョン番号(undo/redo を含む各変更の後に厳密に増加します)。
メソッド
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
位置で示されるテキスト行を返します。返されるオブジェクトは ライブではなく、ドキュメントの変更は反映されないことに注意してください。
位置は調整されます。
offsetAt(position: Position): number
位置を 0 から始まるオフセットに変換します。
位置は調整されます。
positionAt(offset: number): Position
0 から始まるオフセットを位置に変換します。
基礎となるファイルを保存します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| Thenable<boolean> | ファイルが保存されたときに |
validatePosition(position: Position): Position
validateRange(range: Range): Range
TextDocumentChangeEvent
トランザクション的な ドキュメント の変更を記述するイベント。
プロパティ
contentChanges: readonly TextDocumentContentChangeEvent[]
コンテンツ変更の配列。
document: TextDocument
影響を受けるドキュメント。
reason: TextDocumentChangeReason
ドキュメントが変更された理由。理由が不明な場合は undefined です。
TextDocumentChangeReason
テキストドキュメントが変更された理由。
列挙型メンバー
テキストの変更は元に戻す(undo)操作によって引き起こされました。
テキストの変更はやり直し(redo)操作によって引き起こされました。
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
テキスト編集は、ドキュメントに適用されるべき編集を表します。
静的
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} | この編集周辺の undo/redo 動作。デフォルトでは、この編集の前後に undo の停止位置が作成されます。 |
| 戻り値 | 説明 |
| Thenable<boolean> | 編集が適用できたかどうかを示す値で解決される promise。 |
テキストエディターを隠します。
- 非推奨 - 代わりにコマンド
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} | この編集周辺の undo/redo 動作。デフォルトでは、この編集の前後に undo の停止位置が作成されます。 |
| 戻り値 | 説明 |
| Thenable<boolean> | スニペットが挿入できたかどうかを示す値で解決される promise。promise は、スニペットが完全に記入されたことや受け入れられたことを通知するものではないことに注意してください。 |
revealRange(range: Range, revealType?: TextEditorRevealType): void
指定された範囲を表示するために revealType に従ってスクロールします。
| パラメーター | 説明 |
|---|---|
| range: Range | 範囲。 |
| revealType?: TextEditorRevealType |
|
| 戻り値 | 説明 |
| void |
setDecorations(decorationType: TextEditorDecorationType, rangesOrOptions: readonly Range[] | readonly DecorationOptions[]): void
テキストエディターに装飾のセットを追加します。指定された 装飾タイプ を持つ装飾セットが既に存在する場合、それらは置換されます。rangesOrOptions が空の場合、指定された 装飾タイプ を持つ既存の装飾は削除されます。
| パラメーター | 説明 |
|---|---|
| decorationType: TextEditorDecorationType | 装飾タイプ。 |
| rangesOrOptions: readonly Range[] | readonly DecorationOptions[] | |
| 戻り値 | 説明 |
| void |
show(column?: ViewColumn): void
テキストエディタを表示します。
- 非推奨 - 代わりに window.showTextDocument を使用してください。
| パラメーター | 説明 |
|---|---|
| column?: ViewColumn | このエディタを表示するカラム。このメソッドは予期しない動作をするため、次回のメジャーアップデートで削除される予定です。 |
| 戻り値 | 説明 |
| void |
TextEditorCursorStyle
カーソルのレンダリングスタイル。
列挙型メンバー
カーソルを太い垂直線としてレンダリングします。
カーソルを塗りつぶしのブロックとしてレンダリングします。
カーソルを太い水平線としてレンダリングします。
カーソルを細い垂直線としてレンダリングします。
カーソルを枠線付きのブロックとしてレンダリングします。
カーソルを細い水平線としてレンダリングします。
TextEditorDecorationType
テキストエディタ内で同じスタイリングオプションを共有する一連の装飾へのハンドルを表します。
TextEditorDecorationType のインスタンスを取得するには、createTextEditorDecorationType を使用してください。
プロパティ
ハンドルの内部表現。
メソッド
この装飾タイプと、それを使用しているすべてのテキストエディタ上のすべての装飾を削除します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| void |
TextEditorEdit
TextEditor上で1つのトランザクションとして適用される複雑な編集。これは編集内容の説明を保持しており、編集が有効(例:重なる領域がない、その間にドキュメントが変更されていない等)であれば、テキストエディタに関連付けられたドキュメントに適用できます。
メソッド
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 の省略形です。
0から始まる行番号。
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 | 色のID。利用可能な色は https://vscode.dokyumento.jp/api/references/theme-color にリストされています。 |
| 戻り値 | 説明 |
| ThemeColor |
プロパティ
この色の ID。
ThemeIcon
名前付きアイコンへの参照。現在、File、Folder、および ThemeIcon ID がサポートされています。製品のテーマ作成者がアイコンを変更できるようにするため、カスタムアイコンよりもテーマアイコンの使用が推奨されます。
注意: テーマアイコンはラベルや説明の中にもレンダリングできます。テーマアイコンをサポートする場所ではその旨が記載されており、$(<name>) 構文が使用されます。例: quickPick.label = "Hello World $(globe)"。
静的
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 プロパティが undefined の場合に解決するために呼び出されます。ツリーアイテムのクリック/オープン時に TreeItem プロパティが undefined の場合に解決するために呼び出されます。resolveTreeItem では、undefined だったプロパティのみを解決できます。機能は将来、選択時やオープン時に他の欠落しているプロパティを解決するために呼び出されるように拡張される可能性があります。
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.<treeidlowercase>)が自動的に追加されます。
dropMimeTypes: readonly string[]
この DragAndDropController の handleDrop メソッドがサポートする MIME タイプ。これには、定義済みの既存の MIME タイプや、拡張機能によって定義された MIME タイプが含まれます。
ツリーからのドロップをサポートするには、そのツリーの MIME タイプを追加する必要があります。これには同じツリー内からのドロップも含まれます。ツリーの MIME タイプは、application/vnd.code.tree.<treeidlowercase> という形式にすることをお勧めします。
ドロップされたあらゆるタイプのファイルをサポートするには、ファイルの実際の MIME タイプに関係なく、特別な files MIME タイプを使用して files をサポートします。
ドラッグされたアイテムの MIME タイプを調べるには:
DragAndDropControllerをセットアップします。- Developer: Set Log Level... コマンドを使用して、レベルを "Debug" に設定します。
- 開発者ツールを開き、不明な 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.<treeidlowercase>)を使用してください。これを最大限に活用する方法については、DataTransferItem のドキュメントを参照してください。
エディタ内にドラッグ可能なデータ転送アイテムを追加するには、アプリケーション固有の MIME タイプ "text/uri-list" を使用します。"text/uri-list" のデータは、\r\n で区切られた toString() された Uri の文字列である必要があります。ファイル内のカーソル位置を指定するには、Uri のフラグメントを L3,5 に設定します(3は行番号、5は列番号)。
| パラメーター | 説明 |
|---|---|
| source: readonly T[] | ドラッグ&ドロップ操作のソースアイテム。 |
| dataTransfer: DataTransfer | このドラッグに関連付けられたデータ転送。 |
| token: CancellationToken | ドラッグがキャンセルされたことを示すキャンセル・トークン。 |
| 戻り値 | 説明 |
| void | Thenable<void> |
handleDrop(target: T, dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>
ドラッグ&ドロップ操作の結果、この DragAndDropController が属するツリー上にドロップが発生したときに呼び出されます。
拡張機能は、更新が必要な要素に対して onDidChangeTreeData を発行する必要があります。
| パラメーター | 説明 |
|---|---|
| target: T | ドロップが発生しているターゲットのツリー要素。undefined の場合、ターゲットはルートです。 |
| 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 はアクセシビリティ情報の 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)の場合、アイテムが折りたたみ可能な場合は フォルダーテーマアイコン が、それ以外の場合は ファイルテーマアイコン が割り当てられます。ファイルまたはフォルダーの ThemeIcon が指定された場合、アイコンは resourceUri(提供されている場合)を使用して現在のファイルアイコンテーマから取得されます。
ツリー全体で一意である必要のあるツリーアイテムのオプションの ID。ID はツリーアイテムの選択状態と展開状態を維持するために使用されます。
提供されない場合は、ツリーアイテムのラベルを使用して ID が生成されます。注意: ラベルが変更されると ID も変更され、選択状態と展開状態を安定して維持できなくなる可能性があります。
label?: string | TreeItemLabel
このアイテムを説明する人間が読める文字列。偽(falsy)の場合、resourceUri から派生します。
resourceUri?: Uri
このアイテムに関連付けられたリソースを表す Uri。
設定されている場合、このプロパティは明示的に提供されていない場合にいくつかのアイテムプロパティを自動的に派生させるために使用されます。
- ラベル:label が提供されていない場合、リソースのファイル名から派生します。
- 説明:description が
trueに設定されている場合、リソースのパスから派生します。 - アイコン:iconPath が ThemeIcon.File または ThemeIcon.Folder に設定されている場合、現在のファイルアイコンテーマから派生します。
tooltip?: string | MarkdownString
このアイテムにマウスを合わせたときに表示されるツールチップテキスト。
TreeItemCheckboxState
ツリーアイテムのチェックボックス状態
列挙型メンバー
アイテムがチェックされていない状態を決定します
アイテムがチェックされている状態を決定します
TreeItemCollapsibleState
ツリーアイテムの折りたたみ状態
列挙型メンバー
アイテムが折りたたむことも展開することもできないことを決定します。子要素がないことを意味します。
アイテムが折りたたまれていることを示します
アイテムが展開されていることを示します
TreeItemLabel
ツリーアイテムを説明するラベル
プロパティ
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、または空文字列に設定すると、ビューからメッセージが削除されます。
現在選択されている要素。
ツリービューのタイトルは、最初は extension の package.json から取得されます。タイトルプロパティへの変更は、ビューのタイトル内の 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レベルまでしか展開できません。
- 注意:
TreeViewが 登録されている TreeDataProvider は、この API にアクセスするために 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
ディスク上のファイルまたは、無題リソースのような別のリソースを表す汎用リソース識別子。
静的
file(path: string): Uri
ファイルシステムパスから URI を作成します。scheme は 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はパスコンポーネントのみに影響し、他のすべてのコンポーネント(scheme、authority、query、fragment)はそのまま残ります。 - 注2: ベースUriはパスを持っている必要があります。そうでない場合はエラーがスローされます。
パスセグメントは以下の方法で正規化されます
- パスセパレータ(
/または\)の連続は、単一のセパレータに置き換えられます - Windows上の
file-uri では、バックスラッシュ文字(\)はパスセパレータとみなされます ..-セグメントは親セグメントを、.は現在のセグメントを示します- パスには常に残るルートがあります。例えば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 |
プロパティ
Authority は http://www.example.com/some/path?query#fragment における www.example.com の部分です。最初のダブルスラッシュと次のスラッシュの間の部分です。
Fragment は http://www.example.com/some/path?query#fragment における fragment の部分です。
このUriに対応するファイルシステムパスを表す文字列です。
UNCパスを処理し、Windowsのドライブレターを小文字に正規化します。また、プラットフォーム固有のパスセパレータを使用します。
- パスの不正な文字やセマンティクスについての検証は行いません。
- このUriのスキームは参照しません。
- 結果の文字列は表示目的ではなく、
readFileなどのディスク操作に使用されるべきです。
path プロパティとの違いは、プラットフォーム固有のパスセパレータの使用とUNCパスの扱いです。以下のサンプルでその違いを概説します。
const u = URI.parse('file://server/c$/folder/file.txt');
u.authority === 'server';
u.path === '/c$/folder/file.txt';
u.fsPath === '\\serverc$\folder\file.txt';
Path は http://www.example.com/some/path?query#fragment における /some/path の部分です。
Query は http://www.example.com/some/path?query#fragment における query の部分です。
Scheme は http://www.example.com/some/path?query#fragment における http の部分です。最初のコロンより前の部分です。
メソッド
このUriのJSON表現を返します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| any | オブジェクトです。 |
toString(skipEncoding?: boolean): string
このUriの文字列表現を返します。URIの表現と正規化はスキームに依存します。
- 結果の文字列は Uri.parse で安全に使用できます。
- 結果の文字列は表示目的で使用してはいけません。
注意: 実装ではアグレッシブなエンコードを行うため、予期しない(ただし不正確ではない)結果になることがよくあります。例えば、コロンは %3A にエンコードされますが、これは file-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。変更が何もない場合は、このUri( |
UriHandler
URIハンドラーは、システム全体の uri を処理する役割を担います。
メソッド
handleUri(uri: Uri): ProviderResult<void>
提供されたシステム全体の Uri を処理します。
| パラメーター | 説明 |
|---|---|
| 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コンテンツがメッセージを投稿したときに発生します。
Webviewコンテンツは、文字列またはJSONシリアライズ可能なオブジェクトを拡張機能に送り返すことができます。拡張機能はブラウザ環境で実行されないため、Blob、File、ImageData、その他のDOM固有オブジェクトを投稿することはできません。
プロパティ
webviewリソースのコンテンツセキュリティポリシーソースです。
これは、コンテンツセキュリティポリシーのルールで使用されるべきオリジンです。
`img-src https: ${webview.cspSource} ...;`;
webviewのHTMLコンテンツです。
これは完全で有効なhtmlドキュメントである必要があります。このプロパティを変更すると、webviewが再読み込みされます。
Webviewは通常の拡張機能プロセスからサンドボックス化されているため、webviewとの通信はすべてメッセージパッシングを使用する必要があります。拡張機能からwebviewにメッセージを送るには postMessage を使用してください。webviewから拡張機能にメッセージを送り返すには、webview内で acquireVsCodeApi 関数を使用してエディターのapiへのハンドルを取得し、.postMessage() を呼び出してください。
<script>
const vscode = acquireVsCodeApi(); // acquireVsCodeApi can only be invoked once
vscode.postMessage({ message: 'hello!' });
</script>
webview内でワークスペースからリソースを読み込むには、asWebviewUri メソッドを使用し、リソースのディレクトリが WebviewOptions.localResourceRoots にリストされていることを確認してください。
Webviewはサンドボックス化されているとはいえ、スクリプトの実行や任意のコンテンツの読み込みを許可しているため、拡張機能はwebviewを扱う際にすべての標準的なWebセキュリティのベストプラクティスに従う必要があります。これには、すべての信頼できない入力(ワークスペースからのコンテンツを含む)の適切なサニタイズと、コンテンツセキュリティポリシーの設定が含まれます。
options: WebviewOptions
webviewのコンテンツ設定です。
メソッド
asWebviewUri(localResource: Uri): Uri
ローカルファイルシステムのuriをwebview内で使用できるuriに変換します。
Webviewは file: uriを使用して、ワークスペースやローカルファイルシステムからリソースを直接読み込むことはできません。asWebviewUri 関数はローカルの file: uriを受け取り、それをwebview内で同じリソースを読み込むために使用できるuriに変換します。
webview.html = `<img src="${webview.asWebviewUri(
vscode.Uri.file('/Users/codey/workspace/cat.gif')
)}">`;
postMessage(message: any): Thenable<boolean>
webviewコンテンツにメッセージを投稿します。
メッセージは、webviewがライブ状態(表示中、または retainContextWhenHidden を設定してバックグラウンドにある状態)の場合にのみ配信されます。
| パラメーター | 説明 |
|---|---|
| message: any | メッセージの本文。文字列または他のJSONシリアライズ可能なオブジェクトである必要があります。 vscodeの古いバージョンでは、 ただし、拡張機能の |
| 戻り値 | 説明 |
| Thenable<boolean> | メッセージがwebviewに投稿されたとき、または配信不能で破棄されたときに解決されるpromise。 メッセージがwebviewに投稿された場合は
メッセージが実際に受信されたことを確認したい場合は、webviewから確認メッセージを拡張機能に送り返すようにしてみてください。 |
WebviewOptions
webviewのコンテンツ設定。
プロパティ
enableCommandUris?: boolean | readonly string[]
webviewコンテンツ内でコマンドuriが有効かどうかを制御します。
デフォルトは false (コマンドuriは無効)です。
配列を渡すと、その配列内のコマンドのみが許可されます。
webviewコンテンツ内でフォームが有効かどうかを制御します。
スクリプトが有効な場合はデフォルトでtrueになり、それ以外はデフォルトでfalseになります。このプロパティを明示的にtrueまたはfalseに設定すると、デフォルトが上書きされます。
webviewコンテンツ内でスクリプトが有効かどうかを制御します。
デフォルトは false (スクリプト無効)です。
localResourceRoots?: readonly Uri[]
asWebviewUri からのuriを使用して、webviewがローカル(ファイルシステム)リソースを読み込めるルートパス
デフォルトは、現在のワークスペースのルートフォルダと拡張機能のインストールディレクトリです。
ローカルリソースへのアクセスを一切許可しない場合は、空の配列を渡してください。
portMapping?: readonly WebviewPortMapping[]
webview内で使用されるlocalhostポートのマッピング。
ポートマッピングを使用すると、webviewはlocalhostポートがどのように解決されるかを透過的に定義できます。これは、webview内で静的なlocalhostポートを使用し、それをサービスが実行されているランダムなポートに解決するために使用できます。
webviewがlocalhostコンテンツにアクセスする場合、webviewPort と extensionHostPort が同じであっても、ポートマッピングを指定することを推奨します。
注意: ポートマッピングは http または https URLに対してのみ機能します。Websocket URL(例: ws://:3000)を別のポートにマップすることはできません。
WebviewPanel
Webview を含むパネルです。
イベント
onDidChangeViewState: Event<WebviewPanelOnDidChangeViewStateEvent>
パネルの表示状態が変化したときに発生します。
onDidDispose: Event<void>
パネルが破棄されたときに発生します。
これはユーザーがパネルを閉じたか、パネルに対して dispose が呼び出されたためである可能性があります。
破棄されたパネルを使用しようとすると、例外がスローされます。
プロパティ
パネルがアクティブ(ユーザーによってフォーカスされている)かどうか。
iconPath?: IconPath
UIに表示されるパネルのアイコン。
options: WebviewPanelOptions
webviewパネルのコンテンツ設定。
UIに表示されるパネルのタイトル。
viewColumn: ViewColumn
パネルのエディター位置。このプロパティは、webviewがエディターの表示列のいずれかにある場合にのみ設定されます。
'markdown.preview' などのwebviewパネルのタイプを識別します。
パネルが表示されているかどうか。
webview: Webview
パネルに属する Webview です。
メソッド
webviewパネルを破棄します。
これは、表示されているパネルを閉じ、webviewが所有するリソースを破棄します。ユーザーがwebviewパネルを閉じると、webviewパネルも破棄されます。どちらの場合も onDidDispose イベントが発生します。
| パラメーター | 説明 |
|---|---|
| 戻り値 | 説明 |
| any |
reveal(viewColumn?: ViewColumn, preserveFocus?: boolean): void
webviewパネルを指定された列に表示します。
webviewパネルは一度に1つの列にのみ表示されます。すでに表示されている場合は、このメソッドによって新しい列に移動されます。
| パラメーター | 説明 |
|---|---|
| viewColumn?: ViewColumn | パネルを表示するビュー列。未定義の場合は現在の WebviewPanel.viewColumn に表示されます。 |
| preserveFocus?: boolean |
|
| 戻り値 | 説明 |
| void |
WebviewPanelOnDidChangeViewStateEvent
webviewパネルの表示状態が変化したときに発生するイベント。
プロパティ
webviewPanel: WebviewPanel
表示状態が変化した WebviewPanel です。
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 は、2番目のケースである、セッションをまたいでwebviewを永続化する場合にのみ必要です。
セッション内の永続化では、webviewが非表示になったときに状態を保存し、再度表示されたときにこの状態からコンテンツを復元できます。これは完全にwebviewコンテンツ自体によって実現されます。永続化された状態を保存するには、JSONシリアライズ可能な任意のオブジェクトを指定して acquireVsCodeApi().setState() を呼び出します。状態を復元するには、getState() を呼び出します。
// Within the webview
const vscode = acquireVsCodeApi();
// Get existing state
const oldState = vscode.getState() || { value: 0 };
// Update state
setState({ value: oldState.value + 1 });
WebviewPanelSerializer は、この永続化をエディターの再起動まで拡張します。エディターがシャットダウンされると、シリアライザーを持つすべてのwebviewの setState から状態が保存されます。再起動後、webviewが最初に表示されるときに、この状態が deserializeWebviewPanel に渡されます。拡張機能はこの状態から古い WebviewPanel を復元できます。
メソッド
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ビューに表示するバッジ。バッジを削除するには、undefinedに設定してください。
タイトル内で目立たないようにレンダリングされる、人間が読める文字列。
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 で [WebviewOptions.retainContextWhenHidden retainContextWhenHidden](#_WebviewOptions.retainContextWhenHidden retainContextWhenHidden) を設定することで防ぐことができます。ただし、これによりリソース使用量が増加するため、可能な限り避けるべきです。代わりに、永続化された状態を使用してwebviewの状態を保存し、必要に応じて素早く再作成できるようにすることができます。
永続化された状態を保存するには、webview内でJSONシリアライズ可能なオブジェクトを指定して acquireVsCodeApi().setState() を呼び出します。状態を復元するには、getState() を呼び出します。例:
// Within the webview
const vscode = acquireVsCodeApi();
// Get existing state
const oldState = vscode.getState() || { value: 0 };
// Update state
setState({ value: oldState.value + 1 });
エディターは、webviewが非表示になったとき、およびエディターの再起動をまたいで、永続化された状態が正しく保存されることを保証します。
WindowState
ウィンドウの状態を表します。
プロパティ
最近ウィンドウが操作されたかどうか。これはアクティビティがある直後、またはユーザーが操作しない時間が短期間続いた後に変化します。
現在のウィンドウにフォーカスがあるかどうか。
WorkspaceConfiguration
構成を表します。これは以下の統合ビューです
- デフォルト設定
- グローバル(ユーザー)設定
- ワークスペースの設定
- ワークスペースフォルダー設定 - 要求されたリソースが属する ワークスペースフォルダー のいずれかから取得されます。
- 言語設定 - 要求された言語の下で定義された設定。
有効な値(get によって返される)は、以下の順序で値を上書きまたはマージすることによって計算されます
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 ではなく editor.fontSize)を示す必要があります。そうでない場合、結果は返されません。
| パラメーター | 説明 |
|---|---|
| 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 | 要求された languageId の範囲内で値を更新するかどうか。 - |
| 戻り値 | 説明 |
| 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} | 既存のファイルを上書きするか無視するかを定義します。overwriteとignoreIfExistsの両方が設定されている場合、overwriteが優先されます。 |
| 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
ワークスペース編集のエントリの追加データ。エントリのラベル付けや、ユーザーによる確認が必要なエントリのマークをサポートします。エディターは同じラベルを持つ編集をツリーノードにグループ化します。例えば、「文字列内の変更」というラベルが付いたすべての編集は1つのツリーノードになります。
プロパティ
同じ行で目立たないようにレンダリングされる、人間が読める文字列。
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 パラメーターは、エディターが結果に対して独自のハイライトとスコアリングを適用するため、リラックスした方法で解釈される必要があります。経験則として、大文字と小文字を区別せず、単にクエリの文字が候補シンボル内に順序通りに出現するかどうかを確認するのが適切です。プレフィックス、部分文字列、または同様の厳密な一致は使用しないでください。
パフォーマンスを向上させるために、実装者は 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で使用される一般的なパターンのいくつかです。
Promise
VS Code APIは非同期操作を promise で表します。拡張機能からは、ES6、WinJS、A+など、あらゆるタイプのpromiseを返すことができます。
特定のpromiseライブラリから独立していることは、API内で Thenable 型によって表現されます。Thenable は、共通の分母である then メソッドを表します。
ほとんどの場合、promiseの使用はオプションであり、VS Codeが拡張機能に呼び出す際、結果の型だけでなく、結果の型の Thenable も処理できます。promiseの使用がオプションである場合、APIは or 型を返すことでこれを示します。
provideNumber(): number | Thenable<number>
キャンセル トークン
操作は多くの場合、完了する前に変化する可能性のある不安定な状態に対して開始されます。例えば、IntelliSenseの計算が開始された後にユーザーがタイピングを続けると、その操作の結果は陳腐化してしまいます。
こうした動作の影響を受けるAPIには、CancellationTokenが渡されます。これを使用してキャンセルを確認(isCancellationRequested)したり、キャンセルが発生した際に通知を受け取ったり(onCancellationRequested)できます。キャンセル・トークンは通常、関数呼び出しの最後の引数であり、省略可能です。
Disposable(使い捨てオブジェクト)
VS Code APIでは、VS Codeから取得したリソースに対してDisposeパターンを使用します。これはイベントリスナー、コマンド、UIとの対話、および様々な言語拡張機能に適用されます。
例えば、setStatusBarMessage(value: string)関数はDisposableを返します。これに対してdisposeを呼び出すと、メッセージが削除されます。
イベント
VS Code APIのイベントは、リスナー関数を引数として渡して呼び出す関数として公開されています。サブスクライブ(登録)するとDisposableが返され、それをdisposeすることでイベントリスナーが削除されます。
var listener = function(event) {
console.log('It happened', event);
};
// start listening
var subscription = fsWatcher.onDidDelete(listener);
// do more stuff
subscription.dispose(); // stop listening
イベント名は on[Will|Did]VerbNoun? というパターンに従います。イベントがこれから発生するのか(onWill)、すでに発生したのか(onDid)、何が起こったのか(verb)、そしてコンテキストから自明でない限り何に関するものなのか(noun)が名前から示されます。
VS Code APIの例として window.onDidChangeActiveTextEditor があります。これは、アクティブなテキストエディター(noun)が変更された(verb)時に発生するイベントです(onDid)。
厳密なnullチェック
VS Code APIでは、厳密なnullチェックをサポートするため、適切に undefined および null のTypeScript型を使用しています。
認証用の名前空間です。