VS Code API
VS Code API は、Visual Studio Code 拡張機能内で呼び出すことができる JavaScript API のセットです。このページでは、拡張機能の作成者が利用できるすべての VS Code API をリストアップしています。
API 名前空間とクラス
このリストは、VS Code リポジトリの vscode.d.ts ファイルからコンパイルされています。
認証
イベント
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, scopes: readonly string[], options: AuthenticationGetSessionOptions & {createIfNone: true | AuthenticationGetSessionPresentationOptions}): Thenable<AuthenticationSession>
目的のスコープに一致する認証セッションを取得します。providerId を持つプロバイダーが登録されていない場合、またはユーザーが拡張機能との認証情報の共有に同意しない場合は拒否されます。同じスコープを持つセッションが複数ある場合は、使用するアカウントを選択するためのクイックピックがユーザーに表示されます。
現在、GitHub および Microsoft 認証を実装するエディターへの組み込み拡張機能から提供されている認証プロバイダーは 2 つのみです。それらの providerId は 'github' と 'microsoft' です。
パラメーター | 説明 |
---|---|
providerId: string | 使用するプロバイダーの ID |
scopes: readonly string[] | 要求された権限を表すスコープのリスト。これらは認証プロバイダーに依存します |
options: AuthenticationGetSessionOptions & {createIfNone: true | AuthenticationGetSessionPresentationOptions} | |
戻り値 | 説明 |
Thenable<AuthenticationSession> | 認証セッションに解決される Thenable |
getSession(providerId: string, scopes: readonly string[], options: AuthenticationGetSessionOptions & {forceNewSession: true | AuthenticationGetSessionPresentationOptions}): Thenable<AuthenticationSession>
目的のスコープに一致する認証セッションを取得します。providerId を持つプロバイダーが登録されていない場合、またはユーザーが拡張機能との認証情報の共有に同意しない場合は拒否されます。同じスコープを持つセッションが複数ある場合は、使用するアカウントを選択するためのクイックピックがユーザーに表示されます。
現在、GitHub および Microsoft 認証を実装するエディターへの組み込み拡張機能から提供されている認証プロバイダーは 2 つのみです。それらの providerId は 'github' と 'microsoft' です。
パラメーター | 説明 |
---|---|
providerId: string | 使用するプロバイダーの ID |
scopes: readonly string[] | 要求された権限を表すスコープのリスト。これらは認証プロバイダーに依存します |
options: AuthenticationGetSessionOptions & {forceNewSession: true | AuthenticationGetSessionPresentationOptions} | |
戻り値 | 説明 |
Thenable<AuthenticationSession> | 認証セッションに解決される Thenable |
getSession(providerId: string, scopes: readonly string[], options?: AuthenticationGetSessionOptions): Thenable<AuthenticationSession | undefined>
目的のスコープに一致する認証セッションを取得します。providerId を持つプロバイダーが登録されていない場合、またはユーザーが拡張機能との認証情報の共有に同意しない場合は拒否されます。同じスコープを持つセッションが複数ある場合は、使用するアカウントを選択するためのクイックピックがユーザーに表示されます。
現在、GitHub および Microsoft 認証を実装するエディターへの組み込み拡張機能から提供されている認証プロバイダーは 2 つのみです。それらの providerId は 'github' と 'microsoft' です。
パラメーター | 説明 |
---|---|
providerId: string | 使用するプロバイダーの ID |
scopes: readonly string[] | 要求された権限を表すスコープのリスト。これらは認証プロバイダーに依存します |
options?: AuthenticationGetSessionOptions | |
戻り値 | 説明 |
Thenable<AuthenticationSession | undefined> | 認証セッションが利用可能な場合は認証セッションに解決され、セッションがない場合は undefined に解決される Thenable |
registerAuthenticationProvider(id: string, label: string, provider: AuthenticationProvider, options?: AuthenticationProviderOptions): Disposable
認証プロバイダーを登録します。
ID ごとにプロバイダーは 1 つしか存在できず、ID が別のプロバイダーによって既に使用されている場合はエラーがスローされます。ID は大文字と小文字を区別します。
パラメーター | 説明 |
---|---|
id: string | プロバイダーの一意の識別子。 |
label: string | プロバイダーの人間が読める名前。 |
provider: AuthenticationProvider | 認証プロバイダー。 |
options?: AuthenticationProviderOptions | プロバイダーの追加オプション。 |
戻り値 | 説明 |
Disposable | 破棄されるときにこのプロバイダーを登録解除する Disposable。 |
チャット
チャット機能の名前空間。ユーザーはチャットビューでチャット参加者にメッセージを送信することで対話します。チャット参加者は、ChatResponseStream を介して markdown または他のタイプのコンテンツで応答できます。
関数
createChatParticipant(id: string, handler: ChatRequestHandler): ChatParticipant
新しい チャット参加者 インスタンスを作成します。
パラメーター | 説明 |
---|---|
id: string | 参加者の一意の識別子。 |
handler: ChatRequestHandler | 参加者のリクエストハンドラー。 |
戻り値 | 説明 |
ChatParticipant | 新しいチャット参加者 |
コマンド
コマンドを扱うための名前空間。簡単に言うと、コマンドは一意の識別子を持つ関数です。この関数は、コマンドハンドラーとも呼ばれます。
コマンドは、registerCommand および registerTextEditorCommand 関数を使用してエディターに追加できます。コマンドは、手動または UI ジェスチャから実行できます。それらは次のとおりです
- パレット -
package.json
のcommands
セクションを使用して、コマンドパレット にコマンドを表示します。 - キーバインディング -
package.json
のkeybindings
セクションを使用して、拡張機能の キーバインディング を有効にします。
他の拡張機能およびエディター自体からのコマンドは、拡張機能からアクセスできます。ただし、エディターコマンドを呼び出す場合、すべての引数型がサポートされているわけではありません。
これは、コマンドハンドラーを登録し、そのコマンドのエントリをパレットに追加するサンプルです。まず、識別子 extension.sayHello
でコマンドハンドラーを登録します。
commands.registerCommand('extension.sayHello', () => {
window.showInformationMessage('Hello World!');
});
次に、コマンド識別子をパレットに表示されるタイトル (package.json
) にバインドします。
{
"contributes": {
"commands": [
{
"command": "extension.sayHello",
"title": "Hello World"
}
]
}
}
関数
executeCommand<T>(command: string, ...rest: any[]): Thenable<T>
指定されたコマンド識別子で示されるコマンドを実行します。
パラメーター | 説明 |
---|---|
command: string | 実行するコマンドの識別子。 |
...rest: any[] | コマンド関数に渡されるパラメーター。 |
戻り値 | 説明 |
Thenable<T> | 指定されたコマンドの戻り値に解決される Thenable。コマンドハンドラー関数が何も返さない場合は |
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
キーボードショートカット、メニュー項目、アクション、または直接的に呼び出すことができるテキストエディターコマンドを登録します。
テキストエディターコマンドは、コマンドが呼び出されたときにアクティブなエディターがある場合にのみ実行されるため、通常の コマンド とは異なります。また、エディターコマンドのコマンドハンドラーは、アクティブなエディターと edit-builder にアクセスできます。edit-builder は、コールバックが実行されている間のみ有効であることに注意してください。
パラメーター | 説明 |
---|---|
command: string | コマンドの一意の識別子。 |
callback: (textEditor: TextEditor, edit: TextEditorEdit, args: any[]) => void | |
thisArg?: any | ハンドラー関数を呼び出すときに使用される |
戻り値 | 説明 |
Disposable | 破棄時にこのコマンドを登録解除する Disposable。 |
コメント
関数
createCommentController(id: string, label: string): CommentController
新しい コメントコントローラー インスタンスを作成します。
パラメーター | 説明 |
---|---|
id: string | コメントコントローラーの ID。 |
label: string | コメントコントローラーの人間が読める文字列。 |
戻り値 | 説明 |
CommentController | コメントコントローラー のインスタンス。 |
デバッグ
デバッグ機能の名前空間。
変数
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
Debug Adapter Protocol を介して受信した "Source" 記述子オブジェクトを、そのコンテンツをロードするために使用できる Uri に変換します。ソース記述子がパスに基づいている場合は、ファイル Uri が返されます。ソース記述子が参照番号を使用している場合は、対応する ContentProvider と実行中のデバッグセッションを必要とする特定のデバッグ Uri (スキーム 'debug') が構築されます
Uri を作成するための情報が "Source" 記述子に不足している場合は、エラーがスローされます。
パラメーター | 説明 |
---|---|
source: DebugProtocolSource | Debug Adapter Protocol で定義されている Source 型に準拠するオブジェクト。 |
session?: DebugSession | ソース記述子が参照番号を使用してアクティブなデバッグセッションからコンテンツをロードする場合に使用されるオプションのデバッグセッション。 |
戻り値 | 説明 |
Uri | ソースのコンテンツをロードするために使用できる uri。 |
registerDebugAdapterDescriptorFactory(debugType: string, factory: DebugAdapterDescriptorFactory): Disposable
特定のデバッグタイプに対して デバッグアダプター記述子ファクトリ を登録します。拡張機能は、拡張機能によって定義されたデバッグタイプに対してのみ DebugAdapterDescriptorFactory を登録できます。そうしないと、エラーがスローされます。デバッグタイプに対して複数の DebugAdapterDescriptorFactory を登録すると、エラーが発生します。
パラメーター | 説明 |
---|---|
debugType: string | ファクトリが登録されているデバッグタイプ。 |
factory: DebugAdapterDescriptorFactory | 登録する デバッグアダプター記述子ファクトリ。 |
戻り値 | 説明 |
Disposable | A Disposable that unregisters this factory when being disposed. |
registerDebugAdapterTrackerFactory(debugType: string, factory: DebugAdapterTrackerFactory): Disposable
指定されたデバッグタイプに対してデバッグアダプター追跡ファクトリを登録します。
パラメーター | 説明 |
---|---|
debugType: string | ファクトリが登録されているデバッグタイプ、またはすべてのデバッグタイプに一致させる場合は '*'。 |
factory: DebugAdapterTrackerFactory | 登録する デバッグアダプター追跡ファクトリ。 |
戻り値 | 説明 |
Disposable | A Disposable that unregisters this factory when being disposed. |
registerDebugConfigurationProvider(debugType: string, provider: DebugConfigurationProvider, triggerKind?: DebugConfigurationProviderTriggerKind): Disposable
特定のデバッグタイプに対して デバッグ構成プロバイダー を登録します。オプションの triggerKind を使用して、プロバイダーの provideDebugConfigurations
メソッドがいつトリガーされるかを指定できます。現在、2 つのトリガーの種類が可能です。値 Initial
(またはトリガーの種類引数が指定されていない場合) では、provideDebugConfigurations
メソッドは、新しく作成された launch.json にコピーされる初期デバッグ構成を提供するために使用されます。トリガーの種類 Dynamic
では、provideDebugConfigurations
メソッドは、ユーザーに提示されるデバッグ構成を動的に決定するために使用されます (launch.json からの静的構成に加えて)。triggerKind
引数は provideDebugConfigurations
メソッドにのみ適用されることに注意してください。そのため、resolveDebugConfiguration
メソッドはまったく影響を受けません。異なるトリガーの種類に対して resolve メソッドを持つ単一のプロバイダーを登録すると、同じ resolve メソッドが複数回呼び出されます。同じタイプに対して複数のプロバイダーを登録できます。
パラメーター | 説明 |
---|---|
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 | session?: DebugSession |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 | Thenable<void> |
環境
セッションが停止されたときに解決される Thenable。
変数
エディターが実行されている環境を記述する名前空間。
アプリケーションのホストされている場所。デスクトップでは 'desktop' です。Web では、指定された埋め込みツール (つまり、'github.dev'、'codespaces'、または埋め込みツールがその情報を提供しない場合は 'web') です
'VS Code' のようなエディターのアプリケーション名。
注 アプリケーションルートフォルダーの表現を持たない環境で実行している場合、値は空の文字列になります。
clipboard: Clipboard
システムクリップボード。
これがアプリケーションの新規インストールであることを示します。インストール後 1 日以内の場合は true
、それ以外の場合は false
。
優先されるユーザー言語を表します。例:de-CH
、fr
、en-US
。
logLevel: LogLevel
エディターの現在のログレベル。
コンピューターの一意な識別子。
remoteName: string | undefined
リモートの名前。拡張機能によって定義され、一般的な例としては、Windows Subsystem for Linux の場合は wsl
、セキュアシェルを使用するリモートの場合は ssh-remote
などがあります。
注:リモート拡張機能ホストが存在しない場合、値は undefined
ですが、リモート拡張機能ホストが存在する場合、すべての拡張機能ホスト(ローカルおよびリモート)で値は定義されます。特定拡張機能がリモートで実行されているかどうかを知るには、Extension.extensionKind を使用してください。
現在のセッションの一意な識別子。エディターが起動するたびに変更されます。
拡張機能ホストに対して検出されたデフォルトシェル。これは、拡張機能ホストのプラットフォームの terminal.integrated.defaultProfile
設定によってオーバーライドされます。シェルをサポートしない環境では、値は空の文字列になることに注意してください。
uiKind: UIKind
UI 種別プロパティは、拡張機能がどの UI からアクセスされているかを示します。たとえば、拡張機能はデスクトップアプリケーションまたは Web ブラウザーからアクセスできます。
エディターがオペレーティングシステムに登録するカスタム URI スキーム。
イベント
onDidChangeLogLevel: Event<LogLevel>
エディターのログレベルが変更されたときに発生する Event。
onDidChangeShell: Event<string>
デフォルトシェルが変更されたときに発生する Event。新しいシェルパスと共に発生します。
onDidChangeTelemetryEnabled: Event<boolean>
ユーザーがテレメトリーを有効または無効にしたときに発生する Event。ユーザーがテレメトリーを有効にした場合は true
、ユーザーがテレメトリーを無効にした場合は false
。
関数
asExternalUri(target: Uri): Thenable<Uri>
URI を外部からアクセス可能な形式に解決します。
http:
または https:
スキーム
拡張機能が実行されている場所から、クライアントマシン上の同じリソースへの URI に、外部 URI(http:
や https:
リンクなど)を解決します。
拡張機能がクライアントマシン上で実行されている場合、これは何もしません。
拡張機能がリモートで実行されている場合、この関数は自動的にローカルマシンからリモートの target
へのポートフォワーディングトンネルを確立し、トンネルへのローカル URI を返します。ポートフォワーディングトンネルのライフサイクルはエディターによって管理され、トンネルはユーザーによって閉じることができます。
注:openExternal
を介して渡される URI は自動的に解決されるため、それらに対して asExternalUri
を呼び出すべきではありません。
vscode.env.uriScheme
ブラウザーで開かれた場合(例:openExternal
経由)、登録された UriHandler がトリガーされる URI を作成します。
拡張機能は、結果の URI について一切の仮定を行うべきではなく、いかなる方法でも変更すべきではありません。むしろ、拡張機能は、例えば、認証フローでこの URI を使用できます。認証先のサーバーへのコールバッククエリ引数として URI を追加することによって。
注:サーバーが追加のクエリパラメーターを URI に追加することを決定した場合(例:トークンまたはシークレット)、UriHandler に渡される URI に表示されます。
認証フローの例
vscode.window.registerUriHandler({
handleUri(uri: vscode.Uri): vscode.ProviderResult<void> {
if (uri.path === '/did-authenticate') {
console.log(uri.toString());
}
}
});
const callableUri = await vscode.env.asExternalUri(
vscode.Uri.parse(vscode.env.uriScheme + '://my.extension/did-authenticate')
);
await vscode.env.openExternal(callableUri);
注:asExternalUri
の結果をキャッシュするべきではありません。解決された URI は、システムまたはユーザーのアクションによって無効になる可能性があるためです。例えば、リモートの場合、ユーザーは asExternalUri
によって開かれたポートフォワーディングトンネルを閉じることができます。
その他のスキーム
その他のスキームは、提供された URI がワークスペース URI であるかのように処理されます。その場合、このメソッドは、処理されるとエディターがワークスペースを開く URI を返します。
createTelemetryLogger(sender: TelemetrySender, options?: TelemetryLoggerOptions): TelemetryLogger
新しい テレメトリーロガーを作成します。
パラメーター | 説明 |
---|---|
sender: TelemetrySender | テレメトリーロガーによって使用されるテレメトリー送信者。 |
options?: TelemetryLoggerOptions | テレメトリーロガーのオプション。 |
戻り値 | 説明 |
TelemetryLogger | 新しいテレメトリーロガー |
openExternal(target: Uri): Thenable<boolean>
デフォルトアプリケーションを使用して、リンクを外部で開きます。使用されるスキームに応じて、次のようになります。
- ブラウザー (
http:
,https:
) - メールクライアント (
mailto:
) - VSCode 自体 (
vscode:
fromvscode.env.uriScheme
)
注:showTextDocument は、エディター内でテキストドキュメントを開くための正しい方法であり、この関数ではありません。
パラメーター | 説明 |
---|---|
target: Uri | 開く必要がある URI。 |
戻り値 | 説明 |
Thenable<boolean> | オープンが成功したかどうかを示す Promise。 |
拡張機能
インストールされている拡張機能を扱うための名前空間。拡張機能は 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, any>): string
ローカライズする文字列をマークします。env.language で指定された言語のローカライズされたバンドルが利用可能で、バンドルにこのメッセージのローカライズされた値がある場合、そのローカライズされた値が返されます(テンプレート化された値の args 値が挿入されます)。
例
l10n.t('Hello {name}', { name: 'Erich' });
パラメーター | 説明 |
---|---|
message: string | ローカライズするメッセージ。 |
args: Record<string, any> | ローカライズされた文字列で使用される引数。レコード内のキーの名前は、ローカライズされた文字列のテンプレートプレースホルダーを照合するために使用されます。 |
戻り値 | 説明 |
string | 引数が挿入されたローカライズされた文字列。 |
t(options: {args: Array<string | number | boolean> | Record<string, any>, comment: string | string[], message: string}): string
ローカライズする文字列をマークします。env.language で指定された言語のローカライズされたバンドルが利用可能で、バンドルにこのメッセージのローカライズされた値がある場合、そのローカライズされた値が返されます(テンプレート化された値の args 値が挿入されます)。
パラメーター | 説明 |
---|---|
options: {args: Array<string | number | boolean> | Record<string, any>, comment: string | string[], message: string} | メッセージをローカライズする際に使用するオプション。 |
戻り値 | 説明 |
string | 引数が挿入されたローカライズされた文字列。 |
言語
IntelliSense、コードアクション、診断など、言語固有のエディター 機能 に参加するための名前空間。
多くのプログラミング言語が存在し、構文、セマンティクス、およびパラダイムに大きな多様性があります。それにもかかわらず、単語の自動補完、コードナビゲーション、コードチェックなどの機能は、さまざまなプログラミング言語のさまざまなツールで普及しています。
エディターは、すべての UI とアクションがすでに配置されており、データのみを提供することで参加できるようにすることで、そのような一般的な機能を簡単に提供できる API を提供します。たとえば、ホバーを提供するために必要なのは、TextDocument と Position を使用して呼び出すことができる関数を提供し、ホバー情報を返すことだけです。マウスの追跡、ホバーの配置、ホバーの安定化など、残りの部分はエディターによって処理されます。
languages.registerHoverProvider('javascript', {
provideHover(document, position, token) {
return new Hover('I am a hover!');
}
});
登録は、言語 ID(javascript
など)またはより複雑な フィルター({ language: 'typescript', scheme: 'file' }
など)である ドキュメントセレクター を使用して行われます。ドキュメントをそのようなセレクターと照合すると、プロバイダーを使用するかどうか、およびその方法を決定するために使用される スコア が生成されます。スコアが等しい場合、最後に登場したプロバイダーが勝ちます。ホバー のように完全な可算数を許可する機能の場合、スコアは >0
であることのみがチェックされます。 IntelliSense のような他の機能の場合、スコアは、プロバイダーに参加を求める順序を決定するために使用されます。
イベント
onDidChangeDiagnostics: Event<DiagnosticChangeEvent>
グローバルな診断セットが変更されたときに発生する Event。これは、新しく追加および削除された診断です。
関数
createDiagnosticCollection(name?: string): DiagnosticCollection
診断コレクションを作成します。
パラメーター | 説明 |
---|---|
name?: string | コレクションの name。 |
戻り値 | 説明 |
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[] | ユーザーが文字の 1 つを入力したときに補完をトリガーします。 |
戻り値 | 説明 |
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 で指定されている処理対象のマイムタイプに基づいて呼び出されます。
各プロバイダーは、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
ドキュメントハイライトプロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは スコア でソートされ、グループは順番にドキュメントハイライトを要求されます。プロセスは、プロバイダーが 非 falsy
または 非失敗
の結果を返すと停止します。
パラメーター | 説明 |
---|---|
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 で指定されている処理対象のマイムタイプに基づいて、コピーアンドペースト操作に対して呼び出されます。
コピー操作 の場合、各プロバイダーによって行われた DataTransfer への変更は、クリップボードへの入力に使用される単一の DataTransfer にマージされます。
[DocumentPasteEditProvider.providerDocumentPasteEdits ペースト操作](#DocumentPasteEditProvider.providerDocumentPasteEdits paste operations)では、各プロバイダーが呼び出され、1つ以上のDocumentPasteEditを返すことができます。エディットは、DocumentPasteEdit.yieldToプロパティを使用してソートされます。デフォルトでは、最初のエディットが適用され、残りのエディットはペーストウィジェットで選択可能なペーストオプションとしてユーザーに表示されます。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DocumentPasteEditProvider<DocumentPasteEdit> | ペーストエディタープロバイダー。 |
metadata: DocumentPasteProviderMetadata | プロバイダーに関する追加のメタデータ。 |
戻り値 | 説明 |
Disposable | 破棄されるとこのプロバイダーを登録解除する Disposable。 |
registerDocumentRangeFormattingEditProvider(selector: DocumentSelector, provider: DocumentRangeFormattingEditProvider): Disposable
ドキュメント範囲のフォーマットプロバイダーを登録します。
注: ドキュメント範囲プロバイダーは、ドキュメントフォーマッターでもあります。つまり、範囲プロバイダーも登録する場合は、ドキュメントフォーマッターを登録する必要はありません。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは スコア でソートされ、最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DocumentRangeFormattingEditProvider | ドキュメント範囲フォーマットエディットプロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄されるときにこのプロバイダーを登録解除する Disposable。 |
registerDocumentRangeSemanticTokensProvider(selector: DocumentSelector, provider: DocumentRangeSemanticTokensProvider, legend: SemanticTokensLegend): Disposable
ドキュメント範囲のセマンティックトークンプロバイダーを登録します。
注: ドキュメントがDocumentSemanticTokensProvider
とDocumentRangeSemanticTokensProvider
の両方を持つ場合、範囲プロバイダーは最初の要求を解決するのにフルドキュメントプロバイダーが時間を要する間のみ、最初に呼び出されます。フルドキュメントプロバイダーが最初の要求を解決すると、範囲プロバイダーを介して提供されたセマンティックトークンは破棄され、それ以降はドキュメントプロバイダーのみが使用されます。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは スコア でソートされ、最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DocumentRangeSemanticTokensProvider | ドキュメント範囲セマンティックトークンプロバイダー。 |
legend: SemanticTokensLegend | |
戻り値 | 説明 |
Disposable | 破棄されるときにこのプロバイダーを登録解除する Disposable。 |
registerDocumentSemanticTokensProvider(selector: DocumentSelector, provider: DocumentSemanticTokensProvider, legend: SemanticTokensLegend): Disposable
ドキュメント全体のセマンティックトークンプロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは スコア でソートされ、最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DocumentSemanticTokensProvider | ドキュメントセマンティックトークンプロバイダー。 |
legend: SemanticTokensLegend | |
戻り値 | 説明 |
Disposable | 破棄されるときにこのプロバイダーを登録解除する Disposable。 |
registerDocumentSymbolProvider(selector: DocumentSelector, provider: DocumentSymbolProvider, metaData?: DocumentSymbolProviderMetadata): Disposable
ドキュメントシンボルプロバイダーを登録します。
複数のプロバイダーを言語に登録できます。その場合、プロバイダーは並行して要求され、結果はマージされます。失敗したプロバイダー(拒否された Promise または例外)は、操作全体を失敗させる原因にはなりません。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DocumentSymbolProvider | ドキュメントシンボルプロバイダー。 |
metaData?: DocumentSymbolProviderMetadata | プロバイダーに関するメタデータ |
戻り値 | 説明 |
Disposable | 破棄されるときにこのプロバイダーを登録解除する Disposable。 |
registerEvaluatableExpressionProvider(selector: DocumentSelector, provider: EvaluatableExpressionProvider): Disposable
テキストドキュメント内で評価可能な式を検索するプロバイダーを登録します。エディターはアクティブなデバッグセッションで式を評価し、デバッグホバーに結果を表示します。
複数のプロバイダーが言語に登録されている場合、任意のプロバイダーが使用されます。
パラメーター | 説明 |
---|---|
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を使用してすべての拡張機能によって登録された、利用可能なすべてのツールのリスト。lm.invokeToolを使用して、宣言されたinputSchema
に一致する入力で呼び出すことができます。
イベント
onDidChangeChatModels: Event<void>
利用可能なチャットモデルのセットが変更されたときに発生するイベント。
関数
invokeTool(name: string, options: LanguageModelToolInvocationOptions<object>, token?: CancellationToken): Thenable<LanguageModelToolResult>
lm.toolsにリストされているツールを、指定された入力で名前で呼び出します。入力は、ツールによって宣言されたスキーマに対して検証されます。
ツールは、チャットリクエストの処理のコンテキストでチャット参加者によって、または任意のカスタムフローで拡張機能によってグローバルに呼び出すことができます。
前者の場合、呼び出し元はtoolInvocationTokenを渡す必要があります。これは、チャットリクエストに付属しています。これにより、チャットUIが正しい会話のツール呼び出しを表示することが保証されます。
ツールの結果は、テキストパートとプロンプトtsxパートの配列です。ツール呼び出し元がvscode/prompt-tsx
を使用している場合、ToolResult
を使用して応答パートをプロンプトに組み込むことができます。そうでない場合、パートはLanguageModelToolResultPartを持つユーザーメッセージを介してLanguageModelChatに渡すことができます。
チャット参加者が複数のターンのリクエストに対してツールの結果を保持したい場合、ハンドラーから返されたChatResult.metadataにツールの結果を保存し、次のターンでChatResponseTurn.resultから取得できます。
パラメーター | 説明 |
---|---|
name: string | 呼び出すツールの名前。 |
options: LanguageModelToolInvocationOptions<object> | ツールを呼び出すときに使用するオプション。 |
token?: CancellationToken | キャンセルトークン。CancellationTokenSourceで作成方法を参照してください。 |
戻り値 | 説明 |
Thenable<LanguageModelToolResult> | ツール呼び出しの結果。 |
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[]> | チャットモデルの配列。空の場合もあります! |
ノートブック
ノートブックのネームスペース。
ノートブック機能は、疎結合された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 | ソース管理のインスタンス。 |
タスク
タスク機能のネームスペース。
変数
taskExecutions: readonly TaskExecution[]
現在アクティブなタスク実行、または空の配列。
イベント
onDidEndTask: Event<TaskEndEvent>
タスクが終了したときに発生します。
onDidEndTaskProcess: Event<TaskProcessEndEvent>
基盤となるプロセスが終了したときに発生します。このイベントは、基盤となるプロセスを実行しないタスクに対しては発生しません。
onDidStartTask: Event<TaskStartEvent>
タスクが開始したときに発生します。
onDidStartTaskProcess: Event<TaskProcessStartEvent>
基盤となるプロセスが開始されたときに発生します。このイベントは、基盤となるプロセスを実行しないタスクに対しては発生しません。
関数
executeTask(task: Task): Thenable<TaskExecution>
エディターによって管理されるタスクを実行します。返されたタスク実行を使用して、タスクを終了できます。
- throws - 新しいプロセスを開始できない環境で 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。 |
テスト
テスト機能のネームスペース。テストは、TestControllerインスタンスを登録し、TestItemを追加することで公開されます。コントローラーは、1つまたは複数のTestRunProfileインスタンスを作成して、テストの実行方法を記述することもできます。
関数
createTestController(id: string, label: string): TestController
新しいテストコントローラーを作成します。
パラメーター | 説明 |
---|---|
id: string | コントローラーの識別子。グローバルに一意である必要があります。 |
label: string | コントローラーの人間が読めるラベル。 |
戻り値 | 説明 |
TestController | TestControllerのインスタンス。 |
ウィンドウ
エディターの現在のウィンドウを扱うためのネームスペース。つまり、表示およびアクティブなエディター、メッセージを表示するためのUI要素、選択、およびユーザー入力を求めるためのUI要素です。
変数
activeColorTheme: ColorTheme
設定で構成された現在のアクティブなカラーテーマ。アクティブなテーマは、workbench.colorTheme
設定で変更できます。
activeNotebookEditor: NotebookEditor | undefined
現在アクティブなノートブックエディターまたはundefined
。アクティブなエディターは、現在フォーカスがあるエディター、またはフォーカスがない場合は、最近入力が変更されたエディターです。
activeTerminal: Terminal | undefined
現在アクティブなターミナル、またはundefined
。アクティブなターミナルは、現在フォーカスがあるターミナル、または最近フォーカスがあったターミナルです。
activeTextEditor: TextEditor | undefined
現在アクティブなエディター、またはundefined
。アクティブなエディターは、現在フォーカスがあるエディター、またはフォーカスがない場合は、最近入力が変更されたエディターです。
state: WindowState
現在のウィンドウの状態を表します。
tabGroups: TabGroups
メインエディター領域内のグリッドウィジェットを表します
terminals: readonly Terminal[]
現在開いているターミナル、または空の配列。
visibleNotebookEditors: readonly NotebookEditor[]
現在表示されているノートブックエディター、または空の配列。
visibleTextEditors: readonly TextEditor[]
現在表示されているエディター、または空の配列。
イベント
onDidChangeActiveColorTheme: Event<ColorTheme>
アクティブなカラーテーマが変更または変化したときに発生するイベント。
onDidChangeActiveNotebookEditor: Event<NotebookEditor | undefined>
アクティブなノートブックエディターが変更されたときに発生するイベント。Note イベントは、アクティブなエディターがundefined
に変更されたときにも発生します。
onDidChangeActiveTerminal: Event<Terminal | undefined>
アクティブなターミナルが変更されたときに発生するイベント。Note イベントは、アクティブなターミナルがundefined
に変更されたときにも発生します。
onDidChangeActiveTextEditor: Event<TextEditor | undefined>
アクティブなエディターが変更されたときに発生するイベント。Note イベントは、アクティブなエディターがundefined
に変更されたときにも発生します。
onDidChangeNotebookEditorSelection: Event<NotebookEditorSelectionChangeEvent>
ノートブックエディターの選択が変更されたときに発生するイベント。
onDidChangeNotebookEditorVisibleRanges: Event<NotebookEditorVisibleRangesChangeEvent>
ノートブックエディターの表示範囲が変更されたときに発生するイベント。
onDidChangeTerminalShellIntegration: Event<TerminalShellIntegrationChangeEvent>
ターミナルでシェル統合がアクティブになるか、そのプロパティのいずれかが変更されたときに発生します。
onDidChangeTerminalState: Event<Terminal>
onDidChangeTextEditorOptions: Event<TextEditorOptionsChangeEvent>
エディターのオプションが変更されたときに発生するイベント。
onDidChangeTextEditorSelection: Event<TextEditorSelectionChangeEvent>
エディター内の選択範囲が変更されたときに発生するイベント。
onDidChangeTextEditorViewColumn: Event<TextEditorViewColumnChangeEvent>
エディターのビュー列が変更されたときに発生するイベント。
onDidChangeTextEditorVisibleRanges: Event<TextEditorVisibleRangesChangeEvent>
エディターの表示範囲が変更されたときに発生するイベント。
onDidChangeVisibleNotebookEditors: Event<readonly NotebookEditor[]>
表示されているノートブックエディターが変更されたときに発生するイベント。
onDidChangeVisibleTextEditors: Event<readonly TextEditor[]>
表示されているエディターの配列が変更されたときに発生するイベント。
onDidChangeWindowState: Event<WindowState>
現在のウィンドウのフォーカスまたはアクティビティ状態が変化したときに発生するイベント。イベントの値は、ウィンドウがフォーカスされているかどうかを表します。
onDidCloseTerminal: Event<Terminal>
ターミナルが破棄されたときに発生するイベント。
onDidEndTerminalShellExecution: Event<TerminalShellExecutionEndEvent>
ターミナルコマンドが終了したときに発生します。このイベントは、シェル統合がターミナルに対してアクティブになっている場合にのみ発生します。
onDidOpenTerminal: Event<Terminal>
createTerminal APIまたはコマンドを通じてターミナルが作成されたときに発生するイベント。
onDidStartTerminalShellExecution: Event<TerminalShellExecutionStartEvent>
ターミナルコマンドが開始されたときに発生します。このイベントは、シェル統合がターミナルに対してアクティブになっている場合にのみ発生します。
関数
createInputBox(): InputBox
ユーザーがテキスト入力を入力できるようにするInputBoxを作成します。
多くの場合、より便利なwindow.showInputBoxの方が使いやすいことに注意してください。window.showInputBoxでは必要な柔軟性が提供されない場合は、window.createInputBoxを使用する必要があります。
createOutputChannel(name: string, languageId?: string): OutputChannel
指定された名前と言語IDを持つ新しい出力チャンネルを作成します。言語IDが指定されていない場合、デフォルトの言語IDとしてログが使用されます。
表示されているエディターまたはアクティブなエディターから、表示またはアクティブな出力チャンネルをテキストドキュメントとしてアクセスし、言語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.showQuickPickでは必要な柔軟性が提供されない場合は、window.createQuickPickを使用する必要があります。
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は、ワークスペースディレクトリが存在する場合はワークスペースディレクトリになります。
- throws - 新しいプロセスを開始できない環境で実行する場合。
createTerminal(options: TerminalOptions): Terminal
バッキングシェルプロセスを持つTerminalを作成します。
- throws - 新しいプロセスを開始できない環境で実行する場合。
パラメーター | 説明 |
---|---|
options: TerminalOptions | 新しいターミナルの特性を記述するTerminalOptionsオブジェクト。 |
戻り値 | 説明 |
Terminal | 新しいターミナル。 |
createTerminal(options: ExtensionTerminalOptions): Terminal
拡張機能が入力と出力を制御するTerminalを作成します。
パラメーター | 説明 |
---|---|
options: ExtensionTerminalOptions | 新しいターミナルの特性を記述するExtensionTerminalOptionsオブジェクト。 |
戻り値 | 説明 |
Terminal | 新しいターミナル。 |
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 | プロバイダーを登録解除するディスポーザブル。 |
registerTreeDataProvider<T>(viewId: string, treeDataProvider: TreeDataProvider<T>): Disposable
拡張機能ポイントviews
を使用して提供されるビューのTreeDataProviderを登録します。これにより、TreeViewにデータを追加し、データが変更された場合に更新できます。
注: TreeViewにアクセスして操作を実行するには、createTreeViewを使用してください。
パラメーター | 説明 |
---|---|
viewId: string | 拡張機能ポイント |
treeDataProvider: TreeDataProvider<T> | ビューのツリーデータを提供するTreeDataProvider |
戻り値 | 説明 |
Disposable | TreeDataProviderを登録解除するディスポーザブル。 |
registerUriHandler(handler: UriHandler): Disposable
システム全体のuriを処理できるuriハンドラーを登録します。複数のウィンドウが開いている場合、最上位のウィンドウがuriを処理します。uriハンドラーは、それが提供された拡張機能にスコープされます。拡張機能自体に向けられたuriのみを処理できます。uriは次のルールに従う必要があります
- uriスキームは
vscode.env.uriScheme
である必要があります。 - uri権限は拡張機能ID(例:
my.extension
)である必要があります。 - uriパス、クエリ、フラグメント部分は任意です。
たとえば、my.extension
拡張機能がuriハンドラーを登録する場合、プレフィックスproduct-name://my.extension
を持つuriのみを処理できます。
拡張機能は、アクティベーションのライフタイム全体で単一のuriハンドラーのみを登録できます。
- 注: 現在の拡張機能に向けられたuriが処理されようとしているときに発生するアクティベーションイベント
onUri
があります。
パラメーター | 説明 |
---|---|
handler: UriHandler | この拡張機能に登録するuriハンドラー。 |
戻り値 | 説明 |
Disposable | ハンドラーを登録解除するディスポーザブル。 |
registerWebviewPanelSerializer(viewType: string, serializer: WebviewPanelSerializer<unknown>): Disposable
webviewパネルシリアライザーを登録します。
復元をサポートする拡張機能には、"onWebviewPanel:viewType"
アクティベーションイベントがあり、アクティベーション中にregisterWebviewPanelSerializer
が呼び出されていることを確認する必要があります。
特定のviewType
に対して一度に登録できるシリアライザーは1つだけです。
パラメーター | 説明 |
---|---|
viewType: string | シリアライズできるwebviewパネルのタイプ。 |
serializer: WebviewPanelSerializer<unknown> | Webviewシリアライザー。 |
戻り値 | 説明 |
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 | ステータスバーメッセージを非表示にするディスポーザブル。 |
setStatusBarMessage(text: string, hideWhenDone: Thenable<any>): Disposable
ステータスバーにメッセージを設定します。これは、より強力なステータスバーのアイテムの簡単な方法です。
パラメーター | 説明 |
---|---|
text: string | 表示するメッセージ。ステータスバーのアイテムと同様に、アイコンの置換をサポートします。 |
hideWhenDone: Thenable<any> | 完了(resolve または reject)時にメッセージが破棄される Thenable。 |
戻り値 | 説明 |
Disposable | ステータスバーメッセージを非表示にするディスポーザブル。 |
setStatusBarMessage(text: string): Disposable
ステータスバーにメッセージを設定します。これは、より強力なステータスバーのアイテムの簡単な方法です。
注意: ステータスバーメッセージはスタックされ、不要になった場合は破棄する必要があります。
パラメーター | 説明 |
---|---|
text: string | 表示するメッセージ。ステータスバーのアイテムと同様に、アイコンの置換をサポートします。 |
戻り値 | 説明 |
Disposable | ステータスバーメッセージを非表示にするディスポーザブル。 |
showErrorMessage<T extends string>(message: string, ...items: T[]): Thenable<T | undefined>
エラーメッセージを表示します。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージ。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセット。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、またはdismissされた場合に |
showErrorMessage<T extends string>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
エラーメッセージを表示します。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージ。 |
options: MessageOptions | メッセージの動作を設定します。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセット。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、またはdismissされた場合に |
showErrorMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T | undefined>
エラーメッセージを表示します。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージ。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセット。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、またはdismissされた場合に |
showErrorMessage<T extends MessageItem>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
エラーメッセージを表示します。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージ。 |
options: MessageOptions | メッセージの動作を設定します。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセット。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、またはdismissされた場合に |
showInformationMessage<T extends string>(message: string, ...items: T[]): Thenable<T | undefined>
ユーザーに情報メッセージを表示します。オプションで、クリック可能なボタンとして表示されるアイテムの配列を提供します。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージ。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセット。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、またはdismissされた場合に |
showInformationMessage<T extends string>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
ユーザーに情報メッセージを表示します。オプションで、クリック可能なボタンとして表示されるアイテムの配列を提供します。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージ。 |
options: MessageOptions | メッセージの動作を設定します。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセット。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、またはdismissされた場合に |
showInformationMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T | undefined>
情報メッセージを表示します。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージ。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセット。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、またはdismissされた場合に |
showInformationMessage<T extends MessageItem>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
情報メッセージを表示します。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージ。 |
options: MessageOptions | メッセージの動作を設定します。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセット。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、またはdismissされた場合に |
showInputBox(options?: InputBoxOptions, token?: CancellationToken): Thenable<string | undefined>
ユーザーに入力を求める入力ボックスを開きます。
入力ボックスがキャンセルされた場合(例:ESCキーを押した場合)、返される値はundefined
になります。それ以外の場合、返される値はユーザーが入力した文字列、またはユーザーが何も入力せずにOKで入力ボックスを閉じた場合は空の文字列になります。
パラメーター | 説明 |
---|---|
options?: InputBoxOptions | 入力ボックスの動作を設定します。 |
token?: CancellationToken | キャンセルを通知するために使用できるトークン。 |
戻り値 | 説明 |
Thenable<string | undefined> | ユーザーが提供した文字列、またはdismissされた場合は |
showNotebookDocument(document: NotebookDocument, options?: NotebookDocumentShowOptions): Thenable<NotebookEditor>
指定されたNotebookDocumentをnotebook editorに表示します。
パラメーター | 説明 |
---|---|
document: NotebookDocument | 表示するテキストドキュメント。 |
options?: NotebookDocumentShowOptions | Editor options notebook editorの表示動作を設定します。 |
戻り値 | 説明 |
Thenable<NotebookEditor> | notebook editorに解決される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>
指定されたドキュメントをテキストエディターに表示します。columnを指定して、エディターを表示する場所を制御できます。アクティブなエディターが変更される可能性があります。
パラメーター | 説明 |
---|---|
document: TextDocument | 表示するテキストドキュメント。 |
column?: ViewColumn | エディターを表示するビュー列。デフォルトはアクティブです。存在しない列は、最大ViewColumn.Nineまで必要に応じて作成されます。ViewColumn.Besideを使用すると、現在アクティブなエディターの横にエディターを開きます。 |
preserveFocus?: boolean |
|
戻り値 | 説明 |
Thenable<TextEditor> | エディターに解決されるPromise。 |
showTextDocument(document: TextDocument, options?: TextDocumentShowOptions): Thenable<TextEditor>
指定されたドキュメントをテキストエディターに表示します。Optionsを指定して、エディターの表示オプションを制御できます。アクティブなエディターが変更される可能性があります。
パラメーター | 説明 |
---|---|
document: TextDocument | 表示するテキストドキュメント。 |
options?: TextDocumentShowOptions | Editor options エディターの表示動作を設定します。 |
戻り値 | 説明 |
Thenable<TextEditor> | エディターに解決されるPromise。 |
showTextDocument(uri: Uri, options?: TextDocumentShowOptions): Thenable<TextEditor>
openTextDocument(uri).then(document => showTextDocument(document, options))
の短縮形です。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子。 |
options?: TextDocumentShowOptions | Editor options エディターの表示動作を設定します。 |
戻り値 | 説明 |
Thenable<TextEditor> | エディターに解決されるPromise。 |
showWarningMessage<T extends string>(message: string, ...items: T[]): Thenable<T | undefined>
警告メッセージを表示します。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージ。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセット。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、またはdismissされた場合に |
showWarningMessage<T extends string>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
警告メッセージを表示します。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージ。 |
options: MessageOptions | メッセージの動作を設定します。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセット。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、またはdismissされた場合に |
showWarningMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T | undefined>
警告メッセージを表示します。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージ。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセット。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、またはdismissされた場合に |
showWarningMessage<T extends MessageItem>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
警告メッセージを表示します。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージ。 |
options: MessageOptions | メッセージの動作を設定します。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセット。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、またはdismissされた場合に |
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がresolveもrejectもされない間に表示されます。進行状況を表示する場所(およびその他の詳細)は、渡されたProgressOptionsによって定義されます。
パラメーター | 説明 |
---|---|
options: ProgressOptions | 進行状況の表示に使用するオプション(場所など)を記述するProgressOptionsオブジェクト |
task: (progress: Progress<{increment: number, message: string}>, token: CancellationToken) => Thenable<R> | Promiseを返すコールバック。進行状況の状態は、提供されたProgressオブジェクトで報告できます。 離散的な進行状況を報告するには、完了した作業量を 操作がユーザーによってキャンセルされたかどうかを監視するには、提供されたCancellationTokenを使用します。現在、 |
戻り値 | 説明 |
Thenable<R> | taskコールバックが返したThenable。 |
withScmProgress<R>(task: (progress: Progress<number>) => Thenable<R>): Thenable<R>
指定されたコールバックの実行中、およびそれが返したPromiseがresolveまたはrejectされない間、ソース管理ビューレットに進行状況を表示します。
- 非推奨 - 代わりに
withProgress
を使用してください。
ワークスペース
現在のワークスペースを扱うための名前空間。ワークスペースとは、エディターウィンドウ(インスタンス)で開かれている1つまたは複数のフォルダーのコレクションです。
ワークスペースなしでエディターを開くことも可能です。たとえば、プラットフォームのファイルメニューからファイルを選択して新しいエディターウィンドウを開くと、ワークスペース内にはいません。このモードでは、エディターの一部の機能は制限されますが、テキストファイルを開いて編集することはできます。
ワークスペースの概念の詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。
ワークスペースは、fsイベントをリッスンしたり、ファイルを検索したりするためのサポートを提供します。どちらもパフォーマンスが高く、エディタープロセス外で実行されるため、nodejsと同等のものよりも常に使用する必要があります。
変数
fs: FileSystem
ファイルシステムインスタンス。ローカルファイルおよびリモートファイルと対話できます。例:vscode.workspace.fs.readDirectory(someUri)
を使用すると、ディレクトリのすべてのエントリを取得できます。また、vscode.workspace.fs.stat(anotherUri)
はファイルのメタデータを返します。
trueの場合、ユーザーはワークスペースのコンテンツを明示的に信頼しています。
ワークスペースの名前。ワークスペースが開かれていない場合はundefined
。
ワークスペースの概念の詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。
notebookDocuments: readonly NotebookDocument[]
エディターが現在認識しているすべてのノートブックドキュメント。
workspaceFoldersの最初のエントリのURIをstring
として表したもの。最初のエントリがない場合はundefined
。
ワークスペースの詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。
- 非推奨 - 代わりにworkspaceFoldersを使用してください。
textDocuments: readonly TextDocument[]
エディターが現在認識しているすべてのテキストドキュメント。
workspaceFile: Uri | undefined
ワークスペースファイルの場所。例:
file:///Users/name/Development/myProject.code-workspace
または
untitled:1555503116870
まだ保存されていないタイトルのないワークスペースの場合。
開かれているワークスペースに応じて、値は次のようになります。
- ワークスペースが開かれていない場合は
undefined
- それ以外の場合はワークスペースファイルのパスを
Uri
として。ワークスペースにタイトルがない場合、返されるURIはuntitled:
スキームを使用します
場所は、たとえば、vscode.openFolder
コマンドで使用して、ワークスペースを閉じた後にもう一度開くことができます。
例
vscode.commands.executeCommand('vscode.openFolder', uriOfWorkspace);
ワークスペースの概念の詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。
注意: workspace.workspaceFile
を使用して構成データをファイルに書き込むことは推奨されません。代わりにworkspace.getConfiguration().update()
を使用できます。これは、単一のフォルダーが開かれている場合でも、タイトルのないワークスペースまたは保存されたワークスペースでも機能します。
workspaceFolders: readonly WorkspaceFolder[] | undefined
エディターで開いているワークスペースフォルダーのリスト(0〜N)。ワークスペースが開かれていない場合はundefined
。
ワークスペースの詳細については、https://vscode.dokyumento.jp/docs/editor/workspacesを参照してください。
イベント
onDidChangeConfiguration: Event<ConfigurationChangeEvent>
構成が変更されたときに発行されるイベント。
onDidChangeNotebookDocument: Event<NotebookDocumentChangeEvent>
ノートブックが変更されたときに発行されるイベント。
onDidChangeTextDocument: Event<TextDocumentChangeEvent>
テキストドキュメントが変更されたときに発行されるイベント。これは通常、コンテンツが変更された場合だけでなく、dirty状態の変更などの他の場合にも発生します。
onDidChangeWorkspaceFolders: Event<WorkspaceFoldersChangeEvent>
ワークスペースフォルダーが追加または削除されたときに発行されるイベント。
注意: 最初のワークスペースフォルダーが追加、削除、または変更された場合、このイベントは発生しません。その場合、(このイベントをリッスンする拡張機能を含む)現在実行中の拡張機能は終了して再起動されるため、(非推奨の)rootPath
プロパティが最初のワークスペースフォルダーを指すように更新されます。
onDidCloseNotebookDocument: Event<NotebookDocument>
ノートブックnotebookが破棄されたときに発生するイベント。
注 1: エディタータブが閉じられたときにこのイベントが発生する保証はありません。
注 2: ノートブックは開いているがエディターに表示されていない場合があり、これはエディターに表示されていないノートブックに対してもこのイベントが発生する可能性があることを意味します。
onDidCloseTextDocument: Event<TextDocument>
テキストドキュメントtext documentが破棄されたとき、またはテキストドキュメントの言語 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>
ノートブックnotebookが開かれたときに発生するイベント。
onDidOpenTextDocument: Event<TextDocument>
テキストドキュメントtext documentが開かれたとき、またはテキストドキュメントの言語 ID が変更されたときに発生するイベント。
可視テキストドキュメントが開かれたときにイベントリスナーを追加するには、window名前空間のTextEditorイベントを使用してください。注意点として、
- イベントは、ドキュメントがアクティブなテキストエディターで更新される前に発生します。
- テキストドキュメントtext documentがすでに開いている場合 (例: 別の可視テキストエディターで開いている場合)、このイベントは発生しません。
onDidRenameFiles: Event<FileRenameEvent>
ファイルの名前が変更されたときに発生するイベント。
注 1: このイベントは、エクスプローラーからのファイル名の変更や、workspace.applyEdit-API などのユーザー操作によってトリガーされます。ただし、別のアプリケーションによってトリガーされたり、workspace.fs-API を使用したりするなど、ディスク上のファイルが変更された場合には発生しません。
注 2: 子を持つフォルダーの名前を変更する場合、イベントは 1 つだけ発生します。
onDidSaveNotebookDocument: Event<NotebookDocument>
ノートブックnotebookが保存されたときに発生するイベント。
onDidSaveTextDocument: Event<TextDocument>
テキストドキュメントtext documentがディスクに保存されたときに発生するイベント。
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>
ノートブックドキュメントnotebook documentがディスクに保存されようとしているときに発生するイベント。
注 1: サブスクライバーは、非同期処理を登録することで保存を遅らせることができます。データ整合性のため、エディターはこのイベントを発生させずに保存する場合があります。たとえば、ダーティファイルがある状態でシャットダウンする場合などです。
注 2: サブスクライバーは順番に呼び出され、非同期処理を登録することで保存を遅らせることができます。不正な動作をするリスナーに対する保護は、次のように実装されています。
- すべてのリスナーが共有する全体的な時間制限があり、それが超過すると、それ以上のリスナーは呼び出されません。
- 時間がかかるリスナーや頻繁にエラーを生成するリスナーは、それ以降呼び出されなくなります。
現在の閾値は、全体的な時間制限として 1.5 秒、リスナーが無視されるまでに不正な動作を許容する回数は 3 回です。
onWillSaveTextDocument: Event<TextDocumentWillSaveEvent>
テキストドキュメントtext documentがディスクに保存されようとしているときに発生するイベント。
注 1: サブスクライバーは、非同期処理を登録することで保存を遅らせることができます。データ整合性のため、エディターはこのイベントを発生させずに保存する場合があります。たとえば、ダーティファイルがある状態でシャットダウンする場合などです。
注 2: サブスクライバーは順番に呼び出され、非同期処理を登録することで保存を遅らせることができます。不正な動作をするリスナーに対する保護は、次のように実装されています。
- すべてのリスナーが共有する全体的な時間制限があり、それが超過すると、それ以上のリスナーは呼び出されません。
- 時間がかかるリスナーや頻繁にエラーを生成するリスナーは、それ以降呼び出されなくなります。
現在の閾値は、全体的な時間制限として 1.5 秒、リスナーが無視されるまでに不正な動作を許容する回数は 3 回です。
関数
applyEdit(edit: WorkspaceEdit, metadata?: WorkspaceEditMetadata): Thenable<boolean>
与えられたワークスペース編集workspace editで定義されているように、1 つまたは複数のリソースに変更を加えるか、リソースを作成、削除、および名前変更します。
ワークスペース編集のすべての変更は、追加された順序と同じ順序で適用されます。同じ位置に複数のテキスト挿入が行われた場合、それらがリソース編集とインターリーブされていない限り、これらの文字列は「挿入」が行われた順序で結果のテキストに表示されます。「ファイル a を削除」->「ファイル a にテキストを挿入」のような無効なシーケンスは、操作の失敗を引き起こします。
テキスト編集のみで構成されるワークスペース編集を適用する場合、「all-or-nothing」戦略が使用されます。リソースの作成または削除を含むワークスペース編集は操作を中止します。たとえば、単一の編集が失敗した場合、連続する編集は試行されません。
パラメーター | 説明 |
---|---|
edit: WorkspaceEdit | ワークスペース編集。 |
metadata?: WorkspaceEditMetadata | 編集のオプションのメタデータ。 |
戻り値 | 説明 |
Thenable<boolean> | 編集が適用可能になったときに解決される Thenable。 |
asRelativePath(pathOrUri: string | Uri, includeWorkspaceFolder?: boolean): string
ワークスペースフォルダーまたはフォルダーに対して相対的なパスを返します。
ワークスペースフォルダーworkspace foldersがない場合、またはパスがそれらに含まれていない場合、入力が返されます。
createFileSystemWatcher(globPattern: GlobPattern, ignoreCreateEvents?: boolean, ignoreChangeEvents?: boolean, ignoreDeleteEvents?: boolean): FileSystemWatcher
指定されたパラメーターに応じて、ファイルイベント (作成、変更、削除) で通知されるファイルシステムウォッチャーを作成します。
デフォルトでは、開いているすべてのワークスペースフォルダーworkspace foldersは、ファイル変更を再帰的に監視されます。
監視する<コード>baseパスを持つ相対パターンRelativePatternを提供することにより、ファイル監視用の追加パスを追加できます。パスがフォルダーであり、pattern
が複雑な場合 (例: **
またはパスセグメントを含む)、再帰的に監視され、それ以外の場合は非再帰的に監視されます (つまり、パスの最初のレベルへの変更のみが報告されます)。
注 ファイルシステムに存在しないパスは、作成されるまで遅延して監視され、その後、提供されたパラメーターに応じて監視されることに注意してください。監視対象のパスが削除されると、ウォッチャーは一時停止し、パスが再度作成されるまでイベントを報告しません。
可能な限り、再帰的なウォッチャーの使用を最小限に抑えてください。再帰的なファイル監視はリソースを非常に消費するためです。
globPattern
としてstring
を提供することは、開いているすべてのワークスペースフォルダーでファイルイベントを監視するための便利な方法として機能します。ファイル監視のためにより多くのフォルダーを追加するために使用することはできず、開いているワークスペースフォルダーの一部ではないフォルダーからのファイルイベントを報告することもありません。
オプションで、特定の種類のイベントを無視するフラグを提供できます。
イベントのリスニングを停止するには、ウォッチャーを破棄する必要があります。
注 再帰的なファイルウォッチャーからのファイルイベントは、ユーザー構成に基づいて除外される場合があることに注意してください。設定 files.watcherExclude
は、多くのファイル変更を一度に生成することがわかっているフォルダー (.git
フォルダーなど) からのファイルイベントのオーバーヘッドを削減するのに役立ちます。そのため、除外設定が無視され、イベントを完全に制御できる再帰的なウォッチャーを必要としないシンプルなパターンで監視することを強くお勧めします。
注 監視対象のパス自体がシンボリックリンクでない限り、シンボリックリンクはファイル監視のために自動的に追跡されないことに注意してください。
注 変更が報告されたファイルパスは、大文字と小文字を区別しないプラットフォーム (通常は macOS と Windows、Linux ではない) でのディスク上の実際の大文字と小文字の区別とは異なるパスの大文字と小文字の区別を持つ場合があることに注意してください。ユーザーは、希望する任意の大文字と小文字の区別でワークスペースフォルダーを開くことができ、それを保持しようとします。これは、
- パスがワークスペースフォルダーのいずれか内にある場合、パスはそのパスの部分までワークスペースフォルダーの大文字と小文字の区別と一致し、子のディスク上の大文字と小文字の区別と一致します。
- パスがワークスペースフォルダーのいずれかの外にある場合、大文字と小文字の区別は監視のために提供されたパスの大文字と小文字の区別と一致します。同様に、シンボリックリンクは保持されます。つまり、ファイルイベントは、監視のために提供されたシンボリックリンクのパスを報告し、ターゲットは報告しません。
例
ファイルウォッチャーの基本的な構造は次のとおりです。
const watcher = vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(<folder>, <pattern>));
watcher.onDidChange(uri => { ... }); // listen to files being changed
watcher.onDidCreate(uri => { ... }); // listen to files/folders being created
watcher.onDidDelete(uri => { ... }); // listen to files/folders getting deleted
watcher.dispose(); // dispose after usage
ワークスペースファイルの監視
特定のワークスペースフォルダー内のファイルイベントのみを気にする場合
vscode.workspace.createFileSystemWatcher(
new vscode.RelativePattern(vscode.workspace.workspaceFolders[0], '**/*.js')
);
開いているすべてのワークスペースフォルダー間でファイルイベントを監視する場合
vscode.workspace.createFileSystemWatcher('**/*.js');
注: ワークスペースが開かれていない場合 (空のウィンドウ)、ワークスペースフォルダーの配列は空になる可能性があります。
ワークスペース外のファイル監視
ワークスペース外の *.js ファイルの変更をフォルダーを監視するには (非再帰的)、そのようなフォルダーへの Uri
を渡します。
vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.Uri.file(<path to folder outside workspace>), '*.js'));
そして、複雑な glob パターンを使用して再帰的に監視します。
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 | ウォッチャーが報告する必要があるファイルイベントを制御する glob パターンglob pattern。 |
ignoreCreateEvents?: boolean | ファイルが作成されたときに無視します。 |
ignoreChangeEvents?: boolean | ファイルが変更されたときに無視します。 |
ignoreDeleteEvents?: boolean | ファイルが削除されたときに無視します。 |
戻り値 | 説明 |
FileSystemWatcher | 新しいファイルシステムウォッチャーインスタンス。不要になったら破棄する必要があります。 |
findFiles(include: GlobPattern, exclude?: GlobPattern, maxResults?: number, token?: CancellationToken): Thenable<Uri[]>
ワークスペース内のすべてのワークスペースフォルダーworkspace foldersからファイルを検索します。
例
findFiles('**/*.js', '**/node_modules/**', 10);
パラメーター | 説明 |
---|---|
include: GlobPattern | 検索するファイルを定義する glob パターンglob pattern。glob パターンは、ワークスペースに対する相対的な一致結果のファイルパスと照合されます。検索結果をワークスペースフォルダーworkspace folderに制限するには、相対パターンrelative patternを使用します。 |
exclude?: GlobPattern | 除外するファイルとフォルダーを定義する glob パターンglob pattern。glob パターンは、ワークスペースに対する相対的な一致結果のファイルパスと照合されます。 |
maxResults?: number | 結果の上限。 |
token?: CancellationToken | 基盤となる検索エンジンにキャンセルを通知するために使用できるトークン。 |
戻り値 | 説明 |
Thenable<Uri[]> | リソース識別子の配列に解決される Thenable。ワークスペースフォルダーworkspace foldersが開かれていない場合は、結果を返しません。 |
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 を含むワークスペースフォルダーworkspace folderを返します。
- 指定された URI がワークスペースフォルダーと一致しない場合は
undefined
を返します。 - 指定された URI がワークスペースフォルダー自体である場合は 入力 を返します。
パラメーター | 説明 |
---|---|
uri: Uri | URI。 |
戻り値 | 説明 |
WorkspaceFolder | undefined | ワークスペースフォルダーまたは |
openNotebookDocument(uri: Uri): Thenable<NotebookDocument>
ノートブックを開きます。このノートブックがすでにロード済みである場合は、すぐに戻ります。それ以外の場合、ノートブックがロードされ、onDidOpenNotebookDocumentonDidOpenNotebookDocument イベントが発生します。
注 返されるノートブックのライフサイクルは、拡張機能ではなく、エディターによって所有されていることに注意してください。つまり、onDidCloseNotebookDocumentonDidCloseNotebookDocument イベントは、いつでも発生する可能性があります。
注 ノートブックを開いても、ノートブックエディターは表示されないことに注意してください。この関数は、ノートブックエディターに表示できるノートブックドキュメントのみを返しますが、他の目的にも使用できます。
パラメーター | 説明 |
---|---|
uri: Uri | 開くリソース。 |
戻り値 | 説明 |
Thenable<NotebookDocument> | ノートブックnotebookに解決される Promise |
openNotebookDocument(notebookType: string, content?: NotebookData): Thenable<NotebookDocument>
無題のノートブックを開きます。ドキュメントを保存するときに、エディターはユーザーにファイルパスの入力を求めます。
参照 workspace.openNotebookDocumentworkspace.openNotebookDocument
パラメーター | 説明 |
---|---|
notebookType: string | 使用する必要があるノートブックタイプ。 |
content?: NotebookData | ノートブックの初期コンテンツ。 |
戻り値 | 説明 |
Thenable<NotebookDocument> | ノートブックnotebookに解決される Promise。 |
openTextDocument(uri: Uri): Thenable<TextDocument>
ドキュメントを開きます。このドキュメントがすでに開いている場合は、すぐに戻ります。それ以外の場合、ドキュメントがロードされ、didOpendidOpen イベントが発生します。
ドキュメントは URIUri で示されます。スキームschemeに応じて、次のルールが適用されます。
file
スキーム: ディスク上のファイルを開きます (openTextDocument(Uri.file(path))
)。ファイルが存在しない場合、またはロードできない場合は拒否されます。untitled
スキーム: 関連付けられたパスを持つ空白の無題ファイルを開きます (openTextDocument(Uri.file(path).with({ scheme: 'untitled' }))
)。言語はファイル名から派生します。- 他のすべてのスキームについては、テキストドキュメントコンテンツプロバイダーtext document content providersとファイルシステムプロバイダーfile system providersが参照されます。
注 返されるドキュメントのライフサイクルは、拡張機能ではなく、エディターによって所有されていることに注意してください。つまり、onDidCloseonDidClose イベントは、開いた後いつでも発生する可能性があります。
パラメーター | 説明 |
---|---|
uri: Uri | 開くリソースを識別します。 |
戻り値 | 説明 |
Thenable<TextDocument> | ドキュメントdocumentに解決される Promise。 |
openTextDocument(path: string): Thenable<TextDocument>
openTextDocument(Uri.file(path))
の短縮形。
パラメーター | 説明 |
---|---|
path: string | ディスク上のファイルのパス。 |
戻り値 | 説明 |
Thenable<TextDocument> | ドキュメントdocumentに解決される Promise。 |
openTextDocument(options?: {content: string, language: string}): Thenable<TextDocument>
無題のテキストドキュメントを開きます。ドキュメントを保存するときに、エディターはユーザーにファイルパスの入力を求めます。options
パラメーターを使用すると、ドキュメントの言語および/またはコンテンツを指定できます。
パラメーター | 説明 |
---|---|
options?: {content: string, language: string} | ドキュメントの作成方法を制御するオプション。 |
戻り値 | 説明 |
Thenable<TextDocument> | ドキュメントdocumentに解決される Promise。 |
registerFileSystemProvider(scheme: string, provider: FileSystemProvider, options?: {isCaseSensitive: boolean, isReadonly: boolean | MarkdownString}): Disposable
指定されたスキーム (例: ftp
) のファイルシステムプロバイダーを登録します。
スキームごとにプロバイダーは 1 つしか存在できず、スキームが別のプロバイダーによって要求された場合、または予約されている場合はエラーがスローされます。
パラメーター | 説明 |
---|---|
scheme: string | プロバイダーが登録する uri スキームscheme。 |
provider: FileSystemProvider | ファイルシステムプロバイダー。 |
options?: {isCaseSensitive: boolean, isReadonly: boolean | MarkdownString} | プロバイダーに関する不変のメタデータ。 |
戻り値 | 説明 |
Disposable | 破棄されるときにこのプロバイダーを登録解除する Disposable。 |
registerNotebookSerializer(notebookType: string, serializer: NotebookSerializer, options?: NotebookDocumentContentOptions): Disposable
ノートブックシリアライザーnotebook serializerを登録します。
ノートブックシリアライザーは、notebooks
拡張機能ポイントを通じてコントリビューションする必要があります。ノートブックファイルを開くと、エディターは onNotebook:<notebookType>
アクティベーションイベントを送信し、拡張機能はそれに応じてシリアライザーを登録する必要があります。
パラメーター | 説明 |
---|---|
notebookType: string | ノートブック。 |
serializer: NotebookSerializer | ノートブックシリアライザー。 |
options?: NotebookDocumentContentOptions | ノートブックのどの部分を永続化する必要があるかを定義するオプションのコンテキストオプション |
戻り値 | 説明 |
Disposable | 破棄されるときにこのシリアライザーを登録解除する DisposableDisposable。 |
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」動作は、単一の操作でワークスペースフォルダーを追加、削除、および変更するために使用できます。
注: 場合によっては、このメソッドを呼び出すと、現在実行中の拡張機能(このメソッドを呼び出した拡張機能を含む)が終了して再起動されることがあります。たとえば、最初のワークスペースフォルダーが追加、削除、または変更された場合、(非推奨の)rootPath
プロパティが最初のワークスペースフォルダーを指すように更新されます。別のケースとして、空または単一フォルダーのワークスペースからマルチフォルダーワークスペースに移行する場合も該当します(https://vscode.dokyumento.jp/docs/editor/workspaces も参照してください)。
onDidChangeWorkspaceFolders() イベントを使用して、ワークスペースフォルダーが更新されたときに通知を受け取ります。
例: ワークスペースフォルダーの最後尾に新しいワークスペースフォルダーを追加する
workspace.updateWorkspaceFolders(workspace.workspaceFolders ? workspace.workspaceFolders.length : 0, null, { uri: ...});
例: 最初のワークスペースフォルダーを削除する
workspace.updateWorkspaceFolders(0, 1);
例: 既存のワークスペースフォルダーを新しいものと置き換える
workspace.updateWorkspaceFolders(0, 1, { uri: ...});
既存のワークスペースフォルダーを削除し、異なる名前で再度追加して、そのフォルダーの名前を変更することは有効です。
注: onDidChangeWorkspaceFolders() が発生するのを待たずに、updateWorkspaceFolders() を複数回呼び出すことは無効です。
パラメーター | 説明 |
---|---|
start: number | 現在開いている ワークスペースフォルダー のリスト内で、ワークスペースフォルダーの削除を開始するゼロベースの位置。 |
deleteCount: number | 削除するワークスペースフォルダーのオプションの数。 |
...workspaceFoldersToAdd: Array<{name: string, uri: Uri}> | 削除されたワークスペースフォルダーの代わりに、オプションで追加されるワークスペースフォルダーの可変セット。各ワークスペースは、必須の URI とオプションの名前で識別されます。 |
戻り値 | 説明 |
boolean | 操作が正常に開始された場合は true、無効なワークスペースフォルダーの状態(例:同じ URI を持つ 2 つのフォルダー)になる引数が使用された場合は false。 |
AccessibilityInformation
スクリーンリーダーの動作を制御するアクセシビリティ情報。
プロパティ
項目がフォーカスされたときにスクリーンリーダーによって読み上げられるラベル。
ウィジェットのロール。スクリーンリーダーがウィジェットとどのように対話するかを定義します。ロールは、たとえばツリー状の要素がチェックボックスのように動作する場合など、特別な場合に設定する必要があります。ロールが指定されていない場合、エディターは適切なロールを自動的に選択します。aria ロールに関する詳細はこちらをご覧ください https://w3c.github.io/aria/#widget_roles
AuthenticationForceNewSessionOptions
forceNewSession
フラグを指定して authentication.getSession を呼び出すときに使用するオプションのオプション。
- 非推奨 - 代わりに AuthenticationGetSessionPresentationOptions を使用してください。
AuthenticationForceNewSessionOptions: AuthenticationGetSessionPresentationOptions
AuthenticationGetSessionOptions
AuthenticationProvider から AuthenticationSession を取得するときに使用するオプション。
プロパティ
account?: AuthenticationSessionAccountInformation
セッションを取得したいアカウント。これは、正しいセッションを作成するために使用される認証プロバイダーに渡されます。
clearSessionPreference?: boolean
既存のセッション設定をクリアする必要があるかどうか。
複数のアカウントへのサインインを同時にサポートする認証プロバイダーの場合、getSession が呼び出されると、使用するアカウントを選択するようにユーザーに求められます。この設定は、getSession がこのフラグ付きで呼び出されるまで記憶されます。
注:設定は拡張機能固有です。したがって、ある拡張機能が getSession を呼び出しても、別の拡張機能が getSession を呼び出す場合の設定には影響しません。さらに、設定は現在のワークスペースおよびグローバルにも設定されます。これは、新しいワークスペースは最初は「グローバル」値を使用し、このフラグが指定されると、そのワークスペースに新しい値を設定できることを意味します。これはまた、新しいワークスペースがこのフラグを設定しても、既存のワークスペースが設定を失わないことを意味します。
デフォルトは false です。
createIfNone?: boolean | AuthenticationGetSessionPresentationOptions
一致するセッションがない場合にログインを実行する必要があるかどうか。
true の場合、サインインするように求めるモーダルダイアログが表示されます。false の場合、アカウントアクティビティバーアイコンに番号付きバッジが表示されます。サインインするためのメニューの下に拡張機能のエントリが追加されます。これにより、ユーザーにサインインを静かに促すことができます。
オプションを指定すると、ダイアログも表示されますが、追加のコンテキストが提供されます。
一致するセッションがあるが、拡張機能がそのセッションへのアクセスを許可されていない場合、これを true に設定すると、すぐにモーダルダイアログが表示され、false に設定すると、アカウントアイコンに番号付きバッジが追加されます。
デフォルトは false です。
注:このオプションを silent と一緒に使用することはできません。
forceNewSession?: boolean | AuthenticationGetSessionPresentationOptions
すでにセッションが利用可能な場合でも、再認証を試みる必要があるかどうか。
true の場合、再度サインインするように求めるモーダルダイアログが表示されます。これは主に、トークンがいくつかの認証を失ったために再発行する必要があるシナリオで使用されます。
オプションを指定すると、ダイアログも表示されますが、追加のコンテキストが提供されます。
既存のセッションがなく、forceNewSession が true の場合、createIfNone と同じように動作します。
デフォルトは false です。
アカウントメニューにサインインの表示を表示する必要があるかどうか。
false の場合、ユーザーにはアカウントメニューにバッジが表示され、拡張機能にサインインするオプションが表示されます。true の場合、表示は何も表示されません。
デフォルトは false です。
注:このオプションを、createIfNone のようにユーザーにプロンプトを表示する他のオプションと一緒に使用することはできません。
AuthenticationGetSessionPresentationOptions
インタラクティブオプション forceNewSession
および createIfNone
を指定して authentication.getSession を呼び出すときに使用するオプションのオプション。
プロパティ
再認証を求める際にユーザーに表示されるオプションのメッセージ。ユーザーに再認証を求める理由に関する追加のコンテキストを提供すると、ユーザーが受け入れる可能性が高まるのに役立ちます。
AuthenticationProvider
サービスへの認証を実行するためのプロバイダー。
イベント
onDidChangeSessions: Event<AuthenticationProviderAuthenticationSessionsChangeEvent>
セッションの配列が変更された場合、またはセッション内のデータが変更された場合に発生する イベント。
メソッド
createSession(scopes: readonly string[], options: AuthenticationProviderSessionOptions): Thenable<AuthenticationSession>
ユーザーにログインを促します。
ログインが成功した場合、onDidChangeSessions イベントが発生する必要があります。
ログインが失敗した場合、拒否された 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。 |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 |
AuthenticationProviderAuthenticationSessionsChangeEvent
AuthenticationSession が追加、削除、または変更されたときに発生する イベント。
プロパティ
added: readonly AuthenticationSession[]
changed: readonly AuthenticationSession[]
変更された AuthenticationProvider の AuthenticationSessions。セッションは、ID を除くデータが更新されると変更されます。この例としては、セッションの新しいアクセストークンが設定されるセッションの更新があります。
removed: readonly AuthenticationSession[]
AuthenticationProviderInformation
AuthenticationProvider に関する基本情報
プロパティ
認証プロバイダーの一意の識別子。
認証プロバイダーの人間が読める名前。
AuthenticationProviderOptions
AuthenticationProvider を作成するためのオプション。
プロパティ
supportsMultipleAccounts?: boolean
このプロバイダーで複数のアカウントに同時にサインインできるかどうか。指定しない場合は、デフォルトで false になります。
AuthenticationProviderSessionOptions
AuthenticationProvider.getSessions および AuthenticationProvider.createSession 呼び出しに渡されるオプション。
プロパティ
account?: AuthenticationSessionAccountInformation
問い合わせられているアカウント。これが渡された場合、プロバイダーはこのアカウントにのみ関連するセッションを返そうとする必要があります。
AuthenticationSession
現在ログインしているユーザーのセッションを表します。
プロパティ
アクセストークン。
account: AuthenticationSessionAccountInformation
セッションに関連付けられたアカウント。
認証セッションの識別子。
セッションのアクセストークンによって付与された権限。AuthenticationProvider によって利用可能なスコープが定義されます。
AuthenticationSessionAccountInformation
AuthenticationSession に関連付けられたアカウントの情報。
プロパティ
アカウントの一意の識別子。
アカウントの人間が読める名前。
AuthenticationSessionsChangeEvent
AuthenticationSession が追加、削除、または変更されたときに発生する イベント。
プロパティ
provider: AuthenticationProviderInformation
セッションが変更された AuthenticationProvider。
AutoClosingPair
開始文字列を入力すると、閉じ文字列が自動的に挿入される文字列のペアについて説明します。
プロパティ
開始文字列を入力すると自動的に挿入される閉じ文字列。
notIn?: SyntaxTokenType[]
ペアを自動的に閉じないトークンのセット。
閉じ文字列の自動挿入をトリガーする文字列。
BranchCoverage
StatementCoverage の分岐に関するカバレッジ情報が含まれています。
コンストラクター
new BranchCoverage(executed: number | boolean, location?: Range | Position, label?: string): BranchCoverage
パラメーター | 説明 |
---|---|
executed: number | boolean | この分岐が実行された回数、または正確なカウントが不明な場合は実行されたかどうかを示すブール値。ゼロまたは false の場合、分岐は未カバーとしてマークされます。 |
location?: Range | Position | 分岐位置。 |
label?: string | |
戻り値 | 説明 |
BranchCoverage |
プロパティ
この分岐が実行された回数、または正確なカウントが不明な場合は実行されたかどうかを示すブール値。ゼロまたは false の場合、分岐は未カバーとしてマークされます。
ブランチのラベル。たとえば、「${label} 分岐は実行されませんでした」というコンテキストで使用されます。
分岐位置。
Breakpoint
すべてのブレークポイントタイプの基本クラス。
コンストラクター
new Breakpoint(enabled?: boolean, condition?: string, hitCondition?: string, logMessage?: string): Breakpoint
新しいブレークポイントを作成します
パラメーター | 説明 |
---|---|
enabled?: boolean | ブレークポイントが有効かどうか。 |
condition?: string | 条件付きブレークポイントの式 |
hitCondition?: string | ブレークポイントのヒット数を無視する方法を制御する式 |
logMessage?: string | ブレークポイントがヒットしたときに表示するログメッセージ |
戻り値 | 説明 |
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>
キャンセル時に発生する イベント。
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 command](#ChatCommand command) の名前。
model: LanguageModelChat
これは、UI で現在選択されているモデルです。拡張機能はこれを使用するか、lm.selectChatModels を使用して別のモデルを選択できます。リクエストの有効期間を超えてこれを保持しないでください。
ユーザーが入力したプロンプト。
このリクエストで使用されている参照に関する情報は、ChatRequest.references に保存されます。
注: 参加者の [ChatParticipant.name name](#ChatParticipant.name name) と [ChatCommand.name command](#ChatCommand.name command) はプロンプトの一部ではありません。
references: readonly ChatPromptReference[]
プロンプトで参照されている参照とその値のリスト。
注: プロンプトには、作成されたとおりに参照が含まれており、参照値をインライン化したり、解決された値を含む見出しへのリンクを作成したりするなど、プロンプトをさらに変更するのは参加者の責任です。参照は、プロンプト内の範囲によって逆順にソートされます。つまり、プロンプト内の最後の参照がこのリストの最初になります。これにより、プロンプトの文字列操作が簡素化されます。
チャット リクエストの処理中にツールを呼び出すときに lm.invokeTool に渡すことができるトークン。これにより、ツール呼び出しがチャット セッションに関連付けられます。
toolReferences: readonly ChatLanguageModelToolReference[]
ユーザーがリクエストに添付したツールのリスト。
ツール参照が存在する場合、チャット参加者は LanguageModelChatToolMode.Required を使用してチャット リクエストを行い、言語モデルにツールの入力を強制的に生成させる必要があります。次に、参加者は lm.invokeTool を使用してツールを使用し、結果をユーザーのプロンプトに対するリクエストに添付できます。ツールは、ユーザーのリクエストに役立つ追加のコンテキストを提供できます。
ChatRequestHandler
ChatRequestHandler: (request: ChatRequest, context: ChatContext, response: ChatResponseStream, token: CancellationToken) => ProviderResult<ChatResult | void>
ChatRequestTurn
チャット履歴内のユーザー リクエストを表します。
プロパティ
このリクエストに対して選択された [ChatCommand command](#ChatCommand command) の名前。
このリクエストが送信されたチャット参加者の ID。
ユーザーが入力したプロンプト。
このリクエストで使用されている参照に関する情報は、ChatRequestTurn.references に保存されます。
注: 参加者の [ChatParticipant.name name](#ChatParticipant.name name) と [ChatCommand.name command](#ChatCommand.name command) はプロンプトの一部ではありません。
references: ChatPromptReference[]
このメッセージで使用された参照。
toolReferences: readonly ChatLanguageModelToolReference[]
このリクエストに添付されたツールのリスト。
ChatResponseAnchorPart
ターゲットへのリンクとしてレンダリングされる、アンカーであるチャット応答の一部を表します。
コンストラクター
new ChatResponseAnchorPart(value: Uri | Location, title?: string): ChatResponseAnchorPart
新しい ChatResponseAnchorPart を作成します。
パラメーター | 説明 |
---|---|
value: Uri | Location | URI または場所。 |
title?: string | 値とともにレンダリングされるオプションのタイトル。 |
戻り値 | 説明 |
ChatResponseAnchorPart |
プロパティ
値とともにレンダリングされるオプションのタイトル。
このアンカーのターゲット。
ChatResponseCommandButtonPart
コマンドを実行するボタンであるチャット応答の一部を表します。
コンストラクター
new ChatResponseCommandButtonPart(value: Command): ChatResponseCommandButtonPart
新しい ChatResponseCommandButtonPart を作成します。
パラメーター | 説明 |
---|---|
value: Command | ボタンがクリックされたときに実行される Command。 |
戻り値 | 説明 |
ChatResponseCommandButtonPart |
プロパティ
value: Command
ボタンがクリックされたときに実行されるコマンド。
ChatResponseFileTree
チャット応答のファイル ツリー構造を表します。
プロパティ
children?: ChatResponseFileTree[]
現在のファイル ツリーがディレクトリである場合の子ファイル ツリーの配列。
ファイルまたはディレクトリの名前。
ChatResponseFileTreePart
ファイル ツリーであるチャット応答の一部を表します。
コンストラクター
new ChatResponseFileTreePart(value: ChatResponseFileTree[], baseUri: Uri): ChatResponseFileTreePart
新しい ChatResponseFileTreePart を作成します。
パラメーター | 説明 |
---|---|
value: ChatResponseFileTree[] | ファイル ツリー データ。 |
baseUri: Uri | このファイル ツリーが相対的なベース URI。 |
戻り値 | 説明 |
ChatResponseFileTreePart |
プロパティ
baseUri: Uri
このファイル ツリーが相対的なベース URI
value: ChatResponseFileTree[]
ファイル ツリー データ。
ChatResponseMarkdownPart
Markdown としてフォーマットされたチャット応答の一部を表します。
コンストラクター
new ChatResponseMarkdownPart(value: string | MarkdownString): ChatResponseMarkdownPart
新しい ChatResponseMarkdownPart を作成します。
パラメーター | 説明 |
---|---|
value: string | MarkdownString | マークダウン文字列、またはマークダウンとして解釈される文字列。MarkdownString.isTrusted のブール値形式はサポートされていません。 |
戻り値 | 説明 |
ChatResponseMarkdownPart |
プロパティ
value: MarkdownString
マークダウン文字列、またはマークダウンとして解釈される文字列。
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 | ボタンがクリックされたときに実行される Command。 |
戻り値 | 説明 |
void |
filetree(value: ChatResponseFileTree[], baseUri: Uri): void
ファイル ツリー部分をこのストリームにプッシュします。push(new ChatResponseFileTreePart(value))
の略記。
パラメーター | 説明 |
---|---|
value: ChatResponseFileTree[] | ファイル ツリー データ。 |
baseUri: Uri | このファイル ツリーが相対的なベース URI。 |
戻り値 | 説明 |
void |
markdown(value: string | MarkdownString): void
マークダウン部分をこのストリームにプッシュします。push(new ChatResponseMarkdownPart(value))
の略記。
パラメーター | 説明 |
---|---|
value: string | MarkdownString | マークダウン文字列、またはマークダウンとして解釈される文字列。MarkdownString.isTrusted のブール値形式はサポートされていません。 |
戻り値 | 説明 |
void |
進行状況部分をこのストリームにプッシュします。push(new ChatResponseProgressPart(value))
の略記。
パラメーター | 説明 |
---|---|
value: string | 進行状況メッセージ |
戻り値 | 説明 |
void |
push(part: ChatResponsePart): void
部分をこのストリームにプッシュします。
パラメーター | 説明 |
---|---|
part: ChatResponsePart | 応答部分、レンダリングされたものまたはメタデータ |
戻り値 | 説明 |
void |
reference(value: Uri | Location, iconPath?: IconPath): void
参照をこのストリームにプッシュします。push(new ChatResponseReferencePart(value))
の略記。
注: 参照は応答とともにインラインでレンダリングされません。
ChatResponseTurn
チャット履歴におけるチャット参加者の応答を表します。
プロパティ
この応答の送信元のコマンドの名前。
この応答の送信元のチャット参加者の ID。
response: ReadonlyArray<ChatResponseMarkdownPart | ChatResponseFileTreePart | ChatResponseAnchorPart | ChatResponseCommandButtonPart>
チャット参加者から受信したコンテンツ。実際のコンテンツ (メタデータではない) を表すストリーム部分のみが表示されます。
result: ChatResult
チャット参加者から受信した結果。
ChatResult
チャット リクエストの結果。
プロパティ
errorDetails?: ChatErrorDetails
リクエストがエラーになった場合、このプロパティはエラーの詳細を定義します。
この結果に関する任意のメタデータ。どのようなものでも構いませんが、JSON 文字列化可能である必要があります。
ChatResultFeedback
結果に対するユーザーフィードバックを表します。
プロパティ
kind: ChatResultFeedbackKind
受信したフィードバックの種類。
result: ChatResult
ユーザーがフィードバックを提供している ChatResult。このオブジェクトは、metadata
を含め、参加者コールバックから返された結果と同じプロパティを持ちますが、同じインスタンスではありません。
ChatResultFeedbackKind
受信したユーザーフィードバックのタイプを表します。
列挙メンバー
ユーザーが結果を役に立たないとマークしました。
ユーザーが結果を役立つとマークしました。
Clipboard
クリップボードは、システムのクリップボードへの読み取りおよび書き込みアクセスを提供します。
メソッド
現在のクリップボードの内容をテキストとして読み取ります。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
Thenable<string> | 文字列に解決される Thenable。 |
writeText(value: string): Thenable<void>
テキストをクリップボードに書き込みます。
パラメーター | 説明 |
---|---|
value: string | |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 | 書き込みが完了したときに解決される Thenable。 |
CodeAction
コードアクションは、問題を修正したり、コードをリファクタリングするなど、コード内で実行できる変更を表します。
CodeAction は、edit および/または command のいずれかを設定する必要があります。両方が指定されている場合、最初に edit
が適用され、次にコマンドが実行されます。
コンストラクター
new CodeAction(title: string, kind?: CodeActionKind): CodeAction
パラメーター | 説明 |
---|---|
title: string | コードアクションのタイトル。 |
kind?: CodeActionKind | コードアクションの種類。 |
戻り値 | 説明 |
CodeAction |
プロパティ
command?: Command
このコードアクションが実行する Command。
このコマンドが例外をスローした場合、エディターは現在のカーソル位置でエディターのユーザーに例外メッセージを表示します。
diagnostics?: Diagnostic[]
このコードアクションが解決する Diagnostics。
コードアクションを現在適用できないことを示します。
パラメーター | 説明 |
---|---|
reason: string | コードアクションが現在無効になっている理由の人間が読める説明。 これはコードアクション UI に表示されます。 |
edit?: WorkspaceEdit
このコードアクションが実行する ワークスペース編集。
これを優先アクションとしてマークします。優先アクションは auto fix
コマンドで使用され、キーバインディングでターゲットにできます。
クイックフィックスは、根本的なエラーを適切に対処する場合に優先としてマークする必要があります。リファクタリングは、実行するアクションの最も妥当な選択肢である場合に優先としてマークする必要があります。
kind?: CodeActionKind
Kind コードアクションの種類。
コードアクションをフィルタリングするために使用されます。
このコードアクションの短く、人間が読めるタイトル。
CodeActionContext
コードアクション が実行されるコンテキストに関する追加の診断情報が含まれています。
プロパティ
diagnostics: readonly Diagnostic[]
診断の配列。
only: CodeActionKind
返すアクションのリクエストされた種類。
この種類ではないアクションは、電球 によって表示される前にフィルタリングされます。
triggerKind: CodeActionTriggerKind
コードアクションがリクエストされた理由。
CodeActionKind
コードアクションの種類。
種類は、.
で区切られた識別子の階層リストです。例:"refactor.extract.function"
。
コードアクションの種類は、リファクタリングコンテキストメニューなどの UI 要素にエディターによって使用されます。ユーザーは、editor.action.codeAction
コマンドを使用して、特定の種類のコードアクションをトリガーすることもできます。
静的
Empty: CodeActionKind
空の種類。
Notebook: CodeActionKind
ノートブックのスコープ全体に適用されるすべてのコードアクションの基本種類。これを使用する CodeActionKinds は、常に notebook.
で始める必要があります。
これには、新しい CodeAction を作成し、拡張機能経由で提供する必要があります。既存の種類は、新しい notebook.
プレフィックスを追加するだけではいけません。機能はフルノートブックのスコープに固有であるためです。
ノートブック CodeActionKinds は、次のいずれかとして初期化できます(どちらも notebook.source.xyz
になります)。
const newKind = CodeActionKind.Notebook.append(CodeActionKind.Source.append('xyz').value)
const newKind = CodeActionKind.Notebook.append('source.xyz')
種類の例/アクション
notebook.source.organizeImports
(すべてのインポートを新しいトップセルに移動する場合があります)notebook.source.normalizeVariableNames
(すべての変数を標準化されたケーシング形式に名前変更する場合があります)
QuickFix: CodeActionKind
クイックフィックスアクションの基本種類:quickfix
。
クイックフィックスアクションは、コードの問題に対処し、通常のコードアクションコンテキストメニューに表示されます。
Refactor: CodeActionKind
リファクタリングアクションの基本種類:refactor
リファクタリングアクションは、リファクタリングコンテキストメニューに表示されます。
RefactorExtract: CodeActionKind
リファクタリング抽出アクションの基本種類:refactor.extract
抽出アクションの例
- メソッドの抽出
- 関数の抽出
- 変数の抽出
- クラスからのインターフェースの抽出
- ...
RefactorInline: CodeActionKind
リファクタリングインラインアクションの基本種類:refactor.inline
インラインアクションの例
- 関数のインライン化
- 変数のインライン化
- 定数のインライン化
- ...
RefactorMove: CodeActionKind
リファクタリング移動アクションの基本種類:refactor.move
移動アクションの例
- 関数を新しいファイルに移動
- クラス間でプロパティを移動
- メソッドを基本クラスに移動
- ...
RefactorRewrite: CodeActionKind
リファクタリング書き換えアクションの基本種類:refactor.rewrite
書き換えアクションの例
- JavaScript 関数をクラスに変換
- パラメーターの追加または削除
- フィールドのカプセル化
- メソッドを静的にする
- ...
Source: CodeActionKind
ソースアクションの基本種類:source
ソースコードアクションは、ファイル全体に適用されます。これらは明示的にリクエストする必要があり、通常の 電球 メニューには表示されません。ソースアクションは、editor.codeActionsOnSave
を使用して保存時に実行でき、source
コンテキストメニューにも表示されます。
SourceFixAll: CodeActionKind
自動修正ソースアクションの基本種類:source.fixAll
。
すべて修正アクションは、ユーザー入力を必要としない明確な修正があるエラーを自動的に修正します。エラーを抑制したり、新しい型やクラスを生成するなどの安全でない修正を実行したりしないでください。
SourceOrganizeImports: CodeActionKind
インポート整理ソースアクションの基本種類:source.organizeImports
。
コンストラクター
new CodeActionKind(value: string): CodeActionKind
プライベートコンストラクター、既存のコードアクション種類から派生するには、静的 CodeActionKind.XYZ
を使用します。
パラメーター | 説明 |
---|---|
value: string | 種類 (例: |
戻り値 | 説明 |
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 | コマンドが呼び出されたセレクターまたは範囲。アクションが現在アクティブなエディターでリクエストされている場合、これは常に selection になります。 |
context: CodeActionContext | どのようなコードアクションがリクエストされているかに関する追加情報を提供します。これを使用して、エディターによってリクエストされているコードアクションの特定のタイプを確認し、より関連性の高いアクションを返し、エディターが破棄する無関係なコードアクションを返さないようにすることができます。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Array<Command | T>> | クイックフィックスやリファクタリングなどのコードアクションの配列。結果がないことは、 レガシー上の理由から |
resolveCodeAction(codeAction: T, token: CancellationToken): ProviderResult<T>
コードアクションが与えられた場合、その 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
コードレンズは、参照の数、テストを実行する方法など、ソーステキストとともに表示される Command を表します。
コードレンズは、コマンドが関連付けられていない場合、未解決 です。パフォーマンス上の理由から、コードレンズの作成と解決は 2 つの段階で行う必要があります。
以下も参照してください
コンストラクター
new CodeLens(range: Range, command?: Command): CodeLens
新しいコードレンズオブジェクトを作成します。
プロパティ
command?: Command
このコードレンズが表すコマンド。
コマンドが関連付けられている場合は true
。
range: Range
このコードレンズが有効な範囲。単一行のみにまたがる必要があります。
CodeLensProvider<T>
コードレンズプロバイダーは、commands をソーステキストに追加します。コマンドは、ソーステキスト間の専用の水平線として表示されます。
イベント
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>
この関数は、通常、スクロール時や compute-レンズの呼び出し後に、表示されるコードレンズごとに呼び出されます。
パラメーター | 説明 |
---|---|
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 形式で赤色を表すことができます。csharp では、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
のコンテキスト値をcomment == editable
のように指定できます。
"contributes": {
"menus": {
"comments/comment/title": [
{
"command": "extension.deleteComment",
"when": "comment == editable"
}
]
}
}
これにより、contextValue
がeditable
のコメントに対してのみアクションextension.deleteComment
が表示されます。
オプションのラベル。 コメントを説明します。ラベルが存在する場合、authorNameの横にレンダリングされます。
mode: CommentMode
コメントのコメントモード
reactions?: CommentReaction[]
コメントのオプションのリアクション
コメントに表示されるオプションのタイムスタンプ。日付は、ユーザーのロケールと設定に従ってフォーマットされます。
CommentAuthorInformation
コメントの作成者情報
プロパティ
iconPath?: Uri
作成者のオプションのアイコンパス
コメントの作成者の表示名
CommentController
コメントコントローラーは、エディターにコメントのサポートを提供し、ユーザーにコメントを操作するさまざまな方法を提供できます。
プロパティ
commentingRangeProvider?: CommentingRangeProvider
オプションのコメント範囲プロバイダー。指定されたリソースURIへのコメントをサポートする範囲のリストを提供します。
提供されていない場合、ユーザーはコメントを残すことができません。
このコメントコントローラーのID。
このコメントコントローラーの人間が読めるラベル。
options?: CommentOptions
コメントコントローラーのオプション
reactionHandler?: (comment: Comment, reaction: CommentReaction) => Thenable<void>
コメントに対するリアクションの作成と削除のためのオプションのリアクションハンドラー。
パラメーター | 説明 |
---|---|
comment: Comment | |
reaction: CommentReaction | |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 |
メソッド
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
コメントのコメントモード
列挙メンバー
コメントエディターを表示します
コメントのプレビューを表示します
CommentOptions
コメントコントローラーのオプションを表します。
プロパティ
コメント入力ボックスがフォーカスされているときにプレースホルダーとして表示するオプションの文字列。
コメント入力ボックスが折りたたまれているときに表示するオプションの文字列。
CommentReaction
コメントのリアクション
プロパティ
コメントの作成者がこのリアクションにリアクションしたかどうか
このリアクションにリアクションしたユーザーの数
iconPath: string | Uri
UIに表示されるリアクションのアイコン。
リアクションの人間が読めるラベル
CommentReply
comments/commentThread/context
に登録されたアクションのコマンド引数。
プロパティ
コメントエディターの値
thread: CommentThread
アクティブなコメントスレッド
CommentRule
言語のコメントの仕組みを記述します。
プロパティ
blockComment?: CharacterPair
ブロックコメントの文字ペア(例:/* block comment */
)
行コメントトークン(例:// this is a comment
)
CommentThread
ドキュメントの特定の範囲での会話を表すコメントのコレクション。
プロパティ
スレッドが返信をサポートするかどうか。デフォルトはtrueです。
collapsibleState: CommentThreadCollapsibleState
ドキュメントを開くときにスレッドを折りたたむか展開するか。デフォルトはCollapsedです。
comments: readonly Comment[]
スレッドの順序付けられたコメント。
コメントスレッドのコンテキスト値。これは、スレッド固有のアクションを提供するために使用できます。たとえば、コメントスレッドにはeditable
というコンテキスト値が与えられます。menus
拡張ポイントを使用してcomments/commentThread/title
にアクションを提供する場合、when
式でキーcommentThread
のコンテキスト値をcommentThread == editable
のように指定できます。
"contributes": {
"menus": {
"comments/commentThread/title": [
{
"command": "extension.deleteCommentThread",
"when": "commentThread == editable"
}
]
}
}
これにより、contextValue
がeditable
のコメントスレッドに対してのみアクションextension.deleteCommentThread
が表示されます。
オプションの人間が読めるラベル。 コメントスレッドを説明します
range: Range
コメントスレッドがドキュメント内に配置されている範囲。スレッドアイコンは、範囲の最後の行に表示されます。未定義に設定すると、コメントは特定の範囲ではなく、ファイルに関連付けられます。
state?: CommentThreadState
コメントスレッドのオプションの状態。コメントの表示方法に影響を与える可能性があります。
uri: Uri
スレッドが作成されたドキュメントのURI。
メソッド
このコメントスレッドを破棄します。
破棄されると、このコメントスレッドは、適切な場合に表示されているエディターとコメントパネルから削除されます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
CommentThreadCollapsibleState
コメントスレッドの折りたたみ可能な状態
列挙メンバー
アイテムが折りたたまれていることを決定します
アイテムが展開されていることを決定します
CommentThreadState
コメントスレッドの状態。
列挙メンバー
未解決のスレッド状態
解決済みのスレッド状態
CompletionContext
コンプリーションプロバイダーがトリガーされるコンテキストに関する追加情報が含まれています。
プロパティ
コンプリーションアイテムプロバイダーをトリガーした文字。
プロバイダーが文字によってトリガーされなかった場合はundefined
。
トリガー文字は、コンプリーションプロバイダーがトリガーされるときに、すでにドキュメント内に存在します。
triggerKind: CompletionTriggerKind
コンプリーションがどのようにトリガーされたか。
CompletionItem
コンプリーションアイテムは、入力中のテキストを補完するために提案されるテキストスニペットを表します。
ラベルのみからコンプリーションアイテムを作成するだけで十分です。その場合、コンプリーションアイテムは、指定されたラベルまたはinsertTextを使用して、カーソルまでの単語を置き換えます。それ以外の場合は、指定された編集が使用されます。
エディターでコンプリーションアイテムを選択すると、定義済みまたは合成されたテキスト編集がすべてのカーソル/選択範囲に適用されますが、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
の場合、ラベルが使用されます。
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 の間のコントラクトを定義します。
プロバイダーは、detail プロパティと documentation プロパティの計算を、resolveCompletionItem 関数を実装することで遅延させることができます。ただし、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
を実装するには、拡張機能は、onDidChangeCustomDocument
によってこの編集がエディターの内部編集スタックに追加された直後の状態にドキュメントとエディターを復元する必要があります。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void | Thenable<void> |
編集操作を元に戻します。
これは、ユーザーがこの編集を元に戻すときにエディターによって呼び出されます。undo
を実装するには、拡張機能は、onDidChangeCustomDocument
によってこの編集がエディターの内部編集スタックに追加される直前の状態にドキュメントとエディターを復元する必要があります。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void | Thenable<void> |
CustomDocumentOpenContext
カスタムドキュメントを開くことに関する追加情報。
プロパティ
ドキュメントを復元するバックアップの ID。バックアップがない場合は undefined
。
これが提供されている場合、拡張機能は、ユーザーのワークスペースからファイルを読み取るのではなく、バックアップからエディターを復元する必要があります。
untitledDocumentData: Uint8Array
URI が無題のファイルの場合、これはそのファイルのバイトデータで設定されます
これが提供されている場合、拡張機能は、渡された URI で fs API を実行するのではなく、このバイトデータを利用する必要があります
CustomEditorProvider<T>
カスタムドキュメントモデルを使用する編集可能なカスタムエディターのプロバイダー。
カスタムエディターは、TextDocument の代わりに、ドキュメントモデルとして CustomDocument を使用します。これにより、拡張機能は、編集、保存、バックアップなどのアクションを完全に制御できます。
バイナリファイルまたはより複雑なシナリオを扱う場合は、このタイプのカスタムエディターを使用する必要があります。単純なテキストベースのドキュメントの場合は、代わりに CustomTextEditorProvider を使用してください。
イベント
onDidChangeCustomDocument: Event<CustomDocumentEditEvent<T>> | Event<CustomDocumentContentChangeEvent<T>>
カスタムエディター内で編集が発生したことを通知します。
このイベントは、カスタムエディターで編集が発生するたびに、拡張機能によって発行される必要があります。編集は、テキストの変更から、画像のトリミング、リストの並べ替えまで、あらゆるものにすることができます。拡張機能は、編集とは何か、および各編集にどのようなデータが保存されるかを自由に定義できます。
onDidChange
を発行すると、エディターがダーティとしてマークされます。これは、ユーザーがファイルを保存または元に戻すときにクリアされます。
元に戻す/やり直しをサポートするエディターは、編集が発生するたびに CustomDocumentEditEvent
を発行する必要があります。これにより、ユーザーはエディターの標準キーボードショートカットを使用して編集を元に戻したり、やり直したりできます。また、ユーザーがすべての編集を最後に保存した状態まで元に戻した場合、エディターはエディターがダーティでなくなったこともマークします。
編集をサポートしているが、エディターの標準の元に戻す/やり直しのメカニズムを使用できないエディターは、CustomDocumentContentChangeEvent
を発行する必要があります。元に戻す/やり直しをサポートしていないエディターのダーティ状態をユーザーがクリアする唯一の方法は、ファイルを save
または revert
することです。
エディターは、CustomDocumentEditEvent
イベントのみを発行するか、CustomDocumentContentChangeEvent
イベントのみを発行する必要があります。
メソッド
backupCustomDocument(document: T, context: CustomDocumentBackupContext, cancellation: CancellationToken): Thenable<CustomDocumentBackup>
ダーティなカスタムドキュメントをバックアップします。
バックアップは、ホットエグジットとデータ損失を防ぐために使用されます。backup
メソッドは、リソースを現在の状態 (つまり、編集が適用された状態) で永続化する必要があります。最も一般的なのは、リソースを ExtensionContext.storagePath
のディスクに保存することです。エディターがリロードされ、リソースのカスタムエディターが開かれると、拡張機能は最初にリソースのバックアップが存在するかどうかを確認する必要があります。バックアップがある場合、拡張機能はワークスペースのリソースからではなく、そこからファイルの内容を読み込む必要があります。
backup
は、ユーザーがドキュメントの編集を停止してから約 1 秒後にトリガーされます。ユーザーがドキュメントをすばやく編集する場合、編集が停止するまで backup
は呼び出されません。
auto save
が有効になっている場合、backup
は呼び出されません (自動保存はすでにリソースを永続化しているため)。
パラメーター | 説明 |
---|---|
document: T | バックアップするドキュメント。 |
context: CustomDocumentBackupContext | ドキュメントをバックアップするために使用できる情報。 |
cancellation: CancellationToken | 新しいバックアップが受信されるため、現在のバックアップを通知するトークン。キャンセルにどのように応答するかは、拡張機能次第です。たとえば、拡張機能が完了に時間がかかる操作で大きなファイルをバックアップしている場合、エディターに有効なバックアップがあることを保証するために、拡張機能はキャンセルするのではなく、進行中のバックアップを完了することを選択する場合があります。 |
戻り値 | 説明 |
Thenable<CustomDocumentBackup> |
openCustomDocument(uri: Uri, openContext: CustomDocumentOpenContext, token: CancellationToken): T | Thenable<T>
指定されたリソースの新しいドキュメントを作成します。
openCustomDocument
は、特定のリソースのエディターが最初に開かれたときに呼び出されます。開かれたドキュメントは resolveCustomEditor
に渡され、エディターをユーザーに表示できるようになります。
ユーザーが追加のエディターを開いた場合、すでに開いている CustomDocument
が再利用されます。特定のリソースのすべてのエディターが閉じられると、CustomDocument
は破棄されます。この時点でエディターを開くと、openCustomDocument
への別の呼び出しがトリガーされます。
パラメーター | 説明 |
---|---|
uri: Uri | 開くドキュメントの URI。 |
openContext: CustomDocumentOpenContext | カスタムドキュメントを開くことに関する追加情報。 |
token: CancellationToken | 結果が不要になったことを示すキャンセルトークン。 |
戻り値 | 説明 |
T | Thenable<T> | カスタムドキュメント。 |
resolveCustomEditor(document: T, webviewPanel: WebviewPanel, token: CancellationToken): void | Thenable<void>
指定されたリソースのカスタムエディターを解決します。
これは、ユーザーがこの CustomEditorProvider
の新しいエディターを開くたびに呼び出されます。
パラメーター | 説明 |
---|---|
document: T | 解決されるリソースのドキュメント。 |
webviewPanel: WebviewPanel | このリソースのエディター UI を表示するために使用される Webview パネル。 解決中に、プロバイダーはコンテンツ Webview パネルの初期 HTML を入力し、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、後で (たとえばコマンドで) 使用するために |
token: CancellationToken | 結果が不要になったことを示すキャンセルトークン。 |
戻り値 | 説明 |
void | Thenable<void> | カスタムエディターが解決されたことを示すオプションの Thenable。 |
revertCustomDocument(document: T, cancellation: CancellationToken): Thenable<void>
カスタムドキュメントを最後に保存された状態に戻します。
このメソッドは、ユーザーがカスタムエディターで ファイル: ファイルを元に戻す
をトリガーしたときにエディターによって呼び出されます。(これは、エディターの ファイル: ファイルを元に戻す
コマンドを使用する場合にのみ使用され、ファイルの git revert
では使用されないことに注意してください)。
revert
を実装するには、実装者は、document
のすべてのエディターインスタンス (Webview) が、ドキュメントが保存されたときと同じ状態のドキュメントを表示していることを確認する必要があります。これは通常、ワークスペースからファイルをリロードすることを意味します。
パラメーター | 説明 |
---|---|
document: T | 元に戻すドキュメント。 |
cancellation: CancellationToken | 元に戻すことが不要になったことを通知するトークン。 |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 | 変更が完了したことを通知する Thenable。 |
saveCustomDocument(document: T, cancellation: CancellationToken): Thenable<void>
カスタムドキュメントを保存します。
このメソッドは、ユーザーがカスタムエディターを保存するときにエディターによって呼び出されます。これは、ユーザーがカスタムエディターがアクティブな間に保存をトリガーした場合、すべて保存
などのコマンドによって、または自動保存が有効になっている場合に発生する可能性があります。
save
を実装するには、実装者はカスタムエディターを永続化する必要があります。これは通常、カスタムドキュメントのファイルデータをディスクに書き込むことを意味します。save
が完了すると、関連付けられたエディターインスタンスはダーティとしてマークされなくなります。
パラメーター | 説明 |
---|---|
document: T | 保存するドキュメント。 |
cancellation: CancellationToken | 保存が不要になったことを通知するトークン (たとえば、別の保存がトリガーされた場合)。 |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 | 保存が完了したことを通知する Thenable。 |
saveCustomDocumentAs(document: T, destination: Uri, cancellation: CancellationToken): Thenable<void>
カスタムドキュメントを別の場所に保存します。
このメソッドは、ユーザーがカスタムエディターで「名前を付けて保存」をトリガーしたときにエディターによって呼び出されます。実装者は、カスタムエディターを destination
に永続化する必要があります。
ユーザーが名前を付けて保存を受け入れると、現在のエディターは、新しく保存されたファイルのダーティでないエディターに置き換えられます。
パラメーター | 説明 |
---|---|
document: T | 保存するドキュメント。 |
destination: Uri | 保存先の場所。 |
cancellation: CancellationToken | 保存が不要になったことを通知するトークン。 |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 | 保存が完了したことを通知する Thenable。 |
CustomExecution
拡張機能のコールバックをタスクとして実行するために使用されるクラス。
コンストラクター
new CustomExecution(callback: (resolvedDefinition: TaskDefinition) => Thenable<Pseudoterminal>): CustomExecution
CustomExecution タスクオブジェクトを構築します。コールバックはタスクが実行されるときに実行され、その時点で拡張機能は「実行する」Pseudoterminal を返す必要があります。タスクは、Pseudoterminal.open が呼び出されるまで、それ以上の実行を待機する必要があります。タスクのキャンセルは、Pseudoterminal.close を使用して処理する必要があります。タスクが完了したら、Pseudoterminal.onDidClose を発行します。
パラメーター | 説明 |
---|---|
callback: (resolvedDefinition: TaskDefinition) => Thenable<Pseudoterminal> | タスクがユーザーによって開始されたときに呼び出されるコールバック関数。タスク定義内にあった `${}` スタイルの変数はすべて解決され、 |
戻り値 | 説明 |
CustomExecution |
CustomReadonlyEditorProvider<T>
カスタムドキュメントモデルを使用する読み取り専用カスタムエディターのプロバイダー。
カスタムエディターは、ドキュメントモデルとして TextDocument の代わりに CustomDocument を使用します。
バイナリファイルまたはより複雑なシナリオを扱う場合は、このタイプのカスタムエディターを使用する必要があります。単純なテキストベースのドキュメントの場合は、代わりに CustomTextEditorProvider を使用してください。
メソッド
openCustomDocument(uri: Uri, openContext: CustomDocumentOpenContext, token: CancellationToken): T | Thenable<T>
指定されたリソースの新しいドキュメントを作成します。
openCustomDocument
は、特定のリソースのエディターが最初に開かれたときに呼び出されます。開かれたドキュメントは resolveCustomEditor
に渡され、エディターをユーザーに表示できるようになります。
ユーザーが追加のエディターを開いた場合、すでに開いている CustomDocument
が再利用されます。特定のリソースのすべてのエディターが閉じられると、CustomDocument
は破棄されます。この時点でエディターを開くと、openCustomDocument
への別の呼び出しがトリガーされます。
パラメーター | 説明 |
---|---|
uri: Uri | 開くドキュメントの URI。 |
openContext: CustomDocumentOpenContext | カスタムドキュメントを開くことに関する追加情報。 |
token: CancellationToken | 結果が不要になったことを示すキャンセルトークン。 |
戻り値 | 説明 |
T | Thenable<T> | カスタムドキュメント。 |
resolveCustomEditor(document: T, webviewPanel: WebviewPanel, token: CancellationToken): void | Thenable<void>
指定されたリソースのカスタムエディターを解決します。
これは、ユーザーがこの CustomEditorProvider
の新しいエディターを開くたびに呼び出されます。
パラメーター | 説明 |
---|---|
document: T | 解決されるリソースのドキュメント。 |
webviewPanel: WebviewPanel | このリソースのエディター UI を表示するために使用される 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 を入力し、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、後で (たとえばコマンドで) 使用するために |
token: CancellationToken | 結果が不要になったことを示すキャンセルトークン。 |
戻り値 | 説明 |
void | Thenable<void> | カスタムエディターが解決されたことを示す Thenable。 |
DataTransfer
転送されたデータに対応する MIME タイプ のマッピングを含むマップ。
handleDrag
を実装するドラッグアンドドロップコントローラーは、データ転送に追加の 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
このデータ転送項目に関連付けられた file を取得しようとします。
ファイルオブジェクトは、ドラッグアンドドロップ操作のスコープ内でのみ有効であることに注意してください。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
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
Named Pipe (Windows 上)/UNIX ドメインソケット (非 Windows 上) ベースのサーバーとして実行されているデバッグアダプターを表します。
コンストラクター
new DebugAdapterNamedPipeServer(path: string): DebugAdapterNamedPipeServer
Named Pipe (Windows 上)/UNIX ドメインソケット (非 Windows 上) ベースのサーバーとして実行されているデバッグアダプターの説明を作成します。
パラメーター | 説明 |
---|---|
path: string | |
戻り値 | 説明 |
DebugAdapterNamedPipeServer |
プロパティ
Named Pipe/UNIX ドメインソケットへのパス。
DebugAdapterServer
ソケットベースのサーバーとして実行されているデバッグアダプターを表します。
コンストラクター
new DebugAdapterServer(port: number, host?: string): DebugAdapterServer
ソケットベースのサーバーとして実行されているデバッグアダプターの説明を作成します。
パラメーター | 説明 |
---|---|
port: number | |
host?: string | |
戻り値 | 説明 |
DebugAdapterServer |
プロパティ
ホスト。
ポート。
DebugAdapterTracker
Debug Adapter Tracker は、エディターとデバッグアダプター間の通信を追跡する手段です。
イベント
onDidSendMessage(message: any): void
デバッグアダプターが Debug Adapter Protocol メッセージをエディターに送信しました。
パラメーター | 説明 |
---|---|
message: any | |
戻り値 | 説明 |
void |
onWillReceiveMessage(message: any): void
デバッグアダプターは、エディターから Debug Adapter Protocol メッセージを受信しようとしています。
パラメーター | 説明 |
---|---|
message: any | |
戻り値 | 説明 |
void |
デバッグアダプターとのセッションが開始されようとしています。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
デバッグアダプターセッションが停止されようとしています。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
メソッド
デバッグアダプターでエラーが発生しました。
パラメーター | 説明 |
---|---|
error: Error | |
戻り値 | 説明 |
void |
onExit(code: number, signal: string): void
デバッグアダプターが、指定された終了コードまたはシグナルで終了しました。
パラメーター | 説明 |
---|---|
code: number | |
signal: string | |
戻り値 | 説明 |
void |
DebugAdapterTrackerFactory
デバッグアダプタートラッカーを作成するデバッグアダプターファクトリ。
メソッド
createDebugAdapterTracker(session: DebugSession): ProviderResult<DebugAdapterTracker>
メソッド 'createDebugAdapterTracker' は、エディターとデバッグアダプター間の通信への読み取りアクセスを提供する「トラッカー」オブジェクトを返すために、デバッグセッションの開始時に呼び出されます。
パラメーター | 説明 |
---|---|
session: DebugSession | デバッグアダプタートラッカーが使用される デバッグセッション。 |
戻り値 | 説明 |
ProviderResult<DebugAdapterTracker> | デバッグアダプタートラッカー または undefined。 |
DebugConfiguration
デバッグセッションの構成。
プロパティ
デバッグセッションの名前。
デバッグセッションのリクエストタイプ。
デバッグセッションのタイプ。
DebugConfigurationProvider
デバッグ構成プロバイダーを使用すると、デバッグサービスにデバッグ構成を追加したり、デバッグセッションを開始するために使用される前に起動構成を解決したりできます。デバッグ構成プロバイダーは、debug.registerDebugConfigurationProvider を介して登録されます。
メソッド
provideDebugConfigurations(folder: WorkspaceFolder, token?: CancellationToken): ProviderResult<DebugConfiguration[]>
デバッグサービスに デバッグ構成 を提供します。同じタイプに対して複数のデバッグ構成プロバイダーが登録されている場合、デバッグ構成は任意の順序で連結されます。
パラメーター | 説明 |
---|---|
folder: WorkspaceFolder | 構成が使用されるワークスペースフォルダー。フォルダーレスセットアップの場合は |
token?: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<DebugConfiguration[]> | デバッグ構成 の配列。 |
resolveDebugConfiguration(folder: WorkspaceFolder, debugConfiguration: DebugConfiguration, token?: CancellationToken): ProviderResult<DebugConfiguration>
不足している値を入力するか、属性を追加/変更/削除することにより、デバッグ構成 を解決します。同じタイプに対して複数のデバッグ構成プロバイダーが登録されている場合、resolveDebugConfiguration 呼び出しは任意の順序でチェーンされ、初期デバッグ構成がチェーンを介してパイプされます。値 'undefined' を返すと、デバッグセッションが開始されなくなります。値 'null' を返すと、デバッグセッションが開始されなくなり、代わりに基になるデバッグ構成が開きます。
パラメーター | 説明 |
---|---|
folder: WorkspaceFolder | 構成の発生元のワークスペースフォルダー。フォルダーレスセットアップの場合は |
debugConfiguration: DebugConfiguration | 解決する デバッグ構成。 |
token?: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<DebugConfiguration> | 解決されたデバッグ構成、または undefined または null。 |
resolveDebugConfigurationWithSubstitutedVariables(folder: WorkspaceFolder, debugConfiguration: DebugConfiguration, token?: CancellationToken): ProviderResult<DebugConfiguration>
このフックは、'resolveDebugConfiguration' の直後、ただしすべての変数が代入された状態で直接呼び出されます。不足している値を入力するか、属性を追加/変更/削除することにより、デバッグ構成 を解決または検証するために使用できます。同じタイプに対して複数のデバッグ構成プロバイダーが登録されている場合、'resolveDebugConfigurationWithSubstitutedVariables' 呼び出しは任意の順序でチェーンされ、初期デバッグ構成がチェーンを介してパイプされます。値 'undefined' を返すと、デバッグセッションが開始されなくなります。値 'null' を返すと、デバッグセッションが開始されなくなり、代わりに基になるデバッグ構成が開きます。
パラメーター | 説明 |
---|---|
folder: WorkspaceFolder | 構成の発生元のワークスペースフォルダー。フォルダーレスセットアップの場合は |
debugConfiguration: DebugConfiguration | 解決する デバッグ構成。 |
token?: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<DebugConfiguration> | 解決されたデバッグ構成、または undefined または null。 |
DebugConfigurationProviderTriggerKind
DebugConfigurationProviderTriggerKind は、DebugConfigurationProvider
の provideDebugConfigurations
メソッドがいつトリガーされるかを指定します。現在、2 つの状況があります。新しく作成された launch.json の初期デバッグ構成を提供するか、ユーザーが UI を介して要求した場合 (例: "デバッグの選択と開始" コマンドを使用) に動的に生成されたデバッグ構成を提供する場合です。トリガーの種類は、debug.registerDebugConfigurationProvider で DebugConfigurationProvider
を登録するときに使用されます。
列挙メンバー
DebugConfigurationProvider.provideDebugConfigurations
は、新しく作成された launch.json の初期デバッグ構成を提供するために呼び出されます。
DebugConfigurationProvider.provideDebugConfigurations
は、ユーザーが UI を介して要求した場合 (例: "デバッグの選択と開始" コマンドを使用) に動的に生成されたデバッグ構成を提供するために呼び出されます。
DebugConsole
デバッグコンソールを表します。
メソッド
指定された値をデバッグコンソールに追加します。
パラメーター | 説明 |
---|---|
value: string | 文字列。falsy 値は出力されません。 |
戻り値 | 説明 |
void |
appendLine(value: string): void
指定された値と改行文字をデバッグコンソールに追加します。
パラメーター | 説明 |
---|---|
value: string | 文字列。falsy 値も出力されます。 |
戻り値 | 説明 |
void |
DebugConsoleMode
デバッグセッションで使用されるデバッグコンソールモード。options を参照してください。
列挙メンバー
デバッグセッションは、独立したデバッグコンソールを持つ必要があります。
デバッグセッションは、親セッションとデバッグコンソールを共有する必要があります。この値は、親セッションを持たないセッションには影響しません。
DebugProtocolBreakpoint
DebugProtocolBreakpoint は、Debug Adapter Protocol で定義されている Breakpoint 型の不透明な代用型です。
DebugProtocolMessage
DebugProtocolMessage は、Debug Adapter Protocol で定義されている ProtocolMessage 型の不透明な代用型です。
DebugProtocolSource
DebugProtocolSource は、Debug Adapter Protocol で定義されている Source 型の不透明な代用型です。
DebugSession
デバッグセッション。
プロパティ
configuration: DebugConfiguration
このセッションの「解決済み」 デバッグ構成。「解決済み」とは、
- すべての変数が代入され、
- プラットフォーム固有の属性セクションが、一致するプラットフォームに対して「フラット化」され、一致しないプラットフォームに対して削除されたことを意味します。
このデバッグセッションの一意の ID。
デバッグセッションの名前は、最初は デバッグ構成 から取得されます。変更はすべて UI に適切に反映されます。
parentSession?: DebugSession
このデバッグセッションの親セッション (子として作成された場合)。
参照 DebugSessionOptions.parentSession
デバッグ構成 からのデバッグセッションのタイプ。
workspaceFolder: WorkspaceFolder
このセッションのワークスペースフォルダー。フォルダーレスセットアップの場合は undefined
。
メソッド
customRequest(command: string, args?: any): Thenable<any>
デバッグアダプターにカスタムリクエストを送信します。
パラメーター | 説明 |
---|---|
command: string | |
args?: any | |
戻り値 | 説明 |
Thenable<any> |
getDebugProtocolBreakpoint(breakpoint: Breakpoint): Thenable<DebugProtocolBreakpoint>
エディター内のブレークポイントを、デバッグセッションのデバッグアダプターによって管理される対応するDebug Adapter Protocol(DAP)ブレークポイントにマップします。DAPブレークポイントが存在しない場合(エディターのブレークポイントがまだ登録されていないか、デバッグアダプターがブレークポイントに関心がないかのいずれか)、値undefined
が返されます。
パラメーター | 説明 |
---|---|
breakpoint: Breakpoint | エディター内のブレークポイント。 |
戻り値 | 説明 |
Thenable<DebugProtocolBreakpoint> | Debug Adapter Protocolブレークポイントまたは |
DebugSessionCustomEvent
デバッグセッションから受信したカスタムDebug Adapter Protocolイベント。
プロパティ
イベント固有の情報。
イベントのタイプ。
session: DebugSession
カスタムイベントを受信したデバッグセッション。
DebugSessionOptions
デバッグセッションの開始オプション。
プロパティ
子セッションが1つしかない場合でも、デバッグセッションの親セッションを[呼び出し履歴]ビューに表示するかどうかを制御します。デフォルトでは、デバッグセッションは親を非表示にしません。compactがtrueの場合、ツリーをよりコンパクトにするために、子セッションが1つのデバッグセッションは[呼び出し履歴]ビューで非表示になります。
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スタイリングプロパティ。個々のoutlineプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個々のoutlineプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個々のoutlineプロパティの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 | 重大度。デフォルトはerrorです。 |
戻り値 | 説明 |
Diagnostic |
プロパティ
code?: string | number | {target: Uri, value: string | number}
この診断のコードまたは識別子。コードアクションを提供する場合など、後続の処理に使用する必要があります。
人間が読めるメッセージ。
range: Range
この診断が適用される範囲。
relatedInformation?: DiagnosticRelatedInformation[]
関連する診断情報の配列。例えば、スコープ内のシンボル名が衝突する場合、すべての定義をこのプロパティを介してマークできます。
severity: DiagnosticSeverity
重大度。デフォルトはerrorです。
この診断のソースを記述する人間が読める文字列。例えば、「typescript」または「super lint」。
tags?: DiagnosticTag[]
診断に関する追加のメタデータ。
DiagnosticChangeEvent
診断が変更されたときに発生するイベント。
プロパティ
uris: readonly Uri[]
診断が変更されたリソースの配列。
DiagnosticCollection
診断コレクションは、診断のセットを管理するコンテナです。診断は常に診断コレクションとリソースにスコープされます。
DiagnosticCollection
のインスタンスを取得するには、createDiagnosticCollectionを使用します。
プロパティ
この診断コレクションの名前。たとえば、typescript
。このコレクションからのすべての診断は、この名前に関連付けられます。また、タスクフレームワークは、問題Matcherを定義するときにこの名前を使用します。
メソッド
このコレクションからすべての診断を削除します。#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]]]
と同等です。診断項目がundefined
の場合([file1, 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-like を 1 つに結合します。Disposable
のインスタンスではない dispose 関数を持つオブジェクトがある場合に、このメソッドを使用できます。
パラメーター | 説明 |
---|---|
...disposableLikes: Array<{dispose: () => any}> | 少なくとも |
戻り値 | 説明 |
Disposable | 破棄時に、提供されたすべての disposable を破棄する新しい disposable を返します。 |
コンストラクター
new Disposable(callOnDispose: () => any): Disposable
破棄時に提供された関数を呼び出す新しい disposable を作成します。
注意: 非同期関数は待機されません。
パラメーター | 説明 |
---|---|
callOnDispose: () => any | 何かを破棄する関数。 |
戻り値 | 説明 |
Disposable |
メソッド
このオブジェクトを破棄します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
any |
DocumentColorProvider
ドキュメントカラープロバイダーは、拡張機能とエディターでの色の選択および変更機能の間の契約を定義します。
メソッド
provideColorPresentations(color: Color, context: {document: TextDocument, range: Range}, token: CancellationToken): ProviderResult<ColorPresentation[]>
色の 表現 を提供します。
パラメーター | 説明 |
---|---|
color: Color | 表示および挿入する色。 |
context: {document: TextDocument, range: Range} | 追加情報を含むコンテキストオブジェクト |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<ColorPresentation[]> | 色の表現の配列、またはそのような配列に解決される Thenable。結果がない場合は、 |
provideDocumentColors(document: TextDocument, token: CancellationToken): ProviderResult<ColorInformation[]>
指定されたドキュメントの色を提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<ColorInformation[]> | 色情報 の配列、またはそのような配列に解決される Thenable。結果がない場合は、 |
DocumentDropEdit
ドロップ時 に適用される編集操作。
コンストラクター
new DocumentDropEdit(insertText: string | SnippetString, title?: string, kind?: DocumentDropOrPasteEditKind): DocumentDropEdit
パラメーター | 説明 |
---|---|
insertText: string | SnippetString | ドロップ位置に挿入するテキストまたはスニペット。 |
title?: string | 編集内容を説明する人間が読めるラベル。 |
kind?: DocumentDropOrPasteEditKind | 編集の 種類。 |
戻り値 | 説明 |
DocumentDropEdit |
プロパティ
additionalEdit?: WorkspaceEdit
ドロップ時に適用するオプションの追加編集。
insertText: string | SnippetString
ドロップ位置に挿入するテキストまたはスニペット。
kind?: DocumentDropOrPasteEditKind
編集の 種類。
編集内容を説明する人間が読めるラベル。
yieldTo?: readonly DocumentDropOrPasteEditKind[]
複数の編集の順序を制御します。このプロバイダーが編集に譲歩する場合、リストの下位に表示されます。
DocumentDropEditProvider<T>
テキストエディターへのリソースのドロップを処理するプロバイダー。
これにより、ユーザーはリソース(外部アプリからのリソースを含む)をエディターにドラッグアンドドロップできます。ファイルをドラッグアンドドロップ中に、ユーザーは shift
キーを押したままにして、ファイルを開く代わりにエディターにドロップできます。editor.dropIntoEditor.enabled
をオンにする必要があります。
メソッド
provideDocumentDropEdits(document: TextDocument, position: Position, dataTransfer: DataTransfer, token: CancellationToken): ProviderResult<T | T[]>
ドキュメントにドラッグアンドドロップされたコンテンツを挿入する編集を提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | ドロップが発生したドキュメント。 |
position: Position | ドキュメント内でドロップが発生した位置。 |
dataTransfer: DataTransfer | ドラッグアンドドロップされているデータに関するデータを保持する DataTransfer オブジェクト。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T | T[]> | DocumentDropEdit またはそのようなものに解決される Thenable。結果がない場合は、 |
resolveDocumentDropEdit(edit: T, token: CancellationToken): ProviderResult<T>
編集が適用される前に、DocumentDropEdit.additionalEdit を入力するオプションのメソッド。
これは編集ごとに 1 回呼び出され、完全な編集の生成に時間がかかる場合に使用する必要があります。Resolve は、DocumentDropEdit.additionalEdit を変更するためにのみ使用できます。
パラメーター | 説明 |
---|---|
edit: T | 解決する DocumentDropEdit。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T> | 解決された編集、またはそのようなものに解決される Thenable。与えられた |
DocumentDropEditProviderMetadata
DocumentDropEditProvider の動作方法に関する追加メタデータを提供します。
プロパティ
dropMimeTypes: readonly string[]
プロバイダーが処理できる DataTransfer MIME タイプのリスト。
これは、image/png
などの正確な MIME タイプ、または image/*
などのワイルドカードパターンのいずれかになります。
ワークベンチのエクスプローラーまたはその他のツリービューからドロップされたリソースには text/uri-list
を使用します。
ファイル が DataTransfer に存在する場合にプロバイダーを呼び出す必要があることを示すには、files
を使用します。DataTransferFile エントリは、オペレーティングシステムなど、エディターの外部からコンテンツをドロップする場合にのみ作成されることに注意してください。
providedDropEditKinds?: readonly DocumentDropOrPasteEditKind[]
種類 のリスト。プロバイダーが provideDocumentDropEdits で返す可能性があります。
これは、特定の 種類 の編集が要求された場合にプロバイダーをフィルターアウトするために使用されます。
DocumentDropOrPasteEditKind
DocumentDropEdit または DocumentPasteEdit を識別します
静的
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>
リンクが選択されたときに、その ターゲット を入力します。このメソッドは、UI で不完全なリンクが選択されたときに呼び出されます。プロバイダーは、このメソッドを実装し、provideDocumentLinks メソッドから不完全なリンク (ターゲットなし) を返すことができます。これは、パフォーマンスを向上させるのに役立つことがよくあります。
パラメーター | 説明 |
---|---|
link: T | 解決されるリンク。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T> |
DocumentPasteEdit
貼り付け操作を適用する編集。
コンストラクター
new DocumentPasteEdit(insertText: string | SnippetString, title: string, kind: DocumentDropOrPasteEditKind): DocumentPasteEdit
新しい貼り付け編集を作成します。
パラメーター | 説明 |
---|---|
insertText: string | SnippetString | 貼り付けられた場所に挿入するテキストまたはスニペット。 |
title: string | 編集内容を説明する人間が読めるラベル。 |
kind: DocumentDropOrPasteEditKind | 編集の 種類。 |
戻り値 | 説明 |
DocumentPasteEdit |
プロパティ
additionalEdit?: WorkspaceEdit
貼り付け時に適用するオプションの追加編集。
insertText: string | SnippetString
貼り付けられた場所に挿入するテキストまたはスニペット。
編集にさらに高度な挿入ロジックが必要な場合は、これを空の文字列に設定し、代わりに 追加の編集 を提供します。
kind: DocumentDropOrPasteEditKind
編集の 種類。
編集内容を説明する人間が読めるラベル。
yieldTo?: readonly DocumentDropOrPasteEditKind[]
複数の貼り付け編集を適用できる場合の順序を制御します。
この編集が別の編集に譲歩する場合、ユーザーに表示される可能な貼り付け編集のリストの下位に表示されます。
DocumentPasteEditContext
貼り付け操作に関する追加情報。
プロパティ
only: DocumentDropOrPasteEditKind
要求されたペースト編集の種類を返します。
PasteAs によって明示的な種類が要求された場合、プロバイダーは要求された種類の編集を生成する際により柔軟に対応することが推奨されます。
triggerKind: DocumentPasteTriggerKind
ペースト編集が要求された理由。
DocumentPasteEditProvider<T>
ユーザーが TextDocument 内でコピーまたはペーストを行うときに呼び出されるプロバイダー。
メソッド
prepareDocumentPaste(document: TextDocument, ranges: readonly Range[], dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>
テキストエディターからユーザーがコピーした後で呼び出されるオプションのメソッド。
これにより、プロバイダーはコピーされたテキストに関するメタデータを DataTransfer に添付できます。このデータ転送は、provideDocumentPasteEdits 内のプロバイダーに渡されます。
現在、DataTransfer への変更は現在のエディターウィンドウに隔離されていることに注意してください。これは、追加されたメタデータが他のエディターウィンドウや他のアプリケーションから見えないことを意味します。
パラメーター | 説明 |
---|---|
document: TextDocument | コピーが行われたテキストドキュメント。 |
ranges: readonly Range[] | 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 で返す可能性のある 種類 のリスト。
これは、特定の 種類 の編集が要求された場合にプロバイダーをフィルターアウトするために使用されます。
DocumentPasteTriggerKind
ペースト編集が要求された理由。
列挙メンバー
通常のペースト操作の一部としてペーストが要求されました。
ユーザーが 名前を付けてペースト
コマンドでペーストを要求しました。
DocumentRangeFormattingEditProvider
ドキュメントフォーマットプロバイダーインターフェースは、拡張機能とフォーマット機能の間の契約を定義します。
メソッド
provideDocumentRangeFormattingEdits(document: TextDocument, range: Range, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>
ドキュメント内の範囲のフォーマット編集を提供します。
指定された範囲はヒントであり、プロバイダーはより小さいまたはより大きい範囲をフォーマットすることを決定できます。多くの場合、これは範囲の開始と終了を完全な構文ノードに調整することによって行われます。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
range: Range | フォーマットする必要がある範囲。 |
options: FormattingOptions | フォーマットを制御するオプション。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<TextEdit[]> | テキスト編集のセット、またはそのようなものに解決される Thenable。結果がない場合は、 |
provideDocumentRangesFormattingEdits(document: TextDocument, ranges: Range[], options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>
ドキュメント内の複数の範囲のフォーマット編集を提供します。
この関数はオプションですが、フォーマッターが変更された範囲のみをフォーマットする場合、または多数の選択範囲をフォーマットする場合に、より高速に実行できるようにします。
指定された範囲はヒントであり、プロバイダーはより小さいまたはより大きい範囲をフォーマットすることを決定できます。多くの場合、これは範囲の開始と終了を完全な構文ノードに調整することによって行われます。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
ranges: Range[] | フォーマットする必要がある範囲。 |
options: FormattingOptions | フォーマットを制御するオプション。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<TextEdit[]> | テキスト編集のセット、またはそのようなものに解決される Thenable。結果がない場合は、 |
DocumentRangeSemanticTokensProvider
ドキュメント範囲セマンティックトークンプロバイダーインターフェースは、拡張機能とセマンティックトークン間のコントラクトを定義します。
メソッド
provideDocumentRangeSemanticTokens(document: TextDocument, range: Range, token: CancellationToken): ProviderResult<SemanticTokens>
パラメーター | 説明 |
---|---|
document: TextDocument | |
range: Range | |
token: CancellationToken | |
戻り値 | 説明 |
ProviderResult<SemanticTokens> |
DocumentSelector
言語セレクターは、1 つまたは複数の言語識別子と 言語フィルター の組み合わせです。
注意 言語識別子のみであるドキュメントセレクターは、ディスクに保存されていないドキュメントであっても、すべて のドキュメントを選択します。機能が追加のコンテキストなしで動作する場合(たとえば、関連する「ファイル」を解決する必要がない場合)にのみ、このようなセレクターを使用してください。
例
let sel: DocumentSelector = { scheme: 'file', language: 'typescript' };
DocumentSelector: DocumentFilter | string | ReadonlyArray<DocumentFilter | string>
DocumentSemanticTokensProvider
ドキュメントセマンティックトークンプロバイダーインターフェースは、拡張機能とセマンティックトークン間のコントラクトを定義します。
イベント
onDidChangeSemanticTokens?: Event<void>
このプロバイダーからのセマンティックトークンが変更されたことを通知するオプションのイベント。
メソッド
provideDocumentSemanticTokens(document: TextDocument, token: CancellationToken): ProviderResult<SemanticTokens>
ファイル内のトークンは、整数の配列として表されます。各トークンの位置は、ファイル内で編集が行われた場合でもほとんどのトークンが互いに対して安定しているため、前のトークンからの相対位置として表されます。
簡単に言うと、各トークンは表現するために 5 つの整数を必要とするため、ファイル内の特定のトークン i
は次の配列インデックスで構成されます。
- インデックス
5*i
-deltaLine
: トークン行番号、前のトークンからの相対位置 - インデックス
5*i+1
-deltaStart
: トークン開始文字、前のトークンからの相対位置 (0 からの相対位置、または前のトークンと同じ行にある場合は前のトークンの開始位置からの相対位置) - インデックス
5*i+2
-length
: トークンの長さ。トークンを複数行にすることはできません。 - インデックス
5*i+3
-tokenType
:SemanticTokensLegend.tokenTypes
で検索されます。現在、tokenType
< 65536 であることが求められています。 - インデックス
5*i+4
-tokenModifiers
: 設定された各ビットはSemanticTokensLegend.tokenModifiers
で検索されます
トークンをエンコードする方法
uint32 配列で 3 つのトークンを持つファイルをエンコードする例を次に示します。
{ line: 2, startChar: 5, length: 3, tokenType: "property", tokenModifiers: ["private", "static"] },
{ line: 2, startChar: 10, length: 4, tokenType: "type", tokenModifiers: [] },
{ line: 5, startChar: 2, length: 7, tokenType: "class", tokenModifiers: [] }
- まず、凡例を作成する必要があります。この凡例は事前に提供する必要があり、可能なすべてのトークンタイプをキャプチャする必要があります。この例では、プロバイダーを登録するときに渡す必要がある次の凡例を選択します。
tokenTypes: ['property', 'type', 'class'],
tokenModifiers: ['private', 'static']
- 最初の変換ステップは、凡例を使用して
tokenType
およびtokenModifiers
を整数としてエンコードすることです。トークンタイプはインデックスで検索されるため、tokenType
値が1
の場合、tokenTypes[1]
を意味します。複数のトークン修飾子をビットフラグを使用して設定できるため、tokenModifier
値が3
の場合、最初にバイナリ0b00000011
として表示されます。これは、ビット 0 と 1 が設定されているため、[tokenModifiers[0], tokenModifiers[1]]
を意味します。この凡例を使用すると、トークンは次のようになります。
{ line: 2, startChar: 5, length: 3, tokenType: 0, tokenModifiers: 3 },
{ line: 2, startChar: 10, length: 4, tokenType: 1, tokenModifiers: 0 },
{ line: 5, startChar: 2, length: 7, tokenType: 2, tokenModifiers: 0 }
- 次のステップは、ファイル内の前のトークンに対する相対位置として各トークンを表すことです。この場合、2 番目のトークンは最初のトークンと同じ行にあるため、2 番目のトークンの
startChar
は最初のトークンのstartChar
に対する相対位置になり、10 - 5
になります。3 番目のトークンは 2 番目のトークンとは異なる行にあるため、3 番目のトークンのstartChar
は変更されません。
{ deltaLine: 2, deltaStartChar: 5, length: 3, tokenType: 0, tokenModifiers: 3 },
{ deltaLine: 0, deltaStartChar: 5, length: 4, tokenType: 1, tokenModifiers: 0 },
{ deltaLine: 3, deltaStartChar: 2, length: 7, tokenType: 2, tokenModifiers: 0 }
- 最後に、最後のステップは、トークンの 5 つのフィールドのそれぞれを単一の配列にインライン化することです。これは、メモリに優しい表現です。
// 1st token, 2nd token, 3rd token
[ 2,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ]
トークンを整数としてエンコードするためのヘルパーについては、SemanticTokensBuilder を参照してください。注意: 編集を行う場合、エディターがセマンティックトークンプロバイダーを呼び出すまで、複数の編集が発生する可能性があります。注意: プロバイダーが一時的にセマンティックトークンを計算できない場合は、「Busy」というメッセージでエラーをスローすることにより、これを示すことができます。
パラメーター | 説明 |
---|---|
document: TextDocument | |
token: CancellationToken | |
戻り値 | 説明 |
ProviderResult<SemanticTokens> |
provideDocumentSemanticTokensEdits(document: TextDocument, previousResultId: string, token: CancellationToken): ProviderResult<SemanticTokens | SemanticTokensEdits>
ファイル内のすべてのトークンを常に返すのではなく、DocumentSemanticTokensProvider
がこのメソッド (provideDocumentSemanticTokensEdits
) を実装し、以前に提供されたセマンティックトークンへの増分更新を返すことが可能です。
ドキュメントが変更されたときにトークンがどのように変化するか
provideDocumentSemanticTokens
が以前に次のセマンティックトークンを返したと仮定します。
// 1st token, 2nd token, 3rd token
[ 2,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ]
また、いくつかの編集の後、ファイル内の新しいセマンティックトークンが次のようになっていると仮定します。
// 1st token, 2nd token, 3rd token
[ 3,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ]
これらの新しいトークンは、以前のトークンに適用された編集の観点から表現できます。
[ 2,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ] // old tokens
[ 3,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ] // new tokens
edit: { start: 0, deleteCount: 1, data: [3] } // replace integer at offset 0 with 3
注意: プロバイダーが SemanticTokensEdits
を計算できない場合は、「諦めて」、ドキュメント内のすべてのトークンを再度返すことができます。注意: SemanticTokensEdits
のすべての編集には、古い整数配列のインデックスが含まれているため、すべて以前の結果状態を参照しています。
パラメーター | 説明 |
---|---|
document: TextDocument | |
previousResultId: string | |
token: CancellationToken | |
戻り値 | 説明 |
ProviderResult<SemanticTokens | SemanticTokensEdits> |
DocumentSymbol
ドキュメントに表示される変数、クラス、インターフェースなどのプログラミング構造を表します。ドキュメントシンボルは階層構造にすることができ、2 つの範囲を持ちます。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
このシンボルが選択されたときに選択して表示する必要がある範囲(たとえば、関数の名前)。range に含まれている必要があります。
tags?: readonly SymbolTag[]
このシンボルのタグ。
DocumentSymbolProvider
ドキュメントシンボルプロバイダーインターフェースは、拡張機能とシンボルへ移動機能間のコントラクトを定義します。
メソッド
provideDocumentSymbols(document: TextDocument, token: CancellationToken): ProviderResult<DocumentSymbol[] | SymbolInformation[]>
指定されたドキュメントのシンボル情報を提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<DocumentSymbol[] | SymbolInformation[]> | ドキュメントハイライトの配列、またはそのような配列に解決される Thenable。結果がない場合は、 |
DocumentSymbolProviderMetadata
ドキュメントシンボルプロバイダーに関するメタデータ。
プロパティ
1 つのドキュメントに対して複数のアウトラインツリーが表示される場合に表示される、人間が読める文字列。
EndOfLine
ドキュメント内の行末文字シーケンスを表します。
列挙メンバー
ラインフィード \n
文字。
キャリッジリターンラインフィード \r\n
シーケンス。
EnterAction
Enter キーを押したときの動作を記述します。
プロパティ
改行後、およびインデントの後に追加するテキストを記述します。
indentAction: IndentAction
インデントの処理方法を記述します。
新しい行のインデントから削除する文字数を記述します。
EnvironmentVariableCollection
拡張機能がプロセス環境に適用できる変更のコレクション。
プロパティ
description: string | MarkdownString
環境変数コレクションの説明。これは UI での変更を説明するために使用されます。
コレクションをワークスペースにキャッシュし、ウィンドウのリロード間でターミナルに適用する必要があるかどうか。true の場合、ウィンドウがリロードされたときなど、コレクションはすぐにアクティブになります。さらに、この API はキャッシュされたバージョンが存在する場合はそれを返します。コレクションは、拡張機能がアンインストールされたとき、またはコレクションがクリアされたときに無効になります。デフォルトは true です。
メソッド
append(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数に値を追加します。
拡張機能は 1 つの変数に対して 1 つの変更のみを行うことができることに注意してください。したがって、これは replace、append、または prepend の以前の呼び出しをすべて上書きします。
パラメーター | 説明 |
---|---|
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
環境変数に値を先頭に追加します。
拡張機能は 1 つの変数に対して 1 つの変更のみを行うことができることに注意してください。したがって、これは replace、append、または prepend の以前の呼び出しをすべて上書きします。
パラメーター | 説明 |
---|---|
variable: string | 先頭に追加する変数。 |
value: string | 変数に先頭に追加する値。 |
options?: EnvironmentVariableMutatorOptions | ミューテーターに適用されるオプション。オプションが指定されていない場合、これは |
戻り値 | 説明 |
void |
replace(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数を値で置き換えます。
拡張機能は 1 つの変数に対して 1 つの変更のみを行うことができることに注意してください。したがって、これは replace、append、または prepend の以前の呼び出しをすべて上書きします。
パラメーター | 説明 |
---|---|
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 |
event のすべてのサブスクライバーに通知します。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 を使用します。
- deprecated - 代わりに globalStorageUri を使用してください。
globalStorageUri: Uri
拡張機能がグローバル状態を格納できるディレクトリのURI。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能次第です。ただし、親ディレクトリは存在することが保証されています。
キーと値のデータを格納するには、globalState を使用します。
URIからファイルとフォルダーを読み書きする方法については、こちらも参照してください workspace.fs。
languageModelAccessInformation: LanguageModelAccessInformation
この拡張機能が言語モデルをどのように使用できるかに関する情報を保持するオブジェクト。
こちらも参照してください LanguageModelChat.sendRequest
拡張機能がログファイルを作成できるディレクトリの絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能次第です。ただし、親ディレクトリは存在することが保証されています。
- deprecated - 代わりに logUri を使用してください。
logUri: Uri
拡張機能がログファイルを作成できるディレクトリのURI。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能次第です。ただし、親ディレクトリは存在することが保証されています。
URIからファイルとフォルダーを読み書きする方法については、こちらも参照してください workspace.fs。
secrets: SecretStorage
現在開いている ワークスペース に依存しない状態を格納するシークレットストレージオブジェクト。
拡張機能がプライベート状態を格納できるワークスペース固有のディレクトリの絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能次第です。ただし、親ディレクトリは存在することが保証されています。
キーと値のデータを格納するには、workspaceState または globalState を使用します。
- deprecated - 代わりに storageUri を使用してください。
storageUri: Uri
拡張機能がプライベート状態を格納できるワークスペース固有のディレクトリのURI。ディレクトリは存在しない可能性があり、作成は拡張機能次第です。ただし、親ディレクトリは存在することが保証されています。ワークスペースもフォルダーも開かれていない場合、値は undefined
です。
キーと値のデータを格納するには、workspaceState または globalState を使用します。
URIからファイルとフォルダーを読み書きする方法については、こちらも参照してください workspace.fs。
subscriptions: Array<{dispose}>
ディスポーザブルを追加できる配列。この拡張機能が非アクティブ化されると、ディスポーザブルは破棄されます。
注意 非同期の dispose 関数は待機されないことに注意してください。
workspaceState: Memento
現在開いている ワークスペース のコンテキストで状態を格納するメメントオブジェクト。
メソッド
asAbsolutePath(relativePath: string): string
拡張機能に含まれるリソースの絶対パスを取得します。
注意 絶対URIは Uri.joinPath および extensionUri を介して構築できます。例:vscode.Uri.joinPath(context.extensionUri, relativePath);
パラメーター | 説明 |
---|---|
relativePath: string | 拡張機能に含まれるリソースへの相対パス。 |
戻り値 | 説明 |
string | リソースの絶対パス。 |
ExtensionKind
リモートウィンドウでは、拡張機能の種類は、拡張機能がUI(ウィンドウ)を実行する場所で実行されるか、リモートで実行されるかを記述します。
列挙メンバー
拡張機能はUIを実行する場所で実行されます。
拡張機能はリモート拡張機能ホストを実行する場所で実行されます。
ExtensionMode
ExtensionMode は ExtensionContext
で提供され、特定の拡張機能が実行されているモードを示します。
列挙メンバー
拡張機能は、エディターに通常どおり(たとえば、マーケットプレイスまたはVSIXから)インストールされています。
拡張機能は、エディターの起動時に提供される --extensionDevelopmentPath
から実行されています。
拡張機能は --extensionTestsPath
から実行されており、拡張機能ホストはユニットテストを実行しています。
ExtensionTerminalOptions
仮想プロセスターミナルが使用する必要があるオプションを記述する値オブジェクト。
プロパティ
color?: ThemeColor
ターミナルのアイコン ThemeColor。最高のコントラストとテーマ間の一貫性のために、標準の terminal.ansi*
テーマキーが推奨されます。
iconPath?: IconPath
ターミナルのアイコンパスまたは ThemeIcon。
再起動および再読み込み時のデフォルトのターミナル永続化をオプトアウトします。これは、terminal.integrated.enablePersistentSessions
が有効になっている場合にのみ有効になります。
location?: TerminalEditorLocationOptions | TerminalSplitLocationOptions | TerminalLocation
UIでターミナルを表すために使用される人間が読める文字列。
pty: Pseudoterminal
拡張機能がターミナルを制御できるようにする Pseudoterminal の実装。
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
セマンティクスがあります。
delete(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>
ファイルの全内容を置き換えて、データをファイルに書き込みます。
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/**
)
これらのルールに従って、すべての変更に対して 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
ファイルシステムウォッチャーは、ディスク上または他の FileSystemProvider からのファイルとフォルダーの変更について通知します。
FileSystemWatcher
のインスタンスを取得するには、createFileSystemWatcher を使用します。
イベント
ファイル/フォルダーの変更時に発生するイベント。
ファイル/フォルダーの作成時に発生するイベント。
ファイル/フォルダーの削除時に発生するイベント。
プロパティ
このファイルシステムウォッチャーが、ファイルシステムの変更イベントを無視するように作成されている場合は true。
このファイルシステムウォッチャーが、ファイルシステムの作成イベントを無視するように作成されている場合は true。
このファイルシステムウォッチャーが、ファイルシステムの削除イベントを無視するように作成されている場合は true。
メソッド
このオブジェクトを破棄します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
any |
FileType
ファイルタイプの列挙。型 File
と Directory
はシンボリックリンクにすることもできます。その場合は、FileType.File | FileType.SymbolicLink
および FileType.Directory | FileType.SymbolicLink
を使用します。
列挙メンバー
ファイルタイプが不明です。
通常ファイル。
ディレクトリ。
ファイルへのシンボリックリンク。
FileWillCreateEvent
ファイルが作成されようとしているときに発生するイベント。
ファイルが作成される前にワークスペースに変更を加えるには、waitUntil 関数を ワークスペース編集 に解決される Thenable で呼び出します。
プロパティ
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
ファイルが削除されようとしているときに発生するイベント。
ファイルが削除される前にワークスペースに変更を加えるには、waitUntil
関数を ワークスペース編集 に解決される Thenable で呼び出します。
プロパティ
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
ファイルの名前が変更されようとしているときに発生するイベント。
ファイルの名前が変更される前にワークスペースに変更を加えるには、waitUntil
関数を ワークスペース編集 に解決される Thenable で呼び出します。
プロパティ
files: ReadonlyArray<{newUri: Uri, oldUri: Uri}>
名前が変更されようとしているファイル。
token: CancellationToken
キャンセルトークン。
メソッド
waitUntil(thenable: Thenable<WorkspaceEdit>): void
イベントを一時停止し、ワークスペース編集 を適用できるようにします。
注: この関数は、イベントディスパッチ中のみ呼び出すことができ、非同期的に呼び出すことはできません。
workspace.onWillCreateFiles(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
パラメーター | 説明 |
---|---|
thenable: Thenable<WorkspaceEdit> | 保存を遅延させる Thenable。 |
戻り値 | 説明 |
void |
waitUntil(thenable: Thenable<any>): void
提供された Thenable が解決されるまでイベントを一時停止できるようにします。
注: この関数は、イベントディスパッチ中のみ呼び出すことができます。
パラメーター | 説明 |
---|---|
thenable: Thenable<any> | 保存を遅延させる Thenable。 |
戻り値 | 説明 |
void |
FoldingContext
折りたたみコンテキスト (将来の使用のため)
FoldingRange
行ベースの折りたたみ範囲。有効にするには、開始行と終了行が 0 より大きく、ドキュメント内の行数より小さくなければなりません。無効な範囲は無視されます。
コンストラクター
new FoldingRange(start: number, end: number, kind?: FoldingRangeKind): FoldingRange
新しい折りたたみ範囲を作成します。
パラメーター | 説明 |
---|---|
start: number | 折りたたまれた範囲の開始行。 |
end: number | 折りたたまれた範囲の終了行。 |
kind?: FoldingRangeKind | 折りたたみ範囲の種類。 |
戻り値 | 説明 |
FoldingRange |
プロパティ
折りたたむ範囲の 0 ベースの終了行。折りたたまれた領域は、行の最後の文字で終わります。有効にするには、end は 0 以上で、ドキュメント内の行数より小さくなければなりません。
kind?: FoldingRangeKind
FoldingRangeKind (例: Comment や Region) の種類を記述します。種類は、折りたたみ範囲を分類し、「すべてのコメントを折りたたむ」などのコマンドで使用されます。すべての種類の列挙については、FoldingRangeKind を参照してください。設定されていない場合、範囲は構文要素から生成されます。
折りたたむ範囲の 0 ベースの開始行。折りたたまれた領域は、行の最後の文字の後に開始されます。有効にするには、end は 0 以上で、ドキュメント内の行数より小さくなければなりません。
FoldingRangeKind
特定の折りたたみ範囲の種類の列挙。種類は FoldingRange のオプションのフィールドであり、コメントから生成された範囲などの特定の折りたたみ範囲を区別するために使用されます。種類は、「すべてのコメントを折りたたむ」または「すべてのリージョンを折りたたむ」などのコマンドで使用されます。範囲に種類が設定されていない場合、範囲はコメント、インポート、またはリージョンマーカー以外の構文要素から生成されます。
列挙メンバー
コメントを表す折りたたみ範囲の種類。
インポートを表す折りたたみ範囲の種類。
#region
や #endregion
などの折りたたみマーカーから生成されたリージョンを表す折りたたみ範囲の種類。
FoldingRangeProvider
折りたたみ範囲プロバイダーインターフェイスは、拡張機能とエディターの 折りたたみ の間の契約を定義します。
イベント
onDidChangeFoldingRanges?: Event<void>
このプロバイダーからの折りたたみ範囲が変更されたことを通知するオプションのイベント。
メソッド
provideFoldingRanges(document: TextDocument, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>
プロバイダーが参加したくない場合、またはキャンセルされた場合は、折りたたみ範囲のリスト、または null と undefined を返します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
context: FoldingContext | 追加のコンテキスト情報 (将来の使用のため) |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<FoldingRange[]> |
FormattingOptions
整形で使用する必要があるオプションを記述する値オブジェクト。
プロパティ
タブよりもスペースを優先します。
スペースでのタブのサイズ。
FunctionBreakpoint
関数名で指定されたブレークポイント。
コンストラクター
new FunctionBreakpoint(functionName: string, enabled?: boolean, condition?: string, hitCondition?: string, logMessage?: string): FunctionBreakpoint
新しい関数ブレークポイントを作成します。
パラメーター | 説明 |
---|---|
functionName: string | |
enabled?: boolean | |
condition?: string | |
hitCondition?: string | |
logMessage?: string | |
戻り値 | 説明 |
FunctionBreakpoint |
プロパティ
条件付きブレークポイントのオプションの式。
ブレークポイントが有効かどうか。
このブレークポイントがアタッチされている関数の名前。
ブレークポイントのヒット数を無視する方法を制御するオプションの式。
ブレークポイントの一意の ID。
このブレークポイントがヒットしたときにログに記録されるオプションのメッセージ。{} 内の埋め込み式は、デバッグアダプターによって補間されます。
GlobalEnvironmentVariableCollection
拡張機能がプロセス環境に適用できる変更のコレクション。すべてのスコープに適用されます。
プロパティ
description: string | MarkdownString
環境変数コレクションの説明。これは UI での変更を説明するために使用されます。
コレクションをワークスペースにキャッシュし、ウィンドウのリロード間でターミナルに適用する必要があるかどうか。true の場合、ウィンドウがリロードされたときなど、コレクションはすぐにアクティブになります。さらに、この API はキャッシュされたバージョンが存在する場合はそれを返します。コレクションは、拡張機能がアンインストールされたとき、またはコレクションがクリアされたときに無効になります。デフォルトは true です。
メソッド
append(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数に値を追加します。
拡張機能は 1 つの変数に対して 1 つの変更のみを行うことができることに注意してください。したがって、これは replace、append、または prepend の以前の呼び出しをすべて上書きします。
パラメーター | 説明 |
---|---|
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
環境変数に値を先頭に追加します。
拡張機能は 1 つの変数に対して 1 つの変更のみを行うことができることに注意してください。したがって、これは replace、append、または prepend の以前の呼び出しをすべて上書きします。
パラメーター | 説明 |
---|---|
variable: string | 先頭に追加する変数。 |
value: string | 変数に先頭に追加する値。 |
options?: EnvironmentVariableMutatorOptions | ミューテーターに適用されるオプション。オプションが指定されていない場合、これは |
戻り値 | 説明 |
void |
replace(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数を値で置き換えます。
拡張機能は 1 つの変数に対して 1 つの変更のみを行うことができることに注意してください。したがって、これは replace、append、または prepend の以前の呼び出しをすべて上書きします。
パラメーター | 説明 |
---|---|
variable: string | 置き換える変数。 |
value: string | 変数と置き換える値。 |
options?: EnvironmentVariableMutatorOptions | ミューテーターに適用されるオプション。オプションが指定されていない場合、これは |
戻り値 | 説明 |
void |
GlobPattern
ファイルパスと照合するファイルグロブパターン。これは、グロブパターン文字列(**/*.{ts,js}
や *.{ts,js}
など)または相対パターンのいずれかになります。
グロブパターンは、次の構文を持つことができます
*
パスセグメント内の 0 個以上の文字に一致します?
パスセグメント内の 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 | ホバーが適用される範囲。 |
戻り値 | 説明 |
Hover |
プロパティ
contents: Array<MarkdownString | MarkedString>
このホバーの内容。
range?: Range
このホバーが適用される範囲。省略した場合、エディターは現在の位置の範囲または現在の位置自体を使用します。
HoverProvider
ホバープロバイダーインターフェースは、拡張機能とホバー機能間の契約を定義します。
メソッド
provideHover(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Hover>
指定された位置とドキュメントのホバーを提供します。同じ位置にある複数のホバーは、エディターによってマージされます。ホバーは範囲を持つことができ、省略すると、位置の単語範囲がデフォルトになります。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Hover> | ホバー、またはそのようなものに解決される Thenable。結果がない場合は、 |
IconPath
UI のアイコンを表します。これは、uri、ライトテーマとダークテーマ用の個別の uri、またはテーマアイコンのいずれかです。
IconPath: Uri | {dark: Uri, light: Uri} | ThemeIcon
ImplementationProvider
実装プロバイダーインターフェースは、拡張機能と実装へ移動機能間の契約を定義します。
メソッド
provideImplementation(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>
指定された位置とドキュメントにあるシンボルの実装を提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Definition | LocationLink[]> | 定義、または定義に解決されるThenable。結果がないことは、 |
IndentAction
Enter キーを押したときのインデントの処理を記述します。
列挙メンバー
新しい行を挿入し、前の行のインデントをコピーします。
新しい行を挿入し、1 回インデントします(前の行のインデントを基準)。
2 つの新しい行を挿入します
- カーソルを保持する最初の行はインデントされます
- 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[]
tooltip?: string | MarkdownString
この項目にカーソルを合わせたときのツールチップテキスト。
注:このプロパティは、インレイヒントの解決中に後で設定できます。
InlayHintKind
インレイヒントの種類。
インラインヒントの種類は、その外観を定義します。たとえば、対応する前景色と背景色が使用されます。
列挙メンバー
型注釈のためのインレイヒント。
パラメーターのためのインレイヒント。
InlayHintLabelPart
インレイヒントラベルパーツは、インレイヒントのインタラクティブで複合的なラベルを可能にします。
コンストラクター
new InlayHintLabelPart(value: string): InlayHintLabelPart
新しいインレイヒントラベルパーツを作成します。
パラメーター | 説明 |
---|---|
value: string | パーツの値。 |
戻り値 | 説明 |
InlayHintLabelPart |
プロパティ
command?: Command
location?: Location
tooltip?: string | MarkdownString
このラベルパーツにカーソルを合わせたときのツールチップテキスト。
注:このプロパティは、インレイヒントの解決中に後で設定できます。
このラベルパーツの値。
InlayHintsProvider<T>
インレイヒントプロバイダーインターフェースは、拡張機能とインレイヒント機能間の契約を定義します。
イベント
onDidChangeInlayHints?: Event<void>
このプロバイダーからのインレイヒントが変更されたことを通知するオプションのイベント。
メソッド
provideInlayHints(document: TextDocument, range: Range, token: CancellationToken): ProviderResult<T[]>
指定された範囲とドキュメントのインレイヒントを提供します。
注:指定された範囲に含まれていないインレイヒントは無視されます。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
range: Range | インレイヒントを計算する必要がある範囲。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T[]> | インレイヒントの配列、またはそのようなものに解決される Thenable。 |
resolveInlayHint(hint: T, token: CancellationToken): ProviderResult<T>
パラメーター | 説明 |
---|---|
hint: T | インレイヒント。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T> | 解決されたインレイヒント、またはそのようなものに解決される Thenable。与えられた |
InlineCompletionContext
インライン補完が要求されたコンテキストに関する情報を提供します。
プロパティ
selectedCompletionInfo: SelectedCompletionInfo
オートコンプリートウィジェットが表示されている場合に、現在選択されている項目に関する情報を提供します。
設定されている場合、提供されるインライン補完は、選択された項目のテキストを拡張し、同じ範囲を使用する必要があります。そうしないと、プレビューとして表示されません。例として、ドキュメントテキストが console.
で、選択された項目がドキュメント内の .
を置き換える .log
の場合、インライン補完も .
を置き換え、.log
で始まる必要があります(例: .log()
)。
インライン補完プロバイダーは、選択された項目が変更されるたびに再度要求されます。
triggerKind: InlineCompletionTriggerKind
インライン補完がどのようにトリガーされたかを記述します。
InlineCompletionItem
インライン補完項目は、入力中のテキストを補完するためにインラインで提案されるテキストスニペットを表します。
参照:InlineCompletionItemProvider.provideInlineCompletionItems
コンストラクター
new InlineCompletionItem(insertText: string | SnippetString, range?: Range, command?: Command): InlineCompletionItem
新しいインライン補完項目を作成します。
パラメーター | 説明 |
---|---|
insertText: string | SnippetString | 範囲を置き換えるテキスト。 |
range?: Range | 置き換える範囲。設定されていない場合、要求された位置の単語が使用されます。 |
command?: Command | この補完を挿入後に実行されるオプションのコマンド。 |
戻り値 | 説明 |
InlineCompletionItem |
プロパティ
command?: Command
この補完を挿入後に実行されるオプションのコマンド。
このインライン補完を表示するかどうかを決定するために使用されるテキスト。 falsy
の場合、InlineCompletionItem.insertText が使用されます。
置き換えるテキストがフィルターテキストのプレフィックスである場合、インライン補完が表示されます。
insertText: string | SnippetString
範囲を置き換えるテキスト。設定する必要があります。プレビューと受け入れ操作の両方に使用されます。
range?: Range
置き換える範囲。同じ行の先頭と末尾である必要があります。
ユーザーが入力したテキストを削除した場合に、より良いエクスペリエンスを提供するために、挿入よりも置換を優先します。
InlineCompletionItemProvider
インライン補完項目プロバイダーインターフェースは、拡張機能とインライン補完機能間の契約を定義します。
プロバイダーは、ユーザーのジェスチャーによって明示的に、または入力時に暗黙的に補完を求められます。
メソッド
provideInlineCompletionItems(document: TextDocument, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<InlineCompletionList | InlineCompletionItem[]>
指定された位置とドキュメントのインライン補完項目を提供します。インライン補完が有効になっている場合、ユーザーが入力を停止するたびにこのメソッドが呼び出されます。また、ユーザーが明示的にインライン補完をトリガーした場合、または明示的に次のインライン補完または前のインライン補完を要求した場合にも呼び出されます。その場合、利用可能なすべてのインライン補完を返す必要があります。 context.triggerKind
を使用して、これらのシナリオを区別できます。
パラメーター | 説明 |
---|---|
document: TextDocument | インライン補完が要求されているドキュメント。 |
position: Position | インライン補完が要求されている位置。 |
context: InlineCompletionContext | 追加情報を含むコンテキストオブジェクト。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<InlineCompletionList | InlineCompletionItem[]> | 補完項目の配列、または補完項目の配列に解決される Thenable。 |
InlineCompletionList
インライン補完項目のエディターに表示されるコレクションを表します。
コンストラクター
new InlineCompletionList(items: InlineCompletionItem[]): InlineCompletionList
インライン補完項目の新しいリストを作成します。
パラメーター | 説明 |
---|---|
items: InlineCompletionItem[] | |
戻り値 | 説明 |
InlineCompletionList |
プロパティ
items: InlineCompletionItem[]
インライン補完項目。
InlineCompletionTriggerKind
インライン補完プロバイダーがどのようにトリガーされたかを記述します。
列挙メンバー
補完は、ユーザーのジェスチャーによって明示的にトリガーされました。複数の補完項目を返して、それらを循環できるようにします。
補完は、編集中に自動的にトリガーされました。この場合は、単一の補完項目を返すだけで十分です。
InlineValue
インライン値情報は、さまざまな方法で提供できます
- テキスト値として直接(InlineValueText クラス)。
- 変数ルックアップに使用する名前として(InlineValueVariableLookup クラス)
- 評価可能な式として(InlineValueEvaluatableExpression クラス)InlineValue 型は、すべてのインライン値型を 1 つの型に結合します。
InlineValue: InlineValueText | InlineValueVariableLookup | InlineValueEvaluatableExpression
InlineValueContext
InlineValuesProvider からインライン値を要求するときに、コンテキスト情報を含む値オブジェクト。
プロパティ
実行が停止したスタックフレーム(DAP ID として)。
stoppedLocation: Range
実行が停止したドキュメント範囲。通常、範囲の終了位置は、インライン値が表示される行を示します。
InlineValueEvaluatableExpression
式評価を通じてインライン値を提供します。範囲のみが指定されている場合、式は基になるドキュメントから抽出されます。オプションの式を使用して、抽出された式をオーバーライドできます。
コンストラクター
new InlineValueEvaluatableExpression(range: Range, expression?: string): InlineValueEvaluatableExpression
新しい InlineValueEvaluatableExpression オブジェクトを作成します。
パラメーター | 説明 |
---|---|
range: Range | 評価可能な式が抽出される基になるドキュメント内の範囲。 |
expression?: string | 指定された場合、抽出された式をオーバーライドします。 |
戻り値 | 説明 |
InlineValueEvaluatableExpression |
プロパティ
指定した場合、式は抽出された式をオーバーライドします。
range: Range
インライン値が適用されるドキュメント範囲。範囲は、基になるドキュメントから評価可能な式を抽出するために使用されます。
InlineValuesProvider
インライン値プロバイダーインターフェースは、拡張機能とエディターのデバッガーインライン値機能間の契約を定義します。この契約では、プロバイダーは指定されたドキュメント範囲のインライン値情報を返し、エディターはこの情報を行の末尾にエディターに表示します。
イベント
onDidChangeInlineValues?: Event<void>
インライン値が変更されたことを通知するオプションのイベント。
こちらも参照してください EventEmitter
メソッド
provideInlineValues(document: TextDocument, viewPort: Range, context: InlineValueContext, token: CancellationToken): ProviderResult<InlineValue[]>
指定されたドキュメントと範囲の「インライン値」情報を提供します。エディターは、デバッグが指定されたドキュメントで停止するたびにこのメソッドを呼び出します。返されたインライン値情報は、行の末尾にエディターにレンダリングされます。
パラメーター | 説明 |
---|---|
document: TextDocument | インライン値情報が必要なドキュメント。 |
viewPort: Range | インライン値を計算する必要がある表示ドキュメント範囲。 |
context: InlineValueContext | 現在の場所のようなコンテキスト情報を含むバッグ。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<InlineValue[]> | 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.showInputBoxでは必要な柔軟性が提供されない場合は、window.createInputBoxを使用する必要があります。
イベント
onDidAccept: Event<void>
ユーザーが入力値の受け入れを示したときに通知するイベント。
onDidChangeValue: Event<string>
値が変更されたときに通知するイベント。
onDidHide: Event<void>
この入力 UI が非表示になったときに通知するイベント。
この UI が非表示になる理由はいくつかあり、拡張機能は QuickInput.onDidHide を通じて通知を受け取ります。(例:QuickInput.hide の明示的な呼び出し、ユーザーが Esc キーを押した場合、他の入力 UI が開いた場合など)
onDidTriggerButton: Event<QuickInputButton>
ボタンがトリガーされたときに通知するイベント。
プロパティ
UI がプログレスインジケーターを表示する必要があるかどうか。デフォルトは false です。
より多くのデータをロードしたり、ユーザー入力を検証したりする間など、これを true に変更します。
buttons: readonly QuickInputButton[]
UI のアクション用のボタン。
UI がユーザー入力を許可する必要があるかどうか。デフォルトは true です。
ユーザー入力を検証したり、ユーザー入力の次のステップのためにデータをロードしたりする間など、これを false に変更します。
UI フォーカスを失っても UI を開いたままにする必要があるかどうか。デフォルトは false です。この設定は iPad では無視され、常に false になります。
入力値を非表示にする必要があるかどうか。デフォルトは false です。
値が入力されていない場合に表示されるオプションのプレースホルダー。
ユーザーへの質問や説明を提供するオプションのプロンプトテキスト。
オプションの現在のステップ数。
オプションのタイトル。
オプションの合計ステップ数。
validationMessage: string | InputBoxValidationMessage
現在の入力値に問題があることを示すオプションの検証メッセージ。文字列を返すことで、InputBox はデフォルトの InputBoxValidationSeverity の Error を使用します。undefined を返すと、検証メッセージがクリアされます。
現在の入力値。
valueSelection: readonly [number, number]
入力値内の選択範囲。最初の数値が開始インデックス(包括的)、2 番目の数値が終了インデックス(排他的)であるタプルとして定義されます。undefined
の場合、事前に入力された値全体が選択され、空の場合(開始と終了が同じ)、カーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。
このプロパティは、ユーザーが入力または選択を行っても更新されませんが、拡張機能によって更新できます。
メソッド
この入力 UI と関連するリソースを破棄します。まだ表示されている場合は、最初に非表示にされます。この呼び出しの後、入力 UI は機能しなくなり、それ以上のメソッドやプロパティにアクセスしないでください。代わりに、新しい入力 UI を作成する必要があります。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
この入力 UI を非表示にします。これは QuickInput.onDidHide イベントも発生させます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
現在の構成で入力 UI を表示します。他の入力 UI は最初に QuickInput.onDidHide イベントを発生させます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
InputBoxOptions
入力ボックス UI の動作を構成するためのオプション。
プロパティ
フォーカスがエディターの別の部分または別のウィンドウに移動しても、入力ボックスを開いたままにするには true
に設定します。この設定は iPad では無視され、常に false になります。
パスワード入力を表示するかどうかを制御します。パスワード入力は、入力されたテキストを非表示にします。
ユーザーが何を入力すべきかをガイドするために、入力ボックスにプレースホルダーとして表示するオプションの文字列。
入力ボックスの下に表示するテキスト。
入力ボックスのタイトルを表すオプションの文字列。
入力ボックスに事前に入力する値。
valueSelection?: [number, number]
事前に入力された value の選択。最初の数値が開始インデックス(包括的)、2 番目の数値が終了インデックス(排他的)であるタプルとして定義されます。undefined
の場合、事前に入力された値全体が選択され、空の場合(開始と終了が同じ)、カーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。
メソッド
validateInput(value: string): string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage>
入力を検証し、ユーザーにヒントを与えるために呼び出されるオプションの関数。
パラメーター | 説明 |
---|---|
value: string | 入力ボックスの現在の値。 |
戻り値 | 説明 |
string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage> | エラーメッセージとして表示される人間が読める文字列、または特定メッセージの重要度を提供できる InputBoxValidationMessage のいずれか。 'value' が有効な場合は、 |
InputBoxValidationMessage
検証メッセージの動作を構成するオブジェクト。
プロパティ
表示する検証メッセージ。
severity: InputBoxValidationSeverity
検証メッセージの重要度。注:InputBoxValidationSeverity.Error
を使用すると、ユーザーは入力を受け入れる(ENTER キーを押す)ことが許可されません。Info
および Warning
は、InputBox が入力を受け入れることを許可します。
InputBoxValidationSeverity
入力ボックスの検証の重要度レベル。
列挙メンバー
情報重要度レベル。
警告重要度レベル。
エラー重要度レベル。
LanguageConfiguration
言語構成インターフェースは、拡張機能と、自動括弧挿入、自動インデントなどのさまざまなエディター機能間のコントラクトを定義します。
プロパティ
__characterPairSupport?: {autoClosingPairs: Array<{close: string, notIn: string[], open: string}>}
非推奨 使用しないでください。
- deprecated - * 代わりに言語構成ファイルで autoClosingPairs プロパティを使用してください。
パラメーター | 説明 |
---|---|
autoClosingPairs: Array<{close: string, notIn: string[], open: string}> |
|
__electricCharacterSupport?: {brackets: any, docComment: {close: string, lineStart: string, open: string, scope: string}}
非推奨 使用しないでください。
- deprecated - より良い 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。リクエストを作成できなかった場合、Promise は拒否されます。 |
LanguageModelChatMessage
チャット内のメッセージを表します。ユーザーやアシスタントなどのさまざまな役割を想定できます。
静的
Assistant(content: string | Array<LanguageModelTextPart | LanguageModelToolCallPart>, name?: string): LanguageModelChatMessage
新しいアシスタントメッセージを作成するユーティリティ。
パラメーター | 説明 |
---|---|
content: string | Array<LanguageModelTextPart | LanguageModelToolCallPart> | メッセージの内容。 |
name?: string | メッセージのユーザーのオプションの名前。 |
戻り値 | 説明 |
LanguageModelChatMessage |
User(content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart>, name?: string): LanguageModelChatMessage
新しいユーザーメッセージを作成するユーティリティ。
パラメーター | 説明 |
---|---|
content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart> | メッセージの内容。 |
name?: string | メッセージのユーザーのオプションの名前。 |
戻り値 | 説明 |
LanguageModelChatMessage |
コンストラクター
new LanguageModelChatMessage(role: LanguageModelChatMessageRole, content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelToolCallPart>, name?: string): LanguageModelChatMessage
新しいユーザーメッセージを作成します。
パラメーター | 説明 |
---|---|
role: LanguageModelChatMessageRole | メッセージの役割。 |
content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelToolCallPart> | メッセージの内容。 |
name?: string | メッセージのユーザーのオプションの名前。 |
戻り値 | 説明 |
LanguageModelChatMessage |
プロパティ
content: Array<LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelToolCallPart>
メッセージがコンテンツとして含めることができる、文字列または異種配列。一部のパーツは、一部のモデルではメッセージタイプ固有である場合があります。
このメッセージのユーザーのオプションの名前。
role: LanguageModelChatMessageRole
このメッセージの役割。
LanguageModelChatMessageRole
チャットメッセージの役割を表します。これは、ユーザーまたはアシスタントのいずれかです。
列挙メンバー
ユーザーの役割。例:言語モデルと対話する人間。
アシスタントの役割。例:応答を生成する言語モデル。
LanguageModelChatRequestOptions
言語モデルを使用してチャットリクエストを行うためのオプション。
こちらも参照してください LanguageModelChat.sendRequest
プロパティ
言語モデルへのアクセスが必要な理由と、それによって有効になる機能を説明する、人間が読めるメッセージ。
言語モデルの動作を制御するオプションのセット。
toolMode?: LanguageModelChatToolMode
使用するツール選択モード。
tools?: LanguageModelChatTool[]
言語モデルが利用できるツールのオプションリスト。
LLM がこれらのツールのいずれかを呼び出すように要求した場合、LanguageModelChatResponse.stream で LanguageModelToolCallPart を返します。
その後、ツール結果は、LanguageModelToolCallPart を持つ Assistant タイプの LanguageModelChatMessage を作成し、その後に LanguageModelToolResultPart を持つ User タイプのメッセージを続けることで、LLM に提供できます。
LanguageModelChatResponse
言語モデルの応答を表します。
参照 ChatRequest
プロパティ
stream: AsyncIterable<unknown>
全体の応答を形成するテキストとツール呼び出し部分のストリームである非同期イテラブル。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
言語モデルが使用するツール呼び出しモード。
列挙メンバー
言語モデルは、ツールを呼び出すか、メッセージを生成するかを選択できます。
言語モデルは、提供されたツールのいずれかを呼び出す必要があります。
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
プロパティに実際のエラーが含まれます。
LanguageModelPromptTsxPart
vscode/prompt-tsx
からの PromptElementJSON を含む言語モデルの応答部分。
コンストラクター
new LanguageModelPromptTsxPart(value: unknown): LanguageModelPromptTsxPart
指定されたコンテンツで prompt-tsx 部分を構築します。
パラメーター | 説明 |
---|---|
value: unknown | 部分の値、 |
戻り値 | 説明 |
LanguageModelPromptTsxPart |
プロパティ
パーツの値。
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 から返されるツール呼び出しを示す言語モデルの応答部分。
コンストラクター
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>
ツール呼び出しに提供されるオプション。
プロパティ
ツールを呼び出すための入力。
tokenizationOptions?: LanguageModelToolTokenizationOptions
ツールが応答で返すトークンの数をヒントし、ツールがトークンを正確にカウントできるようにするオプション。
toolInvocationToken: undefined
ツール呼び出しを チャット参加者 からのチャットリクエストに関連付ける不透明なオブジェクト。
有効なツール呼び出しトークンを取得する唯一の方法は、チャットリクエストから提供された toolInvocationToken を使用することです。
ツールがチャットリクエストの外部で呼び出されている場合、代わりに undefined
を渡す必要があり、確認を除いて特別な UI は表示されません。
注 ツールがその呼び出し中に別のツールを呼び出す場合、受信した toolInvocationToken
を渡すことができます。
LanguageModelToolInvocationPrepareOptions<T>
プロパティ
ツールが呼び出される入力。
LanguageModelToolResult
ツール呼び出しから返される結果。vscode/prompt-tsx
を使用している場合、この結果は ToolResult
を使用してレンダリングされる場合があります。
コンストラクター
new LanguageModelToolResult(content: Array<LanguageModelTextPart | LanguageModelPromptTsxPart>): LanguageModelToolResult
LanguageModelToolResult を作成します
パラメーター | 説明 |
---|---|
content: Array<LanguageModelTextPart | LanguageModelPromptTsxPart> | ツール結果コンテンツ部分のリスト |
戻り値 | 説明 |
LanguageModelToolResult |
プロパティ
ツール結果コンテンツ部分のリスト。unknown
が含まれています。
参照 lm.invokeTool。
LanguageModelToolResultPart
ツール呼び出しの結果。
コンストラクター
new LanguageModelToolResultPart(callId: string, content: unknown[]): LanguageModelToolResultPart
パラメーター | 説明 |
---|---|
callId: string | ツール呼び出しの ID。 |
content: unknown[] | ツール結果のコンテンツ。 |
戻り値 | 説明 |
LanguageModelToolResultPart |
プロパティ
ツール呼び出しの ID。
注意 これはツール呼び出し部分の callId と一致する必要があります。
ツール結果の値。
LanguageModelToolTokenizationOptions
ツール呼び出しのトークン化に関連するオプション。
プロパティ
既知の場合、ツールが結果で出力するトークンの最大数。
メソッド
countTokens(text: string, token?: CancellationToken): Thenable<number>
モデル固有のトークナイザーロジックを使用して、メッセージ内のトークンの数をカウントします。
パラメーター | 説明 |
---|---|
text: string | 文字列。 |
token?: CancellationToken | オプションのキャンセルトークン。作成方法については、CancellationTokenSource を参照してください。 |
戻り値 | 説明 |
Thenable<number> | トークン数に解決される Thenable。 |
LanguageStatusItem
言語ステータス項目は、選択されたリンターや構成問題に関する通知など、アクティブなテキストエディターの言語ステータスレポートを提示するための推奨される方法です。
プロパティ
accessibilityInformation?: AccessibilityInformation
スクリーンリーダーがこの項目と対話するときに使用されるアクセシビリティ情報
項目を「ビジー」として表示するかどうかを制御します。false
です。
command: Command
この項目の コマンド。
オプション、この項目の人間が判読できる詳細。
この項目の識別子。
'Java 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
言語ステータスの重要度レベルを表します。
列挙メンバー
情報重要度レベル。
警告重要度レベル。
エラー重要度レベル。
LinkedEditingRangeProvider
リンクされた編集範囲プロバイダーインターフェースは、拡張機能とリンクされた編集機能間のコントラクトを定義します。
メソッド
provideLinkedEditingRanges(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<LinkedEditingRanges>
ドキュメント内の指定された位置について、その位置にあるシンボルの範囲と、同じコンテンツを持つすべての範囲を返します。
パラメーター | 説明 |
---|---|
document: TextDocument | プロバイダーが呼び出されたドキュメント。 |
position: Position | プロバイダーが呼び出された位置。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<LinkedEditingRanges> | 一緒に編集できる範囲のリスト |
LinkedEditingRanges
有効な範囲コンテンツを記述する単語パターンとともに、一緒に編集できる範囲のリストを表します。
コンストラクター
new LinkedEditingRanges(ranges: Range[], wordPattern?: RegExp): LinkedEditingRanges
新しいリンクされた編集範囲オブジェクトを作成します。
パラメーター | 説明 |
---|---|
ranges: Range[] | 一緒に編集できる範囲のリスト |
wordPattern?: RegExp | 指定された範囲の有効なコンテンツを記述するオプションの単語パターン |
戻り値 | 説明 |
LinkedEditingRanges |
プロパティ
ranges: Range[]
一緒に編集できる範囲のリスト。
指定された範囲の有効なコンテンツを記述するオプションの単語パターン。
Location
テキストファイル内の行など、リソース内の場所を表します。
コンストラクター
new Location(uri: Uri, rangeOrPosition: Range | Position): Location
新しい location オブジェクトを作成します。
プロパティ
range: Range
この location のドキュメント範囲。
uri: Uri
この location のリソース識別子。
LocationLink
2つの location の接続を表します。通常の locations に加えて、origin range などの追加のメタデータを提供します。
プロパティ
originSelectionRange?: Range
このリンクの origin の範囲。
マウスの定義ホバーの下線付き範囲として使用されます。デフォルトは定義位置の単語範囲です。
targetRange: Range
このリンクの完全な target 範囲。
targetSelectionRange?: Range
このリンクの範囲。
targetUri: Uri
このリンクの target リソース識別子。
LogLevel
ログレベル
列挙メンバー
このレベルではメッセージはログに記録されません。
すべてのメッセージがこのレベルでログに記録されます。
debug およびより高いログレベルのメッセージがこのレベルでログに記録されます。
info およびより高いログレベルのメッセージがこのレベルでログに記録されます。
warning およびより高いログレベルのメッセージがこのレベルでログに記録されます。
エラーメッセージのみがこのレベルでログに記録されます。
LogOutputChannel
ログ出力を格納するためのチャネル。
LogOutputChannel
のインスタンスを取得するには、createOutputChannel を使用します。
イベント
onDidChangeLogLevel: Event<LogLevel>
チャネルのログレベルが変更されたときに発生する Event。
プロパティ
logLevel: LogLevel
チャネルの現在のログレベル。デフォルトは editor log level です。
この出力チャネルの人間が読める名前。
メソッド
指定された値をチャネルに追加します。
パラメーター | 説明 |
---|---|
value: string | 文字列。falsy 値は出力されません。 |
戻り値 | 説明 |
void |
appendLine(value: string): void
指定された値と改行文字をチャネルに追加します。
パラメーター | 説明 |
---|---|
value: string | 文字列。falsy 値も出力されます。 |
戻り値 | 説明 |
void |
チャネルからすべての出力を削除します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
debug(message: string, ...args: any[]): void
指定されたデバッグメッセージをチャネルに出力します。
メッセージは、チャネルが debug ログレベル以下を表示するように構成されている場合にのみログに記録されます。
パラメーター | 説明 |
---|---|
message: string | ログに記録するデバッグメッセージ |
...args: any[] | |
戻り値 | 説明 |
void |
破棄して、関連付けられたリソースを解放します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
error(error: string | Error, ...args: any[]): void
指定されたエラーまたはエラーメッセージをチャネルに出力します。
メッセージは、チャネルが error ログレベル以下を表示するように構成されている場合にのみログに記録されます。
パラメーター | 説明 |
---|---|
error: string | Error | ログに記録するエラーまたはエラーメッセージ |
...args: any[] | |
戻り値 | 説明 |
void |
このチャネルを UI から非表示にします。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
info(message: string, ...args: any[]): void
指定された情報メッセージをチャネルに出力します。
メッセージは、チャネルが info ログレベル以下を表示するように構成されている場合にのみログに記録されます。
パラメーター | 説明 |
---|---|
message: string | ログに記録する情報メッセージ |
...args: any[] | |
戻り値 | 説明 |
void |
チャネルからのすべての出力を指定された値に置き換えます。
パラメーター | 説明 |
---|---|
value: string | 文字列。falsy 値は出力されません。 |
戻り値 | 説明 |
void |
show(preserveFocus?: boolean): void
このチャネルを UI に表示します。
パラメーター | 説明 |
---|---|
preserveFocus?: boolean |
|
戻り値 | 説明 |
void |
show(column?: ViewColumn, preserveFocus?: boolean): void
このチャネルを UI に表示します。
- deprecated - 1つのパラメータ (
show(preserveFocus?: boolean): void
) のオーバーロードを使用してください。
パラメーター | 説明 |
---|---|
column?: ViewColumn | この引数は非推奨であり、無視されます。 |
preserveFocus?: boolean |
|
戻り値 | 説明 |
void |
trace(message: string, ...args: any[]): void
指定されたトレースメッセージをチャネルに出力します。詳細な情報をログに記録するには、このメソッドを使用します。
メッセージは、チャネルが trace ログレベルを表示するように構成されている場合にのみログに記録されます。
パラメーター | 説明 |
---|---|
message: string | ログに記録するトレースメッセージ |
...args: any[] | |
戻り値 | 説明 |
void |
warn(message: string, ...args: any[]): void
指定された警告メッセージをチャネルに出力します。
メッセージは、チャネルが warning ログレベル以下を表示するように構成されている場合にのみログに記録されます。
パラメーター | 説明 |
---|---|
message: string | ログに記録する警告メッセージ |
...args: any[] | |
戻り値 | 説明 |
void |
MarkdownString
markdown 構文による書式設定をサポートする人間が読めるテキスト。
テーマアイコンのレンダリングは、supportThemeIcons が true
に設定されている場合、$(<name>)
構文でサポートされます。
埋め込み HTML のレンダリングは、supportHtml が true
に設定されている場合にサポートされます。
コンストラクター
new MarkdownString(value?: string, supportThemeIcons?: boolean): MarkdownString
指定された値で新しい markdown 文字列を作成します。
パラメーター | 説明 |
---|---|
value?: string | オプションの初期値。 |
supportThemeIcons?: boolean | オプション。ThemeIcons が MarkdownString 内でサポートされるかどうかを指定します。 |
戻り値 | 説明 |
MarkdownString |
プロパティ
baseUri?: Uri
相対パスが相対的に解決される Uri。
baseUri
が /
で終わる場合、ディレクトリと見なされ、markdown 内の相対パスはそのディレクトリに対して相対的に解決されます
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
がファイルの場合、markdown 内の相対パスはそのファイルの親ディレクトリに対して相対的に解決されます
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[]}
この markdown 文字列が信頼できるソースからのものであることを示します。信頼できる markdown のみが、コマンドを実行するリンク (例: [Run it](command:myCommandId)
) をサポートします。
デフォルトは false
(コマンドは無効) です。
この markdown 文字列に生の html タグを含めることができることを示します。デフォルトは false
です。
supportHtml
が false の場合、markdown レンダラーは markdown テキストに表示される生の html タグをすべて削除します。これは、レンダリングに markdown 構文のみを使用できることを意味します。
supportHtml
が true の場合、markdown レンダラーは、レンダリングされる html タグと属性の安全なサブセットも許可します。サポートされているすべてのタグと属性のリストについては、https://github.com/microsoft/vscode/blob/6d2920473c6f13759c978dd89104c4270a83422d/src/vs/base/browser/markdownRenderer.ts#L296 を参照してください。
この markdown 文字列に ThemeIcons (例: $(zap)
) を含めることができることを示します。
markdown 文字列。
メソッド
appendCodeblock(value: string, language?: string): MarkdownString
指定された文字列を、指定された言語を使用してコードブロックとして追加します。
パラメーター | 説明 |
---|---|
value: string | コードスニペット。 |
language?: string | オプションの 言語識別子。 |
戻り値 | 説明 |
MarkdownString |
appendMarkdown(value: string): MarkdownString
指定された文字列を「そのまま」この markdown 文字列に追加します。supportThemeIcons が true
の場合、value
内の ThemeIcons はアイコン化されます。
パラメーター | 説明 |
---|---|
value: string | Markdown 文字列。 |
戻り値 | 説明 |
MarkdownString |
appendText(value: string): MarkdownString
指定された文字列をエスケープして、この markdown 文字列に追加します。
パラメーター | 説明 |
---|---|
value: string | プレーンテキスト。 |
戻り値 | 説明 |
MarkdownString |
MarkedString
MarkedString は、人間が読めるテキストをレンダリングするために使用できます。markdown 文字列、または言語とコードスニペットを提供するコードブロックのいずれかです。markdown 文字列はサニタイズされることに注意してください。つまり、html はエスケープされます。
- deprecated - この型は非推奨です。代わりに MarkdownString を使用してください。
MarkedString: string | {language: string, value: string}
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 | 値。循環参照を含めてはなりません。 |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 |
MessageItem
情報、警告、またはエラーメッセージとともに表示されるアクションを表します。
以下も参照してください
プロパティ
ユーザーがダイアログをキャンセルしたとき (ESC キーを押すなど) に、項目をトリガーする必要があるモーダルダイアログのヒント。
注: このオプションは、非モーダルメッセージでは無視されます。
'再試行'、'ログを開く' などの短いタイトル。
MessageOptions
プロパティ
目立たないようにレンダリングされる人間が読める詳細メッセージ。注: detail は モーダルメッセージでのみ表示されます。
このメッセージをモーダルにする必要があることを示します。
NotebookCell
notebook のセルを表します。コードセルまたは マークアップセルのいずれかです。
NotebookCell インスタンスはイミュータブルであり、notebook の一部である限り同期が維持されます。
プロパティ
document: TextDocument
このセルの テキスト。テキストドキュメントとして表されます。
executionSummary: NotebookCellExecutionSummary
このセルの最新の 実行サマリー。
包含する notebook 内のこのセルのインデックス。インデックスは、セルが notebook 内で移動されると更新されます。セルが notebook から削除されると、インデックスは -1
になります。
kind: NotebookCellKind
このセルの種類。
このセルのメタデータ。JSON 文字列化可能である必要がありますが、何でもかまいません。
notebook: NotebookDocument
このセルを含む notebook。
outputs: readonly NotebookCellOutput[]
このセルの出力。
NotebookCellData
NotebookCellData は、notebook セルの生の表現です。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 は、notebook controller が実行中に notebook セルを変更する方法です。
セル実行オブジェクトが作成されると、セルは [NotebookCellExecutionState.Pending Pending](#NotebookCellExecutionState.Pending Pending) 状態になります。start(...) が実行タスクで呼び出されると、[NotebookCellExecutionState.Executing Executing](#NotebookCellExecutionState.Executing Executing) 状態になります。end(...) が呼び出されると、[NotebookCellExecutionState.Idle Idle](#NotebookCellExecutionState.Idle Idle) 状態になります。
プロパティ
cell: NotebookCell
この実行が作成された セル。
このセル実行の順序を設定および設定解除します。
token: CancellationToken
UI からセル実行がキャンセルされたときにトリガーされるキャンセルトークン。
注: キャンセルトークンは、この実行を作成した コントローラー が interrupt-handler を使用する場合、トリガーされません。
メソッド
appendOutput(out: NotebookCellOutput | readonly NotebookCellOutput[], cell?: NotebookCell): Thenable<void>
実行中のセルの出力、またはこの実行の影響を受ける別のセルに出力を追加します。
パラメーター | 説明 |
---|---|
out: NotebookCellOutput | readonly NotebookCellOutput[] | 現在の出力に追加される出力。 |
cell?: NotebookCell | 出力がクリアされるセル。デフォルトは、この実行の セル です。 |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 | 操作が完了したときに解決される Thenable。 |
appendOutputItems(items: NotebookCellOutputItem | readonly NotebookCellOutputItem[], output: NotebookCellOutput): Thenable<void>
既存のセル出力に出力項目を追加します。
パラメーター | 説明 |
---|---|
items: NotebookCellOutputItem | readonly NotebookCellOutputItem[] | 既存の出力に追加される出力項目。 |
output: NotebookCellOutput | 既に存在する出力オブジェクト。 |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 | 操作が完了したときに解決される Thenable。 |
clearOutput(cell?: NotebookCell): Thenable<void>
実行中のセル、またはこの実行の影響を受ける別のセルの出力をクリアします。
パラメーター | 説明 |
---|---|
cell?: NotebookCell | 出力がクリアされるセル。デフォルトは、この実行の セル です。 |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 | 操作が完了したときに解決される 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。 |
replaceOutputItems(items: NotebookCellOutputItem | readonly NotebookCellOutputItem[], output: NotebookCellOutput): Thenable<void>
既存のセル出力のすべての出力項目を置き換えます。
パラメーター | 説明 |
---|---|
items: NotebookCellOutputItem | readonly NotebookCellOutputItem[] | 既存の出力の項目を置き換える出力項目。 |
output: NotebookCellOutput | 既に存在する出力オブジェクト。 |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 | 操作が完了したときに解決される 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タイプが繰り返されるのは無効であり、エディターはそれらのいずれかを選択するだけです。
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
ノートブック出力の1つの表現。MIMEタイプとデータによって定義されます。
静的
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ビット整数の配列である必要があります。
dataプロパティの解釈方法を決定する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の実行ジェスチャ([セルの実行]、[すべて実行]、[選択範囲を実行]など)が選択されたときに呼び出されます。実行ハンドラーは、executionオブジェクトの作成と管理を担当します。
パラメーター | 説明 |
---|---|
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の任意の言語識別子が可能です。falseyの場合、すべての言語がサポートされます。
サンプル
// 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つだけであり、別の実行がまだアクティブなときにセル実行が作成されるとエラーがスローされます。
これは、実行ハンドラーが呼び出された応答として、またはセル実行が開始されたとき(たとえば、セルがすでに実行中である場合、またはセル実行が別のソースからトリガーされた場合)に使用する必要があります。
パラメーター | 説明 |
---|---|
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に解決されるPromise。ファイルがダーティでなかった場合、または保存に失敗した場合は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
ノートブックドキュメントが保存されるときに発生するイベント。
保存される前にドキュメントを変更するには、waitUntil関数を、ワークスペース編集に解決されるThenableで呼び出します。
プロパティ
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 |
プロパティ
この範囲の排他的な終了インデックス(ゼロベース)。
start
とend
が等しい場合はtrue
。
この範囲のゼロベースの開始インデックス。
メソッド
with(change: {end: number, start: number}): NotebookRange
この範囲の新しい範囲を派生させます。
パラメーター | 説明 |
---|---|
change: {end: number, start: number} | この範囲への変更を記述するオブジェクト。 |
戻り値 | 説明 |
NotebookRange | 指定された変更を反映する範囲。変更がない場合は、 |
NotebookRendererMessaging
レンダーメッセージングは、単一のレンダラーと通信するために使用されます。 notebooks.createRendererMessagingから返されます。
イベント
onDidReceiveMessage: Event<{editor: NotebookEditor, message: any}>
レンダラーからメッセージを受信したときに発生するイベント。
メソッド
postMessage(message: any, editor?: NotebookEditor): Thenable<boolean>
1つまたはすべてのレンダラーにメッセージを送信します。
パラメーター | 説明 |
---|---|
message: any | 送信するメッセージ |
editor?: NotebookEditor | メッセージのターゲットとなるエディター。提供されていない場合、メッセージはすべてのレンダラーに送信されます。 |
戻り値 | 説明 |
Thenable<boolean> | メッセージがレンダラーに正常に配信されたかどうかを示すブール値。 |
NotebookSerializer
ノートブックシリアライザーは、エディターがノートブックファイルを開くことを可能にします。
そのコアでは、エディターはノートブックデータ構造のみを認識しており、そのデータ構造がファイルにどのように書き込まれるか、またはファイルからどのように読み取られるかは認識していません。ノートブックシリアライザーは、バイトをノートブックデータに逆シリアル化し、その逆も行うことで、このギャップを埋めます。
メソッド
deserializeNotebook(content: Uint8Array, token: CancellationToken): NotebookData | Thenable<NotebookData>
ノートブックファイルの内容をノートブックデータ構造に逆シリアル化します。
パラメーター | 説明 |
---|---|
content: Uint8Array | ノートブックファイルの内容。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
NotebookData | Thenable<NotebookData> | ノートブックデータ、またはそのようなデータに解決されるThenable。 |
serializeNotebook(data: NotebookData, token: CancellationToken): Uint8Array | Thenable<Uint8Array>
ノートブックデータをファイルコンテンツにシリアル化します。
パラメーター | 説明 |
---|---|
data: NotebookData | ノートブックデータ構造。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
Uint8Array | Thenable<Uint8Array> | バイト配列、またはそのような配列に解決される Thenable。 |
OnEnterRule
Enterキーを押したときに評価されるルールを記述します。
プロパティ
action: EnterAction
実行するアクション。
このルールは、カーソルの後のテキストがこの正規表現に一致する場合にのみ実行されます。
このルールは、カーソルの前のテキストがこの正規表現に一致する場合にのみ実行されます。
このルールは、現在の行の上のテキストがこの正規表現に一致する場合にのみ実行されます。
OnTypeFormattingEditProvider
ドキュメントフォーマットプロバイダーインターフェースは、拡張機能とフォーマット機能の間の契約を定義します。
メソッド
provideOnTypeFormattingEdits(document: TextDocument, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>
文字が入力された後にフォーマット編集を提供します。
指定された位置と文字は、}
が入力されたときに一致する{
を見つけるなど、プロバイダーが拡張する位置の範囲をヒントする必要があります。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
ch: string | 入力された文字。 |
options: FormattingOptions | フォーマットを制御するオプション。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<TextEdit[]> | テキスト編集のセット、またはそのようなものに解決される Thenable。結果がない場合は、 |
OpenDialogOptions
ファイルを開くダイアログの動作を構成するためのオプション。
- 注1:WindowsおよびLinuxでは、ファイルダイアログはファイルセレクターとフォルダーセレクターの両方になることはできません。したがって、これらのプラットフォームで
canSelectFiles
とcanSelectFolders
の両方をtrue
に設定すると、フォルダーセレクターが表示されます。 - 注2:
canSelectFiles
とcanSelectFolders
を明示的にfalse
に設定することは無駄であり、エディターはファイルを選択するようにオプションをサイレントに調整します。
プロパティ
ファイルの選択を許可します。デフォルトはtrue
です。
フォルダーの選択を許可します。デフォルトはfalse
です。
多数のファイルまたはフォルダーを選択できるようにします。
defaultUri?: Uri
ダイアログが開いたときに表示するリソース。
ダイアログで使用されるファイルフィルターのセット。各エントリは、 "TypeScript"のような人間が読めるラベルと、拡張子の配列です。例:
{
'Images': ['png', 'jpg'],
'TypeScript': ['ts', 'tsx']
}
「開く」ボタンの人間が読める文字列。
ダイアログのタイトル。
このパラメーターは、すべてのオペレーティングシステムが開くダイアログにタイトルを表示するわけではないため(たとえば、macOS)、無視される場合があります。
OutputChannel
出力チャンネルは、読み取り専用のテキスト情報のコンテナです。
OutputChannel
のインスタンスを取得するには、createOutputChannelを使用します。
プロパティ
この出力チャネルの人間が読める名前。
メソッド
指定された値をチャネルに追加します。
パラメーター | 説明 |
---|---|
value: string | 文字列。falsy 値は出力されません。 |
戻り値 | 説明 |
void |
appendLine(value: string): void
指定された値と改行文字をチャネルに追加します。
パラメーター | 説明 |
---|---|
value: string | 文字列。falsy 値も出力されます。 |
戻り値 | 説明 |
void |
チャネルからすべての出力を削除します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
破棄して、関連付けられたリソースを解放します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
このチャネルを UI から非表示にします。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
チャネルからのすべての出力を指定された値に置き換えます。
パラメーター | 説明 |
---|---|
value: string | 文字列。falsy 値は出力されません。 |
戻り値 | 説明 |
void |
show(preserveFocus?: boolean): void
このチャネルを UI に表示します。
パラメーター | 説明 |
---|---|
preserveFocus?: boolean |
|
戻り値 | 説明 |
void |
show(column?: ViewColumn, preserveFocus?: boolean): void
このチャネルを UI に表示します。
- deprecated - 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 オブジェクトはimmutable(不変)です。既存の Position から新しい Position を派生させるには、with メソッドまたは translate メソッドを使用してください。
コンストラクター
new Position(line: number, character: number): Position
パラメーター | 説明 |
---|---|
line: number | ゼロから始まる行の値。 |
character: number | ゼロから始まる文字の値。 |
戻り値 | 説明 |
Position |
プロパティ
ゼロから始まる文字の値。
文字オフセットは、UTF-16 コードユニットを使用して表現されます。
ゼロから始まる行の値。
メソッド
compareTo(other: Position): number
これを other
と比較します。
パラメーター | 説明 |
---|---|
other: Position | ポジション。 |
戻り値 | 説明 |
number | このポジションが指定されたポジションより前にある場合はゼロより小さい数値、このポジションが指定されたポジションより後にある場合はゼロより大きい数値、またはこのポジションと指定されたポジションが等しい場合はゼロ。 |
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
ツールの実行中に表示するカスタマイズされた進行状況メッセージ。
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}
進捗状況を表示する場所。
操作を説明するために使用される人間が読める文字列。
ProviderResult<T>
HoverProvider などのプロバイダーが返す可能性のある値を表すプロバイダーの結果。 一つには、これは実際の結果型 T
(Hover
など)、またはその型 T
に解決される Thenable です。 さらに、null
と undefined
を返すことができます。直接的にも、Thenable からも。
以下のスニペットはすべて、HoverProvider の有効な実装です。
let a: HoverProvider = {
provideHover(doc, pos, token): ProviderResult<Hover> {
return new Hover('Hello World');
}
};
let b: HoverProvider = {
provideHover(doc, pos, token): ProviderResult<Hover> {
return new Promise(resolve => {
resolve(new Hover('Hello World'));
});
}
};
let c: HoverProvider = {
provideHover(doc, pos, token): ProviderResult<Hover> {
return; // undefined
}
};
ProviderResult: T | undefined | null | Thenable<T | undefined | null>
Pseudoterminal
ターミナルを制御するための拡張機能を有効にする、ターミナル pty のインターフェースを定義します。
イベント
onDidChangeName?: Event<string>
発生すると、ターミナルの名前を変更できるイベント。
Pseudoterminal.open が呼び出される前に発生したイベントは無視されます。
例: ターミナル名を "My new terminal" に変更します。
const writeEmitter = new vscode.EventEmitter<string>();
const changeNameEmitter = new vscode.EventEmitter<string>();
const pty: vscode.Pseudoterminal = {
onDidWrite: writeEmitter.event,
onDidChangeName: changeNameEmitter.event,
open: () => changeNameEmitter.fire('My new terminal'),
close: () => {}
};
vscode.window.createTerminal({ name: 'My terminal', pty });
onDidClose?: Event<number | void>
発生すると、pty が閉じられ、ターミナルが破棄されることを通知するイベント。
Pseudoterminal.open が呼び出される前に発生したイベントは無視されます。
数値を使用して、ターミナルの終了コードを提供できます。終了コードは正である必要があり、ゼロ以外の終了コードはエラーを示します。これは、通常のターミナルの場合は通知を表示し、CustomExecution
API で使用すると、依存タスクの続行を許可します。
例: "y" が押されたときにターミナルを終了し、それ以外の場合は通知を表示します。
const writeEmitter = new vscode.EventEmitter<string>();
const closeEmitter = new vscode.EventEmitter<void>();
const pty: vscode.Pseudoterminal = {
onDidWrite: writeEmitter.event,
onDidClose: closeEmitter.event,
open: () => writeEmitter.fire('Press y to exit successfully'),
close: () => {},
handleInput: data => {
if (data !== 'y') {
vscode.window.showInformationMessage('Something went wrong');
}
closeEmitter.fire();
}
};
const terminal = vscode.window.createTerminal({ name: 'Exit example', pty });
terminal.show(true);
onDidOverrideDimensions?: Event<TerminalDimensions>
発生すると、ターミナルの dimensions をオーバーライドできるイベント。 設定すると、オーバーライドされた寸法は、ターミナルの実際の寸法よりも低い場合にのみ有効になります(つまり、スクロールバーが表示されることはありません)。 ターミナルを通常の寸法(パネルのサイズに合わせる)に戻すには、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
クイック差分プロバイダーは、変更されたリソースの元の状態への uri を提供します。エディターはこの情報を使用して、テキスト内にアドホック差分をレンダリングします。
メソッド
provideOriginalResource(uri: Uri, token: CancellationToken): ProviderResult<Uri>
指定されたリソース URI の元のリソースへの Uri を提供します。
パラメーター | 説明 |
---|---|
uri: Uri | テキストエディターで開いているリソースの URI。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Uri> | 一致する元のリソースの URI に解決される Thenable。 |
QuickInput
最初は表示されない軽量なユーザー入力 UI。プロパティを通じて構成した後、拡張機能は QuickInput.show を呼び出して表示できます。
この UI が非表示になる理由はいくつかあり、拡張機能は QuickInput.onDidHide を通じて通知を受け取ります。(例:QuickInput.hide の明示的な呼び出し、ユーザーが Esc キーを押した場合、他の入力 UI が開いた場合など)
ユーザーが Enter キーを押すか、現在の状態の受け入れを意味するその他のジェスチャを行っても、この UI コンポーネントは自動的に非表示になりません。ユーザーの入力を受け入れるかどうか、および UI を実際に QuickInput.hide の呼び出しを通じて非表示にするかどうかを決定するのは、拡張機能次第です。
拡張機能がこの入力 UI を必要としなくなった場合は、QuickInput.dispose して、それに関連付けられているリソースを解放できるようにする必要があります。
イベント
onDidHide: Event<void>
この入力 UI が非表示になったときに通知するイベント。
この UI が非表示になる理由はいくつかあり、拡張機能は QuickInput.onDidHide を通じて通知を受け取ります。(例:QuickInput.hide の明示的な呼び出し、ユーザーが Esc キーを押した場合、他の入力 UI が開いた場合など)
プロパティ
UI がプログレスインジケーターを表示する必要があるかどうか。デフォルトは false です。
より多くのデータをロードしたり、ユーザー入力を検証したりする間など、これを true に変更します。
UI がユーザー入力を許可する必要があるかどうか。デフォルトは true です。
ユーザー入力を検証したり、ユーザー入力の次のステップのためにデータをロードしたりする間など、これを false に変更します。
UI フォーカスを失っても UI を開いたままにする必要があるかどうか。デフォルトは false です。この設定は iPad では無視され、常に false になります。
オプションの現在のステップ数。
オプションのタイトル。
オプションの合計ステップ数。
メソッド
この入力 UI と関連するリソースを破棄します。まだ表示されている場合は、最初に非表示にされます。この呼び出しの後、入力 UI は機能しなくなり、それ以上のメソッドやプロパティにアクセスしないでください。代わりに、新しい入力 UI を作成する必要があります。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
この入力 UI を非表示にします。これは QuickInput.onDidHide イベントも発生させます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
現在の構成で入力 UI を表示します。他の入力 UI は最初に QuickInput.onDidHide イベントを発生させます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
QuickInputButton
プロパティ
iconPath: IconPath
ボタンのアイコン。
オプションのツールチップ。
QuickInputButtons
静的
Back: QuickInputButton
QuickPick<T>
タイプ T のアイテムのリストからアイテムをユーザーに選択させるための具体的な QuickInput。 アイテムはフィルタテキストフィールドを通じてフィルタリングでき、複数のアイテムを選択できるようにする canSelectMany オプションがあります。
多くの場合、より便利なwindow.showQuickPickの方が使いやすいことに注意してください。window.showQuickPickでは必要な柔軟性が提供されない場合は、window.createQuickPickを使用する必要があります。
イベント
onDidAccept: Event<void>
ユーザーが選択したアイテムの受け入れを示したときに通知するイベント。
onDidChangeActive: Event<readonly T[]>
アクティブなアイテムが変更されたときに通知するイベント。
onDidChangeSelection: Event<readonly T[]>
選択されたアイテムが変更されたときに通知するイベント。
onDidChangeValue: Event<string>
フィルタテキストの値が変更されたときに通知するイベント。
onDidHide: Event<void>
この入力 UI が非表示になったときに通知するイベント。
この UI が非表示になる理由はいくつかあり、拡張機能は QuickInput.onDidHide を通じて通知を受け取ります。(例:QuickInput.hide の明示的な呼び出し、ユーザーが Esc キーを押した場合、他の入力 UI が開いた場合など)
onDidTriggerButton: Event<QuickInputButton>
トップレベルボタン(buttons に格納されているボタン)がトリガーされたときに通知するイベント。このイベントは、QuickPickItem のボタンでは発生しません。
onDidTriggerItemButton: Event<QuickPickItemButtonEvent<T>>
特定の QuickPickItem のボタンがトリガーされたときに通知するイベント。このイベントは、タイトルバーのボタンでは発生しません。
プロパティ
アクティブなアイテム。これは、拡張機能によって読み取りおよび更新できます。
UI がプログレスインジケーターを表示する必要があるかどうか。デフォルトは false です。
より多くのデータをロードしたり、ユーザー入力を検証したりする間など、これを true に変更します。
buttons: readonly QuickInputButton[]
UI のアクション用のボタン。
複数のアイテムを同時に選択できるかどうか。デフォルトは false です。
UI がユーザー入力を許可する必要があるかどうか。デフォルトは true です。
ユーザー入力を検証したり、ユーザー入力の次のステップのためにデータをロードしたりする間など、これを false に変更します。
UI フォーカスを失っても UI を開いたままにする必要があるかどうか。デフォルトは false です。この設定は iPad では無視され、常に false になります。
選択するアイテム。これは、拡張機能によって読み取りおよび更新できます。
クイックピックアイテムが更新されたときに、クイックピックのスクロール位置を維持するためのオプションフラグ。デフォルトは false です。
フィルタテキストをアイテムの説明とも照合する必要があるかどうか。デフォルトは false です。
フィルタテキストをアイテムの詳細とも照合する必要があるかどうか。デフォルトは false です。
フィルタが入力されていない場合にフィルタテキストボックスに表示されるオプションのプレースホルダー。
選択されたアイテム。これは、拡張機能によって読み取りおよび更新できます。
オプションの現在のステップ数。
オプションのタイトル。
オプションの合計ステップ数。
フィルタテキストの現在の値。
メソッド
この入力 UI と関連するリソースを破棄します。まだ表示されている場合は、最初に非表示にされます。この呼び出しの後、入力 UI は機能しなくなり、それ以上のメソッドやプロパティにアクセスしないでください。代わりに、新しい入力 UI を作成する必要があります。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
この入力 UI を非表示にします。これは QuickInput.onDidHide イベントも発生させます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
現在の構成で入力 UI を表示します。他の入力 UI は最初に QuickInput.onDidHide イベントを発生させます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
QuickPickItem
リストから選択できる項目を表します。
プロパティ
常にこの項目を表示します。
注意: kind が QuickPickItemKind.Separator に設定されている場合、このプロパティは無視されます。
buttons?: readonly QuickInputButton[]
この特定の項目に表示されるオプションのボタンです。これらのボタンは、クリックされると QuickPickItemButtonEvent をトリガーします。ボタンは、createQuickPick() API によって作成されたクイックピックを使用している場合にのみ表示されます。ボタンは、showQuickPick() API を使用している場合は表示されません。
注意: kind が QuickPickItemKind.Separator に設定されている場合、このプロパティは無視されます。
同じ行内で目立たないように表示される、人間が読める文字列です。$(<name>)
構文による テーマアイコン のレンダリングをサポートします。
注意: kind が QuickPickItemKind.Separator に設定されている場合、このプロパティは無視されます。
別の行で目立たないように表示される、人間が読める文字列です。$(<name>)
構文による テーマアイコン のレンダリングをサポートします。
注意: kind が QuickPickItemKind.Separator に設定されている場合、このプロパティは無視されます。
iconPath?: IconPath
QuickPickItem のアイコンパスまたは ThemeIcon です。
kind?: QuickPickItemKind
クイックピックでのこの項目のレンダリング方法を決定する QuickPickItem の種類です。指定しない場合のデフォルトは QuickPickItemKind.Default です。
目立つように表示される、人間が読める文字列です。$(<name>)
構文による テーマアイコン のレンダリングをサポートします。
注意: kind が QuickPickItemKind.Default (セパレーターではなく通常の項目) に設定されている場合、$(<name>)
構文による テーマアイコン のレンダリングをサポートします。
この項目が最初に選択されているかどうかを示すオプションのフラグです。これは showQuickPick() API を使用している場合にのみ有効です。createQuickPick() API で同じことを行うには、QuickPick.selectedItems を最初に選択したい項目に設定するだけです。(注意: これは、ピッカーが複数選択を許可している場合にのみ有効です。)
参照 QuickPickOptions.canPickMany
注意: kind が QuickPickItemKind.Separator に設定されている場合、このプロパティは無視されます。
QuickPickItemButtonEvent<T>
特定の QuickPickItem のボタンがトリガーされたときに通知するイベント。このイベントは、タイトルバーのボタンでは発生しません。
プロパティ
button: QuickInputButton
クリックされたボタン。
ボタンが属する項目。
QuickPickItemKind
クイックピック項目の種類。
列挙メンバー
QuickPickItem の種類が Separator の場合、項目は単なる視覚的な区切りであり、実際の項目を表しません。適用されるプロパティは label のみです。QuickPickItem の他のすべてのプロパティは無視され、効果はありません。
デフォルトの QuickPickItem.kind は、クイックピックで選択できる項目です。
QuickPickOptions
クイックピック UI の動作を設定するためのオプション。
イベント
onDidSelectItem(item: string | QuickPickItem): any
項目が選択されるたびに呼び出されるオプションの関数。
パラメーター | 説明 |
---|---|
item: string | QuickPickItem | |
戻り値 | 説明 |
any |
プロパティ
ピッカーで複数選択を許可するオプションのフラグ。true の場合、結果は選択項目の配列になります。
フォーカスがエディターの別の部分または別のウィンドウに移動しても、ピッカーを開いたままにする場合は true
に設定します。この設定は iPad では無視され、常に false になります。
ピックをフィルタリングするときに説明を含めるオプションのフラグ。
ピックをフィルタリングするときに詳細を含めるオプションのフラグ。
ユーザーが何を選択すべきかをガイドするために、入力ボックスにプレースホルダーとして表示するオプションの文字列。
クイックピックのタイトルを表すオプションの文字列。
Range
Range は、2 つの位置の順序付けられたペアを表します。start.isBeforeOrEqual(end) であることが保証されています。
Range オブジェクトは不変です。既存の 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 | ゼロから始まる行の値。 |
startCharacter: number | ゼロから始まる文字の値。 |
endLine: number | ゼロから始まる行の値。 |
endCharacter: number | ゼロから始まる文字の値。 |
戻り値 | 説明 |
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
other
がこの範囲と等しいかどうかを確認します。
with(start?: Position, end?: Position): Range
この範囲から新しい範囲を派生させます。
with(change: {end: Position, start: Position}): Range
この範囲から新しい範囲を派生させます。
ReferenceContext
参照を要求する際の追加情報を含む値オブジェクト。
プロパティ
現在のシンボルの宣言を含めます。
ReferenceProvider
参照プロバイダーインターフェースは、拡張機能と 参照の検索 機能間のコントラクトを定義します。
メソッド
provideReferences(document: TextDocument, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>
指定された位置とドキュメントのプロジェクト全体の参照のセットを提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
context: ReferenceContext | 参照要求に関する追加情報。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Location[]> | 位置の配列、またはそのような配列に解決される Thenable。結果がない場合は、 |
RelativePattern
相対パターンは、ベースファイルパスに対して相対的に一致する glob パターンを構築するヘルパーです。ベースパスは、文字列または 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 | ベースに対する相対パスで一致するファイル glob パターン (例: |
戻り値 | 説明 |
RelativePattern |
プロパティ
このパターンが相対的に照合されるベースファイルパス。
これは、RelativePattern.baseUri の fsPath
値と一致します。
注意: この値を更新すると、RelativePattern.baseUri が file
スキームの URI に更新されます。
- 非推奨 - このプロパティは非推奨です。RelativePattern.baseUri を代わりに使用してください。
baseUri: Uri
このパターンが相対的に照合されるベースファイルパス。ファイルパスは絶対パスである必要があり、末尾にパス区切り文字を含めたり、相対セグメント (.
または ..
) を含めたりしないでください。
ベースパスに対する相対パスで一致するファイル glob パターン (例: *.{ts,js}
)。
例: ベースが /home/work/folder
で、ファイルパスが /home/work/folder/index.js
の場合、ファイル glob パターンは index.js
と一致します。
RenameProvider
リネームプロバイダーインターフェースは、拡張機能と リネーム 機能間のコントラクトを定義します。
メソッド
prepareRename(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Range | {placeholder: string, range: Range}>
リネームを実行する前に、位置を解決および検証するためのオプションの関数。結果は、範囲、または範囲とプレースホルダーテキストにすることができます。プレースホルダーテキストは、リネームされるシンボルの識別子である必要があります。省略した場合、返された範囲のテキストが使用されます。
注意: この関数は、指定された位置でリネームが許可されない場合、エラーをスローするか、拒否された Thenable を返す必要があります。
パラメーター | 説明 |
---|---|
document: TextDocument | リネームが呼び出されるドキュメント。 |
position: Position | リネームが呼び出される位置。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Range | {placeholder: string, range: Range}> | リネームされる識別子の範囲または範囲とプレースホルダーテキスト。結果がない場合は、 |
provideRenameEdits(document: TextDocument, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit>
シンボルを別の名前にリネームするために 1 つまたは複数のリソースに対して行う必要のある変更を記述する編集を提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
newName: string | シンボルの新しい名前。指定された名前が有効でない場合、プロバイダーは拒否された 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 | シークレットが保存されたキー。 |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 |
get(key: string): Thenable<string>
キーで保存されたシークレットを取得します。そのキーに一致するパスワードがない場合は undefined を返します。
パラメーター | 説明 |
---|---|
key: string | シークレットが保存されたキー。 |
戻り値 | 説明 |
Thenable<string> | 保存された値、または |
store(key: string, value: string): Thenable<void>
指定されたキーでシークレットを保存します。
パラメーター | 説明 |
---|---|
key: string | シークレットを保存するキー。 |
value: string | シークレット。 |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 |
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 | ゼロから始まる行の値。 |
anchorCharacter: number | ゼロから始まる文字の値。 |
activeLine: number | ゼロから始まる行の値。 |
activeCharacter: number | ゼロから始まる文字の値。 |
戻り値 | 説明 |
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
other
がこの範囲と等しいかどうかを確認します。
この選択範囲が指定された範囲と等しいかどうかを判定します。union(other: Range): Range
この選択範囲と指定された範囲の和集合である範囲を返します。with(start?: Position, end?: Position): Range
この範囲から新しい範囲を派生させます。
開始位置と終了位置を指定して新しい範囲を作成します。with(change: {end: Position, start: Position}): Range
この範囲から新しい範囲を派生させます。
変更オブジェクトを指定して新しい範囲を作成します。SelectionRange
SelectionRange は、選択範囲の階層構造の一部を表します。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
セマンティックトークンビルダーは、差分エンコードされたセマンティックトークンを含む 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
シグネチャヘルプは、呼び出し可能なもののシグネチャを表します。複数のシグネチャが存在する可能性がありますが、アクティブなシグネチャは 1 つのみ、アクティブなパラメーターも 1 つのみです。
コンストラクター
new SignatureHelp(): SignatureHelp
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
SignatureHelp |
プロパティ
アクティブなシグネチャのアクティブなパラメーター。
アクティブなシグネチャ。
signatures: SignatureInformation[]
1 つまたは複数のシグネチャ。
SignatureHelpContext
SignatureHelpProvider がトリガーされたコンテキストに関する追加情報。
プロパティ
activeSignatureHelp: SignatureHelp
現在アクティブな SignatureHelp。
activeSignatureHelp
は、ユーザーが使用可能なシグネチャを矢印キーで移動するのに応じて、activeSignature フィールドが更新されます。
シグネチャヘルプがトリガーされたときにすでに表示されていた場合は true
。
再トリガーは、シグネチャヘルプがすでにアクティブになっている場合に発生し、トリガー文字の入力、カーソルの移動、ドキュメントコンテンツの変更などのアクションによって引き起こされる可能性があります。
シグネチャヘルプがトリガーされた原因となった文字。
これは、手動でシグネチャヘルプを呼び出す場合や、カーソルを移動する場合など、入力によってシグネチャヘルプがトリガーされない場合は undefined
です。
triggerKind: SignatureHelpTriggerKind
シグネチャヘルプがトリガーされた原因となったアクション。
SignatureHelpProvider
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:default value}
で定義されます。 完全なスニペット構文も参照してください。
コンストラクター
new SnippetString(value?: string): SnippetString
新しいスニペット文字列を作成します。
パラメーター | 説明 |
---|---|
value?: string | スニペット文字列。 |
戻り値 | 説明 |
SnippetString |
プロパティ
スニペット文字列。
メソッド
appendChoice(values: readonly string[], number?: number): SnippetString
選択肢(${1|a,b,c|}
)をこのスニペット文字列の value に追加するビルダー関数。
パラメーター | 説明 |
---|---|
values: readonly string[] | 選択肢の値 - 文字列の配列 |
number?: number | このタブストップの番号。デフォルトは 1 から始まる自動インクリメント値です。 |
戻り値 | 説明 |
SnippetString | このスニペット文字列。 |
appendPlaceholder(value: string | (snippet: SnippetString) => any, number?: number): SnippetString
プレースホルダー(${1:value}
)をこのスニペット文字列の value に追加するビルダー関数。
パラメーター | 説明 |
---|---|
value: string | (snippet: SnippetString) => any | このプレースホルダーの値 - 文字列、またはネストされたスニペットを作成できる関数。 |
number?: number | このタブストップの番号。デフォルトは 1 から始まる自動インクリメント値です。 |
戻り値 | 説明 |
SnippetString | このスニペット文字列。 |
appendTabstop(number?: number): SnippetString
タブストップ($1
、$2
など)をこのスニペット文字列の value に追加するビルダー関数。
パラメーター | 説明 |
---|---|
number?: number | このタブストップの番号。デフォルトは 1 から始まる自動インクリメント値です。 |
戻り値 | 説明 |
SnippetString | このスニペット文字列。 |
appendText(string: string): SnippetString
指定された文字列をこのスニペット文字列の value に追加するビルダー関数。
パラメーター | 説明 |
---|---|
string: string | 「そのまま」追加する値。文字列はエスケープされます。 |
戻り値 | 説明 |
SnippetString | このスニペット文字列。 |
appendVariable(name: string, defaultValue: string | (snippet: SnippetString) => any): SnippetString
変数(${VAR}
)をこのスニペット文字列のvalueに追加するビルダー関数。
パラメーター | 説明 |
---|---|
name: string | 変数の名前 - |
defaultValue: string | (snippet: SnippetString) => any | 変数が解決できない場合に使用されるデフォルト値 - 文字列、またはネストされたスニペットを作成できる関数。 |
戻り値 | 説明 |
SnippetString | このスニペット文字列。 |
SnippetTextEdit
スニペットエディットは、エディターによって実行されるインタラクティブな編集を表します。
注: スニペットエディットは常に通常のテキストエディットとして実行できます。これは、一致するエディターが開かれていない場合、またはワークスペースエディットに複数のファイルのスニペットエディットが含まれている場合に発生します。その場合、アクティブなエディターに一致するもののみがスニペットエディットとして実行され、その他は通常のテキストエディットとして実行されます。
静的
insert(position: Position, snippet: SnippetString): SnippetTextEdit
挿入スニペットエディットを作成するユーティリティ。
パラメーター | 説明 |
---|---|
position: Position | positionは空の範囲になります。 |
snippet: SnippetString | スニペット文字列。 |
戻り値 | 説明 |
SnippetTextEdit | 新しいスニペットエディットオブジェクト。 |
replace(range: Range, snippet: SnippetString): SnippetTextEdit
置換スニペットエディットを作成するユーティリティ。
パラメーター | 説明 |
---|---|
range: Range | 範囲。 |
snippet: SnippetString | スニペット文字列。 |
戻り値 | 説明 |
SnippetTextEdit | 新しいスニペットエディットオブジェクト。 |
コンストラクター
new SnippetTextEdit(range: Range, snippet: SnippetString): SnippetTextEdit
新しいスニペットエディットを作成します。
パラメーター | 説明 |
---|---|
range: Range | 範囲。 |
snippet: SnippetString | スニペット文字列。 |
戻り値 | 説明 |
SnippetTextEdit |
プロパティ
スニペットエディットを既存の空白を保持したまま適用するかどうか。
range: Range
この編集が適用される範囲。
snippet: SnippetString
この編集が実行するスニペット。
SourceBreakpoint
ソース位置によって指定されたブレークポイント。
コンストラクター
new SourceBreakpoint(location: Location, enabled?: boolean, condition?: string, hitCondition?: string, logMessage?: string): SourceBreakpoint
ソース位置の新しいブレークポイントを作成します。
パラメーター | 説明 |
---|---|
location: Location | |
enabled?: boolean | |
condition?: string | |
hitCondition?: string | |
logMessage?: string | |
戻り値 | 説明 |
SourceBreakpoint |
プロパティ
条件付きブレークポイントのオプションの式。
ブレークポイントが有効かどうか。
ブレークポイントのヒット数を無視する方法を制御するオプションの式。
ブレークポイントの一意の ID。
location: Location
このブレークポイントのソースと行位置。
このブレークポイントがヒットしたときにログに記録されるオプションのメッセージ。{} 内の埋め込み式は、デバッグアダプターによって補間されます。
SourceControl
ソース管理は、リソースの状態をエディターに提供し、いくつかのソース管理関連の方法でエディターと対話できます。
プロパティ
acceptInputCommand?: Command
オプションの入力受付コマンド。
このコマンドは、ユーザーがソース管理入力の値を承認したときに呼び出されます。
オプションのコミットテンプレート文字列。
ソース管理ビューレットは、適切な場合にこの値をソース管理入力に入力します。
このソース管理のID。
inputBox: SourceControlInputBox
このソース管理の入力ボックス。
このソース管理の人間が読めるラベル。
quickDiffProvider?: QuickDiffProvider
オプションのクイック差分プロバイダー。
rootUri: Uri
このソース管理のルートの(オプションの)Uri。
statusBarCommands?: Command[]
オプションのステータスバーコマンド。
これらのコマンドは、エディターのステータスバーに表示されます。
メソッド
createResourceGroup(id: string, label: string): SourceControlResourceGroup
新しいリソースグループを作成します。
パラメーター | 説明 |
---|---|
id: string | |
label: string | |
戻り値 | 説明 |
SourceControlResourceGroup |
このソース管理を破棄します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
SourceControlInputBox
ソース管理ビューレットの入力ボックスを表します。
プロパティ
入力ボックスを有効にするかどうかを制御します(デフォルトはtrue
)。
ユーザーをガイドするために、入力ボックスにプレースホルダーとして表示する文字列。
入力ボックスの内容のセッターとゲッター。
入力ボックスを表示するかどうかを制御します(デフォルトはtrue
)。
SourceControlResourceDecorations
ソース管理リソースの状態の装飾。ライトテーマとダークテーマで個別に指定できます。
プロパティ
dark?: SourceControlResourceThemableDecorations
ダークテーマの装飾。
ソース管理リソースの状態をUIでフェードアウトさせるかどうか。
iconPath?: string | Uri | ThemeIcon
特定のソース管理リソースの状態のアイコンパス。
light?: SourceControlResourceThemableDecorations
ライトテーマの装飾。
ソース管理リソースの状態をUIで取り消し線で表示するかどうか。
特定のソース管理リソースの状態のタイトル。
SourceControlResourceGroup
ソース管理リソースグループは、ソース管理リソースの状態のコレクションです。
プロパティ
リソースグループのコンテキスト値。これは、リソースグループ固有のアクションを提供するために使用できます。たとえば、リソースグループにexportable
のコンテキスト値が与えられている場合、menus
拡張機能ポイントを使用してscm/resourceGroup/context
にアクションを提供するときに、when
式でキーscmResourceGroupState
のコンテキスト値をscmResourceGroupState == exportable
のように指定できます。
"contributes": {
"menus": {
"scm/resourceGroup/context": [
{
"command": "extension.export",
"when": "scmResourceGroupState == exportable"
}
]
}
}
これにより、contextValue
がexportable
に等しいリソースグループに対してのみアクションextension.export
が表示されます。
このソース管理リソースグループにソース管理リソースの状態が含まれていない場合に非表示にするかどうか。
このソース管理リソースグループのID。
このソース管理リソースグループのラベル。
resourceStates: SourceControlResourceState[]
このグループのソース管理リソースの状態のコレクション。
メソッド
このソース管理リソースグループを破棄します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
SourceControlResourceState
ソース管理リソースの状態は、特定のソース管理グループ内の基になるワークスペースリソースの状態を表します。
プロパティ
command?: Command
リソースの状態がソース管理ビューレットで開かれたときに実行されるコマンド。
リソースの状態のコンテキスト値。これは、リソース固有のアクションを提供するために使用できます。たとえば、リソースにdiffable
としてコンテキスト値が与えられている場合、menus
拡張機能ポイントを使用してscm/resourceState/context
にアクションを提供するときに、when
式でキーscmResourceState
のコンテキスト値をscmResourceState == diffable
のように指定できます。
"contributes": {
"menus": {
"scm/resourceState/context": [
{
"command": "extension.diff",
"when": "scmResourceState == diffable"
}
]
}
}
これにより、contextValue
がdiffable
であるリソースに対してのみアクションextension.diff
が表示されます。
decorations?: SourceControlResourceDecorations
このソース管理リソースの状態の装飾。
resourceUri: Uri
ワークスペース内の基になるリソースのUri。
SourceControlResourceThemableDecorations
ソース管理リソースの状態のテーマ対応の装飾。
プロパティ
iconPath?: string | Uri | ThemeIcon
特定のソース管理リソースの状態のアイコンパス。
StatementCoverage
単一のステートメントまたは行のカバレッジ情報が含まれています。
コンストラクター
new StatementCoverage(executed: number | boolean, location: Range | Position, branches?: BranchCoverage[]): StatementCoverage
パラメーター | 説明 |
---|---|
executed: number | boolean | このステートメントが実行された回数、または正確な回数が不明な場合は、実行されたかどうかを示すブール値。ゼロまたはfalseの場合、ステートメントは未カバーとしてマークされます。 |
location: Range | Position | ステートメントの位置。 |
branches?: BranchCoverage[] | この行の分岐からのカバレッジ。条件付きでない場合は、省略する必要があります。 |
戻り値 | 説明 |
StatementCoverage |
プロパティ
branches: BranchCoverage[]
この行またはステートメントの分岐からのカバレッジ。条件付きでない場合は、空になります。
このステートメントが実行された回数、または正確な回数が不明な場合は、実行されたかどうかを示すブール値。ゼロまたはfalseの場合、ステートメントは未カバーとしてマークされます。
ステートメントの位置。
StatusBarAlignment
ステータスバー項目の配置を表します。
列挙メンバー
左側に配置されます。
右側に配置されます。
StatusBarItem
ステータスバー項目は、テキストとアイコンを表示し、クリック時にコマンドを実行できるステータスバーのコントリビューションです。
プロパティ
accessibilityInformation: AccessibilityInformation
スクリーンリーダーがこのStatusBar項目と対話するときに使用されるアクセシビリティ情報
alignment: StatusBarAlignment
この項目の配置。
backgroundColor: ThemeColor
このエントリの背景色。
注:次の色のみがサポートされています
new ThemeColor('statusBarItem.errorBackground')
new ThemeColor('statusBarItem.warningBackground')
より多くの背景色が将来サポートされる可能性があります。
注:背景色が設定されている場合、ステータスバーは、すべてのテーマでエントリが読みやすくなるように、color
の選択をオーバーライドする場合があります。
color: string | ThemeColor
このエントリの前景色。
command: string | Command
この項目の識別子。
注:window.createStatusBarItemメソッドによって識別子が提供されていない場合、識別子は拡張機能識別子と一致します。
「Python言語インジケーター」、「Gitステータス」などのエントリの名前。ステータスバー項目が何であるかをユーザーが理解できるように、名前の長さを短く、かつ十分に説明的なものにしてください。
この項目の優先度。値が大きいほど、項目はより左側に表示される必要があります。
エントリに表示するテキスト。
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[]
変更されたタブ。例:active 状態が変更されたなど。
closed: readonly Tab[]
閉じられたタブ。
opened: readonly Tab[]
開かれたタブ。
TabGroup
タブのグループを表します。タブグループ自体は複数のタブで構成されています。
プロパティ
activeTab: Tab
グループ内のアクティブな タブ。これは、コンテンツが現在レンダリングされているタブです。
注:グループごとにアクティブなタブは1つですが、アクティブなグループは1つだけです。
tabs: readonly Tab[]
グループ内に含まれるタブのリスト。グループにタブが開いていない場合は空にすることができます。
viewColumn: ViewColumn
グループの表示列。
TabGroupChangeEvent
タブグループの変更を記述するイベント。
プロパティ
changed: readonly TabGroup[]
変更されたタブグループ。例:active 状態が変更されたなど。
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 | ノートブックのタイプ。NotebookDocumentsの notebookType にマップします |
戻り値 | 説明 |
TabInputNotebook |
プロパティ
ノートブックのタイプ。NotebookDocumentsの notebookType にマップします
uri: Uri
タブが表す URI。
TabInputNotebookDiff
タブは、差分構成の2つのノートブックを表します。
コンストラクター
new TabInputNotebookDiff(original: Uri, modified: Uri, notebookType: string): TabInputNotebookDiff
ノートブック差分タブ入力を構築します。
パラメーター | 説明 |
---|---|
original: Uri | 元の未変更のノートブックの URI。 |
modified: Uri | 変更されたノートブックの URI。 |
notebookType: string | ノートブックのタイプ。NotebookDocumentsの notebookType にマップします |
戻り値 | 説明 |
TabInputNotebookDiff |
プロパティ
modified: Uri
変更されたノートブックの URI。
ノートブックのタイプ。NotebookDocumentsの notebookType にマップします
original: Uri
元のノートブックの URI。
TabInputTerminal
タブはエディター領域のターミナルを表します。
コンストラクター
new TabInputTerminal(): TabInputTerminal
ターミナルタブ入力を構築します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
TabInputTerminal |
TabInputText
タブは単一のテキストベースのリソースを表します。
コンストラクター
new TabInputText(uri: Uri): TabInputText
指定された URI でテキストタブ入力を構築します。
パラメーター | 説明 |
---|---|
uri: Uri | タブの URI。 |
戻り値 | 説明 |
TabInputText |
プロパティ
uri: Uri
タブによって表される URI。
TabInputTextDiff
タブは、差分としてレンダリングされる2つのテキストベースのリソースを表します。
コンストラクター
new TabInputTextDiff(original: Uri, modified: Uri): TabInputTextDiff
指定された URI で新しいテキスト差分タブ入力を構築します。
パラメーター | 説明 |
---|---|
original: Uri | 元のテキストリソースの URI。 |
modified: Uri | 変更されたテキストリソースの URI。 |
戻り値 | 説明 |
TabInputTextDiff |
プロパティ
modified: Uri
変更されたテキストリソースの URI。
original: Uri
元のテキストリソースの URI。
TabInputWebview
タブは 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[] | 使用する問題 matcher の名前(例:「$tsc」または「$eslint」)。問題 matcher は、 |
戻り値 | 説明 |
Task |
new Task(taskDefinition: TaskDefinition, name: string, source: string, execution?: ProcessExecution | ShellExecution, problemMatchers?: string | string[]): Task
新しいタスクを作成します。
- deprecated - タスクのスコープを指定できる新しいコンストラクターを使用してください。
パラメーター | 説明 |
---|---|
taskDefinition: TaskDefinition | taskDefinitions 拡張ポイントで定義されているタスク定義。 |
name: string | タスクの名前。ユーザーインターフェースに表示されます。 |
source: string | タスクのソース(例:「gulp」、「npm」、...)。ユーザーインターフェースに表示されます。 |
execution?: ProcessExecution | ShellExecution | プロセスまたはシェル実行。 |
problemMatchers?: string | string[] | 使用する問題 matcher の名前(例:「$tsc」または「$eslint」)。問題 matcher は、 |
戻り値 | 説明 |
Task |
プロパティ
definition: TaskDefinition
タスクの定義。
タスクの名前が表示される場所に、別の行に目立たないようにレンダリングされる人間が読める文字列。テーマアイコンのレンダリングを $(<name>)
構文でサポートします。
execution?: ProcessExecution | ShellExecution | CustomExecution
タスクの実行エンジン
group?: TaskGroup
このタスクが属するタスクグループ。利用可能なグループの定義済みセットについては、TaskGroup を参照してください。デフォルトは未定義で、タスクが特別なグループに属していないことを意味します。
タスクがバックグラウンドタスクであるかどうか。
タスクの名前
presentationOptions: TaskPresentationOptions
プレゼンテーションオプション。デフォルトは空のリテラルです。
タスクにアタッチされた問題 matcher。デフォルトは空の配列です。
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: 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
タスクパネルをこのタスク専用に使用するか (専用)、タスク間で共有するか (共有)、またはタスク実行ごとに新しいパネルを作成するか (新規) を制御します。デフォルトは TaskInstanceKind.Shared
です。
reveal?: TaskRevealKind
タスク出力をユーザーインターフェースに表示するかどうかを制御します。デフォルトは RevealKind.Always
です。
「ターミナルはタスクによって再利用されます。閉じるには任意のキーを押してください」というメッセージを表示するかどうかを制御します。
TaskProcessEndEvent
タスクを通じてトリガーされたプロセス実行の終了を知らせるイベント
プロパティ
execution: TaskExecution
プロセスが開始されたタスク実行。
プロセスの終了コード。タスクが終了した場合、undefined
になります。
TaskProcessStartEvent
タスクを通じてトリガーされたプロセス実行の開始を知らせるイベント
プロパティ
execution: TaskExecution
プロセスが開始されたタスク実行。
基盤となるプロセスID。
TaskProvider<T>
タスクプロバイダーは、タスクサービスにタスクを追加することを可能にします。タスクプロバイダーは tasks.registerTaskProvider を介して登録されます。
メソッド
provideTasks(token: CancellationToken): ProviderResult<T[]>
タスクを提供します。
パラメーター | 説明 |
---|---|
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T[]> | タスクの配列 |
resolveTask(task: T, token: CancellationToken): ProviderResult<T>
execution が設定されていないタスクを解決します。タスクは tasks.json
ファイルで見つかった情報から作成されることがよくあります。そのようなタスクは、それらをどのように実行するかに関する情報が欠落しており、タスクプロバイダーは resolveTask
メソッドで欠落している情報を記入する必要があります。このメソッドは、上記の provideTasks
メソッドから返されたタスクに対しては呼び出されません。これらのタスクは常に完全に解決されているためです。 resolveTask
メソッドの有効なデフォルト実装は、undefined
を返すことです。
task
のプロパティを記入する際、新しい TaskDefinition
を作成するのではなく、必ずまったく同じ TaskDefinition
を使用してください。他のプロパティは変更してもかまいません。
パラメーター | 説明 |
---|---|
task: T | 解決するタスク。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T> | 解決されたタスク |
TaskRevealKind
ターミナルの可視性の動作を制御します。
列挙メンバー
タスクが実行される場合、常にターミナルを前面に表示します。
タスクの実行中に問題が検出された場合 (タスクを開始できなかったなど) にのみ、ターミナルを前面に表示します。
タスクが実行されても、ターミナルは前面に表示されません。
TaskScope
タスクのスコープ。
列挙メンバー
タスクはグローバルタスクです。グローバルタスクは現在サポートされていません。
タスクはワークスペース タスクです
TaskStartEvent
タスク実行の開始を知らせるイベント。
このインターフェースは実装されることを意図していません。
プロパティ
execution: TaskExecution
開始されたタスクを表すタスク項目。
TelemetryLogger
拡張機能が使用状況とエラーのテレメトリをログ記録するために使用できるテレメトリロガー。
ロガーは sender をラップしますが、以下を保証します。
- テレメトリを無効または調整するためのユーザー設定が尊重されること、および
- 潜在的な機密データが削除されること
また、送信されたデータを印刷する「エコーUI」を有効にし、エディターが未処理のエラーをそれぞれの拡張機能に転送できるようにします。
TelemetryLogger
のインスタンスを取得するには、createTelemetryLogger
を使用します。
イベント
onDidChangeEnableStates: Event<TelemetryLogger>
使用状況またはエラーテレメトリの有効状態が変更されたときに発生する Event。
プロパティ
このロガーでエラーテレメトリが有効になっているかどうか。
このロガーで使用状況テレメトリが有効になっているかどうか。
メソッド
このオブジェクトを破棄し、リソースを解放します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
logError(eventName: string, data?: Record<string, any>): void
エラーイベントをログに記録します。
クリーニング、テレメトリ設定の確認、およびデータミックスインの呼び出しを完了した後、イベントをログに記録するために TelemetrySender.sendEventData
を呼び出します。テレメトリ設定がエラー+の場合にイベントをログに記録するという点で 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
ターミナルの終了ステータス。ターミナルがアクティブな間は未定義になります。
例: ターミナルがゼロ以外の終了コードで終了した場合に、終了コードを含む通知を表示します。
window.onDidCloseTerminal(t => {
if (t.exitStatus && t.exitStatus.code) {
vscode.window.showInformationMessage(`Exit code: ${t.exitStatus.code}`);
}
});
ターミナルの名前。
シェルプロセスのプロセスID。
shellIntegration: TerminalShellIntegration
シェル統合機能を含むオブジェクト。これは、ターミナルが作成された直後は常に undefined
になります。ターミナルのシェル統合がアクティブ化されたときに通知されるように、window.onDidChangeTerminalShellIntegration をリッスンします。
シェル統合がアクティブ化されない場合、このオブジェクトは未定義のままになる可能性があることに注意してください。たとえば、コマンドプロンプトはシェル統合をサポートしておらず、ユーザーのシェル設定が自動シェル統合のアクティブ化と競合する可能性があります。
state: TerminalState
Terminal の現在の状態。
メソッド
破棄して、関連付けられたリソースを解放します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
このターミナルが現在表示されている場合、ターミナルパネルを非表示にします。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
sendText(text: string, shouldExecute?: boolean): void
ターミナルにテキストを送信します。テキストは、ターミナルの基盤となるptyプロセス (シェル) のstdinに書き込まれます。
パラメーター | 説明 |
---|---|
text: string | 送信するテキスト。 |
shouldExecute?: boolean | 送信されるテキストが、ターミナルに挿入されるだけでなく、実行される必要があることを示します。追加される文字は、プラットフォームに応じて |
戻り値 | 説明 |
void |
show(preserveFocus?: boolean): void
ターミナルパネルを表示し、このターミナルをUIに表示します。
パラメーター | 説明 |
---|---|
preserveFocus?: boolean |
|
戻り値 | 説明 |
void |
TerminalDimensions
ターミナルの寸法を表します。
プロパティ
ターミナルの列数。
ターミナルの行数。
TerminalEditorLocationOptions
エディターの TerminalLocation を想定し、ViewColumn と preserveFocus プロパティを指定できます
プロパティ
true
の場合、Terminal がフォーカスを取得するのを停止するオプションのフラグ。
viewColumn: ViewColumn
ターミナル をエディター領域に表示する必要があるビュー列。デフォルトは active です。存在しない列は、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でのみ文字列を使用でき、コマンドライン形式でシェル引数を指定できます。
ターミナルで使用されるカスタムシェル実行可能ファイルへのパス。
ターミナルプロセスの環境を TerminalOptions.env
で指定されたとおりに正確にするかどうか。これが false (デフォルト) の場合、環境はウィンドウの環境に基づいており、terminal.integrated.env.windows
などの構成されたプラットフォーム設定も適用されます。これが true の場合、プロセスまたは構成から何も継承されないため、完全な環境を提供する必要があります。
TerminalProfile
ターミナルプロファイルは、ターミナルがどのように起動されるかを定義します。
コンストラクター
new TerminalProfile(options: TerminalOptions | ExtensionTerminalOptions): TerminalProfile
新しいターミナルプロファイルを作成します。
パラメーター | 説明 |
---|---|
options: TerminalOptions | ExtensionTerminalOptions | ターミナルが起動される際に使用するオプション。 |
戻り値 | 説明 |
TerminalProfile |
プロパティ
options: TerminalOptions | ExtensionTerminalOptions
ターミナルが起動される際に使用するオプション。
TerminalProfileProvider
UIまたはコマンドを介して起動されたときに、コントリビュートされたターミナルプロファイルを提供します。
メソッド
provideTerminalProfile(token: CancellationToken): ProviderResult<TerminalProfile>
ターミナルプロファイルを提供します。
パラメーター | 説明 |
---|---|
token: CancellationToken | 結果が不要になったことを示すキャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<TerminalProfile> | ターミナルプロファイル。 |
TerminalShellExecution
ターミナルで実行されたコマンド。
プロパティ
commandLine: TerminalShellExecutionCommandLine
実行されたコマンドライン。この値の信頼度は、特定のシェルのシェル統合の実装に依存します。この値は、window.onDidEndTerminalShellExecution が発火した後に、より正確になる可能性があります。
例
// Log the details of the command line on start and end
window.onDidStartTerminalShellExecution(event => {
const commandLine = event.execution.commandLine;
console.log(`Command started\n${summarizeCommandLine(commandLine)}`);
});
window.onDidEndTerminalShellExecution(event => {
const commandLine = event.execution.commandLine;
console.log(`Command ended\n${summarizeCommandLine(commandLine)}`);
});
function summarizeCommandLine(commandLine: TerminalShellExecutionCommandLine) {
return [
` Command line: ${command.commandLine.value}`,
` Confidence: ${command.commandLine.confidence}`,
` Trusted: ${command.commandLine.isTrusted}
].join('\n');
}
cwd: Uri
このコマンドが実行されたときにシェルによって報告されたワーキングディレクトリ。このUriは、別のマシン上のファイルを表す場合があります (例: 別のマシンへの ssh)。これには、ワーキングディレクトリの報告をサポートするシェル統合が必要です。
メソッド
ターミナルに書き込まれる生のデータ (エスケープシーケンスを含む) のストリームを作成します。これは、read
が最初に呼び出された後に書き込まれたデータのみを含みます。つまり、TerminalShellIntegration.executeCommand または window.onDidStartTerminalShellExecution 経由でコマンドが実行された直後に read
を呼び出して、データを取りこぼさないようにする必要があります。
例
// Log all data written to the terminal for a command
const command = term.shellIntegration.executeCommand({ commandLine: 'echo "Hello world"' });
const stream = command.read();
for await (const data of stream) {
console.log(data);
}
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
AsyncIterable<string> |
TerminalShellExecutionCommandLine
ターミナルで実行されたコマンドライン。
プロパティ
confidence: TerminalShellExecutionCommandLineConfidence
コマンドライン値の信頼度。値がどのように取得されたかによって決定されます。これは、シェル統合スクリプトの実装に依存します。
コマンドライン値が信頼できるソースから来たものであり、したがって、「(コマンド) を実行しますか?」という通知など、ユーザーの追加確認なしに安全に実行できるかどうか。この検証は、コマンドを再度実行する場合にのみ必要になる可能性があります。
これは、コマンドラインがシェル統合スクリプトによって明示的に報告され (高信頼度)、検証にノンスが使用された場合にのみ true
になります。
コマンドとその引数の両方を含む、実行された完全なコマンドライン。
TerminalShellExecutionCommandLineConfidence
列挙メンバー
コマンドライン値の信頼度は低いです。これは、値がシェル統合スクリプトによって報告されたマーカーを使用してターミナルバッファーから読み取られたことを意味します。さらに、次のいずれかの条件が満たされます。
- コマンドが最も左端の列から開始されました。これは異常です。または
- コマンドは複数行であり、行継続文字と右プロンプトのために正確に検出するのがより困難です。
- コマンドラインマーカーは、シェル統合スクリプトによって報告されませんでした。
コマンドライン値の信頼度は中程度です。これは、値がシェル統合スクリプトによって報告されたマーカーを使用してターミナルバッファーから読み取られたことを意味します。コマンドは単一行であり、最も左端の列 (これは異常です) から開始されません。
コマンドライン値の信頼度は高いです。これは、値がシェル統合スクリプトから明示的に送信されたか、コマンドが TerminalShellIntegration.executeCommand API を介して実行されたことを意味します。
TerminalShellExecutionEndEvent
ターミナルでの実行が終了したことを知らせるイベント。
プロパティ
execution: TerminalShellExecution
終了したターミナルシェル実行。
シェルによって報告された終了コード。
これが undefined
の場合、いくつかの意味が考えられます。
- シェルが終了コードを報告しなかった (つまり、シェル統合スクリプトが誤動作している)
- シェルがコマンドが終了する前にコマンドが開始されたと報告した (例: サブシェルが開かれた)。
- ユーザーが ctrl+c でコマンドをキャンセルした。
- ユーザーが入力がないときに Enter キーを押した。
一般的に、これは起こるべきではありません。ユースケースによっては、これを失敗として扱うのが最善かもしれません。
例
const execution = shellIntegration.executeCommand({
command: 'echo',
args: ['Hello world']
});
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
if (event.exitCode === undefined) {
console.log('Command finished but exit code is unknown');
} else if (event.exitCode === 0) {
console.log('Command succeeded');
} else {
console.log('Command failed');
}
}
});
shellIntegration: TerminalShellIntegration
シェル統合オブジェクト。
terminal: Terminal
シェル統合がアクティブ化されたターミナル。
TerminalShellExecutionStartEvent
ターミナルでの実行が開始されたことを知らせるイベント。
プロパティ
execution: TerminalShellExecution
終了したターミナルシェル実行。
shellIntegration: TerminalShellIntegration
シェル統合オブジェクト。
terminal: Terminal
シェル統合がアクティブ化されたターミナル。
TerminalShellIntegration
シェル統合によって強化されたターミナルが所有する機能。
プロパティ
cwd: Uri
ターミナルの現在のワーキングディレクトリ。このUriは、別のマシン上のファイルを表す場合があります (例: 別のマシンへの ssh)。これには、ワーキングディレクトリの報告をサポートするシェル統合が必要です。
メソッド
executeCommand(commandLine: string): TerminalShellExecution
コマンドを実行します。必要に応じて ^C を送信して、実行中のコマンドを中断します。
例
// Execute a command in a terminal immediately after being created
const myTerm = window.createTerminal();
window.onDidChangeTerminalShellIntegration(async ({ terminal, shellIntegration }) => {
if (terminal === myTerm) {
const execution = shellIntegration.executeCommand('echo "Hello world"');
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
console.log(`Command exited with code ${event.exitCode}`);
}
});
}
}));
// Fallback to sendText if there is no shell integration within 3 seconds of launching
setTimeout(() => {
if (!myTerm.shellIntegration) {
myTerm.sendText('echo "Hello world"');
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
}, 3000);
例
// Send command to terminal that has been alive for a while
const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
const execution = shellIntegration.executeCommand({ commandLine });
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
console.log(`Command exited with code ${event.exitCode}`);
}
});
} else {
term.sendText(commandLine);
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
パラメーター | 説明 |
---|---|
commandLine: string | 実行するコマンドライン。これは、ターミナルに送信される正確なテキストです。 |
戻り値 | 説明 |
TerminalShellExecution |
executeCommand(executable: string, args: string[]): TerminalShellExecution
コマンドを実行します。必要に応じて ^C を送信して、実行中のコマンドを中断します。
注 これは、シェル統合がアクティブ化されている必要があるため、動作が保証されていません。TerminalShellExecution.exitCode が拒否されたかどうかを確認して、成功したかどうかを確認してください。
例
// Execute a command in a terminal immediately after being created
const myTerm = window.createTerminal();
window.onDidChangeTerminalShellIntegration(async ({ terminal, shellIntegration }) => {
if (terminal === myTerm) {
const command = shellIntegration.executeCommand({
command: 'echo',
args: ['Hello world']
});
const code = await command.exitCode;
console.log(`Command exited with code ${code}`);
}
}));
// Fallback to sendText if there is no shell integration within 3 seconds of launching
setTimeout(() => {
if (!myTerm.shellIntegration) {
myTerm.sendText('echo "Hello world"');
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
}, 3000);
例
// Send command to terminal that has been alive for a while
const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
const command = term.shellIntegration.executeCommand({
command: 'echo',
args: ['Hello world']
});
const code = await command.exitCode;
console.log(`Command exited with code ${code}`);
} else {
term.sendText(commandLine);
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
パラメーター | 説明 |
---|---|
executable: string | 実行するコマンド。 |
args: string[] | 実行可能ファイルを起動するための引数。引数に空白文字が含まれており、単一引用符、二重引用符、またはバッククォート文字が含まれていない場合、引数は単一の引数として解釈されるようにエスケープされます。 このエスケープはセキュリティ対策を意図したものではないことに注意してください。 |
戻り値 | 説明 |
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'、'zsh' のいずれかとして定義されていることに注意してください。
TestController
テストを検出および実行するためのエントリポイント。TestController.items (エディターUIのポップアップに使用) と、テストの実行を可能にする実行プロファイルに関連付けられています。
プロパティ
tests.createTestController で渡されたコントローラーのID。これはグローバルに一意である必要があります。
items: TestItemCollection
「トップレベル」のTestItemインスタンスのコレクション。これらは、独自のchildrenを持ち、「テストツリー」を形成できます。
拡張機能は、テストを追加するタイミングを制御します。たとえば、ファイル内のテストの装飾を表示するために、拡張機能は workspace.onDidOpenTextDocument が発火したときにファイルのテストを追加する必要があります。
ただし、エディターは resolveHandler を使用して子を明示的に要求する場合があります。詳細については、そのメソッドのドキュメントを参照してください。
テストコントローラーの人間が読めるラベル。
refreshHandler: (token: CancellationToken) => void | Thenable<void>
このメソッドが存在する場合、UIに更新ボタンが表示され、クリックされるとこのメソッドが呼び出されます。呼び出されると、拡張機能はワークスペースをスキャンして、新規、変更、または削除されたテストを探す必要があります。
拡張機能は、たとえば FileSystemWatcher を使用して、リアルタイムでテストを更新し、このメソッドをフォールバックとして使用することをお勧めします。
パラメーター | 説明 |
---|---|
token: CancellationToken | |
戻り値 | 説明 |
void | Thenable<void> | テストが更新されたときに解決される Thenable。 |
resolveHandler?: (item: TestItem) => void | Thenable<void>
TestItem.canResolveChildren が true
の場合、エディターがテスト項目の子を要求するために呼び出すことができる、拡張機能によって提供される関数。呼び出されると、項目は子を検出し、子が検出されると TestController.createTestItem を呼び出す必要があります。
一般的に、拡張機能はテスト項目のライフサイクルを管理しますが、特定の場合には、エディターが特定の項目の子をロードするように要求する場合があります。たとえば、ユーザーがエディターをリロードした後でテストを再実行するように要求した場合、エディターは以前に実行されたテストを解決するためにこのメソッドを呼び出す必要がある場合があります。
エクスプローラーの項目は、関数が戻るか、戻り値の thenable が解決されるまで、自動的に「ビジー」としてマークされます。
メソッド
createRunProfile(label: string, kind: TestRunProfileKind, runHandler: (request: TestRunRequest, token: CancellationToken) => void | Thenable<void>, isDefault?: boolean, tag?: TestTag, supportsContinuousRun?: boolean): TestRunProfile
テストの実行に使用されるプロファイルを作成します。拡張機能は、テストを実行するために少なくとも1つのプロファイルを作成する必要があります。
パラメーター | 説明 |
---|---|
label: string | このプロファイルの人間が読めるラベル。 |
kind: TestRunProfileKind | このプロファイルが管理する実行の種類を構成します。 |
runHandler: (request: TestRunRequest, token: CancellationToken) => void | Thenable<void> | テスト実行を開始するために呼び出される関数。 |
isDefault?: boolean | これがその種類のデフォルトのアクションであるかどうか。 |
tag?: TestTag | プロファイルテストタグ。 |
supportsContinuousRun?: boolean | プロファイルが継続的な実行をサポートするかどうか。 |
戻り値 | 説明 |
TestRunProfile | TestRunProfile のインスタンス。これは自動的にこのコントローラーに関連付けられます。 |
createTestItem(id: string, label: string, uri?: Uri): TestItem
新しい管理対象の TestItem インスタンスを作成します。既存の項目の TestItem.children または TestController.items に追加できます。
パラメーター | 説明 |
---|---|
id: string | TestItem の識別子。テスト項目のIDは、追加される TestItemCollection 内で一意である必要があります。 |
label: string | テスト項目の人間が読めるラベル。 |
uri?: Uri | この TestItem が関連付けられている URI。ファイルまたはディレクトリの場合があります。 |
戻り値 | 説明 |
TestItem |
createTestRun(request: TestRunRequest, name?: string, persist?: boolean): TestRun
TestRun を作成します。これは、テストを実行するリクエストが行われたときに TestRunProfile によって呼び出される必要があり、テスト実行が外部で検出された場合にも呼び出すことができます。作成されると、リクエストに含まれるテストはキューに入れられた状態に移行されます。
同じ request
インスタンスを使用して作成されたすべての実行はグループ化されます。これは、たとえば、単一のテストスイートが複数のプラットフォームで実行されている場合に役立ちます。
パラメーター | 説明 |
---|---|
request: TestRunRequest | テスト実行リクエスト。 |
name?: string | 実行の人間が読める名前。これは、テスト実行で複数の結果セットを区別するために使用できます。たとえば、テストが複数のプラットフォームで実行されている場合に役立ちます。 |
persist?: boolean | 実行によって作成された結果をエディターに永続化するかどうか。結果がカバレッジ情報ファイルなど、外部に既に保存されているファイルから来ている場合は、false になる場合があります。 |
戻り値 | 説明 |
TestRun | TestRun のインスタンス。これは、このメソッドが呼び出された瞬間から TestRun.end が呼び出されるまで「実行中」と見なされます。 |
テストコントローラーを登録解除し、関連付けられたテストと永続化されていない結果を破棄します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
invalidateTestResults(items?: TestItem | readonly TestItem[]): void
項目の結果を古いものとしてマークします。これは通常、コードまたは構成が変更され、以前の結果が関連性がなくなったと見なされる場合に呼び出されます。結果を古いものとしてマークするために使用される同じロジックを、継続的なテスト実行を駆動するために使用できます。
項目がこのメソッドに渡されると、項目とそのすべての子のテスト結果は古いものとしてマークされます。項目が渡されない場合、TestController が所有するすべてのテストは古いものとしてマークされます。
このメソッドが呼び出される前に開始されたテスト実行 (まだ進行中の実行を含む) は、古いものとしてマークされ、エディターのUIで優先順位が下げられます。
TestCoverageCount
カバレッジされたリソースに関する情報を含むクラス。ファイル内の行、ブランチ、および宣言に対してカウントを与えることができます。
コンストラクター
new TestCoverageCount(covered: number, total: number): TestCoverageCount
パラメーター | 説明 |
---|---|
covered: number | |
total: number | |
戻り値 | 説明 |
TestCoverageCount |
プロパティ
ファイル内でカバレッジされた項目の数。
ファイル内でカバレッジされた項目の合計数。
TestItem
「テストエクスプローラー」ビューに表示される項目。
TestItem
は、テストスイートまたはテスト自体を表すことができます。どちらも同様の機能を備えているためです。
プロパティ
テストエクスプローラービューで項目を「ビジー」として表示するかどうかを制御します。これは、子を検出中にステータスを表示するのに役立ちます。
デフォルトは false
です。
このテスト項目が、解決処理によって子項目を発見できるかどうかを示します。
trueの場合、この項目はテストエクスプローラービューで展開可能として表示され、項目を展開すると、TestController.resolveHandler がその項目とともに呼び出されます。
デフォルトは false
です。
children: TestItemCollection
このテスト項目の子項目です。テストスイートの場合、個々のテストケースまたはネストされたスイートが含まれることがあります。
ラベルの横に表示されるオプションの説明です。
error: string | MarkdownString
テストのロード中に発生したオプションのエラーです。
これはテスト結果ではなく、構文エラーなどのテスト検出のエラーを表すためにのみ使用されるべきであることに注意してください。
TestItem
の識別子です。これは、ドキュメント内のテスト結果とテスト、およびワークスペース(テストエクスプローラー)内のテストを関連付けるために使用されます。これは TestItem
のライフタイムの間変更できず、親の直下の子の間で一意である必要があります。
テストケースを説明する表示名です。
parent: TestItem
この項目の親です。これは自動的に設定され、TestController.items のトップレベル項目、および別の項目の children にまだ含まれていない項目に対しては未定義です。
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 | 見つかった項目。存在しない場合は未定義。 |
replace(items: readonly TestItem[]): void
コレクションによって格納されている項目を置き換えます。
パラメーター | 説明 |
---|---|
items: readonly TestItem[] | 格納する項目。 |
戻り値 | 説明 |
void |
TestMessage
テスト状態に関連付けられたメッセージです。特定ソース範囲にリンクできます。たとえば、アサーションの失敗に役立ちます。
静的
diff(message: string | MarkdownString, expected: string, actual: string): TestMessage
エディターで差分として表示される新しい TestMessage を作成します。
パラメーター | 説明 |
---|---|
message: string | MarkdownString | ユーザーに表示するメッセージ。 |
expected: string | 期待される出力。 |
actual: string | 実際の出力。 |
戻り値 | 説明 |
TestMessage |
コンストラクター
new TestMessage(message: string | MarkdownString): TestMessage
新しい TestMessage インスタンスを作成します。
パラメーター | 説明 |
---|---|
message: string | MarkdownString | ユーザーに表示するメッセージ。 |
戻り値 | 説明 |
TestMessage |
プロパティ
実際のテスト出力。expectedOutput とともに指定された場合、差分ビューが表示されます。
テスト項目のコンテキスト値。これは、テストピークビューにメッセージ固有のアクションを提供するために使用できます。ここで設定された値は、次の menus
貢献ポイントの testMessage
プロパティにあります。
testing/message/context
- 結果ツリー内のメッセージのコンテキストメニューtesting/message/content
- メッセージが表示されるエディターコンテンツをオーバーレイする目立つボタン。
例:
"contributes": {
"menus": {
"testing/message/content": [
{
"command": "extension.deleteCommentThread",
"when": "testMessage == canApplyRichDiff"
}
]
}
}
コマンドは、次のオブジェクトとともに呼び出されます。
test
: メッセージが関連付けられている TestItem。TestController.items
コレクションにまだ存在する場合。message
: TestMessage インスタンス。
期待されるテスト出力。actualOutput とともに指定された場合、差分ビューが表示されます。
location?: Location
関連付けられたファイルロケーション。
message: string | MarkdownString
表示する人間が読めるメッセージテキスト。
stackTrace?: TestMessageStackFrame[]
メッセージまたは失敗に関連付けられたスタックトレース。
TestMessageStackFrame
TestMessage.stackTrace に見られるスタックフレーム。
コンストラクター
new TestMessageStackFrame(label: string, uri?: Uri, position?: Position): TestMessageStackFrame
パラメーター | 説明 |
---|---|
label: string | スタックフレームの名前 |
uri?: Uri | |
position?: Position | ファイル内のスタックフレームの位置 |
戻り値 | 説明 |
TestMessageStackFrame |
プロパティ
スタックフレームの名前。通常はメソッド名または関数名です。
position?: Position
ファイル内のスタックフレームの位置。
uri?: Uri
このスタックフレームの場所。呼び出しフレームの場所にエディターからアクセスできる場合は、URI として提供する必要があります。
TestRun
TestRun は、進行中または完了したテスト実行を表し、実行中の個々のテストの状態を報告する方法を提供します。
イベント
onDidDispose: Event<void>
エディターがテスト実行に関連付けられたデータに関心を示さなくなったときに発生するイベント。
プロパティ
テスト実行がエディターによる再読み込み後も永続化されるかどうか。
実行の人間が読める名前。これは、テスト実行で複数の結果セットを区別するために使用できます。たとえば、テストが複数のプラットフォームで実行されている場合に役立ちます。
token: CancellationToken
UI からテスト実行がキャンセルされたときにトリガーされるキャンセルトークン。
メソッド
addCoverage(fileCoverage: FileCoverage): void
実行中のファイルのカバレッジを追加します。
パラメーター | 説明 |
---|---|
fileCoverage: FileCoverage | |
戻り値 | 説明 |
void |
appendOutput(output: string, location?: Location, test?: TestItem): void
テストランナーからの生の出力を追加します。ユーザーのリクエストに応じて、出力はターミナルに表示されます。色やテキストスタイルなどの ANSI エスケープシーケンスがサポートされています。改行は、LF (\n
) ではなく CRLF (\r\n
) として指定する必要があります。
テスト実行の終了を通知します。状態が更新されていない実行に含まれるテストは、状態がリセットされます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
enqueued(test: TestItem): void
テストが後で実行するためにキューに入れられたことを示します。
パラメーター | 説明 |
---|---|
test: TestItem | 更新するテスト項目。 |
戻り値 | 説明 |
void |
errored(test: TestItem, message: TestMessage | readonly TestMessage[], duration?: number): void
テストがエラーになったことを示します。失敗を説明するために、1 つ以上の TestMessage を渡す必要があります。これは、たとえばコンパイルエラーからの、まったく実行できなかったテストを示す点で「失敗」状態とは異なります。
パラメーター | 説明 |
---|---|
test: TestItem | 更新するテスト項目。 |
message: TestMessage | readonly TestMessage[] | テストの失敗に関連付けられたメッセージ。 |
duration?: number | テストの実行にかかった時間(ミリ秒単位)。 |
戻り値 | 説明 |
void |
failed(test: TestItem, message: TestMessage | readonly TestMessage[], duration?: number): void
テストが失敗したことを示します。失敗を説明するために、1 つ以上の TestMessage を渡す必要があります。
パラメーター | 説明 |
---|---|
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>
テスト実行を開始するために呼び出されるハンドラー。呼び出された場合、関数は少なくとも 1 回 TestController.createTestRun を呼び出す必要があり、リクエストに関連付けられたすべてのテスト実行は、関数が戻るか、返された Promise が解決される前に作成される必要があります。
supportsContinuousRun が設定されている場合、TestRunRequest.continuous は true
になる可能性があります。この場合、プロファイルはソースコードの変更を監視し、token
でキャンセルがリクエストされるまで、TestController.createTestRun を呼び出すことによって新しいテスト実行を作成する必要があります。
パラメーター | 説明 |
---|---|
request: TestRunRequest | テスト実行のリクエスト情報。 |
token: CancellationToken | |
戻り値 | 説明 |
void | Thenable<void> |
supportsContinuousRun: boolean
このプロファイルがリクエストの継続的な実行をサポートするかどうか。サポートする場合、TestRunRequest.continuous を true
に設定できます。デフォルトは false です。
tag: TestTag
プロファイルに関連付けられたタグ。これが設定されている場合、同じタグが TestItem.tags 配列に含まれる TestItem インスタンスのみがこのプロファイルで実行する資格があります。
メソッド
実行プロファイルを削除します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
TestRunProfileKind
TestRunProfile が制御する実行の種類。
列挙メンバー
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[] | 実行する特定のテストの配列。すべてのテストを実行する場合は未定義。 |
exclude?: readonly TestItem[] | 実行から除外するテストの配列。 |
profile?: TestRunProfile | このリクエストに使用される実行プロファイル。 |
continuous?: boolean | ソースが変更されたときにテストを継続的に実行するかどうか。 |
preserveFocus?: boolean | 実行が開始されたときにユーザーのフォーカスを維持するかどうか |
戻り値 | 説明 |
TestRunRequest |
プロパティ
プロファイルがソースコードの変更に応じて継続的に実行されるかどうか。TestRunProfile.supportsContinuousRun を設定するプロファイルにのみ関連します。
exclude: readonly TestItem[]
ユーザーがこの実行に含まれるテストから除外するようにマークしたテストの配列。除外は包含の後に適用される必要があります。
除外がリクエストされなかった場合は省略される場合があります。テストコントローラーは、除外されたテストまたは除外されたテストの子を実行しないでください。
include: readonly TestItem[]
実行する特定のテストのフィルター。指定された場合、拡張機能は、TestRunRequest.exclude に表示されるテストを除外して、含まれるすべてのテストとそのすべての子を実行する必要があります。このプロパティが未定義の場合、拡張機能はすべてのテストを単に実行する必要があります。
テストを実行するプロセスでは、まだ解決されていないテスト項目の子を解決する必要があります。
テスト結果ビューのフォーカス方法を制御します。true の場合、エディターはユーザーのフォーカスを維持します。false の場合、エディターはテスト結果ビューにフォーカスを移動することを優先しますが、これはユーザーが構成できる場合があります。
profile: TestRunProfile
このリクエストに使用されるプロファイル。これは、エディター UI から発行されたリクエストに対して常に定義されますが、拡張機能はプロファイルに関連付けられていないリクエストをプログラムで作成する場合があります。
TestTag
タグは、TestItem および TestRunProfile に関連付けることができます。タグ付きのプロファイルは、TestItem.tags 配列にそのタグを含むテストのみを実行できます。
コンストラクター
new TestTag(id: string): TestTag
新しい TestTag インスタンスを作成します。
パラメーター | 説明 |
---|---|
id: string | テストタグの ID。 |
戻り値 | 説明 |
TestTag |
プロパティ
テストタグの ID。同じ ID を持つ TestTag
インスタンスは同一と見なされます。
TextDocument
ソースファイルなどのテキストドキュメントを表します。テキストドキュメントには lines があり、ファイルなどの基になるリソースに関する知識があります。
プロパティ
eol: EndOfLine
このドキュメントで主に使用されている 改行コード シーケンス。
関連付けられたリソースのファイルシステムパス。TextDocument.uri.fsPath の省略記法。uri スキームに依存しません。
ドキュメントが閉じられている場合は true
。閉じられたドキュメントは同期されなくなり、同じリソースが再度開かれたときに再利用されません。
未保存の変更がある場合はtrue
。
これは、まだ保存されたことのない名前のないファイルを表すドキュメントですか。注意 これは、ドキュメントがディスクに保存されることを意味するものではありません。Uri.scheme を使用して、ドキュメントが saved される場所(file
、ftp
など)を把握してください。
このドキュメントに関連付けられた言語の識別子。
このドキュメントの行数。
uri: Uri
このドキュメントに関連付けられた URI。
注意: ほとんどのドキュメントは file
スキームを使用しており、これはディスク上のファイルを意味します。しかし、すべてのドキュメントがディスクに保存されているわけではないため、基になるファイルやディスク上の兄弟ファイルにアクセスする前に、scheme
を確認する必要があります。
以下も参照してください
このドキュメントのバージョン番号(アンドゥ/リドゥを含む、各変更後に厳密に増加します)。
メソッド
getText(range?: Range): string
このドキュメントのテキストを取得します。範囲を指定することで、部分文字列を取得できます。範囲は調整されます。
パラメーター | 説明 |
---|---|
range?: Range | 範囲に含まれるテキストのみを含めます。 |
戻り値 | 説明 |
string | 指定された範囲内のテキスト、またはテキスト全体。 |
getWordRangeAtPosition(position: Position, regex?: RegExp): Range
指定された位置の単語範囲を取得します。デフォルトでは、単語はスペース、-、_ などの一般的な区切り文字で定義されます。さらに、言語ごとにカスタムの[単語定義]を定義できます。カスタム正規表現を提供することも可能です。
- 注 1: カスタム正規表現は空文字列に一致してはならず、一致した場合、無視されます。
- 注 2: カスタム正規表現は複数行の文字列とのマッチングに失敗し、速度の観点から正規表現はスペースを含む単語に一致すべきではありません。より複雑で単語的でないシナリオには、TextLine.text を使用してください。
位置は調整されます。
lineAt(line: number): TextLine
行番号で示されるテキスト行を返します。返されるオブジェクトはライブではなく、ドキュメントへの変更は反映されないことに注意してください。
lineAt(position: Position): TextLine
位置で示されるテキスト行を返します。返されるオブジェクトはライブではなく、ドキュメントへの変更は反映されないことに注意してください。
位置は調整されます。
offsetAt(position: Position): number
位置をゼロベースのオフセットに変換します。
位置は調整されます。
positionAt(offset: number): Position
ゼロベースのオフセットを位置に変換します。
基になるファイルを保存します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
Thenable<boolean> | ファイルが保存されたときに |
validatePosition(position: Position): Position
位置がこのドキュメントの範囲内に含まれていることを保証します。
validateRange(range: Range): Range
TextDocumentChangeEvent
トランザクション的なドキュメントの変更を記述するイベント。
プロパティ
contentChanges: readonly TextDocumentContentChangeEvent[]
コンテンツ変更の配列。
document: TextDocument
影響を受けたドキュメント。
reason: TextDocumentChangeReason
ドキュメントが変更された理由。理由が不明な場合は undefined
です。
TextDocumentChangeReason
テキストドキュメントが変更された理由。
列挙メンバー
テキストの変更がアンドゥ操作によって引き起こされた。
テキストの変更がリドゥ操作によって引き起こされた。
TextDocumentContentChangeEvent
ドキュメントのテキストにおける個々の変更を記述するイベント。
プロパティ
range: Range
置換された範囲。
置換された範囲の長さ。
置換された範囲のオフセット。
範囲の新しいテキスト。
TextDocumentContentProvider
テキストドキュメントコンテンツプロバイダーを使用すると、dll からのソースや md から生成された html など、読み取り専用ドキュメントをエディターに追加できます。
コンテンツプロバイダーは、uri スキームに対して登録されます。そのスキームを持つ uri がロードされると、コンテンツプロバイダーに問い合わせが行われます。
イベント
リソースが変更されたことを通知するイベント。
メソッド
provideTextDocumentContent(uri: Uri, token: CancellationToken): ProviderResult<string>
指定された uri のテキストコンテンツを提供します。
エディターは、返された文字列コンテンツを使用して読み取り専用のドキュメントを作成します。割り当てられたリソースは、対応するドキュメントが閉じられたときに解放する必要があります。
注意: 作成されたドキュメントの内容は、行末シーケンスの正規化により、提供されたテキストと同一ではない場合があります。
パラメーター | 説明 |
---|---|
uri: Uri | このプロバイダーが登録されたスキームに一致するスキームを持つ uri。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<string> | 文字列、またはそのような文字列に解決される Thenable。 |
TextDocumentSaveReason
テキストドキュメントが保存される理由を表します。
列挙メンバー
ユーザーが保存を押したり、デバッグを開始したり、API 呼び出しを行ったりするなど、手動でトリガーされた場合。
遅延後の自動保存。
エディターがフォーカスを失ったとき。
TextDocumentShowOptions
プロパティ
true
の場合、エディターがフォーカスを受け取るのを停止するオプションのフラグ。
エディタータブをプレビューとして表示するかどうかを制御するオプションのフラグ。プレビュータブは、明示的に、または編集によって維持されるように設定されるまで、置換および再利用されます。
注意: ユーザーが設定でプレビューエディターを無効にしている場合、このフラグは無視されます。
selection?: Range
エディター内のドキュメントに適用するオプションの選択範囲。
viewColumn?: ViewColumn
エディターを表示するオプションのビュー列。デフォルトは active です。存在しない列は、最大 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
ドキュメントで使用される eol シーケンス。
注意: eol シーケンスはドキュメント全体に適用されます。
この編集で挿入される文字列。
range: Range
この編集が適用される範囲。
TextEditor
ドキュメントにアタッチされたエディターを表します。
プロパティ
document: TextDocument
このテキストエディターに関連付けられたドキュメント。ドキュメントは、このテキストエディターの存続期間中ずっと同じです。
options: TextEditorOptions
テキストエディターのオプション。
selection: Selection
このテキストエディターのプライマリ選択範囲。TextEditor.selections[0]
のショートハンドです。
selections: readonly Selection[]
このテキストエディターの選択範囲。プライマリ選択範囲は常にインデックス 0 にあります。
viewColumn: ViewColumn
このエディターが表示される列。これがメインエディターの 1 つでない場合(例:埋め込みエディター)、またはエディター列が 3 より大きい場合は undefined
になります。
visibleRanges: readonly Range[]
エディターの現在の表示範囲(垂直方向)。これは垂直スクロールのみを考慮し、水平スクロールは考慮しません。
メソッド
edit(callback: (editBuilder: TextEditorEdit) => void, options?: {undoStopAfter: boolean, undoStopBefore: boolean}): Thenable<boolean>
このテキストエディターに関連付けられたドキュメントに対して編集を実行します。
指定されたコールバック関数は、編集を行うために使用する必要があるエディットビルダーとともに呼び出されます。エディットビルダーは、コールバックの実行中にのみ有効であることに注意してください。
パラメーター | 説明 |
---|---|
callback: (editBuilder: TextEditorEdit) => void | エディットビルダーを使用して編集を作成できる関数。 |
options?: {undoStopAfter: boolean, undoStopBefore: boolean} | この編集に関するアンドゥ/リドゥの動作。デフォルトでは、アンドゥストップはこの編集の前後に作成されます。 |
戻り値 | 説明 |
Thenable<boolean> | 編集が適用可能かどうかを示す値を解決する 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} | この編集に関するアンドゥ/リドゥの動作。デフォルトでは、アンドゥストップはこの編集の前後に作成されます。 |
戻り値 | 説明 |
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 オブジェクトは immutable(不変) です。ドキュメント が変更された場合、以前に取得した行は最新の状態を表しません。
プロパティ
firstNonWhitespaceCharacterIndex: number
/\s/
で定義される空白文字ではない最初の文字のオフセット。注意:行がすべて空白の場合、行の長さが返されます。
この行が空白のみであるかどうか。TextLine.firstNonWhitespaceCharacterIndex === TextLine.text.length の省略形。
ゼロベースの行番号。
range: Range
この行がカバーする範囲(行区切り文字を除く)。
rangeIncludingLineBreak: Range
この行がカバーする範囲(行区切り文字を含む)。
この行のテキスト(行区切り文字を除く)。
ThemableDecorationAttachmentRenderOptions
プロパティ
backgroundColor?: string | ThemeColor
装飾アタッチメントに適用される CSS スタイリングプロパティ。
装飾アタッチメントに適用される CSS スタイリングプロパティ。
borderColor?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
color?: string | ThemeColor
装飾アタッチメントに適用される CSS スタイリングプロパティ。
contentIconPath?: string | Uri
アタッチメントにレンダリングされる画像の 絶対パス または URI。アイコンまたはテキストのいずれかを表示できますが、両方を表示することはできません。
アタッチメントに表示されるテキストコンテンツを定義します。アイコンまたはテキストのいずれかを表示できますが、両方を表示することはできません。
装飾アタッチメントに適用される CSS スタイリングプロパティ。
装飾アタッチメントに適用される CSS スタイリングプロパティ。
装飾アタッチメントに適用される CSS スタイリングプロパティ。
装飾アタッチメントに適用される CSS スタイリングプロパティ。
装飾アタッチメントに適用される CSS スタイリングプロパティ。
装飾アタッチメントに適用される CSS スタイリングプロパティ。
ThemableDecorationInstanceRenderOptions
装飾インスタンスのテーマ対応レンダリングオプションを表します。
プロパティ
after?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの後に挿入される添付ファイルのレンダリングオプションを定義します。
before?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの前に挿入される添付ファイルのレンダリングオプションを定義します。
ThemableDecorationRenderOptions
テキストエディター装飾 のテーマ固有のレンダリングスタイルを表します。
プロパティ
after?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの後に挿入される添付ファイルのレンダリングオプションを定義します。
backgroundColor?: string | ThemeColor
デコレーションの背景色。他のデコレーションとうまく調和するように、rgba()を使用し、透明な背景色を定義します。または、カラーレジストリからの色を参照できます。
before?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの前に挿入される添付ファイルのレンダリングオプションを定義します。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
borderColor?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
color?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
gutterIconPath?: string | Uri
ガターにレンダリングされる画像の絶対パスまたはURI。
ガターアイコンのサイズを指定します。使用可能な値は、「auto」、「contain」、「cover」、および任意のパーセント値です。詳細については、https://msdn.microsoft.com/en-us/library/jj127316(v=vs.85).aspxを参照してください。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。
outlineColor?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個々のoutlineプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個々のoutlineプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイリングプロパティ。個々のoutlineプロパティの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 プロパティが未定義の場合にホバー時に呼び出されます。TreeItem プロパティが未定義の場合にツリーアイテムのクリック/オープン時に呼び出されます。 resolveTreeItem
で解決できるのは、未定義だったプロパティのみです。機能は、後で選択時やオープン時に他の不足しているプロパティを解決するために呼び出されるように拡張される可能性があります。
TreeItem ごとに 1 回だけ呼び出されます。
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 をサポートするには、特別な files
MIME タイプを使用してください。
ドラッグされたアイテムの MIME タイプを学習するには
DragAndDropController
をセットアップします- 「開発者: ログ レベルの設定...」コマンドを使用して、レベルを「Debug」に設定します
- 開発者ツールを開き、不明な MIME タイプを持つアイテムをツリーの上にドラッグします。
MIME タイプは開発者コンソールに記録されます
拡張機能に送信できない MIME タイプは省略されることに注意してください。
メソッド
handleDrag(source: readonly T[], dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>
ユーザーがこの DragAndDropController
からアイテムのドラッグを開始すると、handleDrag
が呼び出されます。
拡張機能は handleDrag
を使用して、DataTransferItem
アイテムをドラッグアンドドロップに追加できます。
アイテムが同じツリー内の別のツリーアイテムにドロップされると、DataTransferItem
オブジェクトは保持されます。
ツリーオブジェクトをデータ転送に追加するには、ツリーの推奨 MIME タイプ (application/vnd.code.tree.<treeidlowercase>
) を使用してください。
これを最大限に活用する方法については、DataTransferItem
のドキュメントを参照してください。
エディターにドラッグできるデータ転送アイテムを追加するには、アプリケーション固有の MIME タイプ "text/uri-list" を使用します。
"text/uri-list" のデータは、toString()
化された Uri を \r\n
で区切った文字列である必要があります。
ファイル内のカーソル位置を指定するには、Uri のフラグメントを L3,5
に設定します。ここで、3 は行番号、5 は列番号です。
パラメーター | 説明 |
---|---|
source: readonly T[] | ドラッグアンドドロップ操作のソースアイテム。 |
dataTransfer: DataTransfer | このドラッグに関連付けられたデータ転送。 |
token: CancellationToken | ドラッグがキャンセルされたことを示すキャンセル トークン。 |
戻り値 | 説明 |
void | Thenable<void> |
handleDrop(target: T, dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>
ドラッグアンドドロップ操作の結果、この DragAndDropController
が属するツリーにドロップが発生した場合に呼び出されます。
拡張機能は、更新する必要がある要素に対して onDidChangeTreeData を発生させる必要があります。
パラメーター | 説明 |
---|---|
target: T | ドロップが発生しているターゲット ツリー要素。 未定義の場合、ターゲットはルートです。 |
dataTransfer: DataTransfer | ドラッグのソースのデータ転送アイテム。 |
token: CancellationToken | ドロップがキャンセルされたことを示すキャンセル トークン。 |
戻り値 | 説明 |
void | Thenable<void> |
TreeItem
ツリーアイテムは、ツリーの UI 要素です。
ツリーアイテムは、データプロバイダーによって作成されます。
コンストラクター
new TreeItem(label: string | TreeItemLabel, collapsibleState?: TreeItemCollapsibleState): TreeItem
パラメーター | 説明 |
---|---|
label: string | TreeItemLabel | このアイテムを説明する人間が読める文字列 |
collapsibleState?: TreeItemCollapsibleState | ツリーアイテムの TreeItemCollapsibleState。 デフォルトは TreeItemCollapsibleState.None です |
戻り値 | 説明 |
TreeItem |
new TreeItem(resourceUri: Uri, collapsibleState?: TreeItemCollapsibleState): TreeItem
パラメーター | 説明 |
---|---|
resourceUri: Uri | このアイテムを表すリソースの Uri。 |
collapsibleState?: TreeItemCollapsibleState | ツリーアイテムの TreeItemCollapsibleState。 デフォルトは TreeItemCollapsibleState.None です |
戻り値 | 説明 |
TreeItem |
プロパティ
accessibilityInformation?: AccessibilityInformation
スクリーンリーダーがこのツリーアイテムと対話するときに使用されるアクセシビリティ情報。
一般的に、TreeItem は accessibilityInformation の role
を設定する必要はありません。
ただし、TreeItem がツリーのような方法で表示されない場合、role
を設定することが理にかなっている場合があります。
checkboxState?: TreeItemCheckboxState | {accessibilityInformation: AccessibilityInformation, state: TreeItemCheckboxState, tooltip: string}
ツリーアイテムの TreeItemCheckboxState。
checkboxState が変更された場合は、onDidChangeTreeData を発生させる必要があります。
collapsibleState?: TreeItemCollapsibleState
ツリーアイテムの TreeItemCollapsibleState。
command?: Command
ツリーアイテムが選択されたときに実行される Command。
ツリーアイテムがエディターで何かを開く場合は、コマンド ID として vscode.open
または vscode.diff
を使用してください。
これらのコマンドを使用すると、結果のエディターが他の組み込みツリーがエディターを開く方法と一貫性のある外観になることが保証されます。
ツリーアイテムのコンテキスト値。
これは、ツリー内のアイテム固有のアクションを提供するために使用できます。
たとえば、ツリーアイテムにはコンテキスト値として folder
が与えられます。
menus
拡張機能ポイントを使用して view/item/context
にアクションを提供する場合、when
式のキー viewItem
にコンテキスト値を viewItem == folder
のように指定できます。
"contributes": {
"menus": {
"view/item/context": [
{
"command": "extension.deleteFolder",
"when": "viewItem == folder"
}
]
}
}
これにより、contextValue
が folder
のアイテムに対してのみアクション extension.deleteFolder
が表示されます。
description?: string | boolean
目立たないようにレンダリングされる人間が読める文字列。
true
の場合、resourceUri から派生し、falsy
の場合、表示されません。
iconPath?: string | IconPath
ツリーアイテムのアイコンパスまたは ThemeIcon。
falsy
の場合、アイテムが折りたたみ可能な場合は フォルダーのテーマアイコン、それ以外の場合は ファイルのテーマアイコン が割り当てられます。
ThemeIcon ファイルまたはフォルダーが指定されている場合、resourceUri (提供されている場合) を使用して、指定されたテーマアイコンの現在のファイルアイコンテーマからアイコンが派生します。
ツリー全体で一意である必要があるツリーアイテムのオプションの ID。
ID は、ツリーアイテムの選択状態と展開状態を保持するために使用されます。
提供されていない場合、ID はツリーアイテムのラベルを使用して生成されます。
注意 ラベルが変更されると、ID が変更され、選択状態と展開状態を安定して維持できなくなることに注意してください。
label?: string | TreeItemLabel
このアイテムを説明する人間が読める文字列。
falsy
の場合、resourceUri から派生します。
resourceUri?: Uri
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 に表示するバッジ。
バッジを削除するには、未定義に設定します。
ビューのタイトルで目立たないようにレンダリングされるオプションの人間に読める説明。
タイトルの説明を null、未定義、または空文字列に設定すると、ビューから説明が削除されます。
ビューにレンダリングされるオプションの人間に読めるメッセージ。
メッセージを null、未定義、または空文字列に設定すると、ビューからメッセージが削除されます。
現在選択されている要素。
ツリービューのタイトルは、最初は拡張機能 package.json から取得されます。
title プロパティへの変更は、ビューのタイトルで UI に適切に反映されます。
ツリービューが表示されている場合は true
、それ以外の場合は false
。
メソッド
このオブジェクトを破棄します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
any |
reveal(element: T, options?: {expand: number | boolean, focus: boolean, select: boolean}): Thenable<void>
ツリービューに指定された要素を表示します。
ツリービューが表示されていない場合は、ツリービューが表示され、要素が表示されます。
デフォルトでは、表示された要素が選択されます。
選択しないようにするには、オプション select
を false
に設定します。
フォーカスするには、オプション focus
を true
に設定します。
表示された要素を展開するには、オプション expand
を true
に設定します。
再帰的に展開するには、expand
を展開するレベル数に設定します。
- 注: 最大 3 レベルまでしか展開できません。
- 注:
TreeView
が 登録されている TreeDataProvider は、この API にアクセスするために getParent メソッドを実装する必要があります。
パラメーター | 説明 |
---|---|
element: T | |
options?: {expand: number | boolean, focus: boolean, select: boolean} | |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 |
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
はパスコンポーネントのみに影響し、他のすべてのコンポーネント (スキーム、オーソリティ、クエリ、フラグメント) はそのまま残ります。 - 注 2: ベース URI にはパスが必要です。
そうでない場合はエラーがスローされます。
パスセグメントは、次の方法で正規化されます
- パス区切り文字 (
/
または\
) のシーケンスは、単一の区切り文字に置き換えられます - Windows 上の
file
-uri の場合、円記号文字 (``) はパス区切り文字と見なされます ..
-セグメントは親セグメントを示し、.
は現在のセグメントを示します- パスには常に残るルートがあります。
たとえば、Windows ではドライブ文字がルートであるため、これは true です。
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 は scheme を持つべきであるため、それは正しくありません。既存のコードの破損を避けるため、オプションの 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 の scheme を考慮しません。
- 結果の文字列は、表示目的ではなく、
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 の表現と正規化は、scheme によって異なります。
- 結果の文字列は、Uri.parse で安全に使用できます。
- 結果の文字列は、表示目的で使用する必要がありません。
注記: 実装は積極的にエンコードするため、予期しない結果になることが多いですが、不正な結果ではありません。たとえば、コロンは %3A
にエンコードされますが、file-uri では予期しない場合があります。また、&
および =
も http-uris では予期しないかもしれませんが、エンコードされます。安定上の理由から、これはもう変更できません。過度なエンコードに苦しんでいる場合は、skipEncoding
引数を使用する必要があります:uri.toString(true)
。
パラメーター | 説明 |
---|---|
skipEncoding?: boolean | 結果をパーセントエンコードしないようにします。デフォルトは |
戻り値 | 説明 |
string | この Uri の文字列表現。 |
with(change: {authority: string, fragment: string, path: string, query: string, scheme: string}): Uri
この Uri から新しい Uri を派生させます。
let file = Uri.parse('before:some/file/path');
let other = file.with({ scheme: 'after' });
assert.ok(other.toString() === 'after:some/file/path');
パラメーター | 説明 |
---|---|
change: {authority: string, fragment: string, path: string, query: string, scheme: string} | この Uri への変更を記述するオブジェクト。コンポーネントを未設定にするには、 |
戻り値 | 説明 |
Uri | 指定された変更を反映する新しい Uri。変更が何も変更しない場合は、 |
UriHandler
URI ハンドラーは、システム全体の URI を処理する役割を担います。
メソッド
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 を使用する際に、すべての標準的なウェブセキュリティのベストプラクティスに従う必要があります。これには、信頼できないすべての入力(ワークスペースからのコンテンツを含む)を適切にサニタイズし、コンテンツセキュリティポリシーを設定することが含まれます。
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 シリアライズ可能なオブジェクトである必要があります。 古いバージョンの VS Code では、 ただし、拡張機能が |
戻り値 | 説明 |
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://localhost:3000
)を別のポートにマッピングすることはできません。
WebviewPanel
webview を含むパネル。
イベント
onDidChangeViewState: Event<WebviewPanelOnDidChangeViewStateEvent>
パネルのビューの状態が変化したときに発生します。
onDidDispose: Event<void>
パネルが破棄されたときに発生します。
これは、ユーザーがパネルを閉じたか、.dispose()
が呼び出されたために発生する可能性があります。
破棄された後にパネルを使用しようとすると、例外がスローされます。
プロパティ
パネルがアクティブ(ユーザーによってフォーカスされている)かどうか。
iconPath?: Uri | {dark: Uri, light: Uri}
UI に表示されるパネルのアイコン。
options: WebviewPanelOptions
webview パネルのコンテンツ設定。
UI に表示されるパネルのタイトル。
viewColumn: ViewColumn
パネルのエディター位置。このプロパティは、webview がエディタービュー列のいずれかにある場合にのみ設定されます。
'markdown.preview'
など、webview パネルのタイプを識別します。
パネルが表示されているかどうか。
webview: Webview
Webview はパネルに属します。
メソッド
webview パネルを破棄します。
これにより、パネルが表示されている場合は閉じられ、webview が所有するリソースが破棄されます。Webview パネルは、ユーザーが webview パネルを閉じたときにも破棄されます。どちらの場合も、onDispose
イベントが発生します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
any |
reveal(viewColumn?: ViewColumn, preserveFocus?: boolean): void
指定された列に webview パネルを表示します。
webview パネルは、一度に 1 つの列にのみ表示できます。すでに表示されている場合、このメソッドはそれを新しい列に移動します。
パラメーター | 説明 |
---|---|
viewColumn?: ViewColumn | パネルを表示するビュー列。未定義の場合は、現在の |
preserveFocus?: boolean |
|
戻り値 | 説明 |
void |
WebviewPanelOnDidChangeViewStateEvent
webview パネルのビューの状態が変化したときに発生するイベント。
プロパティ
webviewPanel: WebviewPanel
ビューの状態が変化した Webview パネル。
WebviewPanelOptions
webview パネルのコンテンツ設定。
プロパティ
パネルで検索ウィジェットを有効にするかどうかを制御します。
デフォルトは false
です。
retainContextWhenHidden?: boolean
webview パネルのコンテンツ(iframe)が、パネルが非表示になっても保持されるかどうかを制御します。
通常、webview パネルの HTML コンテキストは、パネルが表示されるときに作成され、非表示になると破棄されます。複雑な状態または UI を持つ拡張機能は、retainContextWhenHidden
を設定して、エディターが webview コンテキストを保持するようにすることができます。これにより、webview がバックグラウンドタブに移動した場合でも保持されます。retainContextWhenHidden
を使用する webview が非表示になると、そのスクリプトやその他の動的コンテンツは中断されます。パネルが再び表示されると、コンテキストは元の状態とまったく同じ状態で自動的に復元されます。retainContextWhenHidden
が有効になっている場合でも、非表示の webview にメッセージを送信することはできません。
retainContextWhenHidden
はメモリオーバーヘッドが大きいため、パネルのコンテキストをすばやく保存および復元できない場合にのみ使用する必要があります。
WebviewPanelSerializer<T>
VS Code がシャットダウンしたときに永続化された 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 コンテンツからの永続化された状態。 |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 | webview が完全に復元されたことを示す Thenable。 |
WebviewPortMapping
webview 内の localhost に使用されるポートマッピングを定義します。
プロパティ
宛先ポート。webviewPort
はこのポートに解決されます。
webview 内でリマップする localhost ポート。
WebviewView
webview ベースのビュー。
イベント
onDidChangeVisibility: Event<void>
ビューの可視性が変化したときに発生するイベント。
可視性の変化をトリガーするアクション
- ビューが折りたたまれたり展開されたりした場合。
- ユーザーがサイドバーまたはパネルで別のビューグループに切り替えた場合。
コンテキストメニューを使用してビューを非表示にすると、ビューが破棄され、onDidDispose
が発生することに注意してください。
onDidDispose: Event<void>
ビューが破棄されたときに発生するイベント。
ビューは、ユーザーによって明示的に非表示にされたときに破棄されます(これは、ユーザーがビューを右クリックして webview ビューのチェックを外した場合に発生します)。
破棄された後にビューを使用しようとすると、例外がスローされます。
プロパティ
badge?: ViewBadge
この webview ビューに表示するバッジ。バッジを削除するには、未定義に設定します。
タイトルに目立たないように表示される人間が読める文字列。
UI に表示されるビュータイトル。
ビュータイトルは、最初は拡張機能の package.json
contribution から取得されます。
'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 view を解決します。
resolveWebviewView
は、ビューが最初に表示されるときに呼び出されます。これは、ビューが最初にロードされたとき、またはユーザーがビューを非表示にしてから再度表示したときに発生する可能性があります。
パラメーター | 説明 |
---|---|
webviewView: WebviewView | 復元する webview view。プロバイダーはこのビューの所有権を取得する必要があります。プロバイダーは、webview の |
context: WebviewViewResolveContext<unknown> | 解決されるビューに関する追加のメタデータ。 |
token: CancellationToken | 提供されるビューが不要になったことを示すキャンセル トークン。 |
戻り値 | 説明 |
void | Thenable<void> | ビューが完全に解決されたことを示すオプションの Thenable。 |
WebviewViewResolveContext<T>
解決される webview view に関する追加情報。
プロパティ
webview コンテンツからの永続化された状態。
リソースを節約するために、エディターは通常、表示されていない webview ドキュメント (iframe コンテンツ) を割り当て解除します。たとえば、ユーザーがビューを折りたたむか、サイドバーで別のトップレベルのアクティビティに切り替えると、WebviewView
自体は維持されますが、webview の基になるドキュメントは割り当て解除されます。ビューが再び表示されると再作成されます。
WebviewOptions
で retainContextWhenHidden
を設定すると、この動作を防ぐことができます。ただし、これによりリソース使用量が増加するため、可能な限り避ける必要があります。代わりに、永続化された状態を使用して webview の状態を保存し、必要に応じて迅速に再作成できるようにすることができます。
永続化された状態を保存するには、webview 内から acquireVsCodeApi().setState()
を任意の JSON シリアライズ可能なオブジェクトとともに呼び出します。状態を再度復元するには、getState()
を呼び出します。例:
// Within the webview
const vscode = acquireVsCodeApi();
// Get existing state
const oldState = vscode.getState() || { value: 0 };
// Update state
setState({ value: oldState.value + 1 });
エディターは、webview が非表示になっているとき、およびエディターの再起動をまたいで、永続化された状態が正しく保存されるようにします。
WindowState
ウィンドウの状態を表します。
プロパティ
ウィンドウが最近操作されたかどうか。これは、アクティビティが発生するとすぐに、またはユーザーがしばらく操作しなかった後に変更されます。
現在のウィンドウがフォーカスされているかどうか。
WorkspaceConfiguration
構成を表します。これは、以下のマージされたビューです。
- デフォルト設定
- グローバル (ユーザー) 設定
- ワークスペース設定
- ワークスペース フォルダー設定 - 要求されたリソースが属する ワークスペース フォルダー のいずれかから。
- 言語設定 - 要求された言語で定義された設定。
有効 な値 (get によって返される) は、次の順序で値をオーバーライドまたはマージすることによって計算されます。
defaultValue
(package.json
で定義されている場合。それ以外の場合は値の型から派生)globalValue
(定義されている場合)workspaceValue
(定義されている場合)workspaceFolderValue
(定義されている場合)defaultLanguageValue
(定義されている場合)globalLanguageValue
(定義されている場合)workspaceLanguageValue
(定義されている場合)workspaceFolderLanguageValue
(定義されている場合)
注: object
値型のみがマージされ、他のすべての値型はオーバーライドされます。
例 1: オーバーライド
defaultValue = 'on';
globalValue = 'relative';
workspaceFolderValue = 'off';
value = 'off';
例 2: 言語値
defaultValue = 'on';
globalValue = 'relative';
workspaceFolderValue = 'off';
globalLanguageValue = 'on';
value = 'on';
例 3: オブジェクト値
defaultValue = { a: 1, b: 2 };
globalValue = { b: 3, c: 4 };
value = { a: 1, b: 3, c: 4 };
注: ワークスペースおよびワークスペース フォルダーの構成には、launch
および tasks
設定が含まれています。それらのベース名は、セクション識別子の一部になります。次のスニペットは、launch.json
からすべての構成を取得する方法を示しています。
// launch.json configuration
const config = workspace.getConfiguration(
'launch',
vscode.workspace.workspaceFolders[0].uri
);
// retrieve values
const values = config.get('configurations');
詳細については、設定 を参照してください。
メソッド
この構成から値を返します。
パラメーター | 説明 |
---|---|
section: string | 構成名。ドット区切りの名前をサポートします。 |
戻り値 | 説明 |
T | 値 |
get<T>(section: string, defaultValue: T): T
この構成から値を返します。
パラメーター | 説明 |
---|---|
section: string | 構成名。ドット区切りの名前をサポートします。 |
defaultValue: T | 値が見つからなかった場合、 |
戻り値 | 説明 |
T | 値 |
この構成に特定の値があるかどうかを確認します。
パラメーター | 説明 |
---|---|
section: string | 構成名。ドット区切りの名前をサポートします。 |
戻り値 | 説明 |
boolean | セクションが |
inspect<T>(section: string): {defaultLanguageValue: T, defaultValue: T, globalLanguageValue: T, globalValue: T, key: string, languageIds: string[], workspaceFolderLanguageValue: T, workspaceFolderValue: T, workspaceLanguageValue: T, workspaceValue: T}
構成設定に関するすべての情報を取得します。構成値は多くの場合、デフォルト 値、グローバルまたはインストール全体の値、ワークスペース固有の値、フォルダー固有の値、および言語固有の値 (WorkspaceConfiguration が言語にスコープされている場合) で構成されます。
また、特定の構成設定が定義されているすべての言語 ID も提供します。
注: 構成名は、構成ツリーのリーフ (editor.fontSize
対 editor
) を示す必要があります。そうしないと、結果は返されません。
パラメーター | 説明 |
---|---|
section: string | 構成名。ドット区切りの名前をサポートします。 |
戻り値 | 説明 |
{defaultLanguageValue: T, defaultValue: T, globalLanguageValue: T, globalValue: T, key: string, languageIds: string[], workspaceFolderLanguageValue: T, workspaceFolderValue: T, workspaceLanguageValue: T, workspaceValue: T} | 構成設定に関する情報または |
update(section: string, value: any, configurationTarget?: boolean | ConfigurationTarget, overrideInLanguage?: boolean): Thenable<void>
構成値を更新します。更新された構成値は永続化されます。
値は、次の中で変更できます。
- グローバル設定: エディターのすべてのインスタンスの値を変更します。
- ワークスペース設定: 現在のワークスペース (利用可能な場合) の値を変更します。
- ワークスペース フォルダー設定: 要求されたリソースが属する ワークスペース フォルダー のいずれかの設定の値を変更します。
- 言語設定: 要求された languageId の値を変更します。
注: 構成値を削除するには、次のように undefined
を使用します: config.update('somekey', undefined)
- throws - 更新中のエラー
- 登録されていない構成。
- ワークスペース フォルダーへのウィンドウ構成
- ワークスペースが開かれていない場合のワークスペースまたはワークスペース フォルダーへの構成。
- ワークスペース フォルダー設定がない場合のワークスペース フォルダーへの構成。
- WorkspaceConfiguration がリソースにスコープされていない場合のワークスペース フォルダーへの構成。
パラメーター | 説明 |
---|---|
section: string | 構成名。ドット区切りの名前をサポートします。 |
value: any | 新しい値。 |
configurationTarget?: boolean | ConfigurationTarget | 構成ターゲット またはブール値。 - |
overrideInLanguage?: boolean | 要求された languageId のスコープ内で値を更新するかどうか。 - |
戻り値 | 説明 |
停止する デバッグセッション。省略すると、すべてのセッションが停止されます。 |
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
ワークスペース編集のエントリの追加データ。エントリにラベルを付け、ユーザーによる確認が必要なエントリをマークすることをサポートします。エディターは、同じラベルを持つ編集をツリーノードにグループ化します。たとえば、「文字列の変更」というラベルの付いたすべての編集はツリーノードになります。
プロパティ
同じ行に目立たないようにレンダリングされる、人間が読める文字列。
iconPath?: IconPath
編集のアイコンパスまたは ThemeIcon。
目立つようにレンダリングされる、人間が読める文字列。
ユーザーの確認が必要であることを示すフラグ。
WorkspaceEditMetadata
ワークスペース編集に関する追加データ。
プロパティ
この編集がリファクタリングであることをエディターに通知します。
WorkspaceFolder
ワークスペース フォルダーは、エディターによって開かれた可能性のある多数のルートの 1 つです。すべてのワークスペース フォルダーは同等であり、アクティブまたはプライマリ ワークスペース フォルダーの概念はありません。
プロパティ
このワークスペース フォルダーの序数。
このワークスペース フォルダーの名前。デフォルトでは、uri パス のベース名。
uri: Uri
このワークスペース フォルダーに関連付けられた URI。
注: Uri 型は、エディターの将来のリリースで、ローカル ディスクに保存されていないワークスペース フォルダー (例: ftp://server/workspaces/foo
) をサポートできるように意図的に選択されました。
WorkspaceFolderPickOptions
ワークスペース フォルダー ピック UI の動作を構成するためのオプション。
プロパティ
フォーカスがエディターの別の部分または別のウィンドウに移動しても、ピッカーを開いたままにする場合は true
に設定します。この設定は iPad では無視され、常に false になります。
ユーザーが何を選択すべきかをガイドするために、入力ボックスにプレースホルダーとして表示するオプションの文字列。
WorkspaceFoldersChangeEvent
ワークスペース フォルダー のセットへの変更を記述するイベント。
プロパティ
added: readonly WorkspaceFolder[]
追加されたワークスペース フォルダー。
removed: readonly WorkspaceFolder[]
削除されたワークスペース フォルダー。
WorkspaceSymbolProvider<T>
ワークスペース シンボル プロバイダー インターフェイスは、拡張機能と シンボル検索 機能間のコントラクトを定義します。
メソッド
provideWorkspaceSymbols(query: string, token: CancellationToken): ProviderResult<T[]>
指定されたクエリ文字列に一致するシンボルのプロジェクト全体の検索。
query
パラメーターは、エディターが独自の強調表示とスコアリングを結果に適用するため、緩やかな方法で解釈する必要があります。良い経験則は、大文字と小文字を区別せずに一致させ、query の文字が候補シンボル内でその順序で出現することを確認することです。プレフィックス、サブストリング、または同様の厳密なマッチングは使用しないでください。
パフォーマンスを向上させるために、実装者は resolveWorkspaceSymbol
を実装し、range
が定義されていない部分的な location オブジェクトを持つシンボルを提供できます。エディターは、ワークスペース シンボルを開くときなど、選択されたシンボルに対してのみ resolveWorkspaceSymbol
を呼び出します。
パラメーター | 説明 |
---|---|
query: string | クエリ文字列。空の文字列の場合もあります。その場合、すべてのシンボルを返す必要があります。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T[]> | ドキュメントハイライトの配列、またはそのような配列に解決される Thenable。結果がない場合は、 |
resolveWorkspaceSymbol(symbol: T, token: CancellationToken): ProviderResult<T>
シンボルが UI で選択されるたびに、location を入力します。プロバイダーは、このメソッドを実装し、provideWorkspaceSymbols から不完全なシンボルを返すことができます。これは、多くの場合、パフォーマンスの向上に役立ちます。
パラメーター | 説明 |
---|---|
symbol: T | 解決されるシンボル。以前の |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T> | 解決されたシンボル、またはそれを解決する Thenable。結果が返されない場合、指定された |
API パターン
これらは、VS Code API で使用する一般的なパターンのいくつかです。
Promises (プロミス)
VS Code API は、非同期操作を promises (プロミス) で表します。拡張機能からは、ES6、WinJS、A+ など、任意の タイプのプロミスを返すことができます。
特定のプロミス ライブラリに依存しないことは、API で Thenable
型によって表現されています。Thenable
は、then メソッドである共通の分母を表します。
ほとんどの場合、プロミスの使用はオプションであり、VS Code が拡張機能を呼び出すと、結果の型 と 結果の型 の Thenable
の両方を処理できます。プロミスの使用がオプションの場合、API は or
型を返すことによってこれを示します。
provideNumber(): number | Thenable<number>
Cancellation Tokens (キャンセル トークン)
多くの場合、操作は、操作が完了する前に変化する揮発性状態に対して開始されます。たとえば、IntelliSense の計算が開始され、ユーザーがタイプ入力を続けると、その操作の結果は古くなります。
そのような動作にさらされる API には、キャンセルを確認できる (isCancellationRequested
) またはキャンセルが発生したときに通知を受け取ることができる (onCancellationRequested
) CancellationToken
が渡されます。キャンセル トークンは通常、関数呼び出しの最後のパラメーターであり、オプションです。
Disposables (ディスポーザブル)
VS Code API は、VS Code から取得したリソースに対して dispose パターン を使用します。これは、イベント リスニング、コマンド、UI との対話、およびさまざまな言語コントリビューションに適用されます。
たとえば、setStatusBarMessage(value: string)
関数は、dispose
を呼び出すとメッセージを再度削除する Disposable
を返します。
イベント
VS Code API のイベントは、サブスクライブするためのリスナー関数で呼び出す関数として公開されます。サブスクライブの呼び出しは、dispose 時にイベント リスナーを削除する Disposable
を返します。
var listener = function(event) {
console.log('It happened', event);
};
// start listening
var subscription = fsWatcher.onDidDelete(listener);
// do more stuff
subscription.dispose(); // stop listening
イベントの名前は、on[Will|Did]VerbNoun?
パターンに従います。名前は、イベントがこれから発生するのか (onWill) 、または既に発生したのか (onDid)、何が起こったのか (verb)、およびコンテキストから明らかな場合を除き、コンテキスト (noun) を示します。
VS Code API の例は window.onDidChangeActiveTextEditor
です。これは、アクティブなテキスト エディター (noun) が (onDid) 変更された (verb) ときに発生するイベントです。
Strict null (厳密な null チェック)
VS Code API は、厳密な null チェック をサポートするために、必要に応じて undefined
および null
TypeScript 型を使用します。
認証用の名前空間。