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
キーボードショートカット、メニュー項目、アクション、または直接呼び出すことができるテキストエディターコマンドを登録します。
テキストエディターコマンドは、コマンドが呼び出されたときにアクティブなエディターがある場合にのみ実行されるため、通常のコマンドとは異なります。また、エディターコマンドのコマンドハンドラーは、アクティブなエディターと編集ビルダーにアクセスできます。編集ビルダーはコールバックの実行中にのみ有効であることに注意してください。
パラメーター | 説明 |
---|---|
command: string | コマンドの一意の識別子。 |
callback: (textEditor: TextEditor, edit: TextEditorEdit, args: any[]) => void | |
thisArg?: any | ハンドラー関数を呼び出すときに使用される |
戻り値 | 説明 |
Disposable | 破棄時にこのコマンドを登録解除するDisposable。 |
コメント
関数
createCommentController(id: string, label: string): CommentController
新しいコメントコントローラーインスタンスを作成します。
パラメーター | 説明 |
---|---|
id: string | コメントコントローラーの |
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
デバッグアダプタープロトコルを介して受信した「Source」ディスクリプターオブジェクトを、そのコンテンツをロードするために使用できるUriに変換します。ソースディスクリプターがパスに基づいている場合、ファイルUriが返されます。ソースディスクリプターが参照番号を使用する場合、対応するContentProviderと実行中のデバッグセッションを必要とする特定のデバッグUri (スキーム 'debug') が構築されます。
「Source」ディスクリプターにUriを作成するための情報が不足している場合、エラーがスローされます。
パラメーター | 説明 |
---|---|
source: DebugProtocolSource | デバッグアダプタープロトコルで定義されているSource型に準拠するオブジェクト。 |
session?: DebugSession | ソースディスクリプターが参照番号を使用してアクティブなデバッグセッションからコンテンツをロードする場合に使用されるオプションのデバッグセッション。 |
戻り値 | 説明 |
Uri | ソースのコンテンツをロードするために使用できるUri。 |
registerDebugAdapterDescriptorFactory(debugType: string, factory: DebugAdapterDescriptorFactory): Disposable
特定のデバッグタイプのデバッグアダプターディスクリプターファクトリを登録します。拡張機能は、拡張機能によって定義されたデバッグタイプに対してのみDebugAdapterDescriptorFactoryを登録できます。そうしないと、エラーがスローされます。デバッグタイプに対して複数のDebugAdapterDescriptorFactoryを登録すると、エラーが発生します。
パラメーター | 説明 |
---|---|
debugType: string | ファクトリが登録されるデバッグタイプ。 |
factory: DebugAdapterDescriptorFactory | |
戻り値 | 説明 |
Disposable | 破棄時にこのファクトリを登録解除するDisposable。 |
registerDebugAdapterTrackerFactory(debugType: string, factory: DebugAdapterTrackerFactory): Disposable
指定されたデバッグタイプのデバッグアダプタートラッカーファクトリを登録します。
パラメーター | 説明 |
---|---|
debugType: string | ファクトリが登録されるデバッグタイプ、またはすべてのデバッグタイプに一致する「*」。 |
factory: DebugAdapterTrackerFactory | 登録するデバッグアダプタートラッカーファクトリ。 |
戻り値 | 説明 |
Disposable | 破棄時にこのファクトリを登録解除するDisposable。 |
registerDebugConfigurationProvider(debugType: string, provider: DebugConfigurationProvider, triggerKind?: DebugConfigurationProviderTriggerKind): Disposable
特定のデバッグタイプのデバッグ構成プロバイダーを登録します。オプションのtriggerKindは、プロバイダーのprovideDebugConfigurations
メソッドがトリガーされるタイミングを指定するために使用できます。現在、2つのトリガー種類が可能です: Initial
(またはトリガー種類引数が指定されていない場合) の値を使用すると、provideDebugConfigurations
メソッドは新しく作成されたlaunch.jsonにコピーされる初期デバッグ構成を提供するために使用されます。Dynamic
のトリガー種類を使用すると、provideDebugConfigurations
メソッドは、ユーザーに提示されるデバッグ構成を動的に決定するために使用されます (launch.jsonからの静的構成に加えて)。triggerKind
引数はprovideDebugConfigurations
メソッドにのみ適用されることに注意してください。つまり、resolveDebugConfiguration
メソッドはまったく影響を受けません。異なるトリガー種類に対して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 | 停止するデバッグセッション。省略された場合、すべてのセッションが停止されます。 |
戻り値 | 説明 |
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からアクセスされるかを示します。例えば、拡張機能はデスクトップアプリケーションやウェブブラウザからアクセスできます。
オペレーティングシステムにエディターが登録するカスタムURIスキーム。
イベント
onDidChangeLogLevel: Event<LogLevel>
エディターのログレベルが変更されたときに発生するイベント。
onDidChangeShell: Event<string>
デフォルトシェルが変更されたときに発生するイベント。これは新しいシェルパスと共に発生します。
onDidChangeTelemetryEnabled: Event<boolean>
ユーザーがテレメトリを有効または無効にしたときに発生するイベント。ユーザーがテレメトリを有効にした場合はtrue
、無効にした場合はfalse
。
関数
asExternalUri(target: Uri): Thenable<Uri>
外部からアクセス可能な形式にUriを解決します。
http:
または https:
スキーム
拡張機能が実行されている場所から、http:
またはhttps:
リンクなどの外部Uriを、クライアントマシン上の同じリソースへのUriに解決します。
拡張機能がクライアントマシンで実行されている場合、これはno-opです。
拡張機能がリモートで実行されている場合、この関数はローカルマシンからリモートのtarget
へのポート転送トンネルを自動的に確立し、トンネルへのローカルUriを返します。ポート転送トンネルの有効期間はエディターによって管理され、トンネルはユーザーが閉じることができます。
注意: openExternal
を介して渡されるUriは自動的に解決されるため、それらに対してasExternalUri
を呼び出すべきではありません。
vscode.env.uriScheme
ブラウザで開かれた場合 (例: openExternal
経由) に、登録されたUriHandlerをトリガーするUriを作成します。
拡張機能は、結果のUriについていかなる仮定もすべきではなく、いかなる方法でも変更すべきではありません。むしろ、拡張機能は、例えば、認証するサーバーへのコールバッククエリ引数としてUriを追加することにより、このUriを認証フローで使用できます。
注意: サーバーがUriに追加のクエリパラメータ (例: トークンやシークレット) を追加することを決定した場合、それはUriHandlerに渡されるUriに表示されます。
認証フローの例
vscode.window.registerUriHandler({
handleUri(uri: vscode.Uri): vscode.ProviderResult<void> {
if (uri.path === '/did-authenticate') {
console.log(uri.toString());
}
}
});
const callableUri = await vscode.env.asExternalUri(
vscode.Uri.parse(vscode.env.uriScheme + '://my.extension/did-authenticate')
);
await vscode.env.openExternal(callableUri);
注意: 拡張機能はasExternalUri
の結果をキャッシュすべきではありません。解決されたUriは、システムまたはユーザーのアクションによって無効になる可能性があるためです。例えば、リモートの場合、ユーザーはasExternalUri
によって開かれたポート転送トンネルを閉じることがあります。
その他のスキーム
その他のスキームは、提供されたURIがワークスペースURIであるかのように処理されます。その場合、このメソッドは、処理されるとエディターがワークスペースを開くURIを返します。
createTelemetryLogger(sender: TelemetrySender, options?: TelemetryLoggerOptions): TelemetryLogger
新しいテレメトリロガーを作成します。
パラメーター | 説明 |
---|---|
sender: TelemetrySender | テレメトリロガーによって使用されるテレメトリ送信者。 |
options?: TelemetryLoggerOptions | テレメトリロガーのオプション。 |
戻り値 | 説明 |
TelemetryLogger | 新しいテレメトリロガー。 |
openExternal(target: Uri): Thenable<boolean>
デフォルトのアプリケーションを使用して、リンクを外部で開きます。使用されるスキームに応じて、これは次のようになります。
- ブラウザ (
http:
,https:
) - メールクライアント (
mailto:
) - VSCode自体 (
vscode.env.uriScheme
からのvscode:
)
注意: showTextDocumentは、エディター内でテキストドキュメントを開くための正しい方法であり、この関数ではありません。
パラメーター | 説明 |
---|---|
target: Uri | 開かれるべきUri。 |
戻り値 | 説明 |
Thenable<boolean> | 開くのが成功したかどうかを示すプロミス。 |
拡張機能
インストールされた拡張機能を扱う名前空間。拡張機能は、それらに対するリフレクションを可能にする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言語機能、GitHub認証) は、l10n
プロパティ要件から除外されます。つまり、翻訳された文字列は言語パックから提供されるため、拡張機能マニフェストにl10n
を指定する必要はありません。
変数
拡張機能のためにロードされたローカライズされた文字列のバンドル。バンドルがロードされていない場合、undefinedです。バンドルが見つからなかった場合、またはデフォルト言語で実行している場合、通常バンドルはロードされません。
uri: Uri | undefined
拡張機能のためにロードされたローカライゼーションバンドルのURI。バンドルがロードされていない場合、undefinedです。バンドルが見つからなかった場合、またはデフォルト言語で実行している場合、通常バンドルはロードされません。
関数
t(message: string, ...args: Array<string | number | boolean>): string
文字列をローカライゼーション用にマークします。env.languageで指定された言語にローカライズされたバンドルが利用可能であり、そのバンドルにこのメッセージのローカライズされた値がある場合、そのローカライズされた値が返されます (テンプレート化された値にはargs値が挿入されます)。
例
l10n.t('Hello {0}!', 'World');
パラメーター | 説明 |
---|---|
message: string | ローカライズするメッセージ。 |
...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!');
}
});
登録は、javascript
のような言語ID、または{ language: 'typescript', scheme: 'file' }
のようなより複雑なフィルターであるドキュメントセレクターを使用して行われます。このようなセレクターに対してドキュメントを照合すると、プロバイダーが使用されるかどうか、およびどのように使用されるかを決定するために使用されるスコアが得られます。スコアが同じ場合、最後に登録されたプロバイダーが優先されます。ホバーのような完全なアリティを許可する機能の場合、スコアは>0
であるかどうかのみがチェックされ、IntelliSenseのような他の機能の場合、スコアはプロバイダーに参加を要求する順序を決定するために使用されます。
イベント
onDidChangeDiagnostics: Event<DiagnosticChangeEvent>
グローバルな診断セットが変更されたときに発生するイベント。これは新しく追加された診断と削除された診断です。
関数
createDiagnosticCollection(name?: string): DiagnosticCollection
診断コレクションを作成します。
パラメーター | 説明 |
---|---|
name?: string | コレクションの名前。 |
戻り値 | 説明 |
DiagnosticCollection | 新しい診断コレクション。 |
createLanguageStatusItem(id: string, selector: DocumentSelector): LanguageStatusItem
新しい言語ステータス項目を作成します。
パラメーター | 説明 |
---|---|
id: string | 項目の識別子。 |
selector: DocumentSelector | 項目が表示されるエディターを定義するドキュメントセレクター。 |
戻り値 | 説明 |
LanguageStatusItem | 新しい言語ステータス項目。 |
getDiagnostics(resource: Uri): Diagnostic[]
指定されたリソースのすべての診断を取得します。
パラメーター | 説明 |
---|---|
resource: Uri | リソース |
戻り値 | 説明 |
Diagnostic[] | 診断オブジェクトの配列、または空の配列。 |
getDiagnostics(): Array<[Uri, Diagnostic[]]>
すべての診断を取得します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
Array<[Uri, Diagnostic[]]> | Uri-診断タプルの配列、または空の配列。 |
getLanguages(): Thenable<string[]>
既知のすべての言語の識別子を返します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
Thenable<string[]> | 識別子文字列の配列に解決されるPromise。 |
match(selector: DocumentSelector, document: TextDocument): number
ドキュメントセレクターとドキュメント間のマッチングを計算します。ゼロより大きい値は、セレクターがドキュメントに一致することを意味します。
一致はこれらのルールに従って計算されます
- DocumentSelectorが配列の場合、含まれる各
DocumentFilter
または言語識別子の一致を計算し、最大値を取ります。 - 文字列は、DocumentFilterの
language
部分となるようにデシュガーされます。したがって、"fooLang"
は{ language: "fooLang" }
のようになります。 - DocumentFilterは、その部分をドキュメントと比較することでドキュメントと一致させます。以下のルールが適用されます。
DocumentFilter
が空 ({}
) の場合、結果は0
。scheme
、language
、pattern
、またはnotebook
が定義されていても、いずれかが一致しない場合、結果は0
。*
との一致はスコア5
を与え、等価またはグロブパターンによる一致はスコア10
を与えます。- 結果は各マッチの最大値です。
サンプル
// default document from disk (file-scheme)
doc.uri; //'file:///my/file.js'
doc.languageId; // 'javascript'
match('javascript', doc); // 10;
match({ language: 'javascript' }, doc); // 10;
match({ language: 'javascript', scheme: 'file' }, doc); // 10;
match('*', doc); // 5
match('fooLang', doc); // 0
match(['fooLang', '*'], doc); // 5
// virtual document, e.g. from git-index
doc.uri; // 'git:/my/file.js'
doc.languageId; // 'javascript'
match('javascript', doc); // 10;
match({ language: 'javascript', scheme: 'git' }, doc); // 10;
match('*', doc); // 5
// notebook cell document
doc.uri; // `vscode-notebook-cell:///my/notebook.ipynb#gl65s2pmha`;
doc.languageId; // 'python'
match({ notebookType: 'jupyter-notebook' }, doc); // 10
match({ notebookType: 'fooNotebook', language: 'python' }, doc); // 0
match({ language: 'python' }, doc); // 10
match({ notebookType: '*' }, doc); // 5
パラメーター | 説明 |
---|---|
selector: DocumentSelector | ドキュメントセレクター。 |
document: TextDocument | テキストドキュメント。 |
戻り値 | 説明 |
number | セレクターが一致する場合は |
registerCallHierarchyProvider(selector: DocumentSelector, provider: CallHierarchyProvider): Disposable
コール階層プロバイダーを登録します。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: CallHierarchyProvider | コール階層プロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerCodeActionsProvider(selector: DocumentSelector, provider: CodeActionProvider<CodeAction>, metadata?: CodeActionProviderMetadata): Disposable
コードアクションプロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: CodeActionProvider<CodeAction> | コードアクションプロバイダー。 |
metadata?: CodeActionProviderMetadata | プロバイダーが提供するコードアクションの種類に関するメタデータ。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerCodeLensProvider(selector: DocumentSelector, provider: CodeLensProvider<CodeLens>): Disposable
コードレンズプロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: CodeLensProvider<CodeLens> | コードレンズプロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerColorProvider(selector: DocumentSelector, provider: DocumentColorProvider): Disposable
カラープロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DocumentColorProvider | カラープロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerCompletionItemProvider(selector: DocumentSelector, provider: CompletionItemProvider<CompletionItem>, ...triggerCharacters: string[]): Disposable
補完プロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、同等のスコアを持つグループは順次補完項目を要求されます。1つまたは複数のグループのプロバイダーが結果を返すと、プロセスは停止します。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。
補完項目プロバイダーは、triggerCharacters
のセットと関連付けることができます。トリガー文字が入力されると、補完が要求されますが、入力された文字を登録したプロバイダーからのみです。そのため、トリガー文字は単語文字とは異なるべきであり、一般的なトリガー文字はメンバー補完をトリガーするための.
です。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: CompletionItemProvider<CompletionItem> | 補完プロバイダー。 |
...triggerCharacters: string[] | ユーザーが文字のいずれかをタイプしたときに補完をトリガーします。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerDeclarationProvider(selector: DocumentSelector, provider: DeclarationProvider): Disposable
宣言プロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DeclarationProvider | 宣言プロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerDefinitionProvider(selector: DocumentSelector, provider: DefinitionProvider): Disposable
定義プロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DefinitionProvider | 定義プロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerDocumentDropEditProvider(selector: DocumentSelector, provider: DocumentDropEditProvider<DocumentDropEdit>, metadata?: DocumentDropEditProviderMetadata): Disposable
新しいDocumentDropEditProviderを登録します。
1つの言語に対して複数のドロッププロバイダーを登録できます。コンテンツをエディターにドロップすると、エディターの言語に登録されたすべてのプロバイダーが、DocumentDropEditProviderMetadataで指定された処理するMIMEタイプに基づいて呼び出されます。
各プロバイダーは1つ以上のDocumentDropEditsを返すことができます。編集はDocumentDropEdit.yieldToプロパティを使用してソートされます。デフォルトでは最初の編集が適用されます。追加の編集がある場合、それらはドロップウィジェットで選択可能なドロップオプションとしてユーザーに表示されます。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DocumentDropEditProvider<DocumentDropEdit> | ドロッププロバイダー。 |
metadata?: DocumentDropEditProviderMetadata | プロバイダーに関する追加のメタデータ。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerDocumentFormattingEditProvider(selector: DocumentSelector, provider: DocumentFormattingEditProvider): Disposable
ドキュメントの書式設定プロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DocumentFormattingEditProvider | ドキュメント書式設定編集プロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerDocumentHighlightProvider(selector: DocumentSelector, provider: DocumentHighlightProvider): Disposable
ドキュメントハイライトプロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、グループは順次ドキュメントハイライトを要求されます。プロバイダーがnon-falsy
またはnon-failure
の結果を返すと、プロセスは停止します。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DocumentHighlightProvider | ドキュメントハイライトプロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerDocumentLinkProvider(selector: DocumentSelector, provider: DocumentLinkProvider<DocumentLink>): Disposable
ドキュメントリンクプロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DocumentLinkProvider<DocumentLink> | ドキュメントリンクプロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerDocumentPasteEditProvider(selector: DocumentSelector, provider: DocumentPasteEditProvider<DocumentPasteEdit>, metadata: DocumentPasteProviderMetadata): Disposable
新しいDocumentPasteEditProviderを登録します。
1つの言語に対して複数のプロバイダーを登録できます。ある言語に対して登録されているすべてのプロバイダーは、DocumentPasteProviderMetadataで指定された、処理するMIMEタイプに基づいてコピーアンドペースト操作で呼び出されます。
コピー操作の場合、各プロバイダーによって行われた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
ドキュメント範囲の書式設定プロバイダーを登録します。
注意: ドキュメント範囲プロバイダーはドキュメントフォーマッターでもあるため、範囲プロバイダーを登録する際にドキュメントフォーマッターを登録する必要はありません。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DocumentRangeFormattingEditProvider | ドキュメント範囲の書式設定編集プロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerDocumentRangeSemanticTokensProvider(selector: DocumentSelector, provider: DocumentRangeSemanticTokensProvider, legend: SemanticTokensLegend): Disposable
ドキュメント範囲のセマンティックトークンプロバイダーを登録します。
注意: ドキュメントにDocumentSemanticTokensProvider
とDocumentRangeSemanticTokensProvider
の両方がある場合、範囲プロバイダーは最初にのみ呼び出され、フルドキュメントプロバイダーが最初の要求を解決するのにかかる間だけ機能します。フルドキュメントプロバイダーが最初の要求を解決すると、範囲プロバイダー経由で提供されたセマンティックトークンは破棄され、それ以降はドキュメントプロバイダーのみが使用されます。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DocumentRangeSemanticTokensProvider | ドキュメント範囲のセマンティックトークンプロバイダー。 |
legend: SemanticTokensLegend | |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerDocumentSemanticTokensProvider(selector: DocumentSelector, provider: DocumentSemanticTokensProvider, legend: SemanticTokensLegend): Disposable
ドキュメント全体のセマンティックトークンプロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: DocumentSemanticTokensProvider | ドキュメントのセマンティックトークンプロバイダー。 |
legend: SemanticTokensLegend | |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerDocumentSymbolProvider(selector: DocumentSelector, provider: DocumentSymbolProvider, metaData?: DocumentSymbolProviderMetadata): Disposable
ドキュメントシンボルプロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否された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
ホバープロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: HoverProvider | ホバープロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerImplementationProvider(selector: DocumentSelector, provider: ImplementationProvider): Disposable
実装プロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: ImplementationProvider | 実装プロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerInlayHintsProvider(selector: DocumentSelector, provider: InlayHintsProvider<InlayHint>): Disposable
インレイヒントプロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: InlayHintsProvider<InlayHint> | インレイヒントプロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerInlineCompletionItemProvider(selector: DocumentSelector, provider: InlineCompletionItemProvider): Disposable
インライン補完プロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否されたPromiseまたは例外) は、操作全体の失敗を引き起こしません。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: InlineCompletionItemProvider | インライン補完プロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerInlineValuesProvider(selector: DocumentSelector, provider: InlineValuesProvider): Disposable
デバッガーの「インライン値」機能のデータを返すプロバイダーを登録します。汎用デバッガーがソースファイルで停止すると、ファイルの言語に登録されているプロバイダーが呼び出され、行末にエディターで表示されるテキストデータを返します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否された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
を有効にしたときにアクティブになります。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーはスコアでソートされ、最適な一致プロバイダーが使用されます。選択されたプロバイダーの失敗は、操作全体の失敗を引き起こします。
パラメーター | 説明 |
---|---|
selector: DocumentSelector | このプロバイダーが適用されるドキュメントを定義するセレクター。 |
provider: OnTypeFormattingEditProvider | 入力時書式設定編集プロバイダー。 |
firstTriggerCharacter: string |
|
...moreTriggerCharacter: string[] | その他のトリガー文字。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerReferenceProvider(selector: DocumentSelector, provider: ReferenceProvider): Disposable
参照プロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否された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
選択範囲プロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否された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
型定義プロバイダーを登録します。
1つの言語に対して複数のプロバイダーを登録できます。その場合、プロバイダーは並行して問い合わせられ、結果はマージされます。プロバイダーの失敗 (拒否された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が正しい会話に対してツールの呼び出しを表示することを保証します。
ツールの結果は、テキストおよびprompt-tsxのパーツの配列です。ツール呼び出し元がvscode/prompt-tsx
を使用している場合、ToolResult
を使用して応答パーツをプロンプトに組み込むことができます。そうでない場合、パーツはLanguageModelToolResultPartを含むユーザーメッセージを介してLanguageModelChatに渡すことができます。
チャット参加者が複数のターンにわたるリクエストのツール結果を保持したい場合、ハンドラーから返されたChatResult.metadataにツール結果を保存し、次のターンでChatResponseTurn.resultからそれらを取得できます。
パラメーター | 説明 |
---|---|
name: string | 呼び出すツールの名前。 |
options: LanguageModelToolInvocationOptions<object> | ツールを呼び出すときに使用するオプション。 |
token?: CancellationToken | キャンセル化トークン。CancellationTokenSourceを参照して作成方法を確認してください。 |
戻り値 | 説明 |
Thenable<LanguageModelToolResult> | ツール呼び出しの結果。 |
registerMcpServerDefinitionProvider(id: string, provider: McpServerDefinitionProvider<McpServerDefinition>): Disposable
エディターが利用するモデルコンテキストプロトコルサーバーを公開するプロバイダーを登録します。これにより、ユーザーが設定ファイルで作成したサーバーに加えて、MCPサーバーを動的にエディターに提供できるようになります。
このメソッドを呼び出す前に、拡張機能は、対応するIDを使用してcontributes.mcpServerDefinitionProviders
拡張ポイントを登録する必要があります。例:
"contributes": {
"mcpServerDefinitionProviders": [
{
"id": "cool-cloud-registry.mcp-servers",
"label": "Cool Cloud Registry",
}
]
}
新しいMcpServerDefinitionProviderが利用可能になると、エディターは新しいサーバーを検出するためにユーザーに「更新」アクションを提示します。このフローを有効にするには、拡張機能はアクティベーション中にregisterMcpServerDefinitionProvider
を呼び出す必要があります。
パラメーター | 説明 |
---|---|
id: string | プロバイダーのID。拡張機能に対して一意です。 |
provider: McpServerDefinitionProvider<McpServerDefinition> | 登録するプロバイダー |
戻り値 | 説明 |
Disposable | 破棄時にプロバイダーの登録を解除するDisposable。 |
registerTool<T>(name: string, tool: LanguageModelTool<T>): Disposable
LanguageModelToolを登録します。このツールは、package.jsonのlanguageModelTools
貢献ポイントにも登録する必要があります。登録されたツールは、すべての拡張機能が参照できるようにlm.toolsリストで利用可能です。ただし、言語モデルによって認識されるには、LanguageModelChatRequestOptions.toolsの利用可能なツールのリストに渡す必要があります。
パラメーター | 説明 |
---|---|
name: string | |
tool: LanguageModelTool<T> | |
戻り値 | 説明 |
Disposable | 破棄時にツールの登録を解除するDisposable。 |
selectChatModels(selector?: LanguageModelChatSelector): Thenable<LanguageModelChat[]>
セレクターによってチャットモデルを選択します。これにより複数のチャットモデルが返される場合もあれば、全く返されない場合もあります。拡張機能はこれらのケース、特にチャットモデルが存在しない場合に適切に処理する必要があります。
const models = await vscode.lm.selectChatModels({ family: 'gpt-3.5-turbo' });
if (models.length > 0) {
const [first] = models;
const response = await first.sendRequest(...)
// ...
} else {
// NO chat models available
}
セレクターは、特定のベンダーやファミリーのすべてのモデルに広く一致するように記述することも、IDによって1つのモデルを厳密に選択することもできます。利用可能なモデルのセットは時間とともに変化する可能性があること、また、プロンプトが異なるモデルで異なるパフォーマンスを示す可能性があることに留意してください。
注意: 拡張機能はこの関数が返す結果を保持し、後で利用できます。ただし、onDidChangeChatModelsイベントが発火した場合、チャットモデルのリストが変更されている可能性があるため、拡張機能は再クエリを行う必要があります。
パラメーター | 説明 |
---|---|
selector?: LanguageModelChatSelector | チャットモデルセレクター。省略された場合、すべてのチャットモデルが返されます。 |
戻り値 | 説明 |
Thenable<LanguageModelChat[]> | チャットモデルの配列(空になることもあります!)。 |
ノートブック
ノートブック用ネームスペース。
ノートブックの機能は、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>
エディターによって管理されるタスクを実行します。返されたタスク実行は、タスクを終了するために使用できます。
- スロー - 新しいプロセスを開始できない環境で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要素を含みます。
変数
activeColorTheme: ColorTheme
設定で構成されている現在アクティブなカラーテーマ。アクティブなテーマは、workbench.colorTheme
設定を介して変更できます。
activeNotebookEditor: NotebookEditor | undefined
現在アクティブなノートブックエディター、またはundefined
。アクティブなエディターとは、現在フォーカスがあるもの、またはフォーカスがない場合に最近入力が変更されたものです。
activeTerminal: Terminal | undefined
現在アクティブなターミナル、またはundefined
。アクティブなターミナルとは、現在フォーカスがあるもの、または最近フォーカスがあったものです。
activeTextEditor: TextEditor | undefined
現在アクティブなエディター、またはundefined
。アクティブなエディターとは、現在フォーカスがあるもの、またはフォーカスがない場合に最近入力が変更されたものです。
state: WindowState
現在のウィンドウの状態を表します。
tabGroups: TabGroups
メインエディター領域内のグリッドウィジェットを表します。
terminals: readonly Terminal[]
現在開いているターミナル、または空の配列。
visibleNotebookEditors: readonly NotebookEditor[]
現在表示されているノートブックエディター、または空の配列。
visibleTextEditors: readonly TextEditor[]
現在表示されているエディター、または空の配列。
イベント
onDidChangeActiveColorTheme: Event<ColorTheme>
アクティブなカラーテーマが変更されたり、変更があった場合に発生するイベント。
onDidChangeActiveNotebookEditor: Event<NotebookEditor | undefined>
アクティブなノートブックエディターが変更されたときに発生するイベント。注意: アクティブなエディターがundefined
に変更された場合もこのイベントが発生します。
onDidChangeActiveTerminal: Event<Terminal | undefined>
アクティブなターミナルが変更されたときに発生するイベント。注意: アクティブなターミナルがundefined
に変更された場合もこのイベントが発生します。
onDidChangeActiveTextEditor: Event<TextEditor | undefined>
アクティブなエディターが変更されたときに発生するイベント。注意: アクティブなエディターがundefined
に変更された場合もこのイベントが発生します。
onDidChangeNotebookEditorSelection: Event<NotebookEditorSelectionChangeEvent>
ノートブックエディターの選択が変更されたときに発生するイベント。
onDidChangeNotebookEditorVisibleRanges: Event<NotebookEditorVisibleRangesChangeEvent>
イベント。これはノートブックエディターの表示範囲が変更されたときに発生します。
onDidChangeTerminalShellIntegration: Event<TerminalShellIntegrationChangeEvent>
シェル統合がアクティブになったとき、またはターミナル内でそのプロパティのいずれかが変更されたときに発生します。
onDidChangeTerminalState: Event<Terminal>
onDidChangeTextEditorOptions: Event<TextEditorOptionsChangeEvent>
エディターのオプションが変更されたときに発生するイベント。
onDidChangeTextEditorSelection: Event<TextEditorSelectionChangeEvent>
エディターの選択範囲が変更されたときに発生するイベント。
onDidChangeTextEditorViewColumn: Event<TextEditorViewColumnChangeEvent>
エディターのビュー列が変更されたときに発生するイベント。
onDidChangeTextEditorVisibleRanges: Event<TextEditorVisibleRangesChangeEvent>
エディターの表示範囲が変更されたときに発生するイベント。
onDidChangeVisibleNotebookEditors: Event<readonly NotebookEditor[]>
表示されているノートブックエディターが変更されたときに発生するイベント。
onDidChangeVisibleTextEditors: Event<readonly TextEditor[]>
表示されているエディターの配列が変更されたときに発生するイベント。
onDidChangeWindowState: Event<WindowState>
現在のウィンドウのフォーカスまたはアクティビティ状態が変更されたときに発生するイベント。イベントの値は、ウィンドウがフォーカスされているかどうかを表します。
onDidCloseTerminal: Event<Terminal>
ターミナルが破棄されたときに発生するイベント。
onDidEndTerminalShellExecution: Event<TerminalShellExecutionEndEvent>
ターミナルコマンドが終了したときに発生します。このイベントは、ターミナルでシェル統合がアクティブになっている場合にのみ発生します。
onDidOpenTerminal: Event<Terminal>
createTerminal APIまたはコマンドを通じてターミナルが作成されたときに発生するイベント。
onDidStartTerminalShellExecution: Event<TerminalShellExecutionStartEvent>
ターミナルコマンドが開始されたときに発生します。このイベントは、ターミナルでシェル統合がアクティブになっている場合にのみ発生します。
関数
createInputBox(): InputBox
ユーザーにテキスト入力を促すためのInputBoxを作成します。
多くの場合、より便利なwindow.showInputBoxの方が使いやすいことに注意してください。window.showInputBoxが必要な柔軟性を提供しない場合に、window.createInputBoxを使用すべきです。
createOutputChannel(name: string, languageId?: string): OutputChannel
指定された名前と言語IDを持つ新しい出力チャンネルを作成します。言語IDが提供されない場合、デフォルトの言語IDとしてLogが使用されます。
表示されているエディターまたはアクティブなエディターから、可視またはアクティブな出力チャンネルをテキストドキュメントとしてアクセスし、言語IDを使用して構文の色付け、コードレンズなどの言語機能を提供できます。
パラメーター | 説明 |
---|---|
name: string | UIでチャンネルを表すために使用される人間が読める文字列。 |
languageId?: string | チャンネルに関連付けられた言語の識別子。 |
戻り値 | 説明 |
OutputChannel | 新しい出力チャンネル。 |
createOutputChannel(name: string, options: {log: true}): LogOutputChannel
指定された名前を持つ新しいログ出力チャンネルを作成します。
パラメーター | 説明 |
---|---|
name: string | UIでチャンネルを表すために使用される人間が読める文字列。 |
options: {log: true} | ログ出力チャンネルのオプション。 |
戻り値 | 説明 |
LogOutputChannel | 新しいログ出力チャンネル。 |
createQuickPick<T extends QuickPickItem>(): QuickPick<T>
ユーザーがT型のアイテムリストからアイテムを選択できるようにするQuickPickを作成します。
多くの場合、より便利なwindow.showQuickPickの方が使いやすいことに注意してください。window.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
バックエンドのシェルプロセスを持つターミナルを作成します。ターミナルのCWDは、ワークスペースディレクトリが存在する場合はそれになります。
- スロー - 新しいプロセスを開始できない環境で実行する場合。
createTerminal(options: TerminalOptions): Terminal
バックエンドのシェルプロセスを持つターミナルを作成します。
- スロー - 新しいプロセスを開始できない環境で実行する場合。
パラメーター | 説明 |
---|---|
options: TerminalOptions | 新しいターミナルの特性を記述するTerminalOptionsオブジェクト。 |
戻り値 | 説明 |
Terminal | 新しいターミナル。 |
createTerminal(options: ExtensionTerminalOptions): 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
新しいウェブビューパネルを作成して表示します。
パラメーター | 説明 |
---|---|
viewType: string | ウェブビューパネルのタイプを識別します。 |
title: string | パネルのタイトル。 |
showOptions: ViewColumn | {preserveFocus: boolean, viewColumn: ViewColumn} | エディター内でウェブビューを表示する場所。preserveFocusが設定されている場合、新しいウェブビューはフォーカスを取得しません。 |
options?: WebviewPanelOptions & WebviewOptions | 新しいパネルの設定。 |
戻り値 | 説明 |
WebviewPanel | 新しいウェブビューパネル。 |
registerCustomEditorProvider(viewType: string, provider: CustomTextEditorProvider | CustomReadonlyEditorProvider<CustomDocument> | CustomEditorProvider<CustomDocument>, options?: {supportsMultipleEditorsPerDocument: boolean, webviewOptions: WebviewPanelOptions}): Disposable
customEditors
拡張ポイントによって貢献されたviewType
に対するカスタムエディターのプロバイダーを登録します。
カスタムエディターが開かれると、onCustomEditor:viewType
アクティベーションイベントが発火します。拡張機能は、アクティベーションの一部として、viewType
に対応するCustomTextEditorProvider、CustomReadonlyEditorProvider、CustomEditorProviderを登録する必要があります。
パラメーター | 説明 |
---|---|
viewType: string | カスタムエディタープロバイダーの一意の識別子。これは |
provider: CustomTextEditorProvider | CustomReadonlyEditorProvider<CustomDocument> | CustomEditorProvider<CustomDocument> | カスタムエディターを解決するプロバイダー。 |
options?: {supportsMultipleEditorsPerDocument: boolean, webviewOptions: WebviewPanelOptions} | プロバイダーのオプション。 |
戻り値 | 説明 |
Disposable | プロバイダーの登録を解除するDisposable。 |
registerFileDecorationProvider(provider: FileDecorationProvider): Disposable
ファイルデコレーションプロバイダーを登録します。
パラメーター | 説明 |
---|---|
provider: FileDecorationProvider | |
戻り値 | 説明 |
Disposable | プロバイダーの登録を解除するDisposable。 |
registerTerminalLinkProvider(provider: TerminalLinkProvider<TerminalLink>): Disposable
ターミナル内のリンクの検出と処理を可能にするプロバイダーを登録します。
パラメーター | 説明 |
---|---|
provider: TerminalLinkProvider<TerminalLink> | ターミナルリンクを提供するプロバイダー。 |
戻り値 | 説明 |
Disposable | プロバイダーの登録を解除するDisposable。 |
registerTerminalProfileProvider(id: string, provider: TerminalProfileProvider): Disposable
貢献されたターミナルプロファイルのプロバイダーを登録します。
パラメーター | 説明 |
---|---|
id: string | 貢献されたターミナルプロファイルのID。 |
provider: TerminalProfileProvider | ターミナルプロファイルプロバイダー。 |
戻り値 | 説明 |
Disposable | プロバイダーの登録を解除するdisposable。 |
registerTreeDataProvider<T>(viewId: string, treeDataProvider: TreeDataProvider<T>): Disposable
拡張ポイントviews
を使用して貢献されたビューのためのTreeDataProviderを登録します。これにより、TreeViewにデータを貢献し、データが変更された場合に更新できるようになります。
注意: TreeViewにアクセスし、その上で操作を実行するには、createTreeViewを使用してください。
パラメーター | 説明 |
---|---|
viewId: string | 拡張ポイント |
treeDataProvider: TreeDataProvider<T> | ビューのツリーデータを提供するTreeDataProvider。 |
戻り値 | 説明 |
Disposable | TreeDataProviderの登録を解除するdisposable。 |
registerUriHandler(handler: UriHandler): Disposable
システム全体で利用可能なURIを処理できるURIハンドラーを登録します。複数のウィンドウが開いている場合、最前面のウィンドウがURIを処理します。URIハンドラーは、それが寄与された拡張機能にスコープされており、その拡張機能自身に指定されたURIのみを処理できます。URIは以下の規則に従う必要があります。
- URIスキームは
vscode.env.uriScheme
である必要があります。 - URIオーソリティは拡張機能ID(例:
my.extension
)である必要があります。 - URIのパス、クエリ、フラグメント部分は任意です。
例えば、my.extension
拡張機能がURIハンドラーを登録した場合、product-name://my.extension
というプレフィックスを持つURIのみを処理できます。
拡張機能は、アクティベーションの有効期間全体で1つのURIハンドラーしか登録できません。
- 注: 現在の拡張機能に指定されたURIが処理されようとしているときに発生するアクティベーションイベント
onUri
があります。
パラメーター | 説明 |
---|---|
handler: UriHandler | この拡張機能に登録するURIハンドラーです。 |
戻り値 | 説明 |
Disposable | ハンドラーの登録を解除するDisposableオブジェクト。 |
registerWebviewPanelSerializer(viewType: string, serializer: WebviewPanelSerializer<unknown>): Disposable
Webviewパネルシリアライザーを登録します。
リバイバルをサポートする拡張機能は、"onWebviewPanel:viewType"
アクティベーションイベントを持ち、アクティベーション中にregisterWebviewPanelSerializer
が呼び出されることを確認する必要があります。
指定されたviewType
に対して、一度に登録できるシリアライザーは1つだけです。
パラメーター | 説明 |
---|---|
viewType: string | シリアライズ可能なWebviewパネルの型です。 |
serializer: WebviewPanelSerializer<unknown> | Webviewシリアライザーです。 |
戻り値 | 説明 |
Disposable | シリアライザーの登録を解除するDisposableオブジェクト。 |
registerWebviewViewProvider(viewId: string, provider: WebviewViewProvider, options?: {webviewOptions: {retainContextWhenHidden: boolean}}): Disposable
Webviewビューの新しいプロバイダーを登録します。
パラメーター | 説明 |
---|---|
viewId: string | ビューの一意のID。これはpackage.jsonの |
provider: WebviewViewProvider | Webviewビューのプロバイダーです。 |
options?: {webviewOptions: {retainContextWhenHidden: boolean}} | |
戻り値 | 説明 |
Disposable | プロバイダーの登録を解除するDisposable。 |
setStatusBarMessage(text: string, hideAfterTimeout: number): Disposable
ステータスバーにメッセージを設定します。これは、より強力なステータスバーアイテムの省略形です。
パラメーター | 説明 |
---|---|
text: string | 表示するメッセージで、ステータスバーアイテムのようにアイコンの置換をサポートします。 |
hideAfterTimeout: number | メッセージが破棄されるまでのミリ秒単位のタイムアウトです。 |
戻り値 | 説明 |
Disposable | ステータスバーメッセージを非表示にするDisposableオブジェクト。 |
setStatusBarMessage(text: string, hideWhenDone: Thenable<any>): Disposable
ステータスバーにメッセージを設定します。これは、より強力なステータスバーアイテムの省略形です。
パラメーター | 説明 |
---|---|
text: string | 表示するメッセージで、ステータスバーアイテムのようにアイコンの置換をサポートします。 |
hideWhenDone: Thenable<any> | メッセージが完了(解決または拒否)したときに破棄されるThenable。 |
戻り値 | 説明 |
Disposable | ステータスバーメッセージを非表示にするDisposableオブジェクト。 |
setStatusBarMessage(text: string): Disposable
ステータスバーにメッセージを設定します。これは、より強力なステータスバーアイテムの省略形です。
注: ステータスバーメッセージはスタックされ、使用されなくなったら破棄する必要があります。
パラメーター | 説明 |
---|---|
text: string | 表示するメッセージで、ステータスバーアイテムのようにアイコンの置換をサポートします。 |
戻り値 | 説明 |
Disposable | ステータスバーメッセージを非表示にするDisposableオブジェクト。 |
showErrorMessage<T extends string>(message: string, ...items: T[]): Thenable<T | undefined>
エラーメッセージを表示します。
関連項目: showInformationMessage
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージです。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセットです。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showErrorMessage<T extends string>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
エラーメッセージを表示します。
関連項目: showInformationMessage
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージです。 |
options: MessageOptions | メッセージの動作を設定します。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセットです。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showErrorMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T | undefined>
エラーメッセージを表示します。
関連項目: showInformationMessage
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージです。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセットです。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showErrorMessage<T extends MessageItem>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
エラーメッセージを表示します。
関連項目: showInformationMessage
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージです。 |
options: MessageOptions | メッセージの動作を設定します。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセットです。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showInformationMessage<T extends string>(message: string, ...items: T[]): Thenable<T | undefined>
ユーザーに情報メッセージを表示します。オプションで、クリック可能なボタンとして表示されるアイテムの配列を提供できます。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージです。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセットです。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showInformationMessage<T extends string>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
ユーザーに情報メッセージを表示します。オプションで、クリック可能なボタンとして表示されるアイテムの配列を提供できます。
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージです。 |
options: MessageOptions | メッセージの動作を設定します。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセットです。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showInformationMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T | undefined>
情報メッセージを表示します。
関連項目: showInformationMessage
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージです。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセットです。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showInformationMessage<T extends MessageItem>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
情報メッセージを表示します。
関連項目: showInformationMessage
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージです。 |
options: MessageOptions | メッセージの動作を設定します。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセットです。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showInputBox(options?: InputBoxOptions, token?: CancellationToken): Thenable<string | undefined>
ユーザーに入力を求める入力ボックスを開きます。
入力ボックスがキャンセルされた場合(例: ESCキーを押した場合)、返される値はundefined
になります。それ以外の場合、返される値はユーザーが入力した文字列、またはユーザーが何も入力せずにOKで入力ボックスを閉じたら空文字列になります。
パラメーター | 説明 |
---|---|
options?: InputBoxOptions | 入力ボックスの動作を設定します。 |
token?: CancellationToken | キャンセルを通知するために使用できるトークンです。 |
戻り値 | 説明 |
Thenable<string | undefined> | ユーザーが提供した文字列、または却下された場合は |
showNotebookDocument(document: NotebookDocument, options?: NotebookDocumentShowOptions): Thenable<NotebookEditor>
指定されたNotebookDocumentをノートブックエディターで表示します。
パラメーター | 説明 |
---|---|
document: NotebookDocument | 表示するテキストドキュメントです。 |
options?: NotebookDocumentShowOptions | ノートブックエディターの表示動作を設定するためのエディターオプションです。 |
戻り値 | 説明 |
Thenable<NotebookEditor> | ノートブックエディターに解決されるプロミスです。 |
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[]> | 文字列の配列、または文字列の配列に解決されるプロミスです。 |
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[]> | 文字列の配列、または文字列の配列に解決されるプロミスです。 |
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[]> | アイテムの配列、またはアイテムの配列に解決されるプロミスです。 |
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[]> | アイテムの配列、またはアイテムの配列に解決されるプロミスです。 |
options?: QuickPickOptions | 選択リストの動作を設定します。 |
token?: CancellationToken | キャンセルを通知するために使用できるトークンです。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、または |
showSaveDialog(options?: SaveDialogOptions): Thenable<Uri | undefined>
ユーザーにファイルを保存するためのファイル保存ダイアログを表示し、ファイルを選択できるようにします。
パラメーター | 説明 |
---|---|
options?: SaveDialogOptions | ダイアログを制御するオプションです。 |
戻り値 | 説明 |
Thenable<Uri | undefined> | 選択されたリソース、または |
showTextDocument(document: TextDocument, column?: ViewColumn, preserveFocus?: boolean): Thenable<TextEditor>
指定されたドキュメントをテキストエディターで表示します。列を指定して、エディターの表示場所を制御できます。アクティブなエディターが変更される可能性があります。
パラメーター | 説明 |
---|---|
document: TextDocument | 表示するテキストドキュメントです。 |
column?: ViewColumn | エディターを表示するビューの列。デフォルトはアクティブです。存在しない列は、ViewColumn.Nineの最大値まで必要に応じて作成されます。現在アクティブなエディターの隣にエディターを開くには、ViewColumn.Besideを使用します。 |
preserveFocus?: boolean |
|
戻り値 | 説明 |
Thenable<TextEditor> | エディターに解決されるプロミスです。 |
showTextDocument(document: TextDocument, options?: TextDocumentShowOptions): Thenable<TextEditor>
指定されたドキュメントをテキストエディターで表示します。オプションを指定して、表示されるエディターのオプションを制御できます。アクティブなエディターが変更される可能性があります。
パラメーター | 説明 |
---|---|
document: TextDocument | 表示するテキストドキュメントです。 |
options?: TextDocumentShowOptions | エディターの表示動作を設定するためのエディターオプションです。 |
戻り値 | 説明 |
Thenable<TextEditor> | エディターに解決されるプロミスです。 |
showTextDocument(uri: Uri, options?: TextDocumentShowOptions): Thenable<TextEditor>
openTextDocument(uri).then(document => showTextDocument(document, options))
の省略形です。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子です。 |
options?: TextDocumentShowOptions | エディターの表示動作を設定するためのエディターオプションです。 |
戻り値 | 説明 |
Thenable<TextEditor> | エディターに解決されるプロミスです。 |
showWarningMessage<T extends string>(message: string, ...items: T[]): Thenable<T | undefined>
警告メッセージを表示します。
関連項目: showInformationMessage
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージです。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセットです。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showWarningMessage<T extends string>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
警告メッセージを表示します。
関連項目: showInformationMessage
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージです。 |
options: MessageOptions | メッセージの動作を設定します。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセットです。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showWarningMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T | undefined>
警告メッセージを表示します。
関連項目: showInformationMessage
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージです。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセットです。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showWarningMessage<T extends MessageItem>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
警告メッセージを表示します。
関連項目: showInformationMessage
パラメーター | 説明 |
---|---|
message: string | 表示するメッセージです。 |
options: MessageOptions | メッセージの動作を設定します。 |
...items: T[] | メッセージ内のアクションとしてレンダリングされるアイテムのセットです。 |
戻り値 | 説明 |
Thenable<T | undefined> | 選択されたアイテム、または閉じた場合は |
showWorkspaceFolderPick(options?: WorkspaceFolderPickOptions): Thenable<WorkspaceFolder | undefined>
選択可能なワークスペースフォルダーの選択リストを表示します。フォルダーが開かれていない場合はundefined
を返します。
パラメーター | 説明 |
---|---|
options?: WorkspaceFolderPickOptions | ワークスペースフォルダーリストの動作を設定します。 |
戻り値 | 説明 |
Thenable<WorkspaceFolder | undefined> | ワークスペースフォルダー、または |
withProgress<R>(options: ProgressOptions, task: (progress: Progress<{increment: number, message: string}>, token: CancellationToken) => Thenable<R>): Thenable<R>
エディターに進行状況を表示します。進行状況は、指定されたコールバックの実行中、およびそれが返したプロミスが解決または拒否されるまで表示されます。進行状況を表示する場所(およびその他の詳細)は、渡されたProgressOptionsを介して定義されます。
パラメーター | 説明 |
---|---|
options: ProgressOptions | 進行状況を表示するためのオプション(場所など)を記述するProgressOptionsオブジェクトです。 |
task: (progress: Progress<{increment: number, message: string}>, token: CancellationToken) => Thenable<R> | プロミスを返すコールバック。提供されたProgressオブジェクトで進行状況を報告できます。 個別進行状況を報告するには、 ユーザーによって操作がキャンセルされたかどうかを監視するには、提供されたCancellationTokenを使用します。現在、長時間実行される操作をキャンセルするためのキャンセルボタンの表示をサポートしているのは |
戻り値 | 説明 |
Thenable<R> | タスクコールバックが返したthenableです。 |
withScmProgress<R>(task: (progress: Progress<number>) => Thenable<R>): Thenable<R>
指定されたコールバックの実行中、およびそれが返したプロミスが解決または拒否されるまで、ソース管理ビューレットに進行状況を表示します。
- 非推奨 - 代わりに
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>
テキストドキュメントが変更されたときに発生するイベントです。これは通常、内容が変更されたときに発生しますが、ダーティ状態が変更されるなどの場合にも発生します。
onDidChangeWorkspaceFolders: Event<WorkspaceFoldersChangeEvent>
ワークスペースフォルダーが追加または削除されたときに発生するイベントです。
注: 最初のワークスペースフォルダーが追加、削除、または変更された場合、このイベントは発生しません。その場合、現在実行中の拡張機能(このイベントをリッスンしている拡張機能を含む)は終了して再起動され、(非推奨の)rootPath
プロパティが最初のワークスペースフォルダーを指すように更新されるためです。
onDidCloseNotebookDocument: Event<NotebookDocument>
ノートブックが破棄されたときに発生するイベントです。
注1: エディタータブが閉じられたときにこのイベントが発生するという保証はありません。
注2: ノートブックが開いていてもエディターに表示されていない場合があります。つまり、このイベントはエディターに表示されていないノートブックに対しても発生する可能性があります。
onDidCloseTextDocument: Event<TextDocument>
テキストドキュメントが破棄されたとき、またはテキストドキュメントの言語IDが変更されたときに発生するイベントです。
注1: エディタータブが閉じられたときにこのイベントが発生するという保証はありません。エディターが変更されたことを知るには、onDidChangeVisibleTextEditorsイベントを使用してください。
注2: ドキュメントが開いていてもエディターに表示されていない場合があります。つまり、このイベントはエディターに表示されていないドキュメントに対しても発生する可能性があります。
onDidCreateFiles: Event<FileCreateEvent>
ファイルが作成されたときに発生するイベントです。
注意: このイベントは、エクスプローラーからのファイル作成、またはworkspace.applyEdit-APIからの操作といったユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが別のアプリケーションによって変更された場合、またはworkspace.fs-APIを使用している場合には、このイベントは発生しません。
onDidDeleteFiles: Event<FileDeleteEvent>
ファイルが削除されたときに発行されるイベントです。
注意1: このイベントは、エクスプローラーからのファイルの削除、またはworkspace.applyEdit-APIからの操作といったユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが別のアプリケーションによって変更された場合、またはworkspace.fs-APIを使用している場合には、このイベントは発生しません。
注意2: 子を持つフォルダを削除する場合、1つのイベントのみが発行されます。
onDidGrantWorkspaceTrust: Event<void>
現在のワークスペースが信頼されたときに発生するイベントです。
onDidOpenNotebookDocument: Event<NotebookDocument>
ノートブックが開かれたときに発行されるイベントです。
onDidOpenTextDocument: Event<TextDocument>
テキストドキュメントが開かれたとき、またはテキストドキュメントの言語IDが変更されたときに発行されるイベントです。
表示されているテキストドキュメントが開かれたときにイベントリスナーを追加するには、window名前空間のTextEditorイベントを使用します。なお、
- イベントは、アクティブなテキストエディターでドキュメントが更新される前に発行されます。
- テキストドキュメントがすでに開かれている場合(例:別の表示されているテキストエディターで開かれている場合)、このイベントは発行されません。
onDidRenameFiles: Event<FileRenameEvent>
ファイルの名前が変更されたときに発行されるイベントです。
注意1: このイベントは、エクスプローラーからのファイル名の変更、およびworkspace.applyEdit-APIからの操作といったユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが別のアプリケーションによって変更された場合、またはworkspace.fs-APIを使用している場合には、このイベントは発生しません。
注意2: 子を持つフォルダの名前を変更する場合、1つのイベントのみが発行されます。
onDidSaveNotebookDocument: Event<NotebookDocument>
ノートブックが保存されたときに発行されるイベントです。
onDidSaveTextDocument: Event<TextDocument>
テキストドキュメントがディスクに保存されたときに発行されるイベントです。
onWillCreateFiles: Event<FileWillCreateEvent>
ファイルが作成されているときに発行されるイベントです。
注意1: このイベントは、エクスプローラーからのファイル作成、またはworkspace.applyEdit-APIからの操作といったユーザーのジェスチャーによってトリガーされます。ディスク上のファイルが別のアプリケーションによって変更された場合、またはworkspace.fs-APIを使用している場合には、このイベントは発生しません。
注意2: このイベントが発行されたとき、作成中のファイルへの編集は適用できません。
onWillDeleteFiles: Event<FileWillDeleteEvent>
ファイルが削除されているときに発行されるイベントです。
注意1: このイベントは、エクスプローラーからのファイルの削除、またはworkspace.applyEdit-APIからの操作といったユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが別のアプリケーションによって変更された場合、またはworkspace.fs-APIを使用している場合には、このイベントは発生しません。
注意2: 子を持つフォルダを削除する場合、1つのイベントのみが発行されます。
onWillRenameFiles: Event<FileWillRenameEvent>
ファイルの名前が変更されているときに発行されるイベントです。
注意1: このイベントは、エクスプローラーからのファイル名の変更、およびworkspace.applyEdit-APIからの操作といったユーザーのジェスチャーによってトリガーされますが、ディスク上のファイルが別のアプリケーションによって変更された場合、またはworkspace.fs-APIを使用している場合には、このイベントは発生しません。
注意2: 子を持つフォルダの名前を変更する場合、1つのイベントのみが発行されます。
onWillSaveNotebookDocument: Event<NotebookDocumentWillSaveEvent>
ノートブックドキュメントがディスクに保存されるときに発行されるイベントです。
注意1: 購読者は非同期作業を登録することで保存を遅延させることができます。データ整合性のために、エディターはこのイベントを発行せずに保存する場合があります。例えば、変更されたファイルを保持したままシャットダウンする場合などです。
注意2: 購読者は順次呼び出され、非同期作業を登録することで保存を遅延させることができます。不適切な動作をするリスナーに対する保護は、次のように実装されています。
- すべてのリスナーが共有する全体的な時間予算があり、それが使い果たされると、それ以上リスナーは呼び出されません。
- 長時間かかるリスナー、または頻繁にエラーを生成するリスナーは、それ以上呼び出されなくなります。
現在のしきい値は、全体的な時間予算として1.5秒、リスナーが無視されるまでに3回不適切な動作をしても許容されます。
onWillSaveTextDocument: Event<TextDocumentWillSaveEvent>
テキストドキュメントがディスクに保存されるときに発行されるイベントです。
注意1: 購読者は非同期作業を登録することで保存を遅延させることができます。データ整合性のために、エディターはこのイベントを発行せずに保存する場合があります。例えば、変更されたファイルを保持したままシャットダウンする場合などです。
注意2: 購読者は順次呼び出され、非同期作業を登録することで保存を遅延させることができます。不適切な動作をするリスナーに対する保護は、次のように実装されています。
- すべてのリスナーが共有する全体的な時間予算があり、それが使い果たされると、それ以上リスナーは呼び出されません。
- 長時間かかるリスナー、または頻繁にエラーを生成するリスナーは、それ以上呼び出されなくなります。
現在のしきい値は、全体的な時間予算として1.5秒、リスナーが無視されるまでに3回不適切な動作をしても許容されます。
関数
applyEdit(edit: WorkspaceEdit, metadata?: WorkspaceEditMetadata): Thenable<boolean>
指定されたワークスペース編集によって定義された通りに、1つまたは複数のリソースに変更を加える、またはリソースを作成、削除、名前変更します。
ワークスペース編集のすべての変更は、追加された順序と同じ順序で適用されます。同じ位置に複数のテキスト挿入が行われた場合、それらがリソース編集と interleaved されていなければ、結果のテキストには「挿入」が行われた順序でこれらの文字列が表示されます。「ファイルaを削除」→「ファイルaにテキストを挿入」のような無効なシーケンスは、操作の失敗を引き起こします。
テキスト編集のみで構成されるワークスペース編集を適用する場合、「全か無か」の戦略が使用されます。リソースの作成または削除を伴うワークスペース編集は操作を中止し、例えば、単一の編集が失敗した場合、連続する編集は試行されません。
パラメーター | 説明 |
---|---|
edit: WorkspaceEdit | ワークスペース編集。 |
metadata?: WorkspaceEditMetadata | 編集のためのオプションのメタデータ。 |
戻り値 | 説明 |
Thenable<boolean> | 編集が適用できたときに解決されるthenable。 |
asRelativePath(pathOrUri: string | Uri, includeWorkspaceFolder?: boolean): string
ワークスペースフォルダまたはフォルダに対する相対パスを返します。
ワークスペースフォルダがない場合、またはパスがそれらに含まれていない場合、入力が返されます。
createFileSystemWatcher(globPattern: GlobPattern, ignoreCreateEvents?: boolean, ignoreChangeEvents?: boolean, ignoreDeleteEvents?: boolean): FileSystemWatcher
提供されたパラメータに基づいて、ファイルイベント(作成、変更、削除)が通知されるファイルシステムウォッチャーを作成します。
デフォルトでは、開かれているすべてのワークスペースフォルダは再帰的にファイル変更が監視されます。
ファイル監視のために、base
パスを持つRelativePatternを提供することで、追加のパスを追加できます。パスがフォルダであり、pattern
が複雑な場合(例:**
またはパスセグメントを含む場合)、それは再帰的に監視され、そうでない場合は非再帰的に監視されます(つまり、パスの第一レベルの変更のみが報告されます)。
ファイルシステムに存在しないパスは、作成されるまで遅延して監視され、その後、提供されたパラメータに基づいて監視されることに注意してください。監視対象のパスが削除された場合、ウォッチャーは一時停止し、パスが再度作成されるまでイベントを報告しません。
再帰的なファイル監視はかなりのリソースを消費するため、可能であれば、再帰ウォッチャーの使用は最小限に抑えてください。
globPattern
としてstring
を提供することは、開いているすべてのワークスペースフォルダでファイルイベントを監視するための便利なメソッドとして機能します。これは、ファイル監視のためのフォルダを追加するために使用することはできず、開いているワークスペースフォルダの一部ではないフォルダからのファイルイベントを報告することもありません。
オプションで、特定の種類のイベントを無視するためのフラグを提供できます。
イベントの監視を停止するには、ウォッチャーを破棄する必要があります。
再帰的なファイルウォッチャーからのファイルイベントは、ユーザー設定に基づいて除外される場合があることに注意してください。files.watcherExclude
設定は、一度に多くのファイル変更を生成することが知られているフォルダ(例:.git
フォルダ)からのファイルイベントのオーバーヘッドを削減するのに役立ちます。そのため、除外設定が無視され、イベントを完全に制御できる、再帰ウォッチャーを必要としないシンプルなパターンで監視することを強くお勧めします。
シンボリックリンク自体が監視対象パスでない限り、ファイル監視のためにシンボリックリンクが自動的に追跡されないことに注意してください。
変更されたと報告されるファイルパスは、大文字・小文字を区別しないプラットフォーム(通常macOSとWindowsで、Linuxではない)のディスク上の実際のパスの大文字・小文字とは異なる場合があることに注意してください。ユーザーが任意のパス大文字・小文字でワークスペースフォルダを開くことを許可し、それを維持しようとします。これは次のことを意味します。
- パスがワークスペースフォルダ内のいずれかにある場合、そのパスはその部分までのワークスペースフォルダの大文字・小文字と一致し、子要素についてはディスク上の大文字・小文字と一致します。
- パスがワークスペースフォルダの外部にある場合、大文字・小文字は監視のために提供されたパスの大文字・小文字と一致します。同様に、シンボリックリンクは保持されます。つまり、ファイルイベントは、監視のために提供されたシンボリックリンクのパスを報告し、ターゲットは報告しません。
例
ファイルウォッチャーの基本的な構成は次のとおりです。
const watcher = vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(<folder>, <pattern>));
watcher.onDidChange(uri => { ... }); // listen to files being changed
watcher.onDidCreate(uri => { ... }); // listen to files/folders being created
watcher.onDidDelete(uri => { ... }); // listen to files/folders getting deleted
watcher.dispose(); // dispose after usage
ワークスペースファイル監視
特定のワークスペースフォルダ内のファイルイベントのみに関心がある場合
vscode.workspace.createFileSystemWatcher(
new vscode.RelativePattern(vscode.workspace.workspaceFolders[0], '**/*.js')
);
開いているすべてのワークスペースフォルダのファイルイベントを監視したい場合
vscode.workspace.createFileSystemWatcher('**/*.js');
注意: ワークスペースが開かれていない場合(空のウィンドウ)、ワークスペースフォルダの配列は空になることがあります。
ワークスペース外のファイル監視
ワークスペース外の*.jsファイルの変更を監視するために(非再帰的に)、そのようなフォルダへのUri
を渡します。
vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.Uri.file(<path to folder outside workspace>), '*.js'));
そして、複雑な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パターン。 |
ignoreCreateEvents?: boolean | ファイルが作成されたときに無視します。 |
ignoreChangeEvents?: boolean | ファイルが変更されたときに無視します。 |
ignoreDeleteEvents?: boolean | ファイルが削除されたときに無視します。 |
戻り値 | 説明 |
FileSystemWatcher | 新しいファイルシステムウォッチャーインスタンス。不要になったら破棄する必要があります。 |
decode(content: Uint8Array): Thenable<string>
Uint8Array
からstring
へコンテンツをデコードします。エンコーディングが適切に適用されるように、コンテンツ全体を一度に提供しなければなりません。このメソッドをチャンクでコンテンツをデコードするために使用しないでください。不正確な結果につながる可能性があります。
設定とバッファの内容(例えば、バイトオーダーマーク)に基づいてエンコーディングを選択します。
エンコーディングによってサポートされていないコンテンツをデコードした場合、結果には適切な代替文字が含まれる場合があることに注意してください。
- スロー - このメソッドは、コンテンツがバイナリの場合にエラーをスローします。
パラメーター | 説明 |
---|---|
content: Uint8Array |
|
戻り値 | 説明 |
Thenable<string> | デコードされた |
decode(content: Uint8Array, options: {encoding: string}): Thenable<string>
提供されたエンコーディングを使用して、Uint8Array
からstring
へコンテンツをデコードします。エンコーディングが適切に適用されるように、コンテンツ全体を一度に提供しなければなりません。このメソッドをチャンクでコンテンツをデコードするために使用しないでください。不正確な結果につながる可能性があります。
エンコーディングによってサポートされていないコンテンツをデコードした場合、結果には適切な代替文字が含まれる場合があることに注意してください。
- スロー - このメソッドは、コンテンツがバイナリの場合にエラーをスローします。
パラメーター | 説明 |
---|---|
content: Uint8Array |
|
options: {encoding: string} | エンコーディングを選択するための追加のコンテキスト。 |
戻り値 | 説明 |
Thenable<string> | デコードされた |
decode(content: Uint8Array, options: {uri: Uri}): Thenable<string>
Uint8Array
からstring
へコンテンツをデコードします。エンコーディングが適切に適用されるように、コンテンツ全体を一度に提供しなければなりません。このメソッドをチャンクでコンテンツをデコードするために使用しないでください。不正確な結果につながる可能性があります。
エンコーディングは、設定とバッファの内容(例えば、バイトオーダーマーク)に基づいて選択されます。
エンコーディングによってサポートされていないコンテンツをデコードした場合、結果には適切な代替文字が含まれる場合があることに注意してください。
- スロー - このメソッドは、コンテンツがバイナリの場合にエラーをスローします。
パラメーター | 説明 |
---|---|
content: Uint8Array |
|
options: {uri: Uri} | エンコーディングを選択するための追加のコンテキスト。 |
戻り値 | 説明 |
Thenable<string> | デコードされた |
encode(content: string): Thenable<Uint8Array>
string
のコンテンツをUint8Array
にエンコードします。
設定に基づいてエンコーディングを選択します。
パラメーター | 説明 |
---|---|
content: string |
|
戻り値 | 説明 |
Thenable<Uint8Array> | エンコードされた |
encode(content: string, options: {encoding: string}): Thenable<Uint8Array>
提供されたエンコーディングを使用して、string
のコンテンツをUint8Array
にエンコードします。
パラメーター | 説明 |
---|---|
content: string |
|
options: {encoding: string} | エンコーディングを選択するための追加のコンテキスト。 |
戻り値 | 説明 |
Thenable<Uint8Array> | エンコードされた |
encode(content: string, options: {uri: Uri}): Thenable<Uint8Array>
string
のコンテンツをUint8Array
にエンコードします。
エンコーディングは設定に基づいて選択されます。
パラメーター | 説明 |
---|---|
content: string |
|
options: {uri: Uri} | エンコーディングを選択するための追加のコンテキスト。 |
戻り値 | 説明 |
Thenable<Uint8Array> | エンコードされた |
findFiles(include: GlobPattern, exclude?: GlobPattern, maxResults?: number, token?: CancellationToken): Thenable<Uri[]>
パラメーター | 説明 |
---|---|
include: GlobPattern | 検索するファイルを定義するglobパターン。globパターンは、結果として得られる一致のファイルパスをワークスペースに対して相対的に照合します。ワークスペースフォルダに検索結果を制限するには、相対パターンを使用します。 |
exclude?: GlobPattern | 除外するファイルとフォルダを定義するglobパターン。globパターンは、結果として得られる一致のファイルパスをワークスペースに対して相対的に照合します。 |
maxResults?: number | 結果の上限。 |
token?: CancellationToken | 基盤となる検索エンジンにキャンセルを通知するために使用できるトークン。 |
戻り値 | 説明 |
Thenable<Uri[]> | リソース識別子の配列に解決されるthenable。ワークスペースフォルダが開かれていない場合、結果は返されません。 |
getConfiguration(section?: string, scope?: ConfigurationScope): WorkspaceConfiguration
ワークスペース構成オブジェクトを取得します。
セクション識別子が指定された場合、構成のその部分のみが返されます。セクション識別子内のドットは、{ myExt: { setting: { doIt: true }}}
とgetConfiguration('myExt.setting').get('doIt') === true
のように、子へのアクセスとして解釈されます。
スコープが提供された場合、そのスコープに限定された構成が返されます。スコープはリソース、言語識別子、またはその両方になります。
パラメーター | 説明 |
---|---|
section?: string | ドットで区切られた識別子。 |
scope?: ConfigurationScope | 設定が要求されるスコープ。 |
戻り値 | 説明 |
WorkspaceConfiguration | 完全な構成、またはそのサブセット。 |
getWorkspaceFolder(uri: Uri): WorkspaceFolder | undefined
指定されたURIを含むワークスペースフォルダを返します。
- 指定されたURIがどのワークスペースフォルダとも一致しない場合、
undefined
を返します。 - 指定されたURIがワークスペースフォルダ自体である場合、入力を返します。
パラメーター | 説明 |
---|---|
uri: Uri | URI。 |
戻り値 | 説明 |
WorkspaceFolder | undefined | ワークスペースフォルダまたは |
openNotebookDocument(uri: Uri): Thenable<NotebookDocument>
ノートブックを開きます。このノートブックがすでに読み込まれている場合は、早期に返されます。そうでない場合、ノートブックが読み込まれ、onDidOpenNotebookDocumentイベントが発行されます。
返されたノートブックのライフサイクルは、エディターが所有し、拡張機能が所有するものではないことに注意してください。つまり、onDidCloseNotebookDocumentイベントは、その後のいつでも発生する可能性があります。
ノートブックを開いても、ノートブックエディターは表示されないことに注意してください。この関数は、ノートブックエディターで表示できるノートブックドキュメントを返すだけであり、他の用途にも使用できます。
パラメーター | 説明 |
---|---|
uri: Uri | 開くリソース。 |
戻り値 | 説明 |
Thenable<NotebookDocument> | ノートブックに解決されるプロミス。 |
openNotebookDocument(notebookType: string, content?: NotebookData): Thenable<NotebookDocument>
無題のノートブックを開きます。ドキュメントを保存する際、エディターはユーザーにファイルパスの入力を求めます。
パラメーター | 説明 |
---|---|
notebookType: string | 使用すべきノートブックタイプ。 |
content?: NotebookData | ノートブックの初期コンテンツ。 |
戻り値 | 説明 |
Thenable<NotebookDocument> | ノートブックに解決されるプロミス。 |
openTextDocument(uri: Uri, options?: {encoding: string}): Thenable<TextDocument>
ドキュメントを開きます。このドキュメントがすでに開かれている場合は、早期に返されます。そうでない場合、ドキュメントが読み込まれ、didOpenイベントが発行されます。
ドキュメントはUriによって示されます。スキームに応じて、以下のルールが適用されます。
file
スキーム: ディスク上のファイルを開きます(openTextDocument(Uri.file(path))
)。ファイルが存在しないか、読み込めない場合は拒否されます。untitled
スキーム: 関連付けられたパスを持つ空の無題ファイルを開きます(openTextDocument(Uri.file(path).with({ scheme: 'untitled' }))
)。言語はファイル名から派生します。- その他のすべてのスキームについては、貢献されたテキストドキュメントコンテンツプロバイダーおよびファイルシステムプロバイダーが参照されます。
返されたドキュメントのライフサイクルは、エディターが所有し、拡張機能が所有するものではないことに注意してください。つまり、onDidCloseイベントは、それを開いた後のいつでも発生する可能性があります。
パラメーター | 説明 |
---|---|
uri: Uri | 開くリソースを識別します。 |
options?: {encoding: string} | |
戻り値 | 説明 |
Thenable<TextDocument> | ドキュメントに解決されるプロミス。 |
openTextDocument(path: string, options?: {encoding: string}): Thenable<TextDocument>
openTextDocument(Uri.file(path))
のショートハンド。
パラメーター | 説明 |
---|---|
path: string | ディスク上のファイルのパス。 |
options?: {encoding: string} | |
戻り値 | 説明 |
Thenable<TextDocument> | ドキュメントに解決されるプロミス。 |
openTextDocument(options?: {content: string, encoding: string, language: string}): Thenable<TextDocument>
無題のテキストドキュメントを開きます。ドキュメントを保存する際、エディターはユーザーにファイルパスの入力を求めます。options
パラメータを使用すると、ドキュメントの言語やコンテンツを指定できます。
パラメーター | 説明 |
---|---|
options?: {content: string, encoding: string, language: string} | ドキュメントがどのように作成されるかを制御するオプション。 |
戻り値 | 説明 |
Thenable<TextDocument> | ドキュメントに解決されるプロミス。 |
registerFileSystemProvider(scheme: string, provider: FileSystemProvider, options?: {isCaseSensitive: boolean, isReadonly: boolean | MarkdownString}): Disposable
指定されたスキーム、例: ftp
のファイルシステムプロバイダーを登録します。
1つのスキームにつき1つのプロバイダーのみ登録でき、スキームが別のプロバイダーによって占有されている場合、または予約されている場合はエラーがスローされます。
パラメーター | 説明 |
---|---|
scheme: string | プロバイダーが登録するURI-スキーム。 |
provider: FileSystemProvider | ファイルシステムプロバイダー。 |
options?: {isCaseSensitive: boolean, isReadonly: boolean | MarkdownString} | プロバイダーに関する不変のメタデータ。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerNotebookSerializer(notebookType: string, serializer: NotebookSerializer, options?: NotebookDocumentContentOptions): Disposable
ノートブックシリアライザを登録します。
ノートブックシリアライザは、notebooks
拡張ポイントを通じて提供されなければなりません。ノートブックファイルを開くと、エディターはonNotebook:<notebookType>
アクティベーションイベントを送信し、拡張機能はそれに応じてシリアライザを登録する必要があります。
パラメーター | 説明 |
---|---|
notebookType: string | ノートブック。 |
serializer: NotebookSerializer | ノートブックシリアライザ。 |
options?: NotebookDocumentContentOptions | ノートブックのどの部分を永続化すべきかを定義するオプションのコンテキストオプション。 |
戻り値 | 説明 |
Disposable | 破棄されたときにこのシリアライザを登録解除するDisposable。 |
registerTaskProvider(type: string, provider: TaskProvider<Task>): Disposable
タスクプロバイダーを登録します。
- 非推奨 - 代わりに
tasks
名前空間の対応する関数を使用してください。
パラメーター | 説明 |
---|---|
type: string | このプロバイダーが登録されているタスクの種類。 |
provider: TaskProvider<Task> | タスクプロバイダー。 |
戻り値 | 説明 |
Disposable | 破棄時にこのプロバイダーを登録解除するDisposable。 |
registerTextDocumentContentProvider(scheme: string, provider: TextDocumentContentProvider): Disposable
テキストドキュメントコンテンツプロバイダーを登録します。
1つのスキームにつき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
セッションを取得したいアカウント。これは、適切なセッションを作成するためにAuthentication Providerに渡されます。
clearSessionPreference?: boolean
既存のセッション設定をクリアするかどうか。
複数のアカウントへの同時サインインをサポートする認証プロバイダーの場合、getSessionが呼び出されたときに、ユーザーは使用するアカウントを選択するよう求められます。この設定は、このフラグを指定してgetSessionが呼び出されるまで記憶されます。
注意: この設定は拡張機能固有です。したがって、ある拡張機能がgetSessionを呼び出しても、別の拡張機能がgetSessionを呼び出した際のセッション設定には影響しません。さらに、この設定は現在のワークスペースとグローバルの両方に対して行われます。これは、新しいワークスペースでは最初に「グローバル」値が使用され、このフラグが提供されたときにそのワークスペースに対して新しい値を設定できることを意味します。また、これは、新しいワークスペースがこのフラグを設定しても、既存のワークスペースがその設定を失わないことも意味します。
デフォルトはfalseです。
createIfNone?: boolean | AuthenticationGetSessionPresentationOptions
一致するセッションがない場合にログインを実行するかどうか。
trueの場合、ユーザーにサインインを促すモーダルダイアログが表示されます。falseの場合、アカウントアクティビティバーアイコンに数字付きのバッジが表示されます。拡張機能のエントリがサインインメニューの下に追加されます。これにより、ユーザーに静かにサインインを促すことができます。
オプションを提供すると、ダイアログも表示されますが、追加のコンテキストが提供されます。
一致するセッションがあるものの、拡張機能にアクセスが許可されていない場合、これをtrueに設定すると、すぐにモーダルダイアログが表示され、falseに設定するとアカウントアイコンに数字付きのバッジが追加されます。
デフォルトはfalseです。
注: このオプションはsilentと一緒に使用することはできません。
forceNewSession?: boolean | AuthenticationGetSessionPresentationOptions
すでにセッションが利用可能な場合でも、再認証を試みるべきかどうか。
trueの場合、ユーザーに再度サインインを求めるモーダルダイアログが表示されます。これは主に、トークンが一部の認証を失ったために再発行が必要なシナリオで使用されます。
オプションを提供すると、ダイアログも表示されますが、追加のコンテキストが提供されます。
既存のセッションがなく、forceNewSessionがtrueの場合、それはcreateIfNoneと全く同じように動作します。
これはデフォルトでfalseです。
アカウントメニューにサインインの表示をすべきかどうか。
falseの場合、ユーザーにはアカウントメニューに拡張機能のサインインオプション付きのバッジが表示されます。trueの場合、表示はされません。
デフォルトはfalseです。
注: このオプションをcreateIfNoneのような、ユーザーにプロンプトを表示する他のオプションと一緒に使用することはできません。
AuthenticationGetSessionPresentationOptions
インタラクティブオプションforceNewSession
およびcreateIfNone
を指定してauthentication.getSessionを呼び出すときに使用するオプションです。
プロパティ
再認証を求める際にユーザーに表示されるオプションのメッセージ。ユーザーに再認証を求める理由に関する追加のコンテキストを提供することで、ユーザーが同意する可能性を高めることができます。
AuthenticationProvider
サービスへの認証を実行するためのプロバイダー。
イベント
onDidChangeSessions: Event<AuthenticationProviderAuthenticationSessionsChangeEvent>
セッションの配列が変更された、またはセッション内のデータが変更されたときに発生するイベント。
メソッド
createSession(scopes: readonly string[], options: AuthenticationProviderSessionOptions): Thenable<AuthenticationSession>
ユーザーにログインを促します。
ログインが成功した場合、onDidChangeSessionsイベントが発行されるべきです。
ログインが失敗した場合、拒否されたプロミスが返されるべきです。
プロバイダーが複数のアカウントをサポートしないと指定している場合、これらのスコープに一致する既存のセッションがすでに存在するときは、これを呼び出すべきではありません。
パラメーター | 説明 |
---|---|
scopes: readonly string[] | 新しいセッションを作成する際に使用すべきスコープ(パーミッション)のリスト。 |
options: AuthenticationProviderSessionOptions | セッション作成のための追加オプション。 |
戻り値 | 説明 |
Thenable<AuthenticationSession> | 認証セッションに解決されるプロミス。 |
getSessions(scopes: readonly string[], options: AuthenticationProviderSessionOptions): Thenable<AuthenticationSession[]>
セッションのリストを取得します。
パラメーター | 説明 |
---|---|
scopes: readonly string[] | スコープのオプションリスト。提供された場合、返されるセッションはこれらのパーミッションと一致する必要があり、そうでない場合はすべてのセッションが返されます。 |
options: AuthenticationProviderSessionOptions | セッションを取得するための追加オプション。 |
戻り値 | 説明 |
Thenable<AuthenticationSession[]> | 認証セッションの配列に解決されるプロミス。 |
removeSession(sessionId: string): Thenable<void>
セッションIDに対応するセッションを削除します。
除去が成功した場合、onDidChangeSessions
イベントが発火される必要があります。
セッションを削除できない場合、プロバイダーはエラーメッセージとともに拒否する必要があります。
パラメーター | 説明 |
---|---|
sessionId: string | 削除するセッションのID。 |
戻り値 | 説明 |
Thenable<void> |
AuthenticationProviderAuthenticationSessionsChangeEvent
AuthenticationSession が追加、削除、または変更されたときに発火される Event です。
プロパティ
added: readonly AuthenticationSession[]
AuthenticationProvider に追加された AuthenticationSession のリストです。
changed: readonly AuthenticationSession[]
AuthenticationProvider で変更された AuthenticationSession のリストです。セッションはID以外のデータが更新されたときに変更されます。これの例としては、新しいアクセストークンがセッションに設定される結果となるセッションの更新が挙げられます。
removed: readonly AuthenticationSession[]
AuthenticationProvider から削除された AuthenticationSession のリストです。
AuthenticationProviderInformation
AuthenticationProvider の基本情報。
プロパティ
認証プロバイダーの一意の識別子。
認証プロバイダーの人間が読める名前。
AuthenticationProviderOptions
AuthenticationProvider を作成するためのオプション。
プロパティ
supportsMultipleAccounts?: boolean
このプロバイダーで同時に複数のアカウントにサインインできるかどうか。指定しない場合、デフォルトは false になります。
AuthenticationProviderSessionOptions
AuthenticationProvider.getSessions および AuthenticationProvider.createSession の呼び出しに渡されるオプション。
プロパティ
account?: AuthenticationSessionAccountInformation
問い合わせ対象のアカウント。これが渡された場合、プロバイダーはこのアカウントにのみ関連するセッションを返そうと試みる必要があります。
AuthenticationSession
現在ログインしているユーザーのセッションを表します。
プロパティ
アクセストークン。
account: AuthenticationSessionAccountInformation
セッションに関連付けられたアカウント。
認証セッションの識別子。
セッションのアクセストークンによって付与されたパーミッション。AuthenticationProvider によって利用可能なスコープが定義されます。
AuthenticationSessionAccountInformation
AuthenticationSession に関連付けられたアカウントの情報。
プロパティ
アカウントの一意の識別子。
アカウントの人間が読める名前。
AuthenticationSessionsChangeEvent
AuthenticationSession が追加、削除、または変更されたときに発火される Event です。
プロパティ
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>
キャンセル時に発火される Event。
CancellationTokenSource
キャンセルトークンソースは、キャンセルトークンを作成し、制御します。
コンストラクタ
new CancellationTokenSource(): CancellationTokenSource
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
CancellationTokenSource |
プロパティ
token: CancellationToken
このソースのキャンセルトークン。
メソッド
トークンでキャンセルを通知します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
オブジェクトを破棄し、リソースを解放します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
CharacterPair
開き括弧と閉じ括弧のペアのような、2つの文字のタプル。
CharacterPair: [string, string]
ChatContext
参加者に渡される追加のコンテキスト。
プロパティ
history: ReadonlyArray<ChatRequestTurn | ChatResponseTurn>
現在のチャットセッションにおけるこれまでのすべてのチャットメッセージ。現在、現在の参加者のチャットメッセージのみが含まれます。
ChatErrorDetails
チャットリクエストからのエラー結果を表します。
プロパティ
ユーザーに表示されるエラーメッセージ。
true に設定すると、応答の一部がぼかされます。
ChatFollowup
参加者によって提案されたフォローアップの質問。
プロパティ
デフォルトでは、フォローアップは同じ参加者/コマンドに送られます。しかし、このプロパティを設定することで、別のコマンドを呼び出すことができます。
ユーザーに表示するタイトル。指定しない場合、デフォルトではプロンプトが表示されます。
デフォルトでは、フォローアップは同じ参加者/コマンドに送られます。しかし、このプロパティを設定することで、IDによって別の参加者を呼び出すことができます。フォローアップは、同じ拡張機能によって貢献された参加者のみを呼び出すことができます。
チャットに送信するメッセージ。
ChatFollowupProvider
ユーザーに表示する推奨フォローアップ質問を取得するため、各リクエスト後に1回呼び出されます。ユーザーはフォローアップをクリックしてチャットに送信できます。
メソッド
provideFollowups(result: ChatResult, context: ChatContext, token: CancellationToken): ProviderResult<ChatFollowup[]>
指定された結果に対するフォローアップを提供します。
パラメーター | 説明 |
---|---|
result: ChatResult | このオブジェクトは、 |
context: ChatContext | 参加者に渡される追加のコンテキスト。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<ChatFollowup[]> |
ChatLanguageModelToolReference
ユーザーが手動でリクエストに添付したツールへの参照。インラインで #
構文を使用するか、ペーパークリップボタンから添付として使用します。
プロパティ
ツール名。lm.tools にリストされているツールを参照します。
range?: [start: number, end: number]
プロンプト内の参照の開始インデックスと終了インデックス。未定義の場合、参照はプロンプトテキストの一部ではありませんでした。
注意: インデックスには先頭の #
文字が考慮されているため、それらをそのままプロンプトの変更に使用できます。
ChatParticipant
チャット参加者は、チャットセッションでユーザーが 接頭辞を使用して呼び出すことができます。呼び出されると、チャットリクエストを処理し、ユーザーに応答を提供する唯一の責任を負います。ChatParticipant は chat.createChatParticipant を使用して作成されます。
イベント
onDidReceiveFeedback: Event<ChatResultFeedback>
結果に対するフィードバックが受信されるたびに発火するイベント。例えば、ユーザーが結果をアップ投票またはダウン投票したときなど。
渡された result は、このチャット参加者のハンドラーから以前に返された結果と同じプロパティを持つことが保証されます。
プロパティ
followupProvider?: ChatFollowupProvider
このプロバイダーは、推奨されるフォローアップの質問を取得するために、各リクエスト後に一度呼び出されます。
iconPath?: IconPath
UIに表示される参加者のアイコン。
この参加者の一意のID。
requestHandler: ChatRequestHandler
この参加者へのリクエストのハンドラー。
メソッド
この参加者を破棄し、リソースを解放します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
ChatParticipantToolToken
チャットリクエストの処理コンテキスト内でツールを呼び出すときに、lm.invokeTool に渡すことができるトークン。
ChatParticipantToolToken: never
ChatPromptReference
ユーザーがチャットリクエストに追加した値への参照。
プロパティ
この種類の参照のための一意の識別子。
LLM プロンプトで使用できる、この値の説明。
range?: [start: number, end: number]
プロンプト内の参照の開始インデックスと終了インデックス。未定義の場合、参照はプロンプトテキストの一部ではありませんでした。
注意: インデックスには先頭の #
文字が考慮されているため、それらをそのままプロンプトの変更に使用できます。
この参照の値。現在、string | Uri | Location
型が使用されていますが、将来的には拡張される可能性があります。
ChatRequest
チャット参加者へのリクエスト。
プロパティ
このリクエストで選択された [ChatCommand コマンド](#ChatCommand command) の名前。
model: LanguageModelChat
これは現在UIで選択されているモデルです。拡張機能はこれを使用することも、lm.selectChatModels を使用して別のモデルを選択することもできます。このオブジェクトをリクエストのライフタイムを超えて保持しないでください。
ユーザーが入力したプロンプト。
このリクエストで使用される参照に関する情報は、ChatRequest.references に格納されます。
注意: 参加者の [ChatParticipant.name 名](#ChatParticipant.name name) および [ChatCommand.name コマンド](#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 コマンド](#ChatCommand command) の名前。
このリクエストの宛先となったチャット参加者のID。
ユーザーが入力したプロンプト。
このリクエストで使用される参照に関する情報は、ChatRequestTurn.references に格納されます。
注意: 参加者の [ChatParticipant.name 名](#ChatParticipant.name name) および [ChatCommand.name コマンド](#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 | Markdown 文字列、または Markdown として解釈されるべき文字列。MarkdownString.isTrusted のブール型はサポートされていません。 |
戻り値 | 説明 |
ChatResponseMarkdownPart |
プロパティ
value: MarkdownString
Markdown 文字列、または Markdown として解釈されるべき文字列。
ChatResponsePart
異なるチャット応答タイプを表します。
ChatResponsePart: ChatResponseMarkdownPart | ChatResponseFileTreePart | ChatResponseAnchorPart | ChatResponseProgressPart | ChatResponseReferencePart | ChatResponseCommandButtonPart
ChatResponseProgressPart
チャット応答の一部で、進捗メッセージであるものを表します。
コンストラクタ
new ChatResponseProgressPart(value: string): ChatResponseProgressPart
新しい ChatResponseProgressPart を作成します。
パラメーター | 説明 |
---|---|
value: string | 進捗メッセージ。 |
戻り値 | 説明 |
ChatResponseProgressPart |
プロパティ
進捗メッセージ。
ChatResponseReferencePart
チャット応答の一部で、コンテンツとは別にレンダリングされる参照を表します。
コンストラクタ
new ChatResponseReferencePart(value: Uri | Location, iconPath?: IconPath): ChatResponseReferencePart
新しい ChatResponseReferencePart を作成します。
パラメーター | 説明 |
---|---|
value: Uri | Location | URI または位置。 |
iconPath?: IconPath | UIに表示される参照のアイコン。 |
戻り値 | 説明 |
ChatResponseReferencePart |
プロパティ
iconPath?: IconPath
参照のアイコン。
参照ターゲット。
ChatResponseStream
ChatResponseStream は、参加者がチャットビューにコンテンツを返す方法です。チャットビューで適切にレンダリングされる様々な種類のコンテンツをストリーミングするためのいくつかのメソッドを提供します。参加者は、返したいコンテンツのタイプに応じたヘルパーメソッドを使用することも、ChatResponsePart のインスタンスを作成し、汎用的な ChatResponseStream.push メソッドを使用してそれを返すこともできます。
メソッド
anchor(value: Uri | Location, title?: string): void
このストリームにアンカーパーツをプッシュします。push(new ChatResponseAnchorPart(value, title))
のショートハンドです。アンカーは、何らかのリソースタイプへのインライン参照です。
button(command: Command): void
このストリームにコマンドボタンパーツをプッシュします。push(new ChatResponseCommandButtonPart(value, title))
のショートハンドです。
パラメーター | 説明 |
---|---|
command: Command | ボタンがクリックされたときに実行される Command。 |
戻り値 | 説明 |
void |
filetree(value: ChatResponseFileTree[], baseUri: Uri): void
このストリームにファイルツリーパーツをプッシュします。push(new ChatResponseFileTreePart(value))
のショートハンドです。
パラメーター | 説明 |
---|---|
value: ChatResponseFileTree[] | ファイルツリーデータ。 |
baseUri: Uri | このファイルツリーが相対的な基準URI。 |
戻り値 | 説明 |
void |
markdown(value: string | MarkdownString): void
このストリームにMarkdownパーツをプッシュします。push(new ChatResponseMarkdownPart(value))
のショートハンドです。
関連項目: ChatResponseStream.push
パラメーター | 説明 |
---|---|
value: string | MarkdownString | Markdown 文字列、または Markdown として解釈されるべき文字列。MarkdownString.isTrusted のブール型はサポートされていません。 |
戻り値 | 説明 |
void |
このストリームに進捗パーツをプッシュします。push(new ChatResponseProgressPart(value))
のショートハンドです。
パラメーター | 説明 |
---|---|
value: string | 進捗メッセージ。 |
戻り値 | 説明 |
void |
push(part: ChatResponsePart): void
このストリームにパーツをプッシュします。
パラメーター | 説明 |
---|---|
part: ChatResponsePart | レンダリングされる応答パーツまたはメタデータ。 |
戻り値 | 説明 |
void |
reference(value: Uri | Location, iconPath?: IconPath): void
このストリームに参照をプッシュします。push(new ChatResponseReferencePart(value))
のショートハンドです。
注意: 参照は応答とインラインでレンダリングされません。
ChatResponseTurn
チャット履歴におけるチャット参加者の応答を表します。
プロパティ
この応答の元となったコマンドの名前。
この応答の元となったチャット参加者のID。
response: ReadonlyArray<ChatResponseMarkdownPart | ChatResponseFileTreePart | ChatResponseAnchorPart | ChatResponseCommandButtonPart>
チャット参加者から受信したコンテンツ。実際のコンテンツを表すストリームパーツ(メタデータではない)のみが表現されます。
result: ChatResult
チャット参加者から受信した結果。
ChatResult
チャットリクエストの結果。
プロパティ
errorDetails?: ChatErrorDetails
リクエストがエラーになった場合、このプロパティはエラーの詳細を定義します。
この結果に関する任意のメタデータ。何でも構いませんが、JSON文字列化可能である必要があります。
ChatResultFeedback
結果に対するユーザーフィードバックを表します。
プロパティ
kind: ChatResultFeedbackKind
受信したフィードバックの種類。
result: ChatResult
ユーザーがフィードバックを提供している ChatResult。このオブジェクトは、metadata
を含む、参加者コールバックから返された結果と同じプロパティを持ちますが、同じインスタンスではありません。
ChatResultFeedbackKind
受信したユーザーフィードバックの種類を表します。
列挙メンバー
ユーザーが結果を「役に立たない」とマークしました。
ユーザーが結果を「役に立つ」とマークしました。
Clipboard
クリップボードは、システムのクリップボードへの読み取りおよび書き込みアクセスを提供します。
メソッド
現在のクリップボードの内容をテキストとして読み取ります。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
Thenable<string> | 文字列に解決する thenable。 |
writeText(value: string): Thenable<void>
テキストをクリップボードに書き込みます。
パラメーター | 説明 |
---|---|
value: string | |
戻り値 | 説明 |
Thenable<void> | 書き込みが発生したときに解決する thenable。 |
CodeAction
コードアクションは、問題の修正やコードのリファクタリングなど、コード内で実行できる変更を表します。
CodeAction は、edit および/または command のいずれかを設定する必要があります。両方が指定された場合、まず edit
が適用され、その後コマンドが実行されます。
コンストラクタ
new CodeAction(title: string, kind?: CodeActionKind): CodeAction
パラメーター | 説明 |
---|---|
title: string | コードアクションのタイトル。 |
kind?: CodeActionKind | コードアクションの種類。 |
戻り値 | 説明 |
CodeAction |
プロパティ
command?: Command
このコードアクションが実行する Command。
このコマンドが例外をスローすると、エディタは現在のカーソル位置でエディタに例外メッセージをユーザーに表示します。
diagnostics?: Diagnostic[]
このコードアクションが解決する Diagnostics。
コードアクションが現在適用できないことを示します。
パラメーター | 説明 |
---|---|
reason: string | コードアクションが現在無効になっている理由を人間が読める形で説明します。 これはコードアクションUIに表示されます。 |
edit?: WorkspaceEdit
このコードアクションが実行する ワークスペース編集。
これを推奨されるアクションとしてマークします。推奨されるアクションは、auto fix
コマンドで使用され、キーバインディングによってターゲットにすることができます。
クイックフィックスは、基礎となるエラーに適切に対処する場合に推奨されるとマークされるべきです。リファクタリングは、実行すべきアクションの中で最も合理的な選択である場合に推奨されるとマークされるべきです。
kind?: CodeActionKind
コードアクションをフィルターするために使用されます。
このコードアクションの、短く人間が読めるタイトル。
CodeActionContext
コードアクションが実行されるコンテキストに関する追加の診断情報を含みます。
プロパティ
diagnostics: readonly Diagnostic[]
診断の配列。
only: CodeActionKind
返されるアクションの要求された種類。
この種類ではないアクションは、電球アイコンによって表示される前にフィルターで除外されます。
triggerKind: CodeActionTriggerKind
コードアクションが要求された理由。
CodeActionKind
コードアクションの種類。
種類は、.
で区切られた識別子の階層リストです。例: "refactor.extract.function"
。
コードアクションの種類は、リファクタリングコンテキストメニューなどのUI要素にエディターによって使用されます。ユーザーは、editor.action.codeAction
コマンドを使用して、特定の種類のコードアクションをトリガーすることもできます。
静的
Empty: CodeActionKind
空の種類。
Notebook: CodeActionKind
ノートブック全体のスコープに適用されるすべてのコードアクションのベースとなる種類。これを使用するCodeActionKindsは常にnotebook.
で始まる必要があります。
これには、新しいCodeActionsが作成され、拡張機能を通じて貢献される必要があります。既存の種類に新しい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 | コマンドが呼び出されたセレクターまたは範囲。現在アクティブなエディターでアクションが要求されている場合、これは常に選択範囲になります。 |
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 が返す可能性のある CodeActionKind のリスト。
このリストは、特定の 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>
コードレンズプロバイダーは、ソーステキストにコマンドを追加します。コマンドは、ソーステキストの間に専用の水平線として表示されます。
イベント
onDidChangeCodeLenses?: Event<void>
このプロバイダーからのコードレンズが変更されたことを通知するオプションのイベント。
メソッド
provideCodeLenses(document: TextDocument, token: CancellationToken): ProviderResult<T[]>
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T[]> | コードレンズの配列、またはそのようなものに解決されるthenable。結果がない場合は、 |
resolveCodeLens(codeLens: T, token: CancellationToken): ProviderResult<T>
この関数は、表示されている各コードレンズに対して呼び出されます。通常、スクロール時やcompute-lensesの呼び出し後です。
パラメーター | 説明 |
---|---|
codeLens: T | 解決されなければならないコードレンズ。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T> | 指定された、解決されたコードレンズ、またはそのようなものに解決されるthenable。 |
Color
RGBA空間の色を表します。
コンストラクタ
new Color(red: number, green: number, blue: number, alpha: number): Color
新しい色インスタンスを作成します。
パラメーター | 説明 |
---|---|
red: number | 赤成分。 |
green: number | 緑成分。 |
blue: number | 青成分。 |
alpha: number | アルファ成分。 |
戻り値 | 説明 |
Color |
プロパティ
この色のアルファ成分(範囲 [0-1]
内)。
この色の青成分(範囲 [0-1]
内)。
この色の緑成分(範囲 [0-1]
内)。
この色の赤成分(範囲 [0-1]
内)。
ColorInformation
ドキュメントからの色範囲を表します。
コンストラクタ
new ColorInformation(range: Range, color: Color): ColorInformation
新しい色範囲を作成します。
パラメーター | 説明 |
---|---|
range: Range | 色が表れる範囲。空であってはなりません。 |
color: Color | 色の値。 |
戻り値 | 説明 |
ColorInformation |
プロパティ
color: Color
この色範囲の実際の色値。
range: Range
この色が出現するドキュメント内の範囲。
ColorPresentation
色プレゼンテーションオブジェクトは、Color がテキストとしてどのように表現されるべきか、およびソースコードからそれを参照するためにどのような編集が必要かについて説明します。
一部の言語では、1つの色が複数の表現を持つことができます。例えば、CSSでは赤色を定数 Red
、16進値 #ff0000
、またはRGBAおよびHSLA形式で表現できます。C#では、System.Drawing.Color.Red
のような他の表現が適用されます。
コンストラクタ
new ColorPresentation(label: string): ColorPresentation
新しい色プレゼンテーションを作成します。
パラメーター | 説明 |
---|---|
label: string | この色プレゼンテーションのラベル。 |
戻り値 | 説明 |
ColorPresentation |
プロパティ
additionalTextEdits?: TextEdit[]
この色プレゼンテーションのラベル。カラーピッカーのヘッダーに表示されます。デフォルトでは、この色プレゼンテーションを選択したときに挿入されるテキストでもあります。
textEdit?: TextEdit
ColorTheme
カラーテーマを表します。
プロパティ
kind: ColorThemeKind
このカラーテーマの種類: ライト、ダーク、ハイコントラストダーク、ハイコントラストライト。
ColorThemeKind
カラーテーマの種類を表します。
列挙メンバー
ライトカラーテーマ。
ダークカラーテーマ。
ダークハイコントラストカラーテーマ。
ライトハイコントラストカラーテーマ。
Command
コマンドへの参照を表します。UIでコマンドを表すために使用されるタイトルと、オプションで、呼び出されたときにコマンドハンドラー関数に渡される引数の配列を提供します。
プロパティ
コマンドハンドラーが呼び出されるべき引数。
実際のコマンドハンドラーの識別子。
コマンドのタイトル。例: save
。
UIで表示される際の、コマンドのツールチップ。
Comment
コメントは、提供方法に応じて、エディター内またはコメントパネル内に表示されます。
プロパティ
author: CommentAuthorInformation
コメントの作成者情報
body: string | MarkdownString
人間が読めるコメント本文
コメントのコンテキスト値。これはコメント固有のアクションを寄与するために使用できます。例えば、コメントに editable
というコンテキスト値が与えられます。menus
拡張ポイントを使用して comments/comment/title
にアクションを寄与する場合、when
式で comment == editable
のようにキー comment
のコンテキスト値を指定できます。
"contributes": {
"menus": {
"comments/comment/title": [
{
"command": "extension.deleteComment",
"when": "comment == editable"
}
]
}
}
これにより、contextValue
が editable
であるコメントのみにアクション extension.deleteComment
が表示されます。
オプションのコメントのラベル。存在する場合は、`authorName` の隣にラベルがレンダリングされます。
mode: CommentMode
コメントのコメントモード
reactions?: CommentReaction[]
オプションのコメントのリアクション
コメントに表示されるオプションのタイムスタンプ。日付はユーザーのロケールと設定に従ってフォーマットされます。
CommentAuthorInformation
コメントの作成者情報
プロパティ
iconPath?: Uri
作成者のオプションのアイコンパス
コメント作成者の表示名
CommentController
コメントコントローラーは、エディターにコメントサポートを提供し、ユーザーがコメントと対話するためのさまざまな方法を提供できます。
プロパティ
commentingRangeProvider?: CommentingRangeProvider
オプションのコメント範囲プロバイダー。任意の指定されたリソースURIにコメントをサポートする範囲のリストを提供します。
提供されない場合、ユーザーはコメントを残すことができません。
このコメントコントローラーのID。
このコメントコントローラーの人間が読めるラベル。
options?: CommentOptions
コメントコントローラーのオプション
reactionHandler?: (comment: Comment, reaction: CommentReaction) => Thenable<void>
コメントへのリアクションの作成と削除のためのオプションのリアクションハンドラー。
パラメーター | 説明 |
---|---|
comment: Comment | |
reaction: CommentReaction | |
戻り値 | 説明 |
Thenable<void> |
メソッド
createCommentThread(uri: Uri, range: Range, comments: readonly Comment[]): CommentThread
コメントスレッドを作成します。コメントスレッドは、作成されると、表示されているテキストエディター(リソースが一致する場合)およびコメントパネルに表示されます。
パラメーター | 説明 |
---|---|
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
ドキュメント内の特定の範囲における会話を表す、コメントのコレクション。
プロパティ
canReply: boolean | CommentAuthorInformation
スレッドが返信をサポートするかどうか。デフォルトはtrueです。
collapsibleState: CommentThreadCollapsibleState
ドキュメントを開いたときにスレッドを折りたたむか展開するか。デフォルトはCollapsedです。
comments: readonly Comment[]
スレッドの順序付けされたコメント。
コメントスレッドのコンテキスト値。これはスレッド固有のアクションを寄与するために使用できます。例えば、コメントスレッドに editable
というコンテキスト値が与えられます。menus
拡張ポイントを使用して comments/commentThread/title
にアクションを寄与する場合、when
式で commentThread == editable
のようにキー commentThread
のコンテキスト値を指定できます。
"contributes": {
"menus": {
"comments/commentThread/title": [
{
"command": "extension.deleteCommentThread",
"when": "commentThread == editable"
}
]
}
}
これにより、contextValue
が editable
であるコメントスレッドのみにアクション extension.deleteCommentThread
が表示されます。
オプションの人間が読める、コメントスレッドを記述するラベル
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
この補完を挿入した後に実行されるオプションの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間の契約を定義します。
プロバイダーは、resolveCompletionItem関数を実装することで、detailおよびdocumentationプロパティの計算を遅延させることができます。ただし、sortText
、filterText
、insertText
、range
など、初期のソートとフィルタリングに必要なプロパティは、解決中に変更してはなりません。
プロバイダーは、ユーザーのジェスチャーによって明示的に、または構成によっては、単語やトリガー文字を入力するときに暗黙的に補完を要求されます。
メソッド
provideCompletionItems(document: TextDocument, position: Position, token: CancellationToken, context: CompletionContext): ProviderResult<CompletionList<T> | T[]>
指定された位置とドキュメントに対する補完項目を提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
token: CancellationToken | キャンセルトークン。 |
context: CompletionContext | 補完がどのようにトリガーされたか。 |
戻り値 | 説明 |
ProviderResult<CompletionList<T> | T[]> | 補完の配列、補完リスト、またはそれらのいずれかに解決されるThenable。結果がないことは、 |
resolveCompletionItem(item: T, token: CancellationToken): ProviderResult<T>
補完項目に、doc-commentやdetailsなどの追加データを入力します。
エディターは補完項目を1回のみ解決します。
注意: この関数は、補完項目がすでにUIに表示されているとき、または挿入のために項目が選択されたときに呼び出されます。そのため、表示(ラベル、ソート、フィルタリングなど)や(主要な)挿入動作(insertText)を変更するプロパティは変更できません。
この関数はadditionalTextEditsに入力できます。ただし、これは解決が完了する前に項目が挿入される可能性があることを意味し、その場合、エディターは追加のテキスト編集を適用するために最善を尽くします。
パラメーター | 説明 |
---|---|
item: T | 現在UIでアクティブな補完項目です。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T> | 解決された補完項目、またはそのような項目に解決されるThenable。指定された |
CompletionItemTag
補完項目タグは、補完項目のレンダリングを調整する追加のアノテーションです。
列挙メンバー
補完を非推奨としてレンダリングします。通常は打ち消し線を使用します。
CompletionList<T>
エディターに表示される補完項目のコレクションを表します。
コンストラクタ
new CompletionList<T extends CompletionItem>(items?: T[], isIncomplete?: boolean): CompletionList<T>
新しい補完リストを作成します。
パラメーター | 説明 |
---|---|
items?: T[] | 補完項目。 |
isIncomplete?: boolean | リストが不完全です。 |
戻り値 | 説明 |
CompletionList<T> |
プロパティ
このリストは不完全です。さらなる入力によってこのリストが再計算されるはずです。
補完項目。
CompletionTriggerKind
補完プロバイダーがどのようにトリガーされたか
列挙メンバー
補完は通常通りトリガーされました。
補完はトリガー文字によってトリガーされました。
TriggerForIncompleteCompletions: 2
現在の補完リストが不完全であるため、補完が再トリガーされました。
ConfigurationChangeEvent
構成の変更を記述するイベント
メソッド
affectsConfiguration(section: string, scope?: ConfigurationScope): boolean
指定されたセクションが変更されたかどうかをチェックします。スコープが指定されている場合、指定されたスコープ内のリソースに対してセクションが変更されたかどうかをチェックします。
パラメーター | 説明 |
---|---|
section: string | 設定名、ドット区切り名をサポートします。 |
scope?: ConfigurationScope | チェックするスコープです。 |
戻り値 | 説明 |
boolean | 指定されたセクションが変更された場合、 |
ConfigurationScope
構成スコープは以下である可能性があります。
- リソースを表すUri
- 開いているテキストドキュメントを表すTextDocument
- ワークスペースフォルダーを表すWorkspaceFolder
- 以下の内容を含むオブジェクト
uri
: テキストドキュメントのオプションのUrilanguageId
: テキストドキュメントの言語識別子
ConfigurationScope: Uri | TextDocument | WorkspaceFolder | {languageId: string, uri: Uri}
ConfigurationTarget
構成ターゲット
列挙メンバー
グローバル構成
ワークスペース構成
ワークスペースフォルダー構成
CustomDocument
CustomEditorProviderによって使用されるカスタムドキュメントを表します。
カスタムドキュメントは、特定のCustomEditorProvider
内でのみ使用されます。CustomDocument
のライフサイクルはエディターによって管理されます。CustomDocument
への参照がなくなると、破棄されます。
プロパティ
uri: Uri
このドキュメントに関連付けられたURIです。
メソッド
カスタムドキュメントを破棄します。
これは、特定のCustomDocument
への参照がなくなったとき(例えば、ドキュメントに関連付けられたすべてのエディターが閉じられたとき)にエディターによって呼び出されます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
CustomDocumentBackup
CustomDocumentのバックアップです。
プロパティ
バックアップの一意の識別子です。
このIDは、バックアップからカスタムエディターを開くときに、openCustomDocument
で拡張機能に渡されます。
メソッド
現在のバックアップを削除します。
これは、新しいバックアップが作成されたときやファイルが保存されたときなど、現在のバックアップが不要になったことが明らかになったときにエディターによって呼び出されます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
CustomDocumentBackupContext
CustomDocumentBackupを実装するために使用される追加情報です。
プロパティ
destination: Uri
新しいバックアップを書き込む推奨ファイル場所です。
拡張機能はこの推奨を無視し、独自のバックアップ戦略を使用しても構いません。
エディターが現在のワークスペースからのリソースである場合、destination
はExtensionContext.storagePath
内のファイルを指します。destination
の親フォルダーは存在しない場合があるため、この場所にバックアップを書き込む前に作成してください。
CustomDocumentContentChangeEvent<T>
CustomDocumentのコンテンツが変更されたことをエディターに通知するために拡張機能によってトリガーされるイベントです。
プロパティ
変更対象のドキュメントです。
CustomDocumentEditEvent<T>
CustomDocument上で編集が発生したことをエディターに通知するために拡張機能によってトリガーされるイベントです。
プロパティ
編集対象のドキュメントです。
編集を説明する表示名です。
これは元に戻す/やり直し操作のためにUIでユーザーに表示されます。
メソッド
編集操作をやり直します。
これは、ユーザーがこの編集をやり直すときにエディターによって呼び出されます。redo
を実装するには、拡張機能は、この編集がonDidChangeCustomDocument
によってエディターの内部編集スタックに追加された直後の状態にドキュメントとエディターを復元する必要があります。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void | Thenable<void> |
編集操作を元に戻します。
これは、ユーザーがこの編集を元に戻すときにエディターによって呼び出されます。undo
を実装するには、拡張機能は、この編集がonDidChangeCustomDocument
によってエディターの内部編集スタックに追加される直前の状態にドキュメントとエディターを復元する必要があります。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void | Thenable<void> |
CustomDocumentOpenContext
カスタムドキュメントを開くに関する追加情報です。
プロパティ
ドキュメントを復元するバックアップのID、またはバックアップがない場合はundefined
。
これが提供されている場合、拡張機能はユーザーのワークスペースからファイルを読み込む代わりに、バックアップからエディターを復元する必要があります。
untitledDocumentData: Uint8Array
URIがタイトルなしのファイルの場合、このファイルにはそのファイルのバイトデータが入力されます。
これが提供されている場合、拡張機能は渡されたURIでfs APIを実行する代わりに、このバイトデータを活用する必要があります。
CustomEditorProvider<T>
カスタムドキュメントモデルを使用する編集可能なカスタムエディターのプロバイダーです。
カスタムエディターは、ドキュメントモデルとしてTextDocumentの代わりにCustomDocumentを使用します。これにより、編集、保存、バックアップなどのアクションを拡張機能が完全に制御できるようになります。
バイナリファイルやより複雑なシナリオを扱う場合は、このタイプのカスタムエディターを使用してください。単純なテキストベースのドキュメントの場合は、代わりにCustomTextEditorProviderを使用してください。
イベント
onDidChangeCustomDocument: Event<CustomDocumentEditEvent<T>> | Event<CustomDocumentContentChangeEvent<T>>
カスタムエディター内で編集が発生したことを通知するイベントです。
このイベントは、カスタムエディターで編集が発生するたびに、拡張機能によって発生させる必要があります。編集は、テキストの変更から画像のトリミング、リストの並べ替えまで、何でもかまいません。拡張機能は、編集とは何か、各編集にどのようなデータが保存されるかを自由に定義できます。
onDidChange
を発生させると、エディターはダーティとしてマークされます。これは、ユーザーがファイルを保存または元に戻すとクリアされます。
元に戻す/やり直しをサポートするエディターは、編集が発生するたびにCustomDocumentEditEvent
を発生させる必要があります。これにより、ユーザーはエディターの標準的なキーボードショートカットを使用して編集を元に戻したり、やり直したりできます。ユーザーが最後に保存された状態まですべての編集を元に戻した場合、エディターはダーティとしてマークされなくなります。
編集をサポートするが、エディターの標準的な元に戻す/やり直しメカニズムを使用できないエディターは、CustomDocumentContentChangeEvent
を発生させる必要があります。元に戻す/やり直しをサポートしないエディターのダーティ状態をクリアする唯一の方法は、ファイルをsave
またはrevert
することです。
エディターは、常にCustomDocumentEditEvent
イベントのみを発生させるか、常にCustomDocumentContentChangeEvent
イベントのみを発生させるべきです。
メソッド
backupCustomDocument(document: T, context: CustomDocumentBackupContext, cancellation: CancellationToken): Thenable<CustomDocumentBackup>
ダーティなカスタムドキュメントをバックアップします。
バックアップは、ホットエグジットとデータ損失防止のために使用されます。backup
メソッドは、現在の状態、つまり編集が適用された状態でリソースを永続化する必要があります。通常、これはリソースをExtensionContext.storagePath
にディスクに保存することを意味します。エディターが再ロードされ、カスタムエディターがリソースに対して開かれるとき、拡張機能はまずそのリソースに対してバックアップが存在するかどうかを確認する必要があります。バックアップがある場合、拡張機能はワークスペースのリソースからではなく、そこからファイルの内容をロードする必要があります。
backup
は、ユーザーがドキュメントの編集を停止してから約1秒後にトリガーされます。ユーザーがドキュメントを素早く編集した場合、編集が停止するまでbackup
は呼び出されません。
auto save
が有効な場合(自動保存がすでにリソースを永続化しているため)、backup
は呼び出されません。
パラメーター | 説明 |
---|---|
document: T | バックアップするドキュメント。 |
context: CustomDocumentBackupContext | ドキュメントのバックアップに使用できる情報。 |
cancellation: CancellationToken | 新しいバックアップが来るため、現在のバックアップがキャンセルされたことを通知するトークン。キャンセルにどのように応答するかは、拡張機能に委ねられています。たとえば、拡張機能が時間のかかる操作で大きなファイルをバックアップしている場合、エディターに有効なバックアップがあることを確認するために、キャンセルせずに進行中のバックアップを完了することを決定するかもしれません。 |
戻り値 | 説明 |
Thenable<CustomDocumentBackup> |
openCustomDocument(uri: Uri, openContext: CustomDocumentOpenContext, token: CancellationToken): T | Thenable<T>
指定されたリソースの新しいドキュメントを作成します。
openCustomDocument
は、特定のリソースに対してエディターが初めて開かれるときに呼び出されます。開かれたドキュメントは、その後resolveCustomEditor
に渡され、エディターがユーザーに表示されるようにします。
ユーザーが追加のエディターを開いた場合、すでに開かれているCustomDocument
が再利用されます。特定のリソースのすべてのエディターが閉じられると、CustomDocument
は破棄されます。この時点でエディターを開くと、openCustomDocument
の別の呼び出しがトリガーされます。
パラメーター | 説明 |
---|---|
uri: Uri | 開くドキュメントのURI。 |
openContext: CustomDocumentOpenContext | カスタムドキュメントを開くに関する追加情報です。 |
token: CancellationToken | 結果が不要になったことを示すキャンセル・トークン。 |
戻り値 | 説明 |
T | Thenable<T> | カスタムドキュメント。 |
resolveCustomEditor(document: T, webviewPanel: WebviewPanel, token: CancellationToken): void | Thenable<void>
指定されたリソースのカスタムエディターを解決します。
これは、ユーザーがこのCustomEditorProvider
の新しいエディターを開くたびに呼び出されます。
パラメーター | 説明 |
---|---|
document: T | 解決中のリソースのドキュメント。 |
webviewPanel: WebviewPanel | このリソースのエディターUIを表示するために使用されるウェブビューパネルです。 解決中、プロバイダーはコンテンツウェブビューパネルの初期HTMLを埋め込み、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、後でコマンドなどで使用するために |
token: CancellationToken | 結果が不要になったことを示すキャンセル・トークン。 |
戻り値 | 説明 |
void | Thenable<void> | カスタムエディターが解決されたことを示すオプションのThenable。 |
revertCustomDocument(document: T, cancellation: CancellationToken): Thenable<void>
カスタムドキュメントを最後に保存された状態に戻します。
このメソッドは、ユーザーがカスタムエディターでファイル: ファイルを元に戻す
をトリガーしたときにエディターによって呼び出されます。(これはエディターのファイル: ファイルを元に戻す
コマンドを使用する場合にのみ使用され、ファイルのgit revert
では使用されないことに注意してください)。
revert
を実装するには、実装者はdocument
のすべてのエディターインスタンス(ウェブビュー)が、保存された状態と同じ状態でドキュメントを表示していることを確認する必要があります。これは通常、ワークスペースからファイルを再ロードすることを意味します。
パラメーター | 説明 |
---|---|
document: T | 元に戻すドキュメント。 |
cancellation: CancellationToken | 元に戻す操作が不要になったことを示すトークン。 |
戻り値 | 説明 |
Thenable<void> | 変更が完了したことを通知するThenable。 |
saveCustomDocument(document: T, cancellation: CancellationToken): Thenable<void>
カスタムドキュメントを保存します。
このメソッドは、ユーザーがカスタムエディターを保存するときにエディターによって呼び出されます。これは、ユーザーがカスタムエディターがアクティブなときに保存をトリガーしたり、すべて保存
などのコマンドを使用したり、有効になっている場合は自動保存によって発生する可能性があります。
save
を実装するには、実装者はカスタムエディターを永続化する必要があります。これは通常、カスタムドキュメントのファイルデータをディスクに書き込むことを意味します。save
が完了すると、関連するエディターインスタンスはダーティとしてマークされなくなります。
パラメーター | 説明 |
---|---|
document: T | 保存するドキュメント。 |
cancellation: CancellationToken | 保存が不要になったことを示すトークン(例: 別の保存がトリガーされた場合)。 |
戻り値 | 説明 |
Thenable<void> | 保存が完了したことを通知するThenable。 |
saveCustomDocumentAs(document: T, destination: Uri, cancellation: CancellationToken): Thenable<void>
カスタムドキュメントを別の場所に保存します。
このメソッドは、ユーザーがカスタムエディターで「名前を付けて保存」をトリガーしたときにエディターによって呼び出されます。実装者は、カスタムエディターをdestination
に永続化する必要があります。
ユーザーが名前を付けて保存を受け入れると、現在のエディターは新しく保存されたファイルのダーティでないエディターに置き換えられます。
パラメーター | 説明 |
---|---|
document: T | 保存するドキュメント。 |
destination: Uri | 保存先。 |
cancellation: CancellationToken | 保存が不要になったことを示すトークン。 |
戻り値 | 説明 |
Thenable<void> | 保存が完了したことを通知するThenable。 |
CustomExecution
タスクとして拡張機能のコールバックを実行するために使用されるクラスです。
コンストラクタ
new CustomExecution(callback: (resolvedDefinition: TaskDefinition) => Thenable<Pseudoterminal>): CustomExecution
CustomExecutionタスクオブジェクトを構築します。このコールバックはタスクが実行されたときに実行され、その時点で拡張機能は「実行される」Pseudoterminalを返す必要があります。タスクは、Pseudoterminal.openが呼び出されるまで、それ以上の実行を待機する必要があります。タスクのキャンセルはPseudoterminal.closeを使用して処理されるべきです。タスクが完了したらPseudoterminal.onDidCloseを発生させます。
パラメーター | 説明 |
---|---|
callback: (resolvedDefinition: TaskDefinition) => Thenable<Pseudoterminal> | タスクがユーザーによって開始されたときに呼び出されるコールバック。タスク定義に含まれていた |
戻り値 | 説明 |
CustomExecution |
CustomReadonlyEditorProvider<T>
カスタムドキュメントモデルを使用する読み取り専用カスタムエディターのプロバイダーです。
カスタムエディターは、ドキュメントモデルとしてTextDocumentの代わりにCustomDocumentを使用します。
バイナリファイルやより複雑なシナリオを扱う場合は、このタイプのカスタムエディターを使用してください。単純なテキストベースのドキュメントの場合は、代わりにCustomTextEditorProviderを使用してください。
メソッド
openCustomDocument(uri: Uri, openContext: CustomDocumentOpenContext, token: CancellationToken): T | Thenable<T>
指定されたリソースの新しいドキュメントを作成します。
openCustomDocument
は、特定のリソースに対してエディターが初めて開かれるときに呼び出されます。開かれたドキュメントは、その後resolveCustomEditor
に渡され、エディターがユーザーに表示されるようにします。
ユーザーが追加のエディターを開いた場合、すでに開かれているCustomDocument
が再利用されます。特定のリソースのすべてのエディターが閉じられると、CustomDocument
は破棄されます。この時点でエディターを開くと、openCustomDocument
の別の呼び出しがトリガーされます。
パラメーター | 説明 |
---|---|
uri: Uri | 開くドキュメントのURI。 |
openContext: CustomDocumentOpenContext | カスタムドキュメントを開くに関する追加情報です。 |
token: CancellationToken | 結果が不要になったことを示すキャンセル・トークン。 |
戻り値 | 説明 |
T | Thenable<T> | カスタムドキュメント。 |
resolveCustomEditor(document: T, webviewPanel: WebviewPanel, token: CancellationToken): void | Thenable<void>
指定されたリソースのカスタムエディターを解決します。
これは、ユーザーがこのCustomEditorProvider
の新しいエディターを開くたびに呼び出されます。
パラメーター | 説明 |
---|---|
document: T | 解決中のリソースのドキュメント。 |
webviewPanel: WebviewPanel | このリソースのエディターUIを表示するために使用されるウェブビューパネルです。 解決中、プロバイダーはコンテンツウェブビューパネルの初期HTMLを埋め込み、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、後でコマンドなどで使用するために |
token: CancellationToken | 結果が不要になったことを示すキャンセル・トークン。 |
戻り値 | 説明 |
void | Thenable<void> | カスタムエディターが解決されたことを示すオプションのThenable。 |
CustomTextEditorProvider
テキストベースのカスタムエディターのプロバイダーです。
テキストベースのカスタムエディターは、データモデルとしてTextDocumentを使用します。これにより、元に戻すやバックアップなどの一般的な操作をエディターが処理できるため、カスタムエディターの実装が大幅に簡素化されます。プロバイダーは、ウェブビューとTextDocument
の間でテキストの変更を同期する責任があります。
メソッド
resolveCustomTextEditor(document: TextDocument, webviewPanel: WebviewPanel, token: CancellationToken): void | Thenable<void>
指定されたテキストリソースのカスタムエディターを解決します。
これは、ユーザーが初めてCustomTextEditorProvider
のリソースを開いたとき、またはこのCustomTextEditorProvider
を使用して既存のエディターを再開したときに呼び出されます。
パラメーター | 説明 |
---|---|
document: TextDocument | 解決するリソースのドキュメント。 |
webviewPanel: WebviewPanel | このリソースのエディターUIを表示するために使用されるウェブビューパネルです。 解決中、プロバイダーはコンテンツウェブビューパネルの初期HTMLを埋め込み、関心のあるすべてのイベントリスナーを接続する必要があります。プロバイダーは、後でコマンドなどで使用するために |
token: CancellationToken | 結果が不要になったことを示すキャンセル・トークン。 |
戻り値 | 説明 |
void | Thenable<void> | カスタムエディターが解決されたことを示すThenable。 |
DataTransfer
対応する転送データのMIMEタイプのマッピングを含むマップです。
handleDrag
を実装するドラッグアンドドロップコントローラーは、データ転送に追加のMIMEタイプを追加できます。これらの追加MIMEタイプは、ドラッグが同じドラッグアンドドロップコントローラー内の要素から開始された場合にのみhandleDrop
に含まれます。
コンストラクタ
new DataTransfer(): DataTransfer
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
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タイプ
|
戻り値 | 説明 |
DataTransferItem |
set(mimeType: string, value: DataTransferItem): void
MIMEタイプからデータ転送項目へのマッピングを設定します。
パラメーター | 説明 |
---|---|
mimeType: string | データを設定するMIMEタイプです。MIMEタイプは小文字で保存され、大文字と小文字を区別しない検索が行われます。 |
value: DataTransferItem | 指定されたMIMEタイプのデータ転送項目。 |
戻り値 | 説明 |
void |
DataTransferFile
DataTransferItemに関連付けられたファイルです。
この型のインスタンスはエディターのみが作成でき、拡張機能は作成できません。
プロパティ
ファイルの名前。
uri?: Uri
ファイルの完全なファイルパス。
Webではundefined
になる場合があります。
メソッド
ファイルの完全なファイル内容。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
Thenable<Uint8Array> |
DataTransferItem
ドラッグアンドドロップ操作中に転送されるデータをカプセル化します。
コンストラクタ
new DataTransferItem(value: any): DataTransferItem
パラメーター | 説明 |
---|---|
value: any | この項目に保存されているカスタムデータ。DataTransferItem.valueを使用して取得できます。 |
戻り値 | 説明 |
DataTransferItem |
プロパティ
この項目に保存されているカスタムデータです。
value
を使用して、操作間でデータを共有できます。元のオブジェクトは、DataTransferItem
を作成した拡張機能が同じ拡張ホストで実行されている限り、取得できます。
メソッド
asFile(): DataTransferFile
このデータ転送項目に関連付けられたファイルを取得しようとします。
ファイルオブジェクトはドラッグアンドドロップ操作のスコープ内でのみ有効であることに注意してください。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
DataTransferFile | データ転送のファイル、または項目がファイルではないか、ファイルデータにアクセスできない場合は |
この項目の文字列表現を取得します。
DataTransferItem.valueがオブジェクトの場合、これはDataTransferItem.value値をJSON文字列化した結果を返します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
Thenable<string> |
DebugAdapter
Debug Adapter Protocolを実装するデバッグアダプターは、DebugAdapterインターフェースを実装していれば、エディターに登録できます。
イベント
onDidSendMessage: Event<DebugProtocolMessage>
デバッグアダプターがDebug Adapter Protocolメッセージをエディターに送信した後に発生するイベント。メッセージは要求、応答、またはイベントです。
メソッド
このオブジェクトを破棄します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
any |
handleMessage(message: DebugProtocolMessage): void
Debug Adapter Protocolメッセージを処理します。メッセージは要求、応答、またはイベントです。結果またはエラーは、onSendMessageイベントを介して返されます。
パラメーター | 説明 |
---|---|
message: DebugProtocolMessage | Debug Adapter Protocolメッセージ |
戻り値 | 説明 |
void |
DebugAdapterDescriptor
さまざまな種類のデバッグアダプターを表します。
DebugAdapterDescriptor: DebugAdapterExecutable | DebugAdapterServer | DebugAdapterNamedPipeServer | DebugAdapterInlineImplementation
DebugAdapterDescriptorFactory
デバッグアダプター記述子を作成するデバッグアダプターファクトリです。
メソッド
createDebugAdapterDescriptor(session: DebugSession, executable: DebugAdapterExecutable): ProviderResult<DebugAdapterDescriptor>
'createDebugAdapterDescriptor'は、デバッグセッションの開始時に、使用するデバッグアダプターに関する詳細を提供するために呼び出されます。これらの詳細はDebugAdapterDescriptor型のオブジェクトとして返される必要があります。現在、2種類のデバッグアダプターがサポートされています。
- コマンドパスと引数として指定されるデバッグアダプター実行可能ファイル(DebugAdapterExecutableを参照)、
- 通信ポート経由で到達可能なデバッグアダプターサーバー(DebugAdapterServerを参照)。このメソッドが実装されていない場合、デフォルトの動作は次のとおりです: createDebugAdapter(session: DebugSession, executable: DebugAdapterExecutable) { if (typeof session.configuration.debugServer === 'number') { return new DebugAdapterServer(session.configuration.debugServer); } return executable; }
パラメーター | 説明 |
---|---|
session: DebugSession | デバッグアダプターが使用されるデバッグセッション。 |
executable: DebugAdapterExecutable | package.jsonで指定されたデバッグアダプターの実行可能情報(情報がない場合は未定義)。 |
戻り値 | 説明 |
ProviderResult<DebugAdapterDescriptor> | デバッグアダプター記述子、またはundefined。 |
DebugAdapterExecutable
デバッグアダプターの実行可能ファイルと、それに渡されるオプションの引数およびランタイムオプションを表します。
コンストラクタ
new DebugAdapterExecutable(command: string, args?: string[], options?: DebugAdapterExecutableOptions): DebugAdapterExecutable
実行可能プログラムに基づいたデバッグアダプターの説明を作成します。
パラメーター | 説明 |
---|---|
command: string | デバッグアダプターを実装するコマンドまたは実行可能パス。 |
args?: string[] | コマンドまたは実行可能ファイルに渡されるオプションの引数。 |
options?: DebugAdapterExecutableOptions | コマンドまたは実行可能ファイルの起動時に使用されるオプションのオプション。 |
戻り値 | 説明 |
DebugAdapterExecutable |
プロパティ
デバッグアダプター実行可能ファイルに渡される引数。デフォルトは空の配列です。
デバッグアダプター実行可能ファイルのコマンドまたはパス。コマンドは実行可能ファイルの絶対パスであるか、PATH環境変数で検索されるコマンド名である必要があります。特殊な値「node」はエディターに組み込まれたNode.jsランタイムにマッピングされます。
options?: DebugAdapterExecutableOptions
デバッグアダプターの起動時に使用されるオプションのオプション。デフォルトはundefinedです。
DebugAdapterExecutableOptions
デバッグアダプター実行可能ファイルのオプション。
プロパティ
実行されたデバッグアダプターの現在の作業ディレクトリ。
実行されるプログラムまたはシェルの追加の環境。省略された場合、親プロセスの環境が使用されます。提供された場合、親プロセスの環境とマージされます。
DebugAdapterInlineImplementation
インライン実装のデバッグアダプター記述子。
コンストラクタ
new DebugAdapterInlineImplementation(implementation: DebugAdapter): DebugAdapterInlineImplementation
デバッグアダプターのインライン実装の記述子を作成します。
パラメーター | 説明 |
---|---|
implementation: DebugAdapter | |
戻り値 | 説明 |
DebugAdapterInlineImplementation |
DebugAdapterNamedPipeServer
名前付きパイプ(Windows上)/UNIXドメインソケット(非Windows上)ベースのサーバーとして実行されるデバッグアダプターを表します。
コンストラクタ
new DebugAdapterNamedPipeServer(path: string): DebugAdapterNamedPipeServer
名前付きパイプ(Windows)/UNIXドメインソケット(非Windows)ベースのサーバーとして実行されるデバッグアダプターの説明を作成します。
パラメーター | 説明 |
---|---|
path: string | |
戻り値 | 説明 |
DebugAdapterNamedPipeServer |
プロパティ
NamedPipe/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 | 文字列。偽値は出力されません。 |
戻り値 | 説明 |
void |
appendLine(value: string): void
指定された値と改行文字をデバッグコンソールに追加します。
パラメーター | 説明 |
---|---|
value: string | 文字列。偽値も出力されます。 |
戻り値 | 説明 |
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
デバッグセッションを開始するためのオプションです。
プロパティ
デバッグセッションの親セッションが、単一の子しか持たない場合でも「呼び出しスタック」ビューに表示されるかどうかを制御します。デフォルトでは、デバッグセッションは親を非表示にすることはありません。compactがtrueの場合、単一の子を持つデバッグセッションは、ツリーをよりコンパクトにするために「呼び出しスタック」ビューで非表示になります。
consoleMode?: DebugConsoleMode
このセッションが個別のデバッグコンソールを持つべきか、親セッションと共有すべきかを制御します。親セッションを持たないセッションには影響しません。デフォルトはSeparateです。
lifecycleManagedByParent?: boolean
「再起動」などのライフサイクル要求が、新しく作成されたセッションに送信されるか、その親セッションに送信されるかを制御します。デフォルトでは(プロパティがfalseまたは存在しない場合)、ライフサイクル要求は新しいセッションに送信されます。セッションに親セッションがない場合、このプロパティは無視されます。
このセッションがデバッグなしで実行されるべきかどうか、したがってブレークポイントを無視すべきかどうかを制御します。このプロパティが指定されていない場合、親セッション(存在する場合)の値が使用されます。
parentSession?: DebugSession
指定された場合、新しく作成されたデバッグセッションは、この「親」デバッグセッションの「子」セッションとして登録されます。
suppressDebugStatusbar?: boolean
trueの場合、このセッションではウィンドウのステータスバーの色は変更されません。
suppressDebugToolbar?: boolean
true の場合、このセッションではデバッグツールバーは表示されません。
true の場合、このセッションではデバッグビューレットは自動的に表示されません。
suppressSaveBeforeStart?: boolean
true の場合、debug.saveBeforeStart
設定の値に関わらず、デバッグセッションの開始時に開いているエディターの保存はトリガーされません。
testRun?: TestRun
デバッグセッションがテスト実行リクエストから開始されたことをエディターに通知します。これは、UIアクションにおけるデバッグセッションとテスト実行のライフサイクルをリンクするために使用されます。
DebugStackFrame
デバッグセッションにおけるスタックフレームを表します。
プロパティ
デバッグプロトコルにおけるスタックフレームのID。
session: DebugSession
スレッドのデバッグセッション。
デバッグプロトコルにおける関連スレッドのID。
DebugThread
デバッグセッションにおけるスレッドを表します。
プロパティ
session: DebugSession
スレッドのデバッグセッション。
デバッグプロトコルにおける関連スレッドのID。
Declaration
Declaration: Location | Location[] | LocationLink[]
DeclarationCoverage
宣言のカバレッジ情報を含みます。レポーターと言語によっては、関数、メソッド、名前空間などの型になります。
コンストラクタ
new DeclarationCoverage(name: string, executed: number | boolean, location: Range | Position): DeclarationCoverage
パラメーター | 説明 |
---|---|
name: string | |
executed: number | boolean | この宣言が実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。ゼロまたはfalseの場合、宣言は未カバーとしてマークされます。 |
location: Range | Position | 宣言の位置。 |
戻り値 | 説明 |
DeclarationCoverage |
プロパティ
この宣言が実行された回数、または正確な回数が不明な場合に実行されたかどうかを示すブール値。ゼロまたはfalseの場合、宣言は未カバーとしてマークされます。
宣言の位置。
宣言の名前。
DeclarationProvider
宣言プロバイダーインターフェースは、拡張機能と宣言へ移動機能間の契約を定義します。
メソッド
provideDeclaration(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Declaration>
指定された位置とドキュメントのシンボルの宣言を提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Declaration> | 宣言、またはそれに解決されるThenable。結果がない場合は、 |
DecorationInstanceRenderOptions
デコレーションインスタンスのレンダリングオプションを表します。DecorationOptions.renderOptionsを参照してください。
プロパティ
after?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。
before?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。
dark?: ThemableDecorationInstanceRenderOptions
ダークテーマのオプションを上書きします。
light?: ThemableDecorationInstanceRenderOptions
ライトテーマのオプションを上書きします。
DecorationOptions
デコレーションセット内の特定のデコレーションのオプションを表します。
プロパティ
hoverMessage?: MarkdownString | MarkedString | Array<MarkdownString | MarkedString>
デコレーションにカーソルを合わせたときにレンダリングされるメッセージ。
range: Range
このデコレーションが適用される範囲。範囲は空であってはなりません。
renderOptions?: DecorationInstanceRenderOptions
現在のデコレーションに適用されるレンダリングオプション。パフォーマンス上の理由から、デコレーション固有のオプションは少なくし、可能な限りデコレーションの種類を使用してください。
DecorationRangeBehavior
デコレーションの端での入力/編集時の動作を記述します。
列挙メンバー
デコレーションの範囲は、開始または終了時に編集が行われると広くなります。
デコレーションの範囲は、開始または終了時に編集が行われても広くなりません。
デコレーションの範囲は、開始時に編集が行われると広くなりますが、終了時には広くなりません。
デコレーションの範囲は、終了時に編集が行われると広くなりますが、開始時には広くなりません。
DecorationRenderOptions
テキストエディターのデコレーションのレンダリングスタイルを表します。
プロパティ
after?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。
backgroundColor?: string | ThemeColor
デコレーションの背景色。rgba() を使用し、透明な背景色を定義して他のデコレーションと調和させます。または、カラーレジストリからの色を参照できます。
before?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
borderColor?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
color?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
dark?: ThemableDecorationRenderOptions
ダークテーマのオプションを上書きします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
gutterIconPath?: string | Uri
ガターにレンダリングされる画像の絶対パスまたはURI。
ガターアイコンのサイズを指定します。利用可能な値は「auto」、「contain」、「cover」、および任意のパーセンテージ値です。詳細については、https://msdn.microsoft.com/en-us/library/jj127316(v=vs.85).aspx を参照してください。
デコレーションを、行テキストの後の空白部分にもレンダリングするかどうか。デフォルトはfalse
です。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
light?: ThemableDecorationRenderOptions
ライトテーマのオプションを上書きします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
outlineColor?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のアウトラインプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のアウトラインプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のアウトラインプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。
overviewRulerColor?: string | ThemeColor
概要ルーラー内のデコレーションの色。rgba() を使用し、透明な色を定義して他のデコレーションと調和させます。
overviewRulerLane?: OverviewRulerLane
デコレーションがレンダリングされる概要ルーラー内の位置。
rangeBehavior?: DecorationRangeBehavior
デコレーションの範囲の端で編集が発生したときのデコレーションの拡張動作をカスタマイズします。デフォルトはDecorationRangeBehavior.OpenOpen
です。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
Definition
1つまたは複数のロケーションとして表されるシンボルの定義。ほとんどのプログラミング言語では、シンボルが定義されるロケーションは1つだけです。
Definition: Location | Location[]
DefinitionLink
シンボルがどこで定義されているかに関する情報。
通常のLocation定義に加え、定義するシンボルの範囲を含む追加のメタデータを提供します
DefinitionLink: LocationLink
DefinitionProvider
定義プロバイダーインターフェースは、拡張機能と定義へ移動および定義ピーク機能間の契約を定義します。
メソッド
provideDefinition(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>
指定された位置とドキュメントのシンボルの定義を提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Definition | LocationLink[]> | 定義、またはそれに解決されるThenable。結果がない場合は、 |
Diagnostic
コンパイラエラーや警告などの診断を表します。診断オブジェクトはファイルのスコープ内でのみ有効です。
コンストラクタ
new Diagnostic(range: Range, message: string, severity?: DiagnosticSeverity): Diagnostic
新しい診断オブジェクトを作成します。
パラメーター | 説明 |
---|---|
range: Range | この診断が適用される範囲。 |
message: string | 人間が読めるメッセージ。 |
severity?: DiagnosticSeverity | 重要度。デフォルトはエラーです。 |
戻り値 | 説明 |
Diagnostic |
プロパティ
code?: string | number | {target: Uri, value: string | number}
この診断のコードまたは識別子。後処理、例えばコードアクションを提供する場合などに使用されます。
人間が読めるメッセージ。
range: Range
この診断が適用される範囲。
relatedInformation?: DiagnosticRelatedInformation[]
関連する診断情報の配列。例えば、スコープ内のシンボル名が衝突する場合、このプロパティを介してすべての定義にマークを付けることができます。
severity: DiagnosticSeverity
重要度。デフォルトはエラーです。
この診断のソースを記述する人間が読める文字列。例:「typescript」または「super lint」。
tags?: DiagnosticTag[]
診断に関する追加のメタデータ。
DiagnosticChangeEvent
診断が変更されたときに発生するイベント。
プロパティ
uris: readonly Uri[]
診断が変更されたリソースの配列。
DiagnosticCollection
診断コレクションは、一連の診断を管理するコンテナです。診断は常に診断コレクションとリソースにスコープされます。
DiagnosticCollection
のインスタンスを取得するには、createDiagnosticCollectionを使用します。
プロパティ
この診断コレクションの名前。例えば、typescript
。このコレクションからのすべての診断は、この名前に関連付けられます。また、タスクフレームワークは問題マッチング機能を定義する際にこの名前を使用します。
メソッド
このコレクションからすべての診断を削除します。#set(undefined)
を呼び出すのと同じです。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
delete(uri: Uri): void
提供されたuri
に属するすべての診断をこのコレクションから削除します。#set(uri, undefined)
と同じです。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子です。 |
戻り値 | 説明 |
void |
関連リソースを破棄し解放します。clearを呼び出します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
forEach(callback: (uri: Uri, diagnostics: readonly Diagnostic[], collection: DiagnosticCollection) => any, thisArg?: any): void
このコレクションの各エントリを反復処理します。
パラメーター | 説明 |
---|---|
callback: (uri: Uri, diagnostics: readonly Diagnostic[], collection: DiagnosticCollection) => any | 各エントリに対して実行する関数。 |
thisArg?: any | ハンドラー関数を呼び出すときに使用される |
戻り値 | 説明 |
void |
get(uri: Uri): readonly Diagnostic[]
指定されたリソースの診断を取得します。この呼び出しから返される診断配列は変更できません。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子です。 |
戻り値 | 説明 |
readonly Diagnostic[] | 診断の不変の配列、または |
has(uri: Uri): boolean
このコレクションに、指定されたリソースの診断が含まれているか確認します。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子です。 |
戻り値 | 説明 |
boolean | このコレクションに指定されたリソースの診断がある場合、 |
set(uri: Uri, diagnostics: readonly Diagnostic[]): void
指定されたリソースに診断を割り当てます。そのリソースの既存の診断を置き換えます。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子です。 |
diagnostics: readonly Diagnostic[] | 診断の配列、または |
戻り値 | 説明 |
void |
set(entries: ReadonlyArray<[Uri, readonly Diagnostic[]]>): void
このコレクション内の複数のリソースの診断を置き換えます。
Note: 同じURIの複数のタプルはマージされます。例えば、[[file1, [d1]], [file1, [d2]]]
は [[file1, [d1, d2]]]
と同等です。診断項目が [file1, undefined]
のように undefined
の場合、以前の診断はすべて削除されますが、以降の診断は削除されません。
パラメーター | 説明 |
---|---|
entries: ReadonlyArray<[Uri, readonly Diagnostic[]]> |
|
戻り値 | 説明 |
void |
DiagnosticRelatedInformation
診断に関連するメッセージとソースコードの場所を表します。これは、診断の原因となる、または関連するコードの場所を指すために使用されます。例えば、スコープ内でシンボルを重複させる場合など。
コンストラクタ
new DiagnosticRelatedInformation(location: Location, message: string): DiagnosticRelatedInformation
新しい関連診断情報オブジェクトを作成します。
パラメーター | 説明 |
---|---|
location: Location | 場所。 |
message: string | メッセージ。 |
戻り値 | 説明 |
DiagnosticRelatedInformation |
プロパティ
location: Location
この関連診断情報の場所。
この関連診断情報のメッセージ。
DiagnosticSeverity
診断の重大度を表します。
列挙メンバー
言語規則または他の手段によって許可されていないもの。
疑わしいが許可されているもの。
問題ではないが、情報として知らせるべきもの。
より良い方法を提案するためのヒント。例えば、リファクタリングの提案など。
DiagnosticTag
診断のタイプに関する追加のメタデータ。
列挙メンバー
未使用または不要なコード。
このタグが付いた診断は、フェードアウトしてレンダリングされます。フェードの量は、"editorUnnecessaryCode.opacity"
テーマカラーによって制御されます。例えば、"editorUnnecessaryCode.opacity": "#000000c0"
はコードを75%の不透明度でレンダリングします。ハイコントラストテーマの場合、不要なコードをフェードアウトする代わりに、"editorUnnecessaryCode.border"
テーマカラーを使用して下線を引きます。
非推奨または廃止されたコード。
このタグが付いた診断は、取り消し線付きでレンダリングされます。
Disposable
イベントリスニングやタイマーなど、リソースを解放できる型を表します。
静的
from(...disposableLikes: Array<{dispose: () => any}>): Disposable
複数の disposable-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
ドキュメントフィルターは、言語、リソースのスキーム、またはパスに適用されるグロブパターンなど、さまざまなプロパティによってドキュメントを示します。
例 ディスク上の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
ドキュメントリンクは、別のテキストドキュメントやウェブサイトなど、内部または外部リソースにリンクするテキストドキュメント内の範囲です。
コンストラクタ
new DocumentLink(range: Range, target?: Uri): DocumentLink
新しいドキュメントリンクを作成します。
パラメーター | 説明 |
---|---|
range: Range | ドキュメントリンクが適用される範囲。空であってはなりません。 |
target?: Uri | ドキュメントリンクが指すURI。 |
戻り値 | 説明 |
DocumentLink |
プロパティ
range: Range
このリンクが適用される範囲。
target?: Uri
このリンクが指すURI。
このリンクにカーソルを合わせたときのツールチップテキスト。
ツールチップが提供されている場合、{0} (ctrl + click)
のようにリンクをトリガーする方法が記載された文字列で表示されます。具体的な手順は、OS、ユーザー設定、ローカライズによって異なります。
DocumentLinkProvider<T>
ドキュメントリンクプロバイダーは、拡張機能とエディターでのリンク表示機能間の契約を定義します。
メソッド
provideDocumentLinks(document: TextDocument, token: CancellationToken): ProviderResult<T[]>
指定されたドキュメントのリンクを提供します。エディターには、http(s)
およびfile
リンクを検出するデフォルトのプロバイダーが付属していることに注意してください。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T[]> | ドキュメントリンクの配列、またはそれに解決されるThenable。結果がない場合は、 |
resolveDocumentLink(link: T, token: CancellationToken): ProviderResult<T>
リンクがUIで選択されたときに、そのターゲットを埋めます。プロバイダーはこのメソッドを実装し、provideDocumentLinksメソッドから不完全なリンク(ターゲットなし)を返すことができます。これは多くの場合、パフォーマンスの向上に役立ちます。
パラメーター | 説明 |
---|---|
link: T | 解決されるリンク。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T> |
DocumentPasteEdit
ペースト操作を適用する編集。
コンストラクタ
new DocumentPasteEdit(insertText: string | SnippetString, title: string, kind: DocumentDropOrPasteEditKind): DocumentPasteEdit
新しいペースト編集を作成します。
パラメーター | 説明 |
---|---|
insertText: string | SnippetString | 貼り付けられた位置に挿入するテキストまたはスニペット。 |
title: string | 編集を説明する人間が読めるラベル。 |
kind: DocumentDropOrPasteEditKind | 編集の種類。 |
戻り値 | 説明 |
DocumentPasteEdit |
プロパティ
additionalEdit?: WorkspaceEdit
貼り付け時に適用するオプションの追加編集。
insertText: string | SnippetString
貼り付けられた位置に挿入するテキストまたはスニペット。
編集により高度な挿入ロジックが必要な場合は、これを空の文字列に設定し、代わりに追加の編集を提供してください。
kind: DocumentDropOrPasteEditKind
編集の種類。
編集を説明する人間が読めるラベル。
yieldTo?: readonly DocumentDropOrPasteEditKind[]
複数の貼り付け編集が適用される可能性のある場合の順序を制御します。
この編集が別の編集に「譲る」場合、ユーザーに表示される貼り付け可能な編集のリストの下位に表示されます。
DocumentPasteEditContext
貼り付け操作に関する追加情報。
プロパティ
only: DocumentDropOrPasteEditKind
返却する貼り付け編集の要求された種類。
PasteAsによって明示的な種類が要求された場合、プロバイダーは要求された種類の編集を生成する際により柔軟に対応することが推奨されます。
triggerKind: DocumentPasteTriggerKind
貼り付け編集が要求された理由。
DocumentPasteEditProvider<T>
ユーザーがTextDocument内でコピーまたは貼り付けを行ったときに呼び出されるプロバイダー。
メソッド
prepareDocumentPaste(document: TextDocument, ranges: readonly Range[], dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>
ユーザーがテキストエディターからコピーした後で呼び出されるオプションのメソッド。
これにより、プロバイダーはコピーされたテキストに関するメタデータをDataTransferに添付できます。このデータ転送は、provideDocumentPasteEditsでプロバイダーに返されます。
現在、DataTransferへの変更は現在のエディターウィンドウに分離されていることに注意してください。つまり、追加されたメタデータは他のエディターウィンドウや他のアプリケーションからは見ることができません。
パラメーター | 説明 |
---|---|
document: TextDocument | コピーが行われたテキストドキュメント。 |
ranges: readonly Range[] | ドキュメント内でコピーされる範囲。 |
dataTransfer: DataTransfer | コピーに関連付けられたデータ転送。このオブジェクトには、provideDocumentPasteEditsで後で使用するために追加の値を保存できます。このオブジェクトは、このメソッドの実行中のみ有効です。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
void | Thenable<void> |
|
provideDocumentPasteEdits(document: TextDocument, ranges: readonly Range[], dataTransfer: DataTransfer, context: DocumentPasteEditContext, token: CancellationToken): ProviderResult<T[]>
ユーザーがテキストエディターに貼り付ける前に呼び出されます。
返された編集は、標準の貼り付け動作を置き換えることができます。
パラメーター | 説明 |
---|---|
document: TextDocument | 貼り付け先のドキュメント。 |
ranges: readonly Range[] | ドキュメント内で貼り付ける範囲。 |
dataTransfer: DataTransfer | 貼り付けに関連付けられたデータ転送。このオブジェクトは、貼り付け操作の期間中のみ有効です。 |
context: DocumentPasteEditContext | 貼り付けのための追加コンテキスト。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T[]> | 貼り付けを適用できる潜在的な編集のセット。一度に適用される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>
こちらも参照 provideDocumentSemanticTokens。
パラメーター | 説明 |
---|---|
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
は、ビット0と1が設定されているため、最初にバイナリ0b00000011
と見なされ、[tokenModifiers[0], tokenModifiers[1]]
を意味します。この凡例を使用すると、トークンは次のようになります。
{ line: 2, startChar: 5, length: 3, tokenType: 0, tokenModifiers: 3 },
{ line: 2, startChar: 10, length: 4, tokenType: 1, tokenModifiers: 0 },
{ line: 5, startChar: 2, length: 7, tokenType: 2, tokenModifiers: 0 }
- 次のステップは、ファイル内の各トークンを前のトークンに対して相対的に表現することです。この場合、2番目のトークンは最初のトークンと同じ行にあるため、2番目のトークンの
startChar
は最初のトークンのstartChar
に対して相対的になり、10 - 5
となります。3番目のトークンは2番目のトークンとは異なる行にあるため、3番目のトークンのstartChar
は変更されません。
{ deltaLine: 2, deltaStartChar: 5, length: 3, tokenType: 0, tokenModifiers: 3 },
{ deltaLine: 0, deltaStartChar: 5, length: 4, tokenType: 1, tokenModifiers: 0 },
{ deltaLine: 3, deltaStartChar: 2, length: 7, tokenType: 2, tokenModifiers: 0 }
- 最後に、最後のステップは、トークンごとに5つのフィールドを単一の配列にインライン化することです。これはメモリに優しい表現です。
// 1st token, 2nd token, 3rd token
[ 2,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ]
こちらも参照 SemanticTokensBuilder (整数としてトークンをエンコードするためのヘルパー)。注:編集を行う際、エディターがセマンティックトークンプロバイダーを呼び出すと決定するまで、複数の編集が行われる可能性があります。注:プロバイダーが一時的にセマンティックトークンを計算できない場合、「Busy」というメッセージのエラーをスローすることでこれを示すことができます。
パラメーター | 説明 |
---|---|
document: TextDocument | |
token: CancellationToken | |
戻り値 | 説明 |
ProviderResult<SemanticTokens> |
provideDocumentSemanticTokensEdits(document: TextDocument, previousResultId: string, token: CancellationToken): ProviderResult<SemanticTokens | SemanticTokensEdits>
ファイル内のすべてのトークンを常に返す代わりに、DocumentSemanticTokensProvider
がこのメソッド(provideDocumentSemanticTokensEdits
)を実装し、以前に提供されたセマンティックトークンへの増分更新を返すことが可能です。
ドキュメントが変更されたときにトークンがどのように変化するか
provideDocumentSemanticTokens
が以前に以下のセマンティックトークンを返したと仮定します。
// 1st token, 2nd token, 3rd token
[ 2,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ]
また、いくつかの編集後、ファイル内の新しいセマンティックトークンは次のようになります。
// 1st token, 2nd token, 3rd token
[ 3,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ]
これらの新しいトークンを、以前のトークンに適用された編集として表現することが可能です。
[ 2,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ] // old tokens
[ 3,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ] // new tokens
edit: { start: 0, deleteCount: 1, data: [3] } // replace integer at offset 0 with 3
注:プロバイダーがSemanticTokensEdits
を計算できない場合、「諦めて」ドキュメント内のすべてのトークンを再度返すことができます。注:SemanticTokensEdits
内のすべての編集は、古い整数配列内のインデックスを含んでいるため、すべて以前の結果状態を参照します。
パラメーター | 説明 |
---|---|
document: TextDocument | |
previousResultId: string | |
token: CancellationToken | |
戻り値 | 説明 |
ProviderResult<SemanticTokens | SemanticTokensEdits> |
DocumentSymbol
ドキュメントに表示される変数、クラス、インターフェースなどのプログラミング構成要素を表します。ドキュメントシンボルは階層化でき、定義を囲む範囲と、識別子の範囲など、最も関心のある範囲を指す2つの範囲を持ちます。
コンストラクタ
new DocumentSymbol(name: string, detail: string, kind: SymbolKind, range: Range, selectionRange: Range): DocumentSymbol
新しいドキュメントシンボルを作成します。
パラメーター | 説明 |
---|---|
name: string | シンボルの名前。 |
detail: string | シンボルの詳細。 |
kind: SymbolKind | シンボルの種類。 |
range: Range | シンボルの完全な範囲。 |
selectionRange: Range | 表示されるべき範囲。 |
戻り値 | 説明 |
DocumentSymbol |
プロパティ
children: DocumentSymbol[]
このシンボルの子。例:クラスのプロパティ。
このシンボルの詳細。例:関数のシグネチャ。
kind: SymbolKind
このシンボルの種類。
このシンボルの名前。
range: Range
このシンボルを囲む範囲で、先頭/末尾の空白は含まれませんが、コメントやコードなどその他すべてが含まれます。
selectionRange: Range
このシンボルが選択されたときに選択されて表示されるべき範囲。例:関数の名前。rangeに含まれている必要があります。
tags?: readonly SymbolTag[]
このシンボルのタグ。
DocumentSymbolProvider
ドキュメントシンボルプロバイダーインターフェースは、拡張機能とシンボルへ移動機能間のコントラクトを定義します。
メソッド
provideDocumentSymbols(document: TextDocument, token: CancellationToken): ProviderResult<DocumentSymbol[] | SymbolInformation[]>
指定されたドキュメントのシンボル情報を提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<DocumentSymbol[] | SymbolInformation[]> | ドキュメントハイライトの配列、またはそれに解決されるThenable。結果がない場合は、 |
DocumentSymbolProviderMetadata
ドキュメントシンボルプロバイダーに関するメタデータ。
プロパティ
1つのドキュメントに複数のアウトラインツリーが表示される場合に表示される人間が読める文字列。
EndOfLine
ドキュメント内の行末文字シーケンスを表します。
列挙メンバー
改行文字\n
。
キャリッジリターンと改行の組み合わせ\r\n
シーケンス。
EnterAction
Enterキーを押したときの動作を記述します。
プロパティ
新しい行の後、およびインデントの後に追記されるテキストを記述します。
indentAction: IndentAction
インデントの動作を記述します。
新しい行のインデントから削除する文字数を記述します。
EnvironmentVariableCollection
拡張機能がプロセス環境に適用できる変異のコレクション。
プロパティ
description: string | MarkdownString
環境変数コレクションの説明。これはUIでの変更を説明するために使用されます。
コレクションがワークスペースにキャッシュされ、ウィンドウのリロード全体でターミナルに適用されるかどうか。trueの場合、ウィンドウがリロードされたときなどにコレクションはすぐにアクティブになります。さらに、このAPIは、キャッシュされたバージョンが存在する場合はそれを返します。拡張機能がアンインストールされた場合、またはコレクションがクリアされた場合、コレクションは無効になります。デフォルトはtrueです。
メソッド
append(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数に値を追加します。
拡張機能は1つの変数に対して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 | イベントリスナーを購読解除するDisposable。 |
EventEmitter<T>
イベントエミッターは、他のユーザーが購読できるイベントを作成および管理するために使用できます。1つのエミッターは常に1つのイベントを所有します。
このクラスは、拡張機能内からイベントを提供したい場合、例えばTextDocumentContentProvider内や、他の拡張機能にAPIを提供する場合などに使用してください。
コンストラクタ
new EventEmitter<T>(): EventEmitter<T>
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
EventEmitter<T> |
プロパティ
event: Event<T>
イベントリスナーが購読できるイベント。
メソッド
このオブジェクトを破棄し、リソースを解放します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
イベントのすべての購読者に通知します。1つ以上のリスナーの失敗によって、この関数呼び出しが失敗することはありません。
パラメーター | 説明 |
---|---|
data: T | イベントオブジェクト。 |
戻り値 | 説明 |
void |
Extension<T>
拡張機能を表します。
Extension
のインスタンスを取得するには、getExtensionを使用します。
プロパティ
この拡張機能によってエクスポートされたパブリックAPI(activate
の戻り値)。この拡張機能がアクティブ化される前にこのフィールドにアクセスすることは無効なアクションです。
extensionKind: ExtensionKind
拡張機能の種類は、拡張機能がUIが実行される場所で実行されるか、リモート拡張機能ホストが実行される場所で実行されるかを記述します。拡張機能の種類は拡張機能のpackage.json
ファイルで定義されますが、remote.extensionKind
設定を通じてさらに絞り込むこともできます。リモート拡張機能ホストが存在しない場合、値はExtensionKind.UIです。
この拡張機能を含むディレクトリの絶対ファイルパス。Extension.extensionUri.fsPathの省略表記(URIスキームに依存しません)。
extensionUri: Uri
拡張機能を含むディレクトリのURI。
publisher.name
形式の正規の拡張機能識別子。
拡張機能がアクティブ化されている場合true
。
拡張機能のpackage.jsonの解析された内容。
メソッド
この拡張機能をアクティブ化し、そのパブリックAPIを返します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
Thenable<T> | この拡張機能がアクティブ化されたときに解決されるPromise。 |
ExtensionContext
拡張コンテキストは、拡張機能にプライベートなユーティリティのコレクションです。
ExtensionContext
のインスタンスは、拡張機能のactivate
呼び出しの最初のパラメーターとして提供されます。
プロパティ
environmentVariableCollection: GlobalEnvironmentVariableCollection
このワークスペースの拡張機能のグローバル環境変数コレクションを取得し、ターミナル環境変数に変更を適用できるようにします。
extension: Extension<any>
現在のExtension
インスタンス。
extensionMode: ExtensionMode
拡張機能が実行されているモード。考えられる値とシナリオについては、ExtensionModeを参照してください。
拡張機能を含むディレクトリの絶対ファイルパス。ExtensionContext.extensionUri.fsPathの省略表記(URIスキームに依存しません)。
extensionUri: Uri
拡張機能を含むディレクトリのURI。
globalState: Memento & {setKeysForSync}
現在開いているワークスペースとは独立した状態を格納するmementoオブジェクト。
拡張機能がグローバル状態を格納できる絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられています。ただし、親ディレクトリは存在することが保証されています。
キー値データを格納するには、globalStateを使用します。
- 非推奨 - 代わりにglobalStorageUriを使用してください。
globalStorageUri: Uri
拡張機能がグローバル状態を格納できるディレクトリのURI。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられています。ただし、親ディレクトリは存在することが保証されています。
キー値データを格納するには、globalStateを使用します。
こちらも参照 workspace.fs (URIからファイルやフォルダーを読み書きする方法については)。
languageModelAccessInformation: LanguageModelAccessInformation
この拡張機能が言語モデルをどのように使用できるかに関する情報を保持するオブジェクト。
拡張機能がログファイルを作成できるディレクトリの絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられています。ただし、親ディレクトリは存在することが保証されています。
- 非推奨 - 代わりにlogUriを使用してください。
logUri: Uri
拡張機能がログファイルを作成できるディレクトリのURI。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられています。ただし、親ディレクトリは存在することが保証されています。
こちらも参照 workspace.fs (URIからファイルやフォルダーを読み書きする方法については)。
secrets: SecretStorage
現在開いているワークスペースとは独立した状態を格納するシークレットストレージオブジェクト。
拡張機能がプライベートな状態を格納できるワークスペース固有のディレクトリの絶対ファイルパス。ディレクトリはディスク上に存在しない可能性があり、作成は拡張機能に委ねられています。ただし、親ディレクトリは存在することが保証されています。
キー値データを格納するには、workspaceStateまたはglobalStateを使用します。
- 非推奨 - 代わりにstorageUriを使用してください。
storageUri: Uri
拡張機能がプライベートな状態を格納できるワークスペース固有のディレクトリのURI。ディレクトリは存在しない可能性があり、作成は拡張機能に委ねられています。ただし、親ディレクトリは存在することが保証されています。ワークスペースもフォルダーも開かれていない場合、値はundefined
です。
キー値データを格納するには、workspaceStateまたはglobalStateを使用します。
こちらも参照 workspace.fs (URIからファイルやフォルダーを読み書きする方法については)。
subscriptions: Array<{dispose}>
Disposableを追加できる配列。この拡張機能が非アクティブ化されると、Disposableは破棄されます。
注:非同期のdispose関数は待機されません。
workspaceState: Memento
現在開いているワークスペースのコンテキストで状態を格納するmementoオブジェクト。
メソッド
asAbsolutePath(relativePath: string): string
拡張機能に含まれるリソースの絶対パスを取得します。
注:絶対URIはUri.joinPathとextensionUriを介して構築できます(例:vscode.Uri.joinPath(context.extensionUri, relativePath);
)。
パラメーター | 説明 |
---|---|
relativePath: string | 拡張機能に含まれるリソースへの相対パス。 |
戻り値 | 説明 |
string | リソースの絶対パス。 |
ExtensionKind
リモートウィンドウでは、拡張機能の種類は、拡張機能がUI(ウィンドウ)が実行される場所で実行されるか、リモートで実行されるかを記述します。
列挙メンバー
UIが実行される場所で拡張機能が実行されます。
リモート拡張機能ホストが実行される場所で拡張機能が実行されます。
ExtensionMode
ExtensionModeはExtensionContext
で提供され、特定の拡張機能が実行されているモードを示します。
列挙メンバー
拡張機能がエディターに通常インストールされています(例:マーケットプレイスまたはVSIXから)。
エディター起動時に提供された--extensionDevelopmentPath
から拡張機能が実行されています。
拡張機能が--extensionTestsPath
から実行されており、拡張機能ホストが単体テストを実行しています。
ExtensionTerminalOptions
仮想プロセス端末が使用すべきオプションを記述する値オブジェクト。
プロパティ
color?: ThemeColor
ターミナルのアイコンThemeColor。最高のコントラストとテーマ間の一貫性のために、標準のterminal.ansi*
テーマキーが推奨されます。
iconPath?: IconPath
ターミナルのアイコンパスまたはThemeIcon。
再起動およびリロード時のデフォルトのターミナル永続化をオプトアウトします。これは、terminal.integrated.enablePersistentSessions
が有効になっている場合にのみ有効になります。
location?: TerminalEditorLocationOptions | TerminalSplitLocationOptions | TerminalLocation
UIでターミナルを表すために使用される人間が読める文字列。
pty: Pseudoterminal
拡張機能がターミナルを制御できるようにするPseudoterminalの実装。
FileChangeEvent
ファイル変更を通知するためにファイルシステムプロバイダーが使用しなければならないイベント。
プロパティ
type: FileChangeType
変更の種類。
uri: Uri
変更されたファイルのURI。
FileChangeType
ファイル変更タイプの列挙。
列挙メンバー
ファイルの内容またはメタデータが変更されました。
ファイルが作成されました。
ファイルが削除されました。
FileCoverage
ファイルのコードカバレッジメタデータを含みます。
静的
fromDetails(uri: Uri, details: readonly FileCoverageDetail[]): FileCoverage
カバレッジ詳細から入力されたカウントを持つFileCoverageインスタンスを作成します。
パラメーター | 説明 |
---|---|
uri: Uri | カバレッジ対象ファイルのURI |
details: readonly FileCoverageDetail[] | |
戻り値 | 説明 |
FileCoverage |
コンストラクタ
new FileCoverage(uri: Uri, statementCoverage: TestCoverageCount, branchCoverage?: TestCoverageCount, declarationCoverage?: TestCoverageCount, includesTests?: TestItem[]): FileCoverage
パラメーター | 説明 |
---|---|
uri: Uri | カバレッジ対象ファイルのURI |
statementCoverage: TestCoverageCount | ステートメントカバレッジ情報。レポーターがステートメントカバレッジ情報を提供しない場合、代わりにこれをラインカバレッジを表すために使用できます。 |
branchCoverage?: TestCoverageCount | ブランチカバレッジ情報 |
declarationCoverage?: TestCoverageCount | 宣言カバレッジ情報 |
includesTests?: TestItem[] | このカバレッジレポートに含まれるテストケース。FileCoverage.includesTestsを参照。 |
戻り値 | 説明 |
FileCoverage |
プロパティ
branchCoverage?: TestCoverageCount
ブランチカバレッジ情報。
declarationCoverage?: TestCoverageCount
宣言カバレッジ情報。レポーターと言語によっては、関数、メソッド、名前空間などのタイプを指す場合があります。
includesTests?: TestItem[]
このファイルでカバレッジを生成したテストケースのリスト。設定されている場合、詳細なカバレッジ情報を取得するためには、TestRunProfile.loadDetailedCoverageForTestも定義されている必要があります。
statementCoverage: TestCoverageCount
ステートメントカバレッジ情報。レポーターがステートメントカバレッジ情報を提供しない場合、代わりにこれをラインカバレッジを表すために使用できます。
uri: Uri
ファイルURI。
FileCoverageDetail
TestRunProfile.loadDetailedCoverageから返されるカバレッジ詳細。
FileCoverageDetail: StatementCoverage | DeclarationCoverage
FileCreateEvent
ファイルが作成された後に発生するイベント。
プロパティ
files: readonly Uri[]
作成されたファイル。
FileDecoration
ファイルのデコレーションは、ファイルと共にレンダリングできるメタデータを表します。
コンストラクタ
new FileDecoration(badge?: string, tooltip?: string, color?: ThemeColor): FileDecoration
新しいデコレーションを作成します。
パラメーター | 説明 |
---|---|
badge?: string | デコレーションを表す文字。 |
tooltip?: string | デコレーションのツールチップ。 |
color?: ThemeColor | デコレーションの色。 |
戻り値 | 説明 |
FileDecoration |
プロパティ
このデコレーションを表す非常に短い文字列。
color?: ThemeColor
このデコレーションの色。
このデコレーションが親に伝播されるべきであることを示すフラグ。
このデコレーションの人間が読めるツールチップ。
FileDecorationProvider
デコレーションプロバイダーインターフェースは、拡張機能とファイルのデコレーション間のコントラクトを定義します。
イベント
onDidChangeFileDecorations?: Event<Uri | Uri[]>
1つまたは複数のファイルのデコレーションが変更されたことを通知するオプションのイベント。
注:このイベントは、子に関する情報を伝播するために使用されるべきです。
こちらも参照 EventEmitter
メソッド
provideFileDecoration(uri: Uri, token: CancellationToken): ProviderResult<FileDecoration>
指定されたURIのデコレーションを提供します。
注:この関数は、ファイルがUIにレンダリングされるときにのみ呼び出されます。これは、子孫から上位に伝播するデコレーションは、onDidChangeFileDecorationsイベントを介してエディターに通知されなければならないことを意味します。
パラメーター | 説明 |
---|---|
uri: Uri | デコレーションを提供するファイルのURI。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<FileDecoration> | デコレーション、またはそれに解決されるthenable。 |
FileDeleteEvent
ファイルが削除された後に発生するイベント。
プロパティ
files: readonly Uri[]
削除されたファイル。
FilePermission
ファイルのアクセス許可。
列挙メンバー
ファイルは読み取り専用です。
注:isReadonly: true
オプションで登録されたFileSystemProvider
からのすべてのFileStat
は、FilePermission.Readonly
が設定されているかのように暗黙的に処理されます。その結果、一部のFileStat
が読み取り専用ではない、読み取り専用のファイルシステムプロバイダーを登録することはできません。
FileRenameEvent
ファイルの名前が変更された後に発生するイベント。
プロパティ
files: ReadonlyArray<{newUri: Uri, oldUri: Uri}>
名前が変更されたファイル。
FileStat
FileStat
型はファイルに関するメタデータを表します。
プロパティ
1970年1月1日00:00:00 UTCからの経過ミリ秒単位での作成タイムスタンプ。
1970年1月1日00:00:00 UTCからの経過ミリ秒単位での変更タイムスタンプ。
注:ファイルが変更された場合、以前の値から進んだ更新されたmtime
を提供することが重要です。そうしないと、たとえばエディターで更新されたファイルの内容が表示されない最適化が行われる可能性があります。
permissions?: FilePermission
ファイルのアクセス許可。例:ファイルが読み取り専用であるかどうか。
注:この値はビットマスクである可能性があります。例:FilePermission.Readonly | FilePermission.Other
。
バイト単位のサイズ。
注:ファイルが変更された場合、更新されたsize
を提供することが重要です。そうしないと、たとえばエディターで更新されたファイルの内容が表示されない最適化が行われる可能性があります。
type: FileType
ファイルの種類。例:通常ファイル、ディレクトリ、またはファイルへのシンボリックリンク。
注:この値はビットマスクである可能性があります。例:FileType.File | FileType.SymbolicLink
。
FileSystem
ファイルシステムインターフェースは、エディターの組み込みおよび寄稿されたファイルシステムプロバイダーを公開します。これにより、拡張機能はローカルディスクからのファイルだけでなく、リモート拡張機能ホストやFTPサーバーなどのリモートの場所からのファイルも操作できます。
注:このインターフェースのインスタンスはworkspace.fsとして利用できます。
メソッド
copy(source: Uri, target: Uri, options?: {overwrite: boolean}): Thenable<void>
ファイルまたはフォルダーをコピーします。
createDirectory(uri: Uri): Thenable<void>
新しいディレクトリを作成します (注:新しいファイルはwrite
呼び出しを介して作成されます)。
注:存在しないディレクトリは自動的に作成されます。例:この呼び出しはmkdirp
セマンティクスを持ちます。
パラメーター | 説明 |
---|---|
uri: Uri | 新しいフォルダーのURI。 |
戻り値 | 説明 |
Thenable<void> |
delete(uri: Uri, options?: {recursive: boolean, useTrash: boolean}): Thenable<void>
ファイルを削除します。
パラメーター | 説明 |
---|---|
uri: Uri | 削除するリソースです。 |
options?: {recursive: boolean, useTrash: boolean} | ごみ箱を使用するか、およびフォルダーの削除を再帰的に行うかを定義します。 |
戻り値 | 説明 |
Thenable<void> |
isWritableFileSystem(scheme: string): boolean
指定されたファイルシステムがファイルの書き込みをサポートしているかを確認します。
留意点として、ファイルシステムが書き込みをサポートしているからといって、書き込みが常に成功するとは限りません。ファイルの書き込みを妨げるアクセス許可の問題やその他のエラーが発生する可能性があります。
パラメーター | 説明 |
---|---|
scheme: string | ファイルシステムのスキーム。例えば、 |
戻り値 | 説明 |
boolean | ファイルシステムが書き込みをサポートしている場合は |
readDirectory(uri: Uri): Thenable<Array<[string, FileType]>>
ディレクトリのすべてのエントリを取得します。
readFile(uri: Uri): Thenable<Uint8Array>
ファイルの全内容を読み取ります。
パラメーター | 説明 |
---|---|
uri: Uri | ファイルの URI です。 |
戻り値 | 説明 |
Thenable<Uint8Array> | バイトの配列、またはそれに解決されるThenableです。 |
rename(source: Uri, target: Uri, options?: {overwrite: boolean}): Thenable<void>
ファイルまたはフォルダーの名前を変更します。
stat(uri: Uri): Thenable<FileStat>
ファイルに関するメタデータを取得します。
writeFile(uri: Uri, content: Uint8Array): Thenable<void>
ファイルにデータを書き込み、その全内容を置き換えます。
パラメーター | 説明 |
---|---|
uri: Uri | ファイルの URI です。 |
content: Uint8Array | ファイルの新しい内容です。 |
戻り値 | 説明 |
Thenable<void> |
FileSystemError
ファイルシステムプロバイダーがエラーを通知するために使用すべき型です。
このクラスには、ファイルやフォルダーが存在しない場合の FileNotFound
のような一般的なエラーケースに対応するファクトリメソッドがあります。次のように使用します: throw vscode.FileSystemError.FileNotFound(someUri);
静的
FileExists(messageOrUri?: string | Uri): FileSystemError
ファイルまたはフォルダーが既に存在することを通知するエラーを作成します。例えば、ファイルを作成する際に上書きしない場合などです。
パラメーター | 説明 |
---|---|
messageOrUri?: string | Uri | メッセージまたは URI です。 |
戻り値 | 説明 |
FileSystemError |
FileIsADirectory(messageOrUri?: string | Uri): FileSystemError
ファイルがフォルダーであることを通知するエラーを作成します。
パラメーター | 説明 |
---|---|
messageOrUri?: string | Uri | メッセージまたは URI です。 |
戻り値 | 説明 |
FileSystemError |
FileNotADirectory(messageOrUri?: string | Uri): FileSystemError
ファイルがフォルダーではないことを通知するエラーを作成します。
パラメーター | 説明 |
---|---|
messageOrUri?: string | Uri | メッセージまたは URI です。 |
戻り値 | 説明 |
FileSystemError |
FileNotFound(messageOrUri?: string | Uri): FileSystemError
ファイルまたはフォルダーが見つからなかったことを通知するエラーを作成します。
パラメーター | 説明 |
---|---|
messageOrUri?: string | Uri | メッセージまたは URI です。 |
戻り値 | 説明 |
FileSystemError |
NoPermissions(messageOrUri?: string | Uri): FileSystemError
操作に必要なアクセス許可がないことを通知するエラーを作成します。
パラメーター | 説明 |
---|---|
messageOrUri?: string | Uri | メッセージまたは URI です。 |
戻り値 | 説明 |
FileSystemError |
Unavailable(messageOrUri?: string | Uri): FileSystemError
ファイルシステムが利用できない、または要求を完了するにはビジーすぎることを通知するエラーを作成します。
パラメーター | 説明 |
---|---|
messageOrUri?: string | Uri | メッセージまたは URI です。 |
戻り値 | 説明 |
FileSystemError |
コンストラクタ
new FileSystemError(messageOrUri?: string | Uri): FileSystemError
新しいファイルシステムエラーを作成します。
パラメーター | 説明 |
---|---|
messageOrUri?: string | Uri | メッセージまたは URI です。 |
戻り値 | 説明 |
FileSystemError |
プロパティ
このエラーを識別するコードです。
考えられる値は、FileNotFoundのようなエラーの名前、または未指定のエラーの場合はUnknown
です。
FileSystemProvider
ファイルシステムプロバイダーは、エディターがファイルの読み取り、書き込み、検出、およびファイルとフォルダーの管理に必要とするものを定義します。これにより、拡張機能はftpサーバーなどのリモートの場所からファイルを供給し、それらをエディターにシームレスに統合できます。
イベント
onDidChangeFile: Event<FileChangeEvent[]>
メソッド
copy(source: Uri, destination: Uri, options: {overwrite: boolean}): void | Thenable<void>
ファイルまたはフォルダーをコピーします。この関数の実装はオプションですが、コピー操作を高速化します。
- スロー -
source
が存在しない場合、FileNotFound。
- スロー -
destination
の親が存在しない場合(例: mkdirpロジックは不要)、FileNotFound。
- スロー -
destination
が存在し、overwrite
オプションがtrue
でない場合、FileExists。
- スロー - 権限が不足している場合、NoPermissions。
createDirectory(uri: Uri): void | Thenable<void>
新しいディレクトリを作成します (注:新しいファイルはwrite
呼び出しを介して作成されます)。
- スロー -
uri
の親が存在しない場合(例: mkdirpロジックは不要)、FileNotFound。
- スロー -
uri
が既に存在する場合、FileExists。
- スロー - 権限が不足している場合、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]>>
ディレクトリのすべてのエントリを取得します。
- スロー -
uri
が存在しない場合、FileNotFound。
readFile(uri: Uri): Uint8Array | Thenable<Uint8Array>
ファイルの全内容を読み取ります。
- スロー -
uri
が存在しない場合、FileNotFound。
パラメーター | 説明 |
---|---|
uri: Uri | ファイルの URI です。 |
戻り値 | 説明 |
Uint8Array | Thenable<Uint8Array> | バイトの配列、またはそれに解決されるThenableです。 |
rename(oldUri: Uri, newUri: Uri, options: {overwrite: boolean}): void | Thenable<void>
ファイルまたはフォルダーの名前を変更します。
- スロー -
oldUri
が存在しない場合、FileNotFound。
- スロー -
newUri
の親が存在しない場合(例: mkdirpロジックは不要)、FileNotFound。
- スロー -
newUri
が存在し、overwrite
オプションがtrue
でない場合、FileExists。
- スロー - 権限が不足している場合、NoPermissions。
stat(uri: Uri): FileStat | Thenable<FileStat>
ファイルに関するメタデータを取得します。
シンボリックリンクのメタデータは、それが参照するファイルのメタデータであるべきことに注意してください。それでも、実際のタイプに加えて、SymbolicLinkタイプを使用する必要があります。例えば、FileType.SymbolicLink | FileType.Directory
です。
- スロー -
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>
ファイルにデータを書き込み、その全内容を置き換えます。
- スロー -
uri
が存在せず、create
が設定されていない場合、FileNotFound。
- スロー -
uri
の親が存在せず、create
が設定されている場合(例: mkdirpロジックは不要)、FileNotFound。
- スロー -
uri
が既に存在し、create
が設定されているがoverwrite
が設定されていない場合、FileExists。
- スロー - 権限が不足している場合、NoPermissions。
パラメーター | 説明 |
---|---|
uri: Uri | ファイルの URI です。 |
content: Uint8Array | ファイルの新しい内容です。 |
options: {create: boolean, overwrite: boolean} | 不足しているファイルを作成すべきか、または作成しなければならないかを定義します。 |
戻り値 | 説明 |
void | Thenable<void> |
FileSystemWatcher
ファイルシステムウォッチャーは、ディスク上または他のFileSystemProvidersからのファイルおよびフォルダーの変更について通知します。
FileSystemWatcher
のインスタンスを取得するには、createFileSystemWatcherを使用します。
イベント
ファイル/フォルダーの変更時に発生するイベントです。
ファイル/フォルダーの作成時に発生するイベントです。
ファイル/フォルダーの削除時に発生するイベントです。
プロパティ
このファイルシステムウォッチャーが、変更ファイルシステムイベントを無視するように作成されている場合はtrueです。
このファイルシステムウォッチャーが、作成ファイルシステムイベントを無視するように作成されている場合はtrueです。
このファイルシステムウォッチャーが、削除ファイルシステムイベントを無視するように作成されている場合はtrueです。
メソッド
このオブジェクトを破棄します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
any |
FileType
ファイルタイプの列挙型です。File
およびDirectory
タイプはシンボリックリンクである場合もあります。その場合は、FileType.File | FileType.SymbolicLink
およびFileType.Directory | FileType.SymbolicLink
を使用します。
列挙メンバー
ファイルタイプは不明です。
通常のファイルです。
ディレクトリです。
ファイルへのシンボリックリンクです。
FileWillCreateEvent
ファイルが作成されようとしているときに発生するイベントです。
ファイルが作成される前にワークスペースを変更するには、ワークスペース編集に解決されるthenableでwaitUntil関数を呼び出します。
プロパティ
files: readonly Uri[]
作成されるファイルです。
token: CancellationToken
キャンセルトークン。
メソッド
waitUntil(thenable: Thenable<WorkspaceEdit>): void
イベントを一時停止し、ワークスペース編集を適用することができます。
注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことができません。
workspace.onWillCreateFiles(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
パラメーター | 説明 |
---|---|
thenable: Thenable<WorkspaceEdit> | 保存を遅延させるthenableです。 |
戻り値 | 説明 |
void |
waitUntil(thenable: Thenable<any>): void
提供されたthenableが解決されるまでイベントを一時停止することができます。
注: この関数はイベントディスパッチ中にのみ呼び出すことができます。
パラメーター | 説明 |
---|---|
thenable: Thenable<any> | 保存を遅延させるthenableです。 |
戻り値 | 説明 |
void |
FileWillDeleteEvent
ファイルが削除されようとしているときに発生するイベントです。
ファイルが削除される前にワークスペースに変更を加えるには、ワークスペース編集に解決されるthenableでwaitUntil
関数を呼び出します。
プロパティ
files: readonly Uri[]
削除されるファイルです。
token: CancellationToken
キャンセルトークン。
メソッド
waitUntil(thenable: Thenable<WorkspaceEdit>): void
イベントを一時停止し、ワークスペース編集を適用することができます。
注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことができません。
workspace.onWillCreateFiles(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
パラメーター | 説明 |
---|---|
thenable: Thenable<WorkspaceEdit> | 保存を遅延させるthenableです。 |
戻り値 | 説明 |
void |
waitUntil(thenable: Thenable<any>): void
提供されたthenableが解決されるまでイベントを一時停止することができます。
注: この関数はイベントディスパッチ中にのみ呼び出すことができます。
パラメーター | 説明 |
---|---|
thenable: Thenable<any> | 保存を遅延させるthenableです。 |
戻り値 | 説明 |
void |
FileWillRenameEvent
ファイルの名前が変更されようとしているときに発生するイベントです。
ファイルの名前が変更される前にワークスペースに変更を加えるには、ワークスペース編集に解決されるthenableでwaitUntil
関数を呼び出します。
プロパティ
files: ReadonlyArray<{newUri: Uri, oldUri: Uri}>
名前が変更されるファイルです。
token: CancellationToken
キャンセルトークン。
メソッド
waitUntil(thenable: Thenable<WorkspaceEdit>): void
イベントを一時停止し、ワークスペース編集を適用することができます。
注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことができません。
workspace.onWillCreateFiles(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
パラメーター | 説明 |
---|---|
thenable: Thenable<WorkspaceEdit> | 保存を遅延させるthenableです。 |
戻り値 | 説明 |
void |
waitUntil(thenable: Thenable<any>): void
提供されたthenableが解決されるまでイベントを一時停止することができます。
注: この関数はイベントディスパッチ中にのみ呼び出すことができます。
パラメーター | 説明 |
---|---|
thenable: Thenable<any> | 保存を遅延させるthenableです。 |
戻り値 | 説明 |
void |
FoldingContext
折りたたみコンテキスト(将来の使用のため)
FoldingRange
行ベースの折りたたみ範囲です。有効であるためには、開始行と終了行が0より大きく、ドキュメントの行数よりも小さい必要があります。無効な範囲は無視されます。
コンストラクタ
new FoldingRange(start: number, end: number, kind?: FoldingRangeKind): FoldingRange
新しい折りたたみ範囲を作成します。
パラメーター | 説明 |
---|---|
start: number | 折りたたまれた範囲の開始行です。 |
end: number | 折りたたまれた範囲の終了行です。 |
kind?: FoldingRangeKind | 折りたたみ範囲の種類です。 |
戻り値 | 説明 |
FoldingRange |
プロパティ
折りたたむ範囲のゼロベースの終了行です。折りたたまれた領域は行の最後の文字で終わります。有効であるためには、終了行はゼロ以上で、ドキュメントの行数よりも小さい必要があります。
kind?: FoldingRangeKind
折りたたみ範囲の種類(CommentやRegionなど)を記述します。この種類は折りたたみ範囲を分類するために使用され、「すべてのコメントを折りたたむ」などのコマンドで使用されます。FoldingRangeKindで利用可能なすべての種類の列挙を参照してください。設定されていない場合、範囲は構文要素から派生しています。
折りたたむ範囲のゼロベースの開始行です。折りたたまれた領域は行の最後の文字の後に開始します。有効であるためには、開始行はゼロ以上で、ドキュメントの行数よりも小さい必要があります。
FoldingRangeKind
特定の折りたたみ範囲の種類の列挙型です。この種類はFoldingRangeのオプションフィールドであり、コメントから派生した範囲などの特定の折りたたみ範囲を区別するために使用されます。この種類は、すべてのコメントを折りたたむ
やすべての領域を折りたたむ
などのコマンドで使用されます。範囲に種類が設定されていない場合、範囲はコメント、インポート、またはリージョンマーカー以外の構文要素から派生しています。
列挙メンバー
コメントを表す折りたたみ範囲の種類。
インポートを表す折りたたみ範囲の種類。
#region
や#endregion
のような折りたたみマーカーから派生する領域を表す折りたたみ範囲の種類。
FoldingRangeProvider
折りたたみ範囲プロバイダーインターフェースは、拡張機能とエディターの折りたたみ機能間の契約を定義します。
イベント
onDidChangeFoldingRanges?: Event<void>
このプロバイダーからの折りたたみ範囲が変更されたことを通知するオプションのイベントです。
メソッド
provideFoldingRanges(document: TextDocument, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>
折りたたみ範囲のリストを返します。プロバイダーが参加したくない場合、またはキャンセルされた場合はnullおよびundefinedを返します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
context: FoldingContext | 追加のコンテキスト情報(将来の使用のため) |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<FoldingRange[]> |
FormattingOptions
書式設定が使用すべきオプションを記述する値オブジェクトです。
プロパティ
タブよりもスペースを優先します。
スペースでのタブのサイズです。
FunctionBreakpoint
関数名で指定されたブレークポイントです。
コンストラクタ
new FunctionBreakpoint(functionName: string, enabled?: boolean, condition?: string, hitCondition?: string, logMessage?: string): FunctionBreakpoint
新しい関数ブレークポイントを作成します。
パラメーター | 説明 |
---|---|
functionName: string | |
enabled?: boolean | |
condition?: string | |
hitCondition?: string | |
logMessage?: string | |
戻り値 | 説明 |
FunctionBreakpoint |
プロパティ
条件付きブレークポイントのためのオプションの式。
ブレークポイントが有効であるか。
このブレークポイントがアタッチされている関数の名前です。
ブレークポイントのヒットをいくつ無視するかを制御するオプションの式。
ブレークポイントの一意のID。
このブレークポイントがヒットしたときにログに記録されるオプションのメッセージ。{} 内の埋め込み式は、デバッグアダプターによって補間されます。
GlobalEnvironmentVariableCollection
拡張機能がプロセス環境に適用できる変更のコレクションです。すべてのスコープに適用されます。
プロパティ
description: string | MarkdownString
環境変数コレクションの説明。これはUIでの変更を説明するために使用されます。
コレクションがワークスペースにキャッシュされ、ウィンドウのリロード全体でターミナルに適用されるかどうか。trueの場合、ウィンドウがリロードされたときなどにコレクションはすぐにアクティブになります。さらに、このAPIは、キャッシュされたバージョンが存在する場合はそれを返します。拡張機能がアンインストールされた場合、またはコレクションがクリアされた場合、コレクションは無効になります。デフォルトはtrueです。
メソッド
append(variable: string, value: string, options?: EnvironmentVariableMutatorOptions): void
環境変数に値を追加します。
拡張機能は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}
)または相対パターンのいずれかです。
グロブパターンは以下の構文を持つことができます。
- パスセグメント内のゼロ個以上の文字に一致する
*
- パスセグメント内の1文字に一致する
?
- パスセグメントを任意の数(ゼロを含む)一致する
**
- 条件をグループ化する
{}
(例:**/*.{ts,js}
はすべてのTypeScriptおよびJavaScriptファイルに一致します) - パスセグメント内で一致する文字の範囲を宣言する
[]
(例:example.0
、example.1
などに一致するexample.[0-9]
) - パスセグメント内で一致する文字の範囲を否定する
[!...]
(例:example.a
、example.b
に一致するがexample.0
には一致しないexample.[!0-9]
)
注: バックスラッシュ (``) はグロブパターン内では無効です。既存のファイルパスに一致させる場合は、バックスラッシュをスラッシュに変換する相対パターンのサポートを使用することを検討してください。そうでない場合は、グロブパターンを作成する際にバックスラッシュをスラッシュに変換するようにしてください。
GlobPattern: string | RelativePattern
Hover
ホバーは、記号や単語に関する追加情報を表します。ホバーはツールチップのようなウィジェットでレンダリングされます。
コンストラクタ
new Hover(contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString>, range?: Range): Hover
新しいホバーオブジェクトを作成します。
パラメーター | 説明 |
---|---|
contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString> | ホバーの内容です。 |
range?: Range | ホバーが適用される範囲です。 |
戻り値 | 説明 |
Hover |
プロパティ
contents: Array<MarkdownString | MarkedString>
このホバーの内容です。
range?: Range
このホバーが適用される範囲です。省略された場合、エディターは現在の位置の単語範囲または現在の位置自体を使用します。
HoverProvider
ホバープロバイダーインターフェースは、拡張機能とホバー機能間の契約を定義します。
メソッド
provideHover(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Hover>
指定された位置とドキュメントに対するホバーを提供します。同じ位置にある複数のホバーはエディターによってマージされます。ホバーは範囲を持つことができ、省略された場合はその位置の単語範囲がデフォルトとなります。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Hover> | ホバー、またはそれに解決されるthenableです。結果がない場合は、 |
IconPath
UI内のアイコンを表します。これは、URI、ライトテーマとダークテーマの別々のURI、またはテーマアイコンのいずれかです。
IconPath: Uri | {dark: Uri, light: Uri} | ThemeIcon
ImplementationProvider
実装プロバイダーインターフェースは、拡張機能と実装へ移動機能間の契約を定義します。
メソッド
provideImplementation(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>
指定された位置とドキュメントにあるシンボルの実装を提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Definition | LocationLink[]> | 定義、またはそれに解決されるThenable。結果がない場合は、 |
IndentAction
Enterキーを押したときのインデントの処理方法を記述します。
列挙メンバー
改行を挿入し、前の行のインデントをコピーします。
改行を挿入し、一度インデントします(前の行のインデントを基準に)。
2つの新しい行を挿入します
- 最初の行はインデントされ、カーソルが配置されます
- 2番目の行は同じインデントレベルです
改行を挿入し、一度アウトデントします(前の行のインデントを基準に)。
IndentationRule
言語のインデントルールを記述します。
プロパティ
このパターンに一致する行がある場合、その後のすべての行は一度アンインデントされるべきです(別のルールが一致するまで)。
このパターンに一致する行がある場合、その後のすべての行は一度インデントされるべきです(別のルールが一致するまで)。
indentNextLinePattern?: RegExp
このパターンに一致する行がある場合、その後の次の行のみが一度インデントされるべきです。
unIndentedLinePattern?: RegExp
このパターンに一致する行がある場合、そのインデントは変更されるべきではなく、他のルールに対して評価されるべきではありません。
InlayHint
インレイヒント情報。
コンストラクタ
new InlayHint(position: Position, label: string | InlayHintLabelPart[], kind?: InlayHintKind): InlayHint
新しいインレイヒントを作成します。
パラメーター | 説明 |
---|---|
position: Position | ヒントの位置です。 |
label: string | InlayHintLabelPart[] | ヒントのラベルです。 |
kind?: InlayHintKind | ヒントの種類です。 |
戻り値 | 説明 |
InlayHint |
プロパティ
kind?: InlayHintKind
このヒントの種類です。インレイヒントの種類は、このインレイヒントの外観を定義します。
label: string | InlayHintLabelPart[]
このヒントのラベルです。人間が読める文字列、またはラベルパーツの配列です。
注: 文字列もラベルパーツも空にすることはできません。
ヒントの前にパディングをレンダリングします。パディングはエディターの背景色を使用し、ヒント自体の背景色は使用しません。これは、パディングがインレイヒントを視覚的に整列/分離するために使用できることを意味します。
ヒントの後にパディングをレンダリングします。パディングはエディターの背景色を使用し、ヒント自体の背景色は使用しません。これは、パディングがインレイヒントを視覚的に整列/分離するために使用できることを意味します。
position: Position
このヒントの位置です。
textEdits?: TextEdit[]
tooltip?: string | MarkdownString
このアイテムにホバーしたときのツールチップテキストです。
注: このプロパティは、インレイヒントの解決中に遅れて設定される場合があります。
InlayHintKind
インレイヒントの種類です。
インラインヒントの種類は、その外観を定義します。例えば、対応する前景色と背景色が使用されます。
列挙メンバー
型アノテーションのためのインレイヒントです。
パラメーターのためのインレイヒントです。
InlayHintLabelPart
インレイヒントラベルパーツは、インレイヒントのインタラクティブな複合ラベルを可能にします。
コンストラクタ
new InlayHintLabelPart(value: string): InlayHintLabelPart
新しいインレイヒントラベルパーツを作成します。
パラメーター | 説明 |
---|---|
value: string | パーツの値です。 |
戻り値 | 説明 |
InlayHintLabelPart |
プロパティ
command?: Command
location?: Location
tooltip?: string | MarkdownString
このラベルパーツにホバーしたときのツールチップテキストです。
注: このプロパティは、インレイヒントの解決中に遅れて設定される場合があります。
このラベルパーツの値です。
InlayHintsProvider<T>
インレイヒントプロバイダーインターフェースは、拡張機能とインレイヒント機能間の契約を定義します。
イベント
onDidChangeInlayHints?: Event<void>
このプロバイダーからのインレイヒントが変更されたことを通知するオプションのイベントです。
メソッド
provideInlayHints(document: TextDocument, range: Range, token: CancellationToken): ProviderResult<T[]>
指定された範囲とドキュメントに対するインレイヒントを提供します。
注: 指定された範囲に含まれていないインレイヒントは無視されます。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
range: Range | インレイヒントが計算されるべき範囲です。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T[]> | インレイヒントの配列、またはそれに解決されるthenableです。 |
resolveInlayHint(hint: T, token: CancellationToken): ProviderResult<T>
パラメーター | 説明 |
---|---|
hint: T | インレイヒントです。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T> | 解決されたインレイヒント、またはそれに解決されるthenableです。指定された |
InlineCompletionContext
インライン補完が要求されたコンテキストに関する情報を提供します。
プロパティ
selectedCompletionInfo: SelectedCompletionInfo
オートコンプリートウィジェットに現在選択されている項目が表示されている場合、その情報を提供します。
設定されている場合、提供されるインライン補完は選択された項目のテキストを拡張し、同じ範囲を使用する必要があります。そうでない場合、プレビューとして表示されません。例えば、ドキュメントのテキストがconsole.
で、選択された項目がドキュメントの.
を置き換える.log
である場合、インライン補完も.
を置き換え、.log
で始まる必要があります(例: .log()
)。
選択された項目が変更されるたびに、インライン補完プロバイダーが再度要求されます。
triggerKind: InlineCompletionTriggerKind
インライン補完がどのようにトリガーされたかを記述します。
InlineCompletionItem
インライン補完項目は、入力中のテキストを補完するためにインラインで提案されるテキストスニペットを表します。
参照 InlineCompletionItemProvider.provideInlineCompletionItems
コンストラクタ
new InlineCompletionItem(insertText: string | SnippetString, range?: Range, command?: Command): InlineCompletionItem
新しいインライン補完項目を作成します。
パラメーター | 説明 |
---|---|
insertText: string | SnippetString | 範囲を置き換えるテキストです。 |
range?: Range | 置き換える範囲です。設定されていない場合、要求された位置の単語が使用されます。 |
command?: Command | この補完を挿入した後に実行されるオプションのコマンドです。 |
戻り値 | 説明 |
InlineCompletionItem |
プロパティ
command?: Command
この補完を挿入した後に実行されるオプションのコマンドです。
このインライン補完を表示するかどうかを決定するために使用されるテキストです。falsy
の場合、InlineCompletionItem.insertTextが使用されます。
置き換えるテキストがフィルターテキストのプレフィックスである場合、インライン補完が表示されます。
insertText: string | SnippetString
範囲を置き換えるテキストです。設定必須です。プレビューと承認操作の両方で使用されます。
range?: Range
置き換える範囲。同じ行で開始および終了する必要があります。
ユーザーが入力したテキストを削除する際に、より良いエクスペリエンスを提供するために、挿入よりも置換を優先してください。
InlineCompletionItemProvider
インライン補完アイテムプロバイダーインターフェースは、拡張機能とインライン補完機能間の契約を定義します。
プロバイダーは、ユーザーのジェスチャーによって明示的に、または入力時に暗黙的に補完を要求されます。
メソッド
provideInlineCompletionItems(document: TextDocument, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<InlineCompletionList | InlineCompletionItem[]>
指定された位置とドキュメントのインライン補完アイテムを提供します。インライン補完が有効になっている場合、ユーザーが入力(タイピング)を停止するたびにこのメソッドが呼び出されます。また、ユーザーが明示的にインライン補完をトリガーした場合、または明示的に次または前のインライン補完を要求した場合にも呼び出されます。その場合、利用可能なすべてのインライン補完が返されるべきです。これらのシナリオを区別するために `context.triggerKind` を使用できます。
パラメーター | 説明 |
---|---|
document: TextDocument | インライン補完が要求されたドキュメントです。 |
position: Position | インライン補完が要求された位置です。 |
context: InlineCompletionContext | 追加情報を含むコンテキストオブジェクトです。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<InlineCompletionList | InlineCompletionItem[]> | 補完アイテムの配列、または補完アイテムの配列に解決されるThenableです。 |
InlineCompletionList
エディタに表示されるインライン補完アイテムのコレクションを表します。
コンストラクタ
new InlineCompletionList(items: InlineCompletionItem[]): InlineCompletionList
インライン補完アイテムの新しいリストを作成します。
パラメーター | 説明 |
---|---|
items: InlineCompletionItem[] | |
戻り値 | 説明 |
InlineCompletionList |
プロパティ
items: InlineCompletionItem[]
インライン補完アイテムです。
InlineCompletionTriggerKind
インライン補完プロバイダーがどのようにトリガーされたかを説明します。
列挙メンバー
補完はユーザーのジェスチャーによって明示的にトリガーされました。複数の補完アイテムを返すことで、それらを循環させることができます。
補完は編集中に自動的にトリガーされました。この場合、単一の補完アイテムを返すだけで十分です。
InlineValue
インライン値の情報はさまざまな方法で提供できます
- テキスト値として直接(InlineValueText クラス)。
- 変数ルックアップに使用する名前として(InlineValueVariableLookup クラス)
- 評価可能な式として(InlineValueEvaluatableExpression クラス)InlineValue 型は、すべてのインライン値型を1つの型に結合します。
InlineValue: InlineValueText | InlineValueVariableLookup | InlineValueEvaluatableExpression
InlineValueContext
InlineValuesProvider からインライン値を要求する際に、コンテキスト情報を含む値オブジェクトです。
プロパティ
実行が停止したスタックフレーム(DAP IDとして)です。
stoppedLocation: Range
実行が停止したドキュメント範囲です。通常、範囲の終了位置はインライン値が表示される行を示します。
InlineValueEvaluatableExpression
式評価を通じてインライン値を提供します。範囲のみが指定されている場合、式は基になるドキュメントから抽出されます。オプションの式を使用して、抽出された式を上書きできます。
コンストラクタ
new InlineValueEvaluatableExpression(range: Range, expression?: string): InlineValueEvaluatableExpression
新しいInlineValueEvaluatableExpressionオブジェクトを作成します。
パラメーター | 説明 |
---|---|
range: Range | 評価可能な式が抽出される基となるドキュメント内の範囲。 |
expression?: string | 指定された場合、抽出された式をオーバーライドします。 |
戻り値 | 説明 |
InlineValueEvaluatableExpression |
プロパティ
指定された場合、式は抽出された式を上書きします。
range: Range
インライン値が適用されるドキュメント範囲です。この範囲は、基になるドキュメントから評価可能な式を抽出するために使用されます。
InlineValuesProvider
インライン値プロバイダーインターフェースは、拡張機能とエディターのデバッガーインライン値機能間の契約を定義します。この契約において、プロバイダーは指定されたドキュメント範囲のインライン値情報を返し、エディターはこの情報を行末に表示します。
イベント
onDidChangeInlineValues?: Event<void>
インライン値が変更されたことを通知するオプションのイベントです。
こちらも参照 EventEmitter
メソッド
provideInlineValues(document: TextDocument, viewPort: Range, context: InlineValueContext, token: CancellationToken): ProviderResult<InlineValue[]>
指定されたドキュメントと範囲の「インライン値」情報を提供します。デバッグが指定されたドキュメントで停止するたびに、エディターはこのメソッドを呼び出します。返されたインライン値情報は、エディターの行末にレンダリングされます。
パラメーター | 説明 |
---|---|
document: TextDocument | インライン値情報が必要なドキュメントです。 |
viewPort: Range | インライン値が計算されるべき可視ドキュメント範囲です。 |
context: InlineValueContext | 現在の位置のようなコンテキスト情報を含むコンテナです。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<InlineValue[]> | InlineValueDescriptor の配列、またはそれに解決される thenable です。結果がない場合は `undefined` または `null` を返すことで通知できます。 |
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番目の値が終了インデックス(含まない)である2つの数値のタプルとして定義されます。`undefined` の場合、事前入力された値全体が選択され、空の場合(開始と終了が同じ場合)はカーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。
このプロパティは、ユーザーが入力したり選択を行ったりしても更新されませんが、拡張機能によって更新できます。
メソッド
この入力UIとそれに関連するリソースを破棄します。まだ表示されている場合は、まず非表示になります。この呼び出しの後、入力UIはもはや機能せず、それ以上のメソッドやプロパティにアクセスすべきではありません。代わりに新しい入力UIを作成する必要があります。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
この入力UIを非表示にします。これにより、QuickInput.onDidHide イベントも発生します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
現在の構成で入力UIを表示します。他の入力UIはまず QuickInput.onDidHide イベントを発生させます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
InputBoxOptions
入力ボックスUIの動作を設定するためのオプションです。
プロパティ
フォーカスがエディターの別の部分や別のウィンドウに移動しても入力ボックスを開いたままにするには、`true` に設定します。この設定はiPadでは無視され、常にfalseになります。
パスワード入力が表示されるかどうかを制御します。パスワード入力は入力されたテキストを非表示にします。
ユーザーに何を入力すべきかを案内するために、入力ボックスにプレースホルダーとして表示されるオプションの文字列です。
入力ボックスの下に表示するテキストです。
入力ボックスのタイトルを表すオプションの文字列です。
入力ボックスに事前入力する値です。
valueSelection?: [number, number]
事前入力された 値 の選択範囲です。最初の値が開始インデックス(含む)、2番目の値が終了インデックス(含まない)である2つの数値のタプルとして定義されます。`undefined` の場合、事前入力された値全体が選択され、空の場合(開始と終了が同じ場合)はカーソルのみが設定され、それ以外の場合は定義された範囲が選択されます。
メソッド
validateInput(value: string): string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage>
入力を検証し、ユーザーにヒントを与えるために呼び出されるオプションの関数です。
パラメーター | 説明 |
---|---|
value: string | 入力ボックスの現在の値です。 |
戻り値 | 説明 |
string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage> | エラーメッセージとして表示される人間が読める文字列、または特定のメッセージの重要度を提供できる InputBoxValidationMessage のいずれかです。'value' が有効な場合は `undefined`、`null`、または空の文字列を返します。 |
InputBoxValidationMessage
検証メッセージの動作を設定するオブジェクトです。
プロパティ
表示する検証メッセージです。
severity: InputBoxValidationSeverity
検証メッセージの重要度です。注:`InputBoxValidationSeverity.Error` を使用する場合、ユーザーは入力を承諾(Enterキーを押す)できません。`Info` と `Warning` の場合は、InputBoxが入力を承諾することを引き続き許可します。
InputBoxValidationSeverity
入力ボックス検証の重要度レベルです。
列挙メンバー
情報重要度レベルです。
警告重要度レベルです。
エラー重要度レベルです。
LanguageConfiguration
言語設定インターフェースは、拡張機能と、自動括弧挿入、自動インデントなどの様々なエディター機能との間の契約を定義します。
プロパティ
__characterPairSupport?: {autoClosingPairs: Array<{close: string, notIn: string[], open: string}>}
非推奨 使用しないでください。
- 非推奨 - 代わりに言語設定ファイルの autoClosingPairs プロパティを使用してください。
パラメーター | 説明 |
---|---|
autoClosingPairs: Array<{close: string, notIn: string[], open: string}> |
|
__electricCharacterSupport?: {brackets: any, docComment: {close: string, lineStart: string, open: string, scope: string}}
非推奨 使用しないでください。
- 非推奨 - より良いAPIによって間もなく置き換えられます。
パラメーター | 説明 |
---|---|
brackets: any | このプロパティは非推奨であり、エディターから無視されます。
|
docComment: {close: string, lineStart: string, open: string, scope: string} | このプロパティは非推奨であり、エディターでは完全にはサポートされなくなりました(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 | リクエスト可能であれば `true`、不可であれば `false`、言語モデルが存在しないか、同意が求められていない場合は `undefined` です。 |
LanguageModelChat
チャットリクエストを行うための言語モデルを表します。
関連項目 lm.selectChatModels
プロパティ
言語モデルの不透明なファミリー名です。値は `gpt-3.5-turbo`、`gpt4`、`phi2`、または `llama` である可能性がありますが、これらは言語を提供する拡張機能によって定義され、変更される可能性があります。
言語モデルの不透明な識別子です。
単一のリクエストでモデルに送信できるトークンの最大数です。
言語モデルの人間が読める名前です。
言語モデルのベンダーのよく知られた識別子です。例としては `copilot` がありますが、値はチャットモデルを提供する拡張機能によって定義されるため、それらで確認する必要があります。
モデルの不透明なバージョン文字列です。これは言語モデルを提供する拡張機能によって定義され、変更される可能性があります。
メソッド
countTokens(text: string | LanguageModelChatMessage, token?: CancellationToken): Thenable<number>
モデル固有のトークナイザーロジックを使用して、メッセージ内のトークン数をカウントします。
パラメーター | 説明 |
---|---|
text: string | LanguageModelChatMessage | 文字列またはメッセージインスタンスです。 |
token?: CancellationToken | オプションのキャンセルAトークンです。CancellationTokenSource を参照して作成方法を確認してください。 |
戻り値 | 説明 |
Thenable<number> | トークン数に解決されるThenableです。 |
sendRequest(messages: LanguageModelChatMessage[], options?: LanguageModelChatRequestOptions, token?: CancellationToken): Thenable<LanguageModelChatResponse>
言語モデルを使用してチャットリクエストを行います。
注意:言語モデルの使用にはアクセス制限とユーザーの同意が適用される場合があります。この関数を初めて呼び出す(拡張機能の場合)と、ユーザーに同意ダイアログが表示されるため、この関数はユーザーアクションへの応答としてのみ呼び出されるべきです! 拡張機能は、リクエストを行うのに必要な権限があるかどうかを LanguageModelAccessInformation.canSendRequest を使用して確認できます。
言語モデルへのリクエストが不可能な場合、この関数は拒否されたプロミスを返します。その理由は以下の通りです。
- ユーザーの同意が得られていない場合、
NoPermissions
を参照 - モデルがもはや存在しない場合、
NotFound
を参照 - クォータ制限を超過した場合、
Blocked
を参照 - その他の問題がある場合、拡張機能は [LanguageModelError.cause
LanguageModelError.cause
](#LanguageModelError.causeLanguageModelError.cause
) を確認する必要があります。
拡張機能は、一連のツールを LanguageModelChatRequestOptions.tools に渡すことで、言語モデルのツール呼び出しを利用できます。言語モデルは LanguageModelToolCallPart を返し、拡張機能はツールを呼び出して、その結果を用いて別のリクエストを行うことができます。
パラメーター | 説明 |
---|---|
messages: LanguageModelChatMessage[] | メッセージインスタンスの配列です。 |
options?: LanguageModelChatRequestOptions | リクエストを制御するオプションです。 |
token?: CancellationToken | リクエストを制御するキャンセルAトークンです。CancellationTokenSource を参照して作成方法を確認してください。 |
戻り値 | 説明 |
Thenable<LanguageModelChatResponse> | LanguageModelChatResponse に解決されるThenableです。リクエストが作成できなかった場合、プロミスは拒否されます。 |
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
言語モデルを使用してチャットリクエストを行うためのオプションです。
プロパティ
言語モデルへのアクセスが必要な理由と、それによって有効になる機能について説明する、人間が読めるメッセージです。
言語モデルの動作を制御するオプションのセットです。これらのオプションは言語モデル固有であり、それぞれのドキュメントで確認する必要があります。
toolMode?: LanguageModelChatToolMode
使用するツール選択モードです。デフォルトでは LanguageModelChatToolMode.Auto です。
tools?: LanguageModelChatTool[]
言語モデルが利用できるツールのオプションリストです。lm.tools を介して利用可能な登録済みツール、または呼び出し元の拡張機能内に実装されているプライベートツールである可能性があります。
LLMがこれらのツールのいずれかを呼び出すよう要求した場合、LanguageModelToolCallPart を返し、拡張機能はツールを呼び出して、その結果を用いて別のリクエストを行うことができます。
次に、ツール呼び出しの結果は、LanguageModelToolCallPart を含むアシスタント型の LanguageModelChatMessage を作成し、続いて LanguageModelToolResultPart を含むユーザー型のメッセージを作成することで、LLMに提供できます。
LanguageModelChatResponse
言語モデルの応答を表します。
関連項目 ChatRequest
プロパティ
stream: AsyncIterable<unknown>
全体的な応答を形成するテキストとツール呼び出しパーツのストリームである非同期イテラブルです。LanguageModelTextPart は、ユーザーに表示されるアシスタントの応答の一部です。LanguageModelToolCallPart は、言語モデルからのツール呼び出しリクエストです。後者は、LanguageModelChatRequestOptions.tools を介してリクエストにツールが渡された場合にのみ返されます。`unknown` 型は、画像データパーツなど、将来のパーツのプレースホルダーとして使用されます。
注意:このストリームは、データ受信中にエラーが発生した場合にエラーとなります。ストリームの利用者は、それに応じてエラーを処理する必要があります。
ストリームをキャンセルするには、利用者はリクエストを行うために使用されたトークンを キャンセル するか、forループから抜け出すことができます。
例
try {
// consume stream
for await (const chunk of response.stream) {
if (chunk instanceof LanguageModelTextPart) {
console.log('TEXT', chunk);
} else if (chunk instanceof LanguageModelToolCallPart) {
console.log('TOOL CALL', chunk);
}
}
} catch (e) {
// stream ended with an error
console.error(e);
}
これは、LanguageModelChatResponse.stream からテキストパーツを除くすべてをフィルタリングすることと同等です。
LanguageModelChatSelector
チャットリクエスト用の言語モデルを選択する方法を記述します。
関連項目 lm.selectChatModels
プロパティ
言語モデルのファミリーです。
言語モデルの識別子です。
関連項目 LanguageModelChat.id
言語モデルのベンダーです。
言語モデルのバージョンです。
LanguageModelChatTool
LanguageModelChatRequestOptions を介して言語モデルが利用できるツールです。言語モデルは、このインターフェースのすべてのプロパティを使用して、どのツールを呼び出すか、そしてどのように呼び出すかを決定します。
プロパティ
ツールの説明です。
このツールが受け入れる入力のJSONスキーマです。
ツールの名前です。
LanguageModelChatToolMode
言語モデルが使用するツール呼び出しモードです。
列挙メンバー
言語モデルは、ツールを呼び出すか、メッセージを生成するかを選択できます。これがデフォルトです。
言語モデルは、提供されたツールのいずれかを呼び出す必要があります。注:一部のモデルはこのモードを使用する場合、単一のツールのみをサポートします。
LanguageModelError
言語モデル固有のエラーのためのエラータイプです。
言語モデルの利用者は、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
指定されたコンテンツでプロンプト-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から返されるツール呼び出しを示す言語モデル応答の一部であり、チャットリクエストにおける以前のツール呼び出しを表すためにLanguageModelChatMessageのコンテンツパートとして含めることもできます。
コンストラクタ
new LanguageModelToolCallPart(callId: string, name: string, input: object): LanguageModelToolCallPart
新しいLanguageModelToolCallPartを作成します。
パラメーター | 説明 |
---|---|
callId: string | ツール呼び出しのIDです。 |
name: string | 呼び出すツールの名前。 |
input: object | ツールを呼び出すための入力です。 |
戻り値 | 説明 |
LanguageModelToolCallPart |
プロパティ
ツール呼び出しのIDです。これはチャットリクエスト内でツール呼び出しの一意の識別子です。
ツールを呼び出すための入力です。
呼び出すツールの名前。
LanguageModelToolConfirmationMessages
PreparedToolInvocationでこれが返されると、ツールを実行する前にユーザーに確認を求められます。これらのメッセージは「続行」と「キャンセル」のボタンとともに表示されます。
プロパティ
message: string | MarkdownString
確認メッセージの本文です。
確認メッセージのタイトルです。
LanguageModelToolInformation
lm.toolsで利用可能な、登録済みツールに関する情報です。
プロパティ
言語モデルに渡される可能性のあるこのツールの説明です。
このツールが受け入れる入力のJSONスキーマです。
ツールの一意の名前です。
ツールによって宣言されたタグのセットで、ツールの機能を大まかに記述します。ツールユーザーはこれらを使用して、現在のタスクに関連するツールのみにフィルタリングできます。
LanguageModelToolInvocationOptions<T>
ツール呼び出しに提供されるオプションです。
プロパティ
ツールを呼び出すための入力です。入力はLanguageModelToolInformation.inputSchemaで定義されたスキーマと一致する必要があります。
tokenizationOptions?: LanguageModelToolTokenizationOptions
ツールが応答で返すトークンの数を示し、ツールが正確にトークンをカウントできるようにするオプションです。
toolInvocationToken: undefined
ツール呼び出しをチャット参加者からのチャットリクエストに結び付ける不透明なオブジェクトです。
有効なツール呼び出しトークンを取得する唯一の方法は、チャットリクエストから提供されるtoolInvocationTokenを使用することです。その場合、チャット応答ビューでツール呼び出しの進行状況バーが自動的に表示され、ツールがユーザー確認を必要とする場合は、チャットビューにインラインで表示されます。
ツールがチャットリクエストの外部で呼び出されている場合、代わりにundefined
が渡され、確認以外の特別なUIは表示されません。
注:ツールがその呼び出し中に別のツールを呼び出す場合、受信したtoolInvocationToken
を渡すことができます。
LanguageModelToolInvocationPrepareOptions<T>
LanguageModelTool.prepareInvocationのオプションです。
プロパティ
ツールが呼び出される入力です。
LanguageModelToolResult
ツール呼び出しから返される結果です。vscode/prompt-tsx
を使用している場合、この結果はToolResult
を使用してレンダリングされる場合があります。
コンストラクタ
new LanguageModelToolResult(content: 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 | オプションのキャンセルAトークンです。CancellationTokenSource を参照して作成方法を確認してください。 |
戻り値 | 説明 |
Thenable<number> | トークン数に解決されるThenableです。 |
LanguageStatusItem
言語ステータスアイテムは、アクティブなテキストエディターの言語ステータスレポート(選択されたリンターや設定問題の通知など)を提示するための推奨される方法です。
プロパティ
accessibilityInformation?: AccessibilityInformation
スクリーンリーダーがこのアイテムと対話する際に使用されるアクセシビリティ情報です。
アイテムが「ビジー」として表示されるかどうかを制御します。デフォルトはfalse
です。
command: Command
このアイテムのコマンドです。
このアイテムのオプションの、人間が読める詳細情報です。
このアイテムの識別子です。
「Java言語ステータス」などのこのアイテムの短い名前です。
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
新しい位置オブジェクトを作成します。
プロパティ
range: Range
この位置のドキュメント範囲です。
uri: Uri
この位置のリソース識別子です。
LocationLink
2つの位置の接続を表します。通常の位置に加えて、起源範囲を含む追加のメタデータを提供します。
プロパティ
originSelectionRange?: Range
このリンクの起源の範囲です。
マウスによる定義ホバーの強調表示範囲として使用されます。定義位置の単語範囲がデフォルトです。
targetRange: Range
このリンクの完全なターゲット範囲です。
targetSelectionRange?: Range
このリンクの範囲です。
targetUri: Uri
このリンクのターゲットリソース識別子です。
LogLevel
ログレベルです。
列挙メンバー
このレベルではメッセージはログに記録されません。
このレベルではすべてのメッセージがログに記録されます。
デバッグ以上のログレベルのメッセージがこのレベルでログに記録されます。
情報以上のログレベルのメッセージがこのレベルでログに記録されます。
警告以上のログレベルのメッセージがこのレベルでログに記録されます。
このレベルではエラーメッセージのみがログに記録されます。
LogOutputChannel
ログ出力を格納するためのチャネルです。
LogOutputChannel
のインスタンスを取得するには、createOutputChannelを使用します。
イベント
onDidChangeLogLevel: Event<LogLevel>
チャネルのログレベルが変更されたときに発生するイベントです。
プロパティ
logLevel: LogLevel
チャネルの現在のログレベルです。エディターのログレベルがデフォルトです。
この出力チャネルの人間が読める名前です。
メソッド
指定された値をチャネルに追加します。
パラメーター | 説明 |
---|---|
value: string | 文字列。偽値は出力されません。 |
戻り値 | 説明 |
void |
appendLine(value: string): void
指定された値と改行文字をチャネルに追加します。
パラメーター | 説明 |
---|---|
value: string | 文字列。偽値も出力されます。 |
戻り値 | 説明 |
void |
チャネルからすべての出力を削除します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
debug(message: string, ...args: any[]): void
指定されたデバッグメッセージをチャネルに出力します。
メッセージは、チャネルがデバッグログレベル以下を表示するように構成されている場合にのみログに記録されます。
パラメーター | 説明 |
---|---|
message: string | ログに記録するデバッグメッセージ |
...args: any[] | |
戻り値 | 説明 |
void |
関連するリソースを破棄し、解放します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
error(error: string | Error, ...args: any[]): void
指定されたエラーまたはエラーメッセージをチャネルに出力します。
メッセージは、チャネルがエラーログレベル以下を表示するように構成されている場合にのみログに記録されます。
パラメーター | 説明 |
---|---|
error: string | Error | ログに記録するエラーまたはエラーメッセージ |
...args: any[] | |
戻り値 | 説明 |
void |
このチャネルをUIから非表示にします。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
info(message: string, ...args: any[]): void
指定された情報メッセージをチャネルに出力します。
メッセージは、チャネルが情報ログレベル以下を表示するように構成されている場合にのみログに記録されます。
パラメーター | 説明 |
---|---|
message: string | ログに記録する情報メッセージ |
...args: any[] | |
戻り値 | 説明 |
void |
チャネルからすべての出力を指定された値に置き換えます。
パラメーター | 説明 |
---|---|
value: string | 文字列。偽値は出力されません。 |
戻り値 | 説明 |
void |
show(preserveFocus?: boolean): void
このチャネルをUIに表示します。
パラメーター | 説明 |
---|---|
preserveFocus?: boolean |
|
戻り値 | 説明 |
void |
show(column?: ViewColumn, preserveFocus?: boolean): void
このチャネルをUIに表示します。
- 非推奨 - パラメータが1つだけのオーバーロード(
show(preserveFocus?: boolean): void
)を使用してください。
パラメーター | 説明 |
---|---|
column?: ViewColumn | この引数は**非推奨**であり、無視されます。 |
preserveFocus?: boolean |
|
戻り値 | 説明 |
void |
trace(message: string, ...args: any[]): void
指定されたトレースメッセージをチャネルに出力します。このメソッドを使用して、詳細な情報をログに記録します。
メッセージは、チャネルがトレースログレベルを表示するように構成されている場合にのみログに記録されます。
パラメーター | 説明 |
---|---|
message: string | ログに記録するトレースメッセージ |
...args: any[] | |
戻り値 | 説明 |
void |
warn(message: string, ...args: any[]): void
指定された警告メッセージをチャネルに出力します。
メッセージは、チャネルが警告ログレベル以下を表示するように構成されている場合にのみログに記録されます。
パラメーター | 説明 |
---|---|
message: string | ログに記録する警告メッセージ |
...args: any[] | |
戻り値 | 説明 |
void |
MarkdownString
マークダウン構文による書式設定をサポートする人間が読めるテキストです。
supportThemeIconsがtrue
に設定されている場合、$(
構文によるテーマアイコンのレンダリングがサポートされます。
supportHtmlがtrue
に設定されている場合、埋め込みHTMLのレンダリングがサポートされます。
コンストラクタ
new MarkdownString(value?: string, supportThemeIcons?: boolean): MarkdownString
指定された値で新しいマークダウン文字列を作成します。
パラメーター | 説明 |
---|---|
value?: string | オプション、初期値です。 |
supportThemeIcons?: boolean | オプション。MarkdownString内でThemeIconsがサポートされるかどうかを指定します。 |
戻り値 | 説明 |
MarkdownString |
プロパティ
baseUri?: Uri
相対パスが解決される基準となるURIです。
baseUri
が/
で終わる場合、ディレクトリと見なされ、マークダウン内の相対パスはそのディレクトリを基準に解決されます。
const md = new vscode.MarkdownString(`[link](./file.js)`);
md.baseUri = vscode.Uri.file('/path/to/dir/');
// Here 'link' in the rendered markdown resolves to '/path/to/dir/file.js'
baseUri
がファイルの場合、マークダウン内の相対パスはそのファイルの親ディレクトリを基準に解決されます。
const md = new vscode.MarkdownString(`[link](./file.js)`);
md.baseUri = vscode.Uri.file('/path/to/otherFile.js');
// Here 'link' in the rendered markdown resolves to '/path/to/file.js'
isTrusted?: boolean | {enabledCommands: readonly string[]}
このマークダウン文字列が信頼できるソースからのものであることを示します。信頼できるマークダウンのみが、コマンドを実行するリンクをサポートします(例:[Run it](command:myCommandId)
)。
デフォルトはfalse
(コマンドは無効)です。
このマークダウン文字列に生のHTMLタグを含めることができることを示します。デフォルトはfalse
です。
supportHtml
がfalseの場合、マークダウンレンダラーはマークダウンテキストに表示される生のHTMLタグをすべて取り除きます。これは、レンダリングにはマークダウン構文しか使用できないことを意味します。
supportHtml
がtrueの場合、マークダウンレンダラーは安全なHTMLタグと属性のサブセットもレンダリングを許可します。サポートされているすべてのタグと属性のリストについては、https://github.com/microsoft/vscode/blob/6d2920473c6f13759c978dd89104c4270a83422d/src/vs/base/browser/markdownRenderer.ts#L296を参照してください。
このマークダウン文字列にThemeIcons(例:$(zap)
)を含めることができることを示します。
マークダウン文字列です。
メソッド
appendCodeblock(value: string, language?: string): MarkdownString
指定された文字列を、指定された言語を使用してコードブロックとして追加します。
パラメーター | 説明 |
---|---|
value: string | コードスニペットです。 |
language?: string | オプションの言語識別子です。 |
戻り値 | 説明 |
MarkdownString |
appendMarkdown(value: string): MarkdownString
指定された文字列を「そのまま」このマークダウン文字列に追加します。supportThemeIconsがtrue
の場合、value
内のThemeIconsはアイコン化されます。
パラメーター | 説明 |
---|---|
value: string | マークダウン文字列です。 |
戻り値 | 説明 |
MarkdownString |
appendText(value: string): MarkdownString
指定された文字列をこのマークダウン文字列に追加し、エスケープします。
パラメーター | 説明 |
---|---|
value: string | プレーンテキストです。 |
戻り値 | 説明 |
MarkdownString |
MarkedString
MarkedStringは、人間が読めるテキストをレンダリングするために使用できます。マークダウン文字列か、言語とコードスニペットを提供するコードブロックのいずれかです。マークダウン文字列はサニタイズされる(HTMLはエスケープされる)ことに注意してください。
- 非推奨 - このタイプは非推奨です。MarkdownStringを代わりに使用してください。
MarkedString: string | {language: string, value: string}
McpHttpServerDefinition
McpHttpServerDefinitionは、Streamable HTTPトランスポートを使用して利用可能なMCPサーバーを表します。
コンストラクタ
new McpHttpServerDefinition(label: string, uri: Uri, headers?: Record<string, string>, version?: string): McpHttpServerDefinition
パラメーター | 説明 |
---|---|
label: string | サーバーの人間が読める名前です。 |
uri: Uri | サーバーのURIです。 |
headers?: Record<string, string> | サーバーへの各リクエストに含まれるオプションの追加ヘッダーです。 |
version?: string | |
戻り値 | 説明 |
McpHttpServerDefinition |
プロパティ
headers: Record<string, string>
サーバーへの各リクエストに含まれるオプションの追加ヘッダーです。
サーバーの人間が読める名前です。
uri: Uri
サーバーのURIです。エディターは各セッションを開始するためにこのURIにPOSTリクエストを行います。
サーバーのオプションのバージョン識別です。これが変更された場合、エディターはツールが変更されたことを示し、それらを更新するよう促します。
McpServerDefinition
McpServerDefinitionProviderから返される可能性のある、さまざまなタイプのModel Context Protocolサーバーを記述する定義です。
McpServerDefinition: McpStdioServerDefinition | McpHttpServerDefinition
McpServerDefinitionProvider<T>
Model Context Protocolサーバー定義を提供できる型です。これは拡張機能のアクティベーション中にlm.registerMcpServerDefinitionProviderを使用して登録する必要があります。
イベント
onDidChangeMcpServerDefinitions?: Event<void>
利用可能なサーバーのセットが変更されたことを通知するために発生するオプションのイベントです。
メソッド
provideMcpServerDefinitions(token: CancellationToken): ProviderResult<T[]>
利用可能なMCPサーバーを提供します。エディターは言語モデルのサーバーの可用性を確保するためにこのメソッドを積極的に呼び出すため、拡張機能は認証など、ユーザーとの対話が必要なアクションを実行すべきではありません。
パラメーター | 説明 |
---|---|
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T[]> | 利用可能なMCPサーバーの配列です。 |
resolveMcpServerDefinition(server: T, token: CancellationToken): ProviderResult<T>
この関数は、エディターがMCPサーバーを起動する必要があるときに呼び出されます。この時点で、拡張機能は認証など、ユーザーとの対話が必要なアクションを実行できます。サーバーの非readonly
プロパティは変更される可能性があり、拡張機能は解決されたサーバーを返す必要があります。
拡張機能は、サーバーを起動すべきでないことを示すためにundefinedを返すか、エラーをスローすることができます。保留中のツール呼び出しがある場合、エディターはそれをキャンセルし、言語モデルにエラーメッセージを返します。
パラメーター | 説明 |
---|---|
server: T | 解決するMCPサーバーです。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T> | 解決されたサーバー、またはそれを解決するthenableです。これは、非読み取り専用プロパティが入力された、指定された |
McpStdioServerDefinition
McpStdioServerDefinitionは、ローカルプロセスを実行し、その標準入力および標準出力ストリームで操作することによって利用可能なMCPサーバーを表します。プロセスは拡張ホストの子プロセスとして生成され、デフォルトではシェル環境では実行されません。
コンストラクタ
new McpStdioServerDefinition(label: string, command: string, args?: string[], env?: Record<string, string | number>, version?: string): McpStdioServerDefinition
パラメーター | 説明 |
---|---|
label: string | サーバーの人間が読める名前です。 |
command: string | サーバーを起動するために使用されるコマンドです。 |
args?: string[] | サーバーに渡される追加のコマンドライン引数です。 |
env?: Record<string, string | number> | サーバーのオプションの追加環境情報です。 |
version?: string | サーバーのオプションのバージョン識別です。 |
戻り値 | 説明 |
McpStdioServerDefinition |
プロパティ
サーバーに渡される追加のコマンドライン引数です。
サーバーを起動するために使用されるコマンドです。Node.jsベースのサーバーは、エディターのNode.jsバージョンを使用してスクリプトを実行するためにprocess.execPath
を使用する場合があります。
cwd?: Uri
サーバーを起動するために使用される作業ディレクトリです。
env: Record<string, string | number>
サーバーのオプションの追加環境情報です。この環境の変数は、エディターの拡張機能ホストのデフォルト環境変数を上書きまたは削除(nullの場合)します。
サーバーの人間が読める名前です。
サーバーのオプションのバージョン識別です。これが変更された場合、エディターはツールが変更されたことを示し、それらを更新するよう促します。
Memento
Mementoはストレージユーティリティを表します。値を保存および取得できます。
メソッド
値を返します。
パラメーター | 説明 |
---|---|
key: string | 文字列です。 |
戻り値 | 説明 |
T | 保存された値、または |
get<T>(key: string, defaultValue: T): T
値を返します。
パラメーター | 説明 |
---|---|
key: string | 文字列です。 |
defaultValue: T | 指定されたキーを持つ値( |
戻り値 | 説明 |
T | 保存された値、またはデフォルト値。 |
保存されているキーを返します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
readonly string[] | 保存されているキー。 |
update(key: string, value: any): Thenable<void>
値を保存します。値はJSONに文字列化できる必要があります。
注:値をundefined
として使用すると、基になるストレージからキーが削除されます。
パラメーター | 説明 |
---|---|
key: string | 文字列です。 |
value: any | 値。循環参照を含んではいけません。 |
戻り値 | 説明 |
Thenable<void> |
MessageItem
プロパティ
モーダルダイアログの場合、ユーザーがダイアログをキャンセルしたとき(例:ESCキーを押すことによって)にアイテムがトリガーされるべきであることを示唆するヒントです。
注:このオプションは非モーダルメッセージでは無視されます。
「再試行」、「ログを開く」などの短いタイトルです。
MessageOptions
プロパティ
人間が読める詳細メッセージで、目立たないようにレンダリングされます。注:詳細はモーダルメッセージに対してのみ表示されます。
このメッセージがモーダルであるべきことを示します。
NotebookCell
プロパティ
document: TextDocument
テキストドキュメントとして表される、このセルのテキストです。
executionSummary: NotebookCellExecutionSummary
このセルの最新の実行サマリーです。
含まれるノートブック内のこのセルのインデックスです。セルがノートブック内で移動すると、インデックスは更新されます。セルがノートブックから削除されると、インデックスは-1
になります。
kind: NotebookCellKind
このセルの種類です。
このセルのメタデータです。何でもかまいませんが、JSONに文字列化できる必要があります。
notebook: NotebookDocument
このセルを含むノートブックです。
outputs: readonly NotebookCellOutput[]
このセルの出力です。
NotebookCellData
NotebookCellDataはノートブックセルの生の表現です。NotebookDataの一部です。
コンストラクタ
new NotebookCellData(kind: NotebookCellKind, value: string, languageId: string): NotebookCellData
新しいセルデータを作成します。最小限のセルデータは、その種類、ソース値、およびソースの言語識別子を指定します。
パラメーター | 説明 |
---|---|
kind: NotebookCellKind | 種類。 |
value: string | ソース値。 |
languageId: string | ソース値の言語識別子です。 |
戻り値 | 説明 |
NotebookCellData |
プロパティ
executionSummary?: NotebookCellExecutionSummary
このセルデータの実行サマリーです。
kind: NotebookCellKind
このセルデータの種類です。
このセルデータのソース値の言語識別子です。getLanguagesからの任意の値が可能です。
このセルデータの任意のメタデータです。何でもかまいませんが、JSONに文字列化できる必要があります。
outputs?: NotebookCellOutput[]
このセルデータの出力です。
このセルデータのソース値 - ソースコードまたはフォーマット済みテキストのいずれかです。
NotebookCellExecution
NotebookCellExecutionは、ノートブックコントローラーがノートブックセルを実行中に変更する方法です。
セル実行オブジェクトが作成されると、セルは[NotebookCellExecutionState.Pending Pending](#NotebookCellExecutionState.Pending Pending)状態に入ります。実行タスクでstart(...)が呼び出されると、[NotebookCellExecutionState.Executing Executing](#NotebookCellExecutionState.Executing Executing)状態に入ります。end(...)が呼び出されると、[NotebookCellExecutionState.Idle Idle](#NotebookCellExecutionState.Idle Idle)状態に入ります。
プロパティ
cell: NotebookCell
この実行が作成されたセルです。
このセル実行の順序を設定および解除します。
token: CancellationToken
メソッド
appendOutput(out: NotebookCellOutput | readonly NotebookCellOutput[], cell?: NotebookCell): Thenable<void>
実行中のセルの出力、またはこの実行によって影響を受ける別のセルに出力を追加します。
パラメーター | 説明 |
---|---|
out: NotebookCellOutput | readonly NotebookCellOutput[] | 現在の出力に追加される出力です。 |
cell?: NotebookCell | 出力がクリアされるセルです。デフォルトは、この実行のセルです。 |
戻り値 | 説明 |
Thenable<void> | 操作が完了したときに解決されるthenableです。 |
appendOutputItems(items: NotebookCellOutputItem | readonly NotebookCellOutputItem[], output: NotebookCellOutput): Thenable<void>
既存のセル出力に出力項目を追加します。
パラメーター | 説明 |
---|---|
items: NotebookCellOutputItem | readonly NotebookCellOutputItem[] | 既存の出力に追加される出力項目です。 |
output: NotebookCellOutput | すでに存在する出力オブジェクトです。 |
戻り値 | 説明 |
Thenable<void> | 操作が完了したときに解決されるthenableです。 |
clearOutput(cell?: NotebookCell): Thenable<void>
実行中のセル、またはこの実行によって影響を受ける別のセルの出力をクリアします。
パラメーター | 説明 |
---|---|
cell?: NotebookCell | 出力がクリアされるセルです。デフォルトは、この実行のセルです。 |
戻り値 | 説明 |
Thenable<void> | 操作が完了したときに解決されるthenableです。 |
end(success: boolean, endTime?: number): void
実行が終了したことを通知します。
パラメーター | 説明 |
---|---|
success: boolean | trueの場合、セルステータスバーに緑色のチェックが表示されます。falseの場合、赤いXが表示されます。undefinedの場合、チェックまたはXアイコンは表示されません。 |
endTime?: number | 実行が完了した時刻(Unixエポックからのミリ秒)です。 |
戻り値 | 説明 |
void |
replaceOutput(out: NotebookCellOutput | readonly NotebookCellOutput[], cell?: NotebookCell): Thenable<void>
現在実行中のセル、またはこの実行によって影響を受ける他のセルの出力を置き換えます。
パラメーター | 説明 |
---|---|
out: NotebookCellOutput | readonly NotebookCellOutput[] | 現在の出力を置き換える出力です。 |
cell?: NotebookCell | 出力がクリアされるセルです。デフォルトは、この実行のセルです。 |
戻り値 | 説明 |
Thenable<void> | 操作が完了したときに解決されるthenableです。 |
replaceOutputItems(items: NotebookCellOutputItem | readonly NotebookCellOutputItem[], output: NotebookCellOutput): Thenable<void>
既存のセル出力のすべての出力アイテムを置き換えます。
パラメーター | 説明 |
---|---|
items: NotebookCellOutputItem | readonly NotebookCellOutputItem[] | 既存の出力のアイテムを置き換える出力アイテムです。 |
output: NotebookCellOutput | すでに存在する出力オブジェクトです。 |
戻り値 | 説明 |
Thenable<void> | 操作が完了したときに解決されるthenableです。 |
start(startTime?: number): void
実行が開始されたことを通知します。
パラメーター | 説明 |
---|---|
startTime?: number | 実行が開始された時刻(Unixエポックからのミリ秒単位)。セルがどのくらい実行されているかを示す時計を駆動するために使用されます。指定しない場合、時計は表示されません。 |
戻り値 | 説明 |
void |
NotebookCellExecutionSummary
ノートブックセルの実行の概要です。
プロパティ
実行が発生した順序です。
実行が正常に終了したかどうかを示します。
timing?: {endTime: number, startTime: number}
実行が開始および終了した時刻(Unixタイムスタンプ)
パラメーター | 説明 |
---|---|
endTime: number | 実行終了時刻。 |
startTime: number | 実行開始時刻。 |
NotebookCellKind
ノートブックセルの種類です。
列挙メンバー
マークアップセルは、表示に使用される書式設定されたソースです。
NotebookCellOutput
ノートブックセル出力は、セルを実行した結果を表します。これは、複数の出力アイテムのコンテナ型であり、含まれるアイテムは同じ結果を表しますが、異なるMIMEタイプを使用します。
コンストラクタ
new NotebookCellOutput(items: NotebookCellOutputItem[], metadata?: ): NotebookCellOutput
新しいノートブック出力を作成します。
パラメーター | 説明 |
---|---|
items: NotebookCellOutputItem[] | ノートブック出力アイテム。 |
metadata?: | オプションのメタデータ。 |
戻り値 | 説明 |
NotebookCellOutput |
プロパティ
items: NotebookCellOutputItem[]
この出力の出力アイテム。各アイテムは同じ結果を表す必要があります。注:出力ごとにMIMEタイプが繰り返されるのは無効であり、エディターはそのうちの1つを選択します。
new vscode.NotebookCellOutput([
vscode.NotebookCellOutputItem.text('Hello', 'text/plain'),
vscode.NotebookCellOutputItem.text('<i>Hello</i>', 'text/html'),
vscode.NotebookCellOutputItem.text('_Hello_', 'text/markdown'),
vscode.NotebookCellOutputItem.text('Hey', 'text/plain') // INVALID: repeated type, editor will pick just one
]);
このセル出力の任意のメタデータ。何でも構いませんが、JSON文字列化可能である必要があります。
NotebookCellOutputItem
MIMEタイプとデータによって定義されるノートブック出力の表現の一つです。
静的
error(value: Error): NotebookCellOutputItem
application/vnd.code.notebook.error
MIMEタイプを使用するNotebookCellOutputItem
を作成するファクトリ関数。
パラメーター | 説明 |
---|---|
value: Error | エラーオブジェクト。 |
戻り値 | 説明 |
NotebookCellOutputItem | 新しい出力アイテムオブジェクト。 |
json(value: any, mime?: string): NotebookCellOutputItem
JSONオブジェクトからNotebookCellOutputItem
を作成するファクトリ関数。
注: この関数は「文字列化されたJSON」ではなく、文字列化できるオブジェクトを期待しています。渡された値がJSON文字列化できない場合、この関数はエラーをスローします。
パラメーター | 説明 |
---|---|
value: any | JSON文字列化可能な値。 |
mime?: string | オプションのMIMEタイプ。デフォルトは |
戻り値 | 説明 |
NotebookCellOutputItem | 新しい出力アイテムオブジェクト。 |
stderr(value: string): NotebookCellOutputItem
application/vnd.code.notebook.stderr
MIMEタイプを使用するNotebookCellOutputItem
を作成するファクトリ関数。
パラメーター | 説明 |
---|---|
value: string | 文字列です。 |
戻り値 | 説明 |
NotebookCellOutputItem | 新しい出力アイテムオブジェクト。 |
stdout(value: string): NotebookCellOutputItem
application/vnd.code.notebook.stdout
MIMEタイプを使用するNotebookCellOutputItem
を作成するファクトリ関数。
パラメーター | 説明 |
---|---|
value: string | 文字列です。 |
戻り値 | 説明 |
NotebookCellOutputItem | 新しい出力アイテムオブジェクト。 |
text(value: string, mime?: string): NotebookCellOutputItem
文字列からNotebookCellOutputItem
を作成するファクトリ関数。
注: 文字列のバイトを作成するためにUTF-8エンコーダが使用されます。
パラメーター | 説明 |
---|---|
value: string | 文字列です。 |
mime?: string | オプションのMIMEタイプ。デフォルトは |
戻り値 | 説明 |
NotebookCellOutputItem | 新しい出力アイテムオブジェクト。 |
コンストラクタ
new NotebookCellOutputItem(data: Uint8Array, mime: string): NotebookCellOutputItem
新しいノートブックセル出力アイテムを作成します。
パラメーター | 説明 |
---|---|
data: Uint8Array | 出力アイテムの値。 |
mime: string | 出力アイテムのMIMEタイプ。 |
戻り値 | 説明 |
NotebookCellOutputItem |
プロパティ
この出力アイテムのデータ。常に符号なし8ビット整数の配列である必要があります。
データプロパティがどのように解釈されるかを決定するMIMEタイプ。
ノートブックには特定のMIMEタイプの組み込みサポートがあり、拡張機能は新しいタイプのサポートを追加したり、既存のタイプを上書きしたりできます。
NotebookCellStatusBarAlignment
ステータスバーアイテムの配置を表します。
列挙メンバー
左側に配置されます。
右側に配置されます。
NotebookCellStatusBarItem
セルのステータスバーへの貢献。
コンストラクタ
new NotebookCellStatusBarItem(text: string, alignment: NotebookCellStatusBarAlignment): NotebookCellStatusBarItem
新しいNotebookCellStatusBarItemを作成します。
パラメーター | 説明 |
---|---|
text: string | アイテムに表示するテキスト。 |
alignment: NotebookCellStatusBarAlignment | アイテムが左揃えか右揃えか。 |
戻り値 | 説明 |
NotebookCellStatusBarItem |
プロパティ
accessibilityInformation?: AccessibilityInformation
スクリーンリーダーがこのアイテムを操作する際に使用されるアクセシビリティ情報。
alignment: NotebookCellStatusBarAlignment
アイテムが左揃えか右揃えか。
command?: string | Command
アイテムの優先度。値が大きいアイテムほど左側に表示されます。
アイテムに表示するテキスト。
アイテムにカーソルを合わせたときに表示されるツールチップ。
NotebookCellStatusBarItemProvider
セルのエディターの下に表示されるステータスバーにアイテムを提供できるプロバイダーです。
イベント
onDidChangeCellStatusBarItems?: Event<void>
ステータスバーアイテムが変更されたことを通知するオプションのイベント。プロバイダーメソッドが再度呼び出されます。
メソッド
provideCellStatusBarItems(cell: NotebookCell, token: CancellationToken): ProviderResult<NotebookCellStatusBarItem | NotebookCellStatusBarItem[]>
プロバイダーは、セルがビューにスクロールされたとき、コンテンツ、出力、言語、またはメタデータが変更されたとき、および実行状態が変更されたときに呼び出されます。
パラメーター | 説明 |
---|---|
cell: NotebookCell | アイテムを返す対象のセル。 |
token: CancellationToken | このリクエストをキャンセルする必要がある場合にトリガーされるトークン。 |
戻り値 | 説明 |
ProviderResult<NotebookCellStatusBarItem | NotebookCellStatusBarItem[]> | 1つ以上のセルステータスバーアイテム |
NotebookController
ノートブックコントローラーは、ノートブックセルを実行できるエンティティを表します。これはしばしばカーネルと呼ばれます。
複数のコントローラーが存在する可能性があり、エディターはユーザーに特定のノートブックに使用するコントローラーを選択させます。notebookTypeプロパティは、コントローラーがどのような種類のノートブック用であるかを定義し、updateNotebookAffinity関数は、コントローラーが特定のノートブックドキュメントに対する優先度を設定できるようにします。コントローラーが選択されると、そのonDidChangeSelectedNotebooksイベントが発火します。
セルが実行されると、エディターはexecuteHandlerを呼び出し、コントローラーはノートブックセル実行を作成および完了することが期待されます。ただし、コントローラーは独自に実行を作成することもできます。
イベント
onDidChangeSelectedNotebooks: Event<{notebook: NotebookDocument, selected: boolean}>
プロパティ
目立たないようにレンダリングされる人間が読める説明。
目立たないようにレンダリングされる人間が読める詳細。
executeHandler: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => void | Thenable<void>
実行ハンドラーは、UIで実行ジェスチャが選択されたときに呼び出されます。たとえば、「セルの実行」、「すべて実行」、「選択範囲の実行」などです。実行ハンドラーは、実行オブジェクトの作成と管理を担当します。
パラメーター | 説明 |
---|---|
cells: NotebookCell[] | |
notebook: NotebookDocument | |
controller: NotebookController | |
戻り値 | 説明 |
void | Thenable<void> |
このノートブックコントローラーの識別子。
注:コントローラーは識別子によって記憶され、拡張機能はセッション間で安定した識別子を使用する必要があります。
interruptHandler?: (notebook: NotebookDocument) => void | Thenable<void>
オプションの割り込みハンドラー。
デフォルトでは、セルの実行はトークンを介してキャンセルされます。キャンセル・トークンは、コントローラーがその実行を追跡し、後で特定の実行をキャンセルできることを要求します。すべてのシナリオでそれが可能であるわけではありません。例えば、REPLスタイルのコントローラーは、現在実行中のものを中断することで機能することがよくあります。これらのケースのために割り込みハンドラーが存在します。これは、ターミナルにおけるSIGINT
またはControl+C
に相当するものと考えることができます。
注: キャンセル・トークンのサポートが推奨されており、割り込みハンドラーはトークンがサポートできない場合にのみ使用すべきです。
パラメーター | 説明 |
---|---|
notebook: NotebookDocument | |
戻り値 | 説明 |
void | Thenable<void> |
このノートブックコントローラーの人間が読めるラベル。
このコントローラーが対象とするノートブックの種類。
このコントローラーでサポートされている言語識別子の配列。getLanguagesからの任意の言語識別子が可能です。偽値の場合、すべての言語がサポートされます。
サンプル
// support JavaScript and TypeScript
myController.supportedLanguages = ['javascript', 'typescript'];
// support all languages
myController.supportedLanguages = undefined; // falsy
myController.supportedLanguages = []; // falsy
supportsExecutionOrder?: boolean
このコントローラーが実行順序をサポートしているかどうか。エディターがそれらのプレースホルダーをレンダリングできるようにするためです。
メソッド
createNotebookCellExecution(cell: NotebookCell): NotebookCellExecution
セル実行タスクを作成します。
注:一度に1つのセルにつき1つの実行のみが可能であり、別のセル実行がアクティブな間にセル実行が作成された場合、エラーがスローされます。
これは、実行ハンドラーが呼び出されたとき、またはセルの実行がすでに開始されていた場合(例:セルがすでに実行中であったり、セルの実行が別のソースからトリガーされた場合)に応答して使用されるべきです。
パラメーター | 説明 |
---|---|
cell: NotebookCell | 実行を作成する対象のノートブックセル。 |
戻り値 | 説明 |
NotebookCellExecution | ノートブックセルの実行。 |
関連するリソースを破棄し、解放します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
updateNotebookAffinity(notebook: NotebookDocument, affinity: NotebookControllerAffinity): void
コントローラーは特定のノートブックドキュメントに対してアフィニティを設定できます。これにより、一部のノートブックでコントローラーがより目立つように表示されます。
パラメーター | 説明 |
---|---|
notebook: NotebookDocument | 優先度が設定されるノートブック。 |
affinity: NotebookControllerAffinity | コントローラーアフィニティ |
戻り値 | 説明 |
void |
NotebookControllerAffinity
ノートブックドキュメントに対するノートブックコントローラーのアフィニティ。
列挙メンバー
デフォルトのアフィニティ。
コントローラーがノートブックに対して優先されます。
NotebookData
コンストラクタ
new NotebookData(cells: NotebookCellData[]): NotebookData
新しいノートブックデータを作成します。
パラメーター | 説明 |
---|---|
cells: NotebookCellData[] | セルデータの配列。 |
戻り値 | 説明 |
NotebookData |
プロパティ
cells: NotebookCellData[]
このノートブックデータのセルデータ。
ノートブックデータの任意のメタデータ。
NotebookDocument
コードまたはマークアップセルのシーケンスであるノートブックを表します。ノートブックドキュメントはノートブックデータから作成されます。
プロパティ
ノートブック内のセルの数。
ノートブックが閉じられている場合、true
です。閉じられたノートブックはもはや同期されず、同じリソースが再度開かれても再利用されません。
未保存の変更がある場合、true
。
このノートブックが、まだ保存されていない無題のファイルを表しているか。
このノートブックの任意のメタデータ。何でも構いませんが、JSON文字列化可能である必要があります。
ノートブックの種類。
uri: Uri
このノートブックに関連付けられたURI。
注: ほとんどのノートブックはfile
スキームを使用し、これはディスク上のファイルであることを意味します。しかし、すべてのノートブックがディスクに保存されているわけではないため、基盤となるファイルやディスク上の兄弟ファイルにアクセスしようとする前にscheme
を確認する必要があります。
このノートブックのバージョン番号(元に戻す/やり直すを含む変更ごとに厳密に増加します)。
メソッド
cellAt(index: number): NotebookCell
指定されたインデックスにあるセルを返します。インデックスはノートブックに合わせて調整されます。
パラメーター | 説明 |
---|---|
index: number | 取得するセルのインデックス。 |
戻り値 | 説明 |
NotebookCell | セル。 |
getCells(range?: NotebookRange): NotebookCell[]
このノートブックのセルを取得します。範囲を指定することでサブセットを取得できます。範囲はノートブックに調整されます。
パラメーター | 説明 |
---|---|
range?: NotebookRange | ノートブックの範囲。 |
戻り値 | 説明 |
NotebookCell[] | 範囲に含まれるセル、またはすべてのセル。 |
ドキュメントを保存します。保存は対応するシリアライザーによって処理されます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
Thenable<boolean> | ドキュメントが保存されたときにtrueに解決される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
ノートブックコンテンツオプションは、ノートブックのどの部分が永続化されるかを定義します。注意
たとえば、ノートブックシリアライザは出力の保存をオプトアウトでき、その場合、出力が変更されてもエディタはノートブックをダーティとマークしません。
プロパティ
セルメタデータプロパティの変更イベントがノートブックドキュメントのコンテンツ変更イベントをトリガーするかどうか、および差分エディターで使用されるかどうかを制御します(デフォルトはfalse)。コンテンツプロバイダーがファイルドキュメントにメタデータプロパティを永続化しない場合、これをtrueに設定する必要があります。
ドキュメントメタデータプロパティの変更イベントがノートブックドキュメントのコンテンツ変更イベントをトリガーするかどうか、および差分エディターで使用されるかどうかを制御します(デフォルトはfalse)。コンテンツプロバイダーがファイルドキュメントにメタデータプロパティを永続化しない場合、これをtrueに設定する必要があります。
出力変更イベントがノートブックドキュメントのコンテンツ変更イベントをトリガーするかどうか、および差分エディターで使用されるかどうかを制御します(デフォルトはfalse)。コンテンツプロバイダーがファイルドキュメントに出力を永続化しない場合、これをtrueに設定する必要があります。
NotebookDocumentShowOptions
ノートブックエディターでノートブックドキュメントを表示する際の動作を設定するためのオプションを表します。
プロパティ
オプションのフラグ。true
の場合、ノートブックエディターがフォーカスを取得するのを停止します。
オプションのフラグで、ノートブックエディタータブがプレビューとして表示されるかどうかを制御します。プレビュータブは、明示的または編集によって固定されるまで、置き換えられて再利用されます。デフォルトの動作は、workbench.editor.enablePreview
設定に依存します。
selections?: readonly NotebookRange[]
ノートブックエディターでドキュメントに適用するオプションの選択範囲。
viewColumn?: ViewColumn
ノートブックエディターを表示するオプションのビューカラム。デフォルトはアクティブです。存在しないカラムは、ViewColumn.Nineの最大値まで必要に応じて作成されます。ViewColumn.Besideを使用して、現在アクティブなエディターの横にエディターを開きます。
NotebookDocumentWillSaveEvent
ノートブックドキュメントが保存されるときに発火するイベント。
保存される前にドキュメントに変更を加えるには、ワークスペース編集に解決されるthenableを引数に指定してwaitUntil関数を呼び出します。
プロパティ
notebook: NotebookDocument
保存されるノートブックドキュメント。
reason: TextDocumentSaveReason
保存がトリガーされた理由。
token: CancellationToken
キャンセルトークン。
メソッド
waitUntil(thenable: Thenable<WorkspaceEdit>): void
イベントループを一時停止し、ワークスペース編集を適用することができます。この関数への後続の呼び出しの編集は順番に適用されます。ノートブックドキュメントの同時変更が発生した場合、編集は無視されます。
注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことができません。
workspace.onWillSaveNotebookDocument(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
パラメーター | 説明 |
---|---|
thenable: Thenable<WorkspaceEdit> | ワークスペース編集に解決されるthenable。 |
戻り値 | 説明 |
void |
waitUntil(thenable: Thenable<any>): void
指定されたthenableが解決されるまでイベントループを一時停止できます。
注: この関数はイベントディスパッチ中にのみ呼び出すことができます。
パラメーター | 説明 |
---|---|
thenable: Thenable<any> | 保存を遅延させるthenableです。 |
戻り値 | 説明 |
void |
NotebookEdit
ノートブック編集は、ノートブックの内容に適用されるべき編集を表します。
静的
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つのセルインデックスの順序付きペアを表します。startがend以下であることが保証されます。
コンストラクタ
new NotebookRange(start: number, end: number): NotebookRange
新しいノートブック範囲を作成します。start
がend
より前または等しくない場合、値はスワップされます。
パラメーター | 説明 |
---|---|
start: number | 開始インデックス |
end: number | 終了インデックス。 |
戻り値 | 説明 |
NotebookRange |
プロパティ
この範囲の排他的な終了インデックス(0ベース)。
start
とend
が等しい場合、true
。
この範囲の0ベースの開始インデックス。
メソッド
with(change: {end: number, start: number}): NotebookRange
この範囲から新しい範囲を派生させます。
パラメーター | 説明 |
---|---|
change: {end: number, start: number} | この範囲への変更を記述するオブジェクト。 |
戻り値 | 説明 |
NotebookRange | 指定された変更を反映する範囲。変更が何も変更しない場合は、 |
NotebookRendererMessaging
レンダラーメッセージングは、単一のレンダラーと通信するために使用されます。notebooks.createRendererMessagingから返されます。
イベント
onDidReceiveMessage: Event<{editor: NotebookEditor, message: any}>
レンダラーからメッセージが受信されたときに発生するイベント。
メソッド
postMessage(message: any, editor?: NotebookEditor): Thenable<boolean>
1つまたはすべてのレンダラーにメッセージを送信します。
パラメーター | 説明 |
---|---|
message: any | 送信するメッセージ |
editor?: NotebookEditor | メッセージのターゲットとなるエディター。指定しない場合、メッセージはすべてのレンダラーに送信されます。 |
戻り値 | 説明 |
Thenable<boolean> | メッセージが任意のレンダラーに正常に配信されたかどうかを示すブール値。 |
NotebookSerializer
ノートブックシリアライザは、エディターがノートブックファイルを開くことを可能にします。
その核となるのは、エディターはノートブックデータ構造しか知らないが、そのデータ構造がファイルに書き込まれる方法やファイルから読み込まれる方法は知らないということです。ノートブックシリアライザは、バイトをノートブックデータに逆シリアル化し、その逆も行うことで、このギャップを埋めます。
メソッド
deserializeNotebook(content: Uint8Array, token: CancellationToken): NotebookData | Thenable<NotebookData>
ノートブックファイルの内容をノートブックデータ構造に逆シリアル化します。
パラメーター | 説明 |
---|---|
content: Uint8Array | ノートブックファイルの内容。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
NotebookData | Thenable<NotebookData> | ノートブックデータ、またはそれに解決されるthenable。 |
serializeNotebook(data: NotebookData, token: CancellationToken): Uint8Array | Thenable<Uint8Array>
ノートブックデータをファイル内容にシリアル化します。
パラメーター | 説明 |
---|---|
data: NotebookData | ノートブックデータ構造。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
Uint8Array | Thenable<Uint8Array> | バイトの配列、またはそれに解決されるThenableです。 |
OnEnterRule
Enterキーを押したときに評価されるルールを記述します。
プロパティ
action: EnterAction
実行するアクション。
このルールは、カーソル後のテキストがこの正規表現に一致する場合にのみ実行されます。
このルールは、カーソル前のテキストがこの正規表現に一致する場合にのみ実行されます。
このルールは、現在の行の上のテキストがこの正規表現に一致する場合にのみ実行されます。
OnTypeFormattingEditProvider
ドキュメント整形プロバイダーインターフェースは、拡張機能と整形機能間の契約を定義します。
メソッド
provideOnTypeFormattingEdits(document: TextDocument, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>
文字が入力された後にフォーマット編集を提供します。
指定された位置と文字は、プロバイダーに位置を拡張する範囲のヒントを与えるべきです。たとえば、}
が入力されたときに一致する{
を見つけるなど。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
ch: string | 入力された文字。 |
options: FormattingOptions | 整形を制御するオプション。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<TextEdit[]> | 一連のテキスト編集、またはそれに解決されるThenable。結果がない場合は、 |
OpenDialogOptions
ファイルを開くダイアログの動作を設定するオプション。
- 注1: WindowsとLinuxでは、ファイルダイアログはファイルセレクターとフォルダセレクターの両方にはなれません。したがって、これらのプラットフォームで
canSelectFiles
とcanSelectFolders
の両方をtrue
に設定した場合、フォルダセレクターが表示されます。 - 注2:
canSelectFiles
とcanSelectFolders
を明示的にfalse
に設定しても無意味であり、その場合エディターはオプションをファイルを自動的に選択するように調整します。
プロパティ
ファイルを選択できるようにします。デフォルトはtrue
。
フォルダーを選択できるようにします。デフォルトはfalse
。
複数のファイルまたはフォルダーを選択できるようにします。
defaultUri?: Uri
ダイアログが開いたときに表示するリソース。
ダイアログで使用されるファイルフィルタのセット。各エントリは「TypeScript」のような人間が読めるラベルと、拡張子の配列です。例:
{
'Images': ['png', 'jpg'],
'TypeScript': ['ts', 'tsx']
}
開くボタンの人間が読める文字列。
ダイアログのタイトル。
このパラメータは無視される場合があります。すべてのオペレーティングシステムが開くダイアログにタイトルを表示するわけではないためです(例: macOS)。
OutputChannel
出力チャネルは、読み取り専用のテキスト情報のコンテナーです。
OutputChannel
のインスタンスを取得するには、createOutputChannelを使用します。
プロパティ
この出力チャネルの人間が読める名前です。
メソッド
指定された値をチャネルに追加します。
パラメーター | 説明 |
---|---|
value: string | 文字列。偽値は出力されません。 |
戻り値 | 説明 |
void |
appendLine(value: string): void
指定された値と改行文字をチャネルに追加します。
パラメーター | 説明 |
---|---|
value: string | 文字列。偽値も出力されます。 |
戻り値 | 説明 |
void |
チャネルからすべての出力を削除します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
関連するリソースを破棄し、解放します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
このチャネルをUIから非表示にします。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
チャネルからすべての出力を指定された値に置き換えます。
パラメーター | 説明 |
---|---|
value: string | 文字列。偽値は出力されません。 |
戻り値 | 説明 |
void |
show(preserveFocus?: boolean): void
このチャネルをUIに表示します。
パラメーター | 説明 |
---|---|
preserveFocus?: boolean |
|
戻り値 | 説明 |
void |
show(column?: ViewColumn, preserveFocus?: boolean): void
このチャネルをUIに表示します。
- 非推奨 - パラメータが1つだけのオーバーロード(
show(preserveFocus?: boolean): void
)を使用してください。
パラメーター | 説明 |
---|---|
column?: ViewColumn | この引数は**非推奨**であり、無視されます。 |
preserveFocus?: boolean |
|
戻り値 | 説明 |
void |
OverviewRulerLane
概要ルーラーでの装飾のレンダリング位置を表します。概要ルーラーは3つのレーンをサポートしています。
列挙メンバー
概要ルーラーの左レーン。
概要ルーラーの中央レーン。
概要ルーラーの右側のレーン。
概要ルーラーのすべてのレーン。
ParameterInformation
呼び出し可能なシグネチャのパラメーターを表します。パラメーターには、ラベルとドキュメントコメントを含めることができます。
コンストラクタ
new ParameterInformation(label: string | [number, number], documentation?: string | MarkdownString): ParameterInformation
新しいパラメーター情報オブジェクトを作成します。
パラメーター | 説明 |
---|---|
label: string | [number, number] | ラベル文字列、またはそれを囲むシグネチャラベル内の包括的な開始オフセットと排他的な終了オフセット。 |
documentation?: string | MarkdownString | ドキュメント文字列。 |
戻り値 | 説明 |
ParameterInformation |
プロパティ
documentation?: string | MarkdownString
このシグネチャの人間が読めるドキュメントコメント。UIに表示されますが、省略できます。
label: string | [number, number]
Position
コンストラクタ
new Position(line: number, character: number): Position
パラメーター | 説明 |
---|---|
line: number | 0から始まる行の値。 |
character: number | 0から始まる文字の値。 |
戻り値 | 説明 |
Position |
プロパティ
0から始まる文字の値。
文字オフセットはUTF-16のコードユニットを使用して表されます。
0から始まる行の値。
メソッド
compareTo(other: Position): number
これをother
と比較します。
パラメーター | 説明 |
---|---|
other: Position | 位置。 |
戻り値 | 説明 |
number | この位置が指定された位置より前にある場合はゼロより小さい数値、指定された位置より後にある場合はゼロより大きい数値、この位置と指定された位置が等しい場合はゼロ。 |
isAfter(other: Position): boolean
この位置がother
より後にあるかを確認します。
パラメーター | 説明 |
---|---|
other: Position | 位置。 |
戻り値 | 説明 |
boolean | 位置がより大きい行にあるか、または同じ行でより大きい文字にある場合 |
isAfterOrEqual(other: Position): boolean
この位置がother
より後、または等しいかを確認します。
パラメーター | 説明 |
---|---|
other: Position | 位置。 |
戻り値 | 説明 |
boolean | 位置がより大きい行にあるか、または同じ行でより大きいか等しい文字にある場合 |
isBefore(other: Position): boolean
この位置がother
より前にあるかを確認します。
パラメーター | 説明 |
---|---|
other: Position | 位置。 |
戻り値 | 説明 |
boolean | 位置がより小さい行にあるか、または同じ行でより小さい文字にある場合 |
isBeforeOrEqual(other: Position): boolean
この位置がother
より前、または等しいかを確認します。
パラメーター | 説明 |
---|---|
other: Position | 位置。 |
戻り値 | 説明 |
boolean | 位置がより小さい行にあるか、または同じ行でより小さいか等しい文字にある場合 |
isEqual(other: Position): boolean
この位置がother
と等しいかを確認します。
パラメーター | 説明 |
---|---|
other: Position | 位置。 |
戻り値 | 説明 |
boolean | 指定された位置の行と文字がこの位置の行と文字と等しい場合 |
translate(lineDelta?: number, characterDelta?: number): Position
この位置を基準に新しい位置を作成します。
パラメーター | 説明 |
---|---|
lineDelta?: number | 行値の差分値、デフォルトは |
characterDelta?: number | 文字値の差分値、デフォルトは |
戻り値 | 説明 |
Position | 現在の行と文字、および対応するデルタの合計である行と文字を持つ位置。 |
translate(change: {characterDelta: number, lineDelta: number}): Position
この位置を基準に新しい位置を導出しました。
パラメーター | 説明 |
---|---|
change: {characterDelta: number, lineDelta: number} | この位置への差分を記述するオブジェクト。 |
戻り値 | 説明 |
Position | 指定された差分を反映する位置。変更が何も変えない場合は、 |
with(line?: number, character?: number): Position
この位置から導出された新しい位置を作成します。
with(change: {character: number, line: number}): Position
この位置から新しい位置を導出しました。
パラメーター | 説明 |
---|---|
change: {character: number, line: number} | この位置への変更を記述するオブジェクト。 |
戻り値 | 説明 |
Position | 指定された変更を反映する位置。変更が何も変えない場合は、 |
PreparedToolInvocation
プロパティ
confirmationMessages?: LanguageModelToolConfirmationMessages
このプロパティが存在する場合、ツールを実行する前にユーザーに確認を求める必要があることを示します。副作用があるか、または潜在的に危険なツールについては、ユーザーに確認を求める必要があります。
invocationMessage?: string | MarkdownString
ツール実行中に表示する、カスタマイズされた進捗メッセージ。
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
プロセスが実行されるときに使用されるプロセスオプション。デフォルトは未定義です。
実行されるプロセス。
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>
発火すると、ターミナルの寸法を上書きできるイベント。設定した場合、上書きされた寸法は、ターミナルの実際の寸法よりも小さい場合にのみ有効になることに注意してください (つまり、スクロールバーは表示されません)。通常の寸法 (パネルのサイズに合わせる) に戻すには、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 | ターミナルの寸法。この呼び出し前にターミナルパネルが開かれていない場合、これは未定義になります。 |
戻り値 | 説明 |
void |
setDimensions(dimensions: TerminalDimensions): void
ターミナルパネルに収まる行と列の数が変更された場合(フォントサイズの変更やパネルのリサイズなど)の処理を実装します。ターミナルのサイズはユーザーインターフェースに表示されるまで不明であるため、ターミナルの寸法の初期状態は、これがトリガーされるまでundefined
として扱われるべきです。
寸法がonDidOverrideDimensionsによって上書きされた場合でも、setDimensions
は通常のパネル寸法で引き続き呼び出され、拡張機能が寸法の変更に引き続き反応できるようにします。
パラメーター | 説明 |
---|---|
dimensions: TerminalDimensions | 新しい寸法。 |
戻り値 | 説明 |
void |
QuickDiffProvider
クイック差分プロバイダは、変更されたリソースの元の状態へのURIを提供します。エディタはこの情報を使用して、テキスト内のアドホックな差分をレンダリングします。
メソッド
provideOriginalResource(uri: Uri, token: CancellationToken): ProviderResult<Uri>
指定されたリソースURIの元のリソースへのURIを提供します。
パラメーター | 説明 |
---|---|
uri: Uri | テキストエディタで開いているリソースのURI。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Uri> | 一致する元のリソースのURIに解決されるthenable。 |
QuickInput
最初は表示されない軽量のユーザー入力UI。プロパティを介して構成した後、拡張機能はQuickInput.showを呼び出すことで表示させることができます。
このUIが非表示になる理由はいくつかあり、拡張機能は QuickInput.onDidHide を通じて通知を受け取ります。(例:QuickInput.hide の明示的な呼び出し、ユーザーがEscを押す、他の入力UIが開くなど)
ユーザーがEnterキーを押すか、現在の状態の承認を示唆する他のジェスチャーを行っても、このUIコンポーネントは自動的に非表示になりません。ユーザーの入力を受け入れるかどうか、そしてQuickInput.hideの呼び出しを通じてUIを実際に非表示にするかどうかは、拡張機能次第です。
拡張機能がこの入力UIを不要になった場合、関連付けられているリソースを解放できるように、QuickInput.disposeを呼び出す必要があります。
イベント
onDidHide: Event<void>
この入力UIが非表示になったときに通知されるイベントです。
このUIが非表示になる理由はいくつかあり、拡張機能は QuickInput.onDidHide を通じて通知を受け取ります。(例:QuickInput.hide の明示的な呼び出し、ユーザーがEscを押す、他の入力UIが開くなど)
プロパティ
UIが進行状況インジケーターを表示するかどうか。デフォルトは false です。
例えば、追加データの読み込み中やユーザー入力の検証中に、これをtrueに変更してください。
UIがユーザー入力を許可するかどうか。デフォルトは true です。
例えば、ユーザー入力の検証中や、ユーザー入力の次のステップのデータを読み込み中に、これをfalseに変更してください。
UIのフォーカスが失われてもUIを開いたままにするかどうか。デフォルトは false です。この設定はiPadでは無視され、常にfalseになります。
オプションの現在のステップ数です。
オプションのタイトルです。
オプションの合計ステップ数です。
メソッド
この入力UIとそれに関連するリソースを破棄します。まだ表示されている場合は、まず非表示になります。この呼び出しの後、入力UIはもはや機能せず、それ以上のメソッドやプロパティにアクセスすべきではありません。代わりに新しい入力UIを作成する必要があります。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
この入力UIを非表示にします。これにより、QuickInput.onDidHide イベントも発生します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
現在の構成で入力UIを表示します。他の入力UIはまず QuickInput.onDidHide イベントを発生させます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
QuickInputButton
プロパティ
iconPath: IconPath
ボタンのアイコン。
オプションのツールチップ。
QuickInputButtons
静的
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
範囲は2つの位置の順序対を表します。start.isBeforeOrEqual(end)であることが保証されています。
Rangeオブジェクトは**不変**です。with、intersection、またはunionメソッドを使用して、既存の範囲から新しい範囲を導出します。
コンストラクタ
new Range(start: Position, end: Position): Range
2つの位置から新しい範囲を作成します。start
がend
より前または等しくない場合、値はスワップされます。
new Range(startLine: number, startCharacter: number, endLine: number, endCharacter: number): Range
数値座標から新しい範囲を作成します。これは、new Range(new Position(startLine, startCharacter), new Position(endLine, endCharacter))
を使用するより短い同等の方法です。
パラメーター | 説明 |
---|---|
startLine: number | 0から始まる行の値。 |
startCharacter: number | 0から始まる文字の値。 |
endLine: number | 0から始まる行の値。 |
endCharacter: number | 0から始まる文字の値。 |
戻り値 | 説明 |
Range |
プロパティ
end: Position
終了位置。start以降です。
start
とend
が等しい場合、true
。
start.line
とend.line
が等しい場合true
。
start: Position
開始位置。end以前です。
メソッド
contains(positionOrRange: Range | Position): boolean
位置または範囲がこの範囲に含まれているかどうかを確認します。
intersection(range: Range): Range
この範囲とrange
を交差させ、新しい範囲を返します。範囲に重なりがない場合はundefined
を返します。
isEqual(other: Range): boolean
with(start?: Position, end?: Position): Range
この範囲から新しい範囲を導出しました。
with(change: {end: Position, start: Position}): Range
この範囲から新しい範囲を導出しました。
ReferenceContext
参照を要求する際に追加情報を含む値オブジェクト。
プロパティ
現在のシンボルの宣言を含めます。
ReferenceProvider
参照プロバイダインターフェースは、拡張機能と参照の検索機能との間の契約を定義します。
メソッド
provideReferences(document: TextDocument, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>
指定された位置とドキュメントに対するプロジェクト全体の参照セットを提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
context: ReferenceContext | 参照リクエストに関する追加情報。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Location[]> | ロケーションの配列、またはそれに解決されるthenable。結果がないことは、 |
RelativePattern
相対パターンは、基準ファイルパスに対して相対的に一致するグロブパターンを構築するためのヘルパーです。基準パスは、文字列またはURIとしての絶対ファイルパス、または相対パターンを作成するための推奨される方法であるワークスペースフォルダのいずれかになります。
コンストラクタ
new RelativePattern(base: string | Uri | WorkspaceFolder, pattern: string): RelativePattern
基準ファイルパスと一致させるパターンを持つ新しい相対パターンオブジェクトを作成します。このパターンは、基準に対する相対ファイルパスに一致します。
例
const folder = vscode.workspace.workspaceFolders?.[0];
if (folder) {
// Match any TypeScript file in the root of this workspace folder
const pattern1 = new vscode.RelativePattern(folder, '*.ts');
// Match any TypeScript file in `someFolder` inside this workspace folder
const pattern2 = new vscode.RelativePattern(folder, 'someFolder/*.ts');
}
パラメーター | 説明 |
---|---|
base: string | Uri | WorkspaceFolder | このパターンが相対的に一致する基準。パターンがワークスペース内で一致する場合は、ワークスペースフォルダを渡すことをお勧めします。それ以外の場合は、パターンがワークスペース外のファイルパスである場合にのみ、URIまたは文字列を使用する必要があります。 |
pattern: string |
|
戻り値 | 説明 |
RelativePattern |
プロパティ
このパターンが相対的に一致する基準ファイルパス。
これはRelativePattern.baseUriのfsPath
値と一致します。
注: この値を更新すると、RelativePattern.baseUriがfile
スキームを持つURIに更新されます。
- 非推奨 - このプロパティは非推奨です。RelativePattern.baseUriを使用してください。
baseUri: Uri
このパターンが相対的に一致する基準ファイルパス。ファイルパスは絶対パスでなければならず、末尾にパス区切り文字を含まず、相対セグメント (.
または ..
) を含んではなりません。
*.{ts,js}
のようなファイルグロブパターンで、基準パスに対する相対ファイルパスに一致します。
例: 基準が/home/work/folder
で、ファイルパスが/home/work/folder/index.js
の場合、ファイルグロブパターンはindex.js
に一致します。
RenameProvider
リネームプロバイダインターフェースは、拡張機能とリネーム機能との間の契約を定義します。
メソッド
prepareRename(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Range | {placeholder: string, range: Range}>
リネームを実行する前に位置を解決および検証するためのオプション関数。結果は範囲、または範囲とプレースホルダーテキストのいずれかになります。プレースホルダーテキストは、リネームされるシンボルの識別子であるべきです。省略された場合、返された範囲のテキストが使用されます。
注: 提供された場所がリネームを許可しない場合、この関数はエラーをスローするか、拒否されたthenableを返す必要があります。
パラメーター | 説明 |
---|---|
document: TextDocument | リネームが呼び出されるドキュメント。 |
position: Position | リネームが呼び出される位置。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Range | {placeholder: string, range: Range}> | 名前が変更される識別子の範囲、または範囲とプレースホルダーテキスト。結果がないことは、 |
provideRenameEdits(document: TextDocument, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit>
1つまたは複数のリソースに対して、シンボルを別の名前にリネームするために行う必要がある変更を記述する編集を提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
newName: string | シンボルの新しい名前。指定された名前が有効でない場合、プロバイダは拒否されたプロミスを返す必要があります。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<WorkspaceEdit> | ワークスペース編集、またはそれに解決されるthenable。結果がないことは、 |
RunOptions
タスクの実行オプション。
プロパティ
タスク変数が再実行時に再評価されるかどうかを制御します。
SaveDialogOptions
ファイル保存ダイアログの動作を設定するためのオプション。
プロパティ
defaultUri?: Uri
ダイアログが開いたときに表示するリソース。
ダイアログで使用されるファイルフィルタのセット。各エントリは「TypeScript」のような人間が読めるラベルと、拡張子の配列です。例:
{
'Images': ['png', 'jpg'],
'TypeScript': ['ts', 'tsx']
}
保存ボタンの人間が読める文字列。
ダイアログのタイトル。
このパラメーターは無視される場合があります。すべてのオペレーティングシステムが保存ダイアログにタイトルを表示するわけではないためです(例: macOS)。
SecretStorage
暗号化されて保存される秘密(または機密情報)のためのストレージユーティリティを表します。秘密ストレージの実装はプラットフォームごとに異なり、秘密はマシン間で同期されません。
イベント
onDidChange: Event<SecretStorageChangeEvent>
秘密が保存または削除されたときに発火します。
メソッド
delete(key: string): Thenable<void>
ストレージから秘密を削除します。
パラメーター | 説明 |
---|---|
key: string | 秘密が保存されていたキー。 |
戻り値 | 説明 |
Thenable<void> |
get(key: string): Thenable<string>
キーで保存された秘密を取得します。そのキーに一致するパスワードがない場合、undefinedを返します。
パラメーター | 説明 |
---|---|
key: string | 秘密が保存されていたキー。 |
戻り値 | 説明 |
Thenable<string> | 保存された値、または |
store(key: string, value: string): Thenable<void>
指定されたキーの下にシークレットを保存します。
パラメーター | 説明 |
---|---|
key: string | シークレットを保存するためのキー。 |
value: string | シークレット。 |
戻り値 | 説明 |
Thenable<void> |
SecretStorageChangeEvent
シークレットが追加または削除されたときに発生するイベントデータ。
プロパティ
変更されたシークレットのキー。
SelectedCompletionInfo
現在選択されている補完項目について記述します。
プロパティ
range: Range
この補完項目が受け入れられた場合に置き換えられる範囲。
この補完が受け入れられた場合に範囲が置き換えられるテキスト。
Selection
エディター内のテキスト選択を表します。
コンストラクタ
new Selection(anchor: Position, active: Position): Selection
new Selection(anchorLine: number, anchorCharacter: number, activeLine: number, activeCharacter: number): Selection
4つの座標から選択を作成します。
パラメーター | 説明 |
---|---|
anchorLine: number | 0から始まる行の値。 |
anchorCharacter: number | 0から始まる文字の値。 |
activeLine: number | 0から始まる行の値。 |
activeCharacter: number | 0から始まる文字の値。 |
戻り値 | 説明 |
選択。 |
プロパティ
active: Position
カーソルの位置。この位置はアンカーの前または後にすることができます。
anchor: Position
選択が開始される位置。この位置はアクティブの前または後にすることができます。
end: Position
終了位置。start以降です。
start
とend
が等しい場合、true
。
start.line
とend.line
が等しい場合true
。
start: Position
開始位置。end以前です。
メソッド
contains(positionOrRange: Range | Position): boolean
位置または範囲がこの範囲に含まれているかどうかを確認します。
intersection(range: Range): Range
この範囲とrange
を交差させ、新しい範囲を返します。範囲に重なりがない場合はundefined
を返します。
isEqual(other: Range): boolean
with(start?: Position, end?: Position): Range
この範囲から新しい範囲を導出しました。
with(change: {end: Position, start: Position}): Range
この範囲から新しい範囲を導出しました。
SelectionRange
選択範囲は、選択階層の一部を表します。選択範囲には、それを含む親の選択範囲がある場合があります。
コンストラクタ
new SelectionRange(range: Range, parent?: SelectionRange): SelectionRange
新しい選択範囲を作成します。
パラメーター | 説明 |
---|---|
range: Range | 選択範囲の範囲。 |
parent?: SelectionRange | 選択範囲の親。 |
戻り値 | 説明 |
選択範囲。 |
プロパティ
parent?: SelectionRange
この範囲を含む親の選択範囲。
range: Range
この選択範囲の範囲。
SelectionRangeProvider
選択範囲プロバイダーインターフェースは、拡張機能と「選択の展開と縮小」機能間の契約を定義します。
メソッド
provideSelectionRanges(document: TextDocument, positions: readonly Position[], token: CancellationToken): ProviderResult<SelectionRange[]>
指定された位置の選択範囲を提供します。
選択範囲は、各位置に対して個別に、独立して計算されるべきです。エディターは範囲を結合し、重複を排除しますが、プロバイダーは選択範囲の階層を返す必要があります。これにより、範囲がその親によって含まれるようになります。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
positions: readonly Position[] | コマンドが呼び出された位置。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<SelectionRange[]> | 選択範囲、またはそのように解決するthenable。結果がないことは、 |
SemanticTokens
範囲またはドキュメント全体のセマンティックトークンを表します。
参照
- フォーマットの説明については、provideDocumentSemanticTokensを参照してください。
- インスタンスを作成するヘルパーについては、SemanticTokensBuilderを参照してください。
コンストラクタ
new SemanticTokens(data: Uint32Array, resultId?: string): SemanticTokens
新しいセマンティックトークンを作成します。
パラメーター | 説明 |
---|---|
data: Uint32Array | トークンデータ。 |
resultId?: string | 結果識別子。 |
戻り値 | 説明 |
セマンティックトークン。 |
プロパティ
実際のトークンデータ。
フォーマットの説明については、provideDocumentSemanticTokensも参照してください。
トークンの結果ID。
これは、DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits
(実装されている場合) に渡されるIDです。
SemanticTokensBuilder
セマンティックトークンビルダーは、デルタエンコードされたセマンティックトークンを含むSemanticTokens
インスタンスの作成に役立ちます。
コンストラクタ
new SemanticTokensBuilder(legend?: SemanticTokensLegend): SemanticTokensBuilder
セマンティックトークンビルダーを作成します。
パラメーター | 説明 |
---|---|
legend?: SemanticTokensLegend | セマンティックトークンの凡例。 |
戻り値 | 説明 |
セマンティックトークンビルダー。 |
メソッド
build(resultId?: string): SemanticTokens
完了し、SemanticTokens
インスタンスを作成します。
パラメーター | 説明 |
---|---|
resultId?: string | |
戻り値 | 説明 |
セマンティックトークン。 |
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 | 挿入する要素 |
戻り値 | 説明 |
セマンティックトークン編集。 |
プロパティ
挿入する要素。
削除する要素の数。
編集の開始オフセット。
SemanticTokensEdits
セマンティックトークンへの編集を表します。
フォーマットの説明については、provideDocumentSemanticTokensEditsも参照してください。
コンストラクタ
new SemanticTokensEdits(edits: SemanticTokensEdit[], resultId?: string): SemanticTokensEdits
新しいセマンティックトークン編集を作成します。
パラメーター | 説明 |
---|---|
edits: SemanticTokensEdit[] | セマンティックトークン編集の配列。 |
resultId?: string | 結果識別子。 |
戻り値 | 説明 |
セマンティックトークン編集。 |
プロパティ
edits: SemanticTokensEdit[]
トークンデータへの編集。すべての編集は初期データ状態を参照します。
トークンの結果ID。
これは、DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits
(実装されている場合) に渡されるIDです。
SemanticTokensLegend
セマンティックトークン凡例には、セマンティックトークンの整数エンコードされた表現を解読するために必要な情報が含まれています。
コンストラクタ
new SemanticTokensLegend(tokenTypes: string[], tokenModifiers?: string[]): SemanticTokensLegend
セマンティックトークン凡例を作成します。
パラメーター | 説明 |
---|---|
tokenTypes: string[] | トークンタイプの配列。 |
tokenModifiers?: string[] | トークン修飾子の配列。 |
戻り値 | 説明 |
セマンティックトークン凡例。 |
プロパティ
可能なトークン修飾子。
可能なトークンタイプ。
ShellExecution
シェル内で実行されるタスク実行を表します。
コンストラクタ
new ShellExecution(commandLine: string, options?: ShellExecutionOptions): ShellExecution
完全なコマンドラインを持つシェル実行を作成します。
パラメーター | 説明 |
---|---|
commandLine: string | 実行するコマンドライン。 |
options?: ShellExecutionOptions | 開始されたシェルに関するオプション。 |
戻り値 | 説明 |
シェル実行。 |
new ShellExecution(command: string | ShellQuotedString, args: Array<string | ShellQuotedString>, options?: ShellExecutionOptions): ShellExecution
コマンドと引数を持つシェル実行を作成します。実際の実行では、エディターはコマンドと引数からコマンドラインを構築します。これは、特に引用符に関して解釈の対象となります。コマンドラインを完全に制御する必要がある場合は、完全なコマンドラインでShellExecution
を作成するコンストラクタを使用してください。
パラメーター | 説明 |
---|---|
command: string | ShellQuotedString | 実行するコマンド。 |
args: Array<string | ShellQuotedString> | コマンドの引数。 |
options?: ShellExecutionOptions | 開始されたシェルに関するオプション。 |
戻り値 | 説明 |
シェル実行。 |
プロパティ
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
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
シグネチャヘルプ。 |
プロパティ
アクティブなシグネチャのアクティブなパラメーター。
アクティブなシグネチャ。
signatures: SignatureInformation[]
1つ以上のシグネチャ。
SignatureHelpContext
SignatureHelpProviderがトリガーされたコンテキストに関する追加情報。
プロパティ
activeSignatureHelp: SignatureHelp
現在アクティブなSignatureHelp。
activeSignatureHelp
は、ユーザーが利用可能なシグネチャを矢印キーで移動するたびにactiveSignatureフィールドが更新されます。
トリガー時にシグネチャヘルプが既に表示されていた場合はtrue
。
再トリガーは、シグネチャヘルプが既にアクティブな場合に発生し、トリガー文字の入力、カーソル移動、またはドキュメントコンテンツの変更などのアクションによって引き起こされる可能性があります。
シグネチャヘルプがトリガーされる原因となった文字。
これは、手動でシグネチャヘルプを呼び出したり、カーソルを移動したりするなど、入力によってシグネチャヘルプがトリガーされない場合はundefined
です。
triggerKind: SignatureHelpTriggerKind
シグネチャヘルプがトリガーされる原因となったアクション。
SignatureHelpProvider
シグネチャヘルププロバイダーインターフェースは、拡張機能とパラメーターヒント機能間の契約を定義します。
メソッド
provideSignatureHelp(document: TextDocument, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult<SignatureHelp>
指定された位置とドキュメントのシグネチャのヘルプを提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
token: CancellationToken | キャンセルトークン。 |
context: SignatureHelpContext | シグネチャヘルプがどのようにトリガーされたかに関する情報。 |
戻り値 | 説明 |
ProviderResult<SignatureHelp> | シグネチャヘルプ、またはそのように解決するthenable。結果がないことは、 |
SignatureHelpProviderMetadata
登録されたSignatureHelpProviderに関するメタデータ。
プロパティ
retriggerCharacters: readonly string[]
シグネチャヘルプを再トリガーする文字のリスト。
これらのトリガー文字は、シグネチャヘルプが既に表示されている場合にのみアクティブになります。すべてのトリガー文字は再トリガー文字としてもカウントされます。
triggerCharacters: readonly string[]
シグネチャヘルプをトリガーする文字のリスト。
SignatureHelpTriggerKind
SignatureHelpProviderがトリガーされた方法。
列挙メンバー
シグネチャヘルプは、ユーザーまたはコマンドによって手動で呼び出されました。
シグネチャヘルプは、トリガー文字によってトリガーされました。
シグネチャヘルプは、カーソル移動またはドキュメントコンテンツの変更によってトリガーされました。
SignatureInformation
呼び出し可能なもののシグネチャを表します。シグネチャは、関数名のようなラベル、ドキュメントコメント、および一連のパラメーターを持つことができます。
コンストラクタ
new SignatureInformation(label: string, documentation?: string | MarkdownString): SignatureInformation
新しいシグネチャ情報オブジェクトを作成します。
パラメーター | 説明 |
---|---|
label: string | ラベル文字列。 |
documentation?: string | MarkdownString | ドキュメント文字列。 |
戻り値 | 説明 |
シグネチャ情報。 |
プロパティ
アクティブなパラメーターのインデックス。
指定された場合、これは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 | スニペット文字列。 |
戻り値 | 説明 |
スニペット文字列。 |
プロパティ
スニペット文字列。
メソッド
appendChoice(values: readonly string[], number?: number): SnippetString
このスニペット文字列の値に選択肢 (${1|a,b,c|}
) を追加するビルダー関数。
パラメーター | 説明 |
---|---|
values: readonly string[] | 選択肢の値 - 文字列の配列。 |
number?: number | このタブストップの番号。デフォルトは1から始まる自動インクリメント値です。 |
戻り値 | 説明 |
スニペット文字列。 | このスニペット文字列。 |
appendPlaceholder(value: string | (snippet: SnippetString) => any, number?: number): SnippetString
このスニペット文字列の値にプレースホルダー (${1:value}
) を追加するビルダー関数。
パラメーター | 説明 |
---|---|
value: string | (snippet: SnippetString) => any | このプレースホルダーの値 - 文字列またはネストされたスニペットを作成するための関数。 |
number?: number | このタブストップの番号。デフォルトは1から始まる自動インクリメント値です。 |
戻り値 | 説明 |
スニペット文字列。 | このスニペット文字列。 |
appendTabstop(number?: number): SnippetString
このスニペット文字列の値にタブストップ ($1
、$2
など) を追加するビルダー関数。
パラメーター | 説明 |
---|---|
number?: number | このタブストップの番号。デフォルトは1から始まる自動インクリメント値です。 |
戻り値 | 説明 |
スニペット文字列。 | このスニペット文字列。 |
appendText(string: string): SnippetString
このスニペット文字列の値に指定された文字列を追加するビルダー関数。
パラメーター | 説明 |
---|---|
string: string | 'そのまま' 追加する値。文字列はエスケープされます。 |
戻り値 | 説明 |
スニペット文字列。 | このスニペット文字列。 |
appendVariable(name: string, defaultValue: string | (snippet: SnippetString) => any): SnippetString
このスニペット文字列の値に変数を追加するビルダー関数。
パラメーター | 説明 |
---|---|
name: string | 変数の名前 - |
defaultValue: string | (snippet: SnippetString) => any | 変数名が解決できない場合に使用されるデフォルト値 - 文字列またはネストされたスニペットを作成できる関数。 |
戻り値 | 説明 |
スニペット文字列。 | このスニペット文字列。 |
SnippetTextEdit
スニペット編集は、エディターによって実行される対話的な編集を表します。
注:スニペット編集は常に通常のテキスト編集として実行できます。これは、一致するエディターが開いていない場合、またはワークスペース編集に複数のファイルのスニペット編集が含まれている場合に発生します。その場合、アクティブなエディターと一致する編集のみがスニペット編集として実行され、それ以外は通常のテキスト編集として実行されます。
静的
insert(position: Position, snippet: SnippetString): SnippetTextEdit
挿入スニペット編集を作成するユーティリティ。
パラメーター | 説明 |
---|---|
position: Position | 位置。空の範囲になります。 |
snippet: SnippetString | スニペット文字列。 |
戻り値 | 説明 |
スニペットテキスト編集。 | 新しいスニペット編集オブジェクト。 |
replace(range: Range, snippet: SnippetString): SnippetTextEdit
置換スニペット編集を作成するユーティリティ。
パラメーター | 説明 |
---|---|
range: Range | 範囲。 |
snippet: SnippetString | スニペット文字列。 |
戻り値 | 説明 |
スニペットテキスト編集。 | 新しいスニペット編集オブジェクト。 |
コンストラクタ
new SnippetTextEdit(range: Range, snippet: SnippetString): SnippetTextEdit
新しいスニペット編集を作成します。
パラメーター | 説明 |
---|---|
range: Range | 範囲。 |
snippet: SnippetString | スニペット文字列。 |
戻り値 | 説明 |
スニペットテキスト編集。 |
プロパティ
スニペット編集が既存の空白を保持したまま適用されるかどうか。
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 | |
戻り値 | 説明 |
ソースブレークポイント。 |
プロパティ
条件付きブレークポイントのためのオプションの式。
ブレークポイントが有効であるか。
ブレークポイントのヒットをいくつ無視するかを制御するオプションの式。
ブレークポイントの一意の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 | |
戻り値 | 説明 |
ソースコントロールリソースグループ。 |
このソースコントロールを破棄します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
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[] | この行の分岐からのカバレッジ。条件式でない場合は、省略する必要があります。 |
戻り値 | 説明 |
ステートメントカバレッジ。 |
プロパティ
branches: BranchCoverage[]
この行またはステートメントの分岐からのカバレッジ。条件式でない場合は、空になります。
このステートメントが実行された回数、または正確なカウントが不明な場合に実行されたかどうかを示すブール値。ゼロまたはfalseの場合、ステートメントは未カバーとしてマークされます。
ステートメントの位置。
StatusBarAlignment
ステータスバーアイテムの配置を表します。
列挙メンバー
左側に配置されます。
右側に配置されます。
StatusBarItem
ステータスバー項目は、テキストとアイコンを表示し、クリックでコマンドを実行できるステータスバーの貢献です。
プロパティ
accessibilityInformation: AccessibilityInformation
スクリーンリーダーがこのステータスバー項目と対話するときに使用されるアクセシビリティ情報。
alignment: StatusBarAlignment
この項目の配置。
backgroundColor: ThemeColor
このエントリの背景色。
注: 以下の色のみがサポートされています。
new ThemeColor('statusBarItem.errorBackground')
new ThemeColor('statusBarItem.warningBackground')
将来、さらに多くの背景色がサポートされる可能性があります。
注: 背景色が設定されている場合、すべてのテーマでエントリが読み取れるように、ステータスバーがcolor
の選択を上書きする場合があります。
color: string | ThemeColor
このエントリのフォアグラウンドカラー。
command: string | Command
このアイテムの識別子です。
注: window.createStatusBarItemメソッドによって識別子が提供されなかった場合、識別子は拡張機能識別子と一致します。
'Python言語インジケーター'、'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 | シンボルの位置。 |
戻り値 | 説明 |
シンボル情報。 |
new SymbolInformation(name: string, kind: SymbolKind, range: Range, uri?: Uri, containerName?: string): SymbolInformation
新しいシンボル情報オブジェクトを作成します。
- 非推奨 - Locationオブジェクトを受け取るコンストラクタを使用してください。
パラメーター | 説明 |
---|---|
name: string | シンボルの名前。 |
kind: SymbolKind | シンボルの種類。 |
range: Range | シンボルの位置の範囲。 |
uri?: Uri | シンボル位置のリソース。デフォルトは現在のドキュメントです。 |
containerName?: string | シンボルを含むシンボルの名前。 |
戻り値 | 説明 |
シンボル情報。 |
プロパティ
このシンボルを含むシンボルの名前。
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
シンボル種別。
The Operator
symbol kind.
The TypeParameter
symbol kind.
SymbolTag
シンボルタグは、シンボルのレンダリングを調整する追加の注釈です。
列挙メンバー
シンボルを非推奨としてレンダリングします。通常は打ち消し線を使用します。
SyntaxTokenType
一般的に遭遇する構文トークンタイプの列挙。
列挙メンバー
コメント、文字列リテラル、正規表現の一部であるトークンを除くすべて。
コメント。
文字列リテラル。
正規表現。
Tab
タブグループ内のタブを表します。タブは単にエディター領域内のグラフィカルな表現です。バッキングエディターは保証されません。
プロパティ
group: TabGroup
タブが属するグループ。
タブの構造(テキスト、ノートブック、カスタムなど)を定義します。リソースやその他の有用なプロパティはタブの種類に定義されます。
タブが現在アクティブであるかどうか。これはグループ内で選択されているタブであることによって決まります。
タブに未保存の変更を示すインジケーターが表示されているかどうか。
タブがピン留めされているかどうか(ピンアイコンが表示されているかどうか)。
タブがプレビューモードであるかどうか。
タブに表示されるテキスト。
TabChangeEvent
タブへの変更を記述するイベント。
プロパティ
changed: readonly Tab[]
アクティブ状態が変更されたなど、変更されたタブ。
closed: readonly Tab[]
閉じられたタブ。
opened: readonly Tab[]
開かれたタブ。
TabGroup
タブのグループを表します。タブグループ自体は複数のタブで構成されます。
プロパティ
activeTab: Tab
グループ内のアクティブなタブ。これは現在内容がレンダリングされているタブです。
各グループに1つのアクティブなタブが存在できますが、アクティブなグループは1つしか存在できないことに注意してください。
グループが現在アクティブであるかどうか。
一度にアクティブなタブグループは1つだけですが、複数のタブグループがアクティブなタブを持つことができることに注意してください。
Tab.isActiveも参照してください。
tabs: readonly Tab[]
グループに含まれるタブのリスト。グループに開いているタブがない場合、これは空になることがあります。
viewColumn: ViewColumn
グループのビューカラム。
TabGroupChangeEvent
タブグループへの変更を記述するイベント。
プロパティ
changed: readonly TabGroup[]
アクティブ状態が変更されたなど、変更されたタブグループ。
closed: readonly TabGroup[]
閉じられたタブグループ。
opened: readonly TabGroup[]
開かれたタブグループ。
TabGroups
タブを含む複数のグループで構成されるメインのエディター領域を表します。
イベント
onDidChangeTabGroups: Event<TabGroupChangeEvent>
onDidChangeTabs: Event<TabChangeEvent>
プロパティ
activeTabGroup: TabGroup
現在アクティブなグループ。
all: readonly TabGroup[]
グループコンテナ内のすべてのグループ。
メソッド
close(tab: Tab | readonly Tab[], preserveFocus?: boolean): Thenable<boolean>
タブを閉じます。これによりタブオブジェクトは無効になり、それ以上タブを操作に使用すべきではありません。注: ダーティタブの場合、キャンセル可能な確認ダイアログが表示されます。キャンセルされた場合でもタブは有効なままです。
close(tabGroup: TabGroup | readonly TabGroup[], preserveFocus?: boolean): Thenable<boolean>
タブグループを閉じます。これによりタブグループオブジェクトは無効になり、それ以上タブグループを操作に使用すべきではありません。
TabInputCustom
タブはカスタムエディターを表します。
コンストラクタ
new TabInputCustom(uri: Uri, viewType: string): TabInputCustom
カスタムエディターのタブ入力を構築します。
パラメーター | 説明 |
---|---|
uri: Uri | タブのURI。 |
viewType: string | カスタムエディターのビュータイプ。 |
戻り値 | 説明 |
TabInputCustom |
プロパティ
uri: Uri
タブが表すURI。
カスタムエディターのタイプ。
TabInputNotebook
タブはノートブックを表します。
コンストラクタ
new TabInputNotebook(uri: Uri, notebookType: string): TabInputNotebook
ノートブックの新しいタブ入力を構築します。
パラメーター | 説明 |
---|---|
uri: Uri | ノートブックのURI。 |
notebookType: string | ノートブックのタイプ。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
タブはWebビューを表します。
コンストラクタ
new TabInputWebview(viewType: string): TabInputWebview
指定されたビュータイプを持つWebビュータブ入力を構築します。
パラメーター | 説明 |
---|---|
viewType: string | Webビューのタイプ。WebviewPanelのviewTypeにマッピングされます。 |
戻り値 | 説明 |
TabInputWebview |
プロパティ
Webビューのタイプ。WebviewPanelのviewTypeにマッピングされます。
Task
実行するタスク。
コンストラクタ
new Task(taskDefinition: TaskDefinition, scope: WorkspaceFolder | Global | Workspace, name: string, source: string, execution?: ProcessExecution | ShellExecution | CustomExecution, problemMatchers?: string | string[]): Task
新しいタスクを作成します。
パラメーター | 説明 |
---|---|
taskDefinition: TaskDefinition | taskDefinitions拡張ポイントで定義されているタスク定義。 |
scope: WorkspaceFolder | Global | Workspace | タスクのスコープを指定します。グローバルタスク、ワークスペースタスク、または特定のワークスペースフォルダー用のタスクのいずれかです。グローバルタスクは現在サポートされていません。 |
name: string | タスクの名前。ユーザーインターフェースに表示されます。 |
source: string | タスクのソース(例: 'gulp'、'npm' など)。ユーザーインターフェースに表示されます。 |
execution?: ProcessExecution | ShellExecution | CustomExecution | プロセスまたはシェル実行。 |
problemMatchers?: string | string[] | 使用する問題マッチャーの名前(例: '$tsc' や '$eslint')。問題マッチャーは、 |
戻り値 | 説明 |
Task |
new Task(taskDefinition: TaskDefinition, name: string, source: string, execution?: ProcessExecution | ShellExecution, problemMatchers?: string | string[]): Task
新しいタスクを作成します。
- 非推奨 - タスクのスコープを指定できる新しいコンストラクターを使用してください。
パラメーター | 説明 |
---|---|
taskDefinition: TaskDefinition | taskDefinitions拡張ポイントで定義されているタスク定義。 |
name: string | タスクの名前。ユーザーインターフェースに表示されます。 |
source: string | タスクのソース(例: 'gulp'、'npm' など)。ユーザーインターフェースに表示されます。 |
execution?: ProcessExecution | ShellExecution | プロセスまたはシェル実行。 |
problemMatchers?: string | string[] | 使用する問題マッチャーの名前(例: '$tsc' や '$eslint')。問題マッチャーは、 |
戻り値 | 説明 |
Task |
プロパティ
definition: TaskDefinition
タスクの定義。
タスク名が表示される場所で、別の行に目立たないようにレンダリングされる人間が読める文字列。$(<name>)
構文によるテーマアイコンのレンダリングをサポートします。
execution?: ProcessExecution | ShellExecution | CustomExecution
タスクの実行エンジン。
group?: TaskGroup
このタスクが属するタスクグループ。利用可能なグループの事前定義されたセットについてはTaskGroupを参照してください。デフォルトは未定義で、タスクが特定の特殊なグループに属さないことを意味します。
タスクがバックグラウンドタスクであるかどうか。
タスクの名前。
presentationOptions: TaskPresentationOptions
プレゼンテーションオプション。デフォルトは空のリテラルです。
タスクにアタッチされた問題マッチャー。デフォルトは空の配列です。
runOptions: RunOptions
タスクの実行オプション。
scope: WorkspaceFolder | Global | Workspace
タスクのスコープ。
このシェルタスクのソースを記述する人間が読める文字列。例: 'gulp' や 'npm'。$(<name>)
構文によるテーマアイコンのレンダリングをサポートします。
TaskDefinition
システム内でタスクの種類を定義する構造。値はJSON文字列化可能である必要があります。
プロパティ
拡張機能によって提供されるタスクを記述するタスク定義。通常、タスクプロバイダーはタスクを識別するためにより多くのプロパティを定義します。これらは、拡張機能のpackage.jsonの'taskDefinitions'拡張ポイントの下に定義する必要があります。例えばnpmタスク定義は次のようになります。
interface NpmTaskDefinition extends TaskDefinition {
script: string;
}
'$'で始まる型識別子は内部使用のために予約されており、拡張機能で使用すべきではないことに注意してください。
TaskEndEvent
実行されたタスクの終了を通知するイベント。
このインターフェースは実装されることを意図していません。
プロパティ
execution: TaskExecution
終了したタスクを表すタスク項目。
TaskExecution
実行されたタスクを表すオブジェクト。タスクを終了するために使用できます。
このインターフェースは実装されることを意図していません。
プロパティ
task: Task
開始されたタスク。
メソッド
タスクの実行を終了します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
TaskFilter
タスクフィルターは、そのバージョンとタイプによってタスクを示します。
プロパティ
返すタスクタイプ。
tasks.jsonファイルで使用されるタスクバージョン。文字列はpackage.jsonのsemver表記をサポートします。
TaskGroup
タスクのグループ化。エディターはデフォルトで「Clean」、「Build」、「RebuildAll」、「Test」グループをサポートします。
静的
Build: TaskGroup
ビルドタスクグループ。
Clean: TaskGroup
クリーンタスクグループ。
Rebuild: TaskGroup
すべて再構築タスクグループ。
Test: TaskGroup
すべてテストタスクグループ。
コンストラクタ
new TaskGroup(id: string, label: string): TaskGroup
プライベートコンストラクター。
パラメーター | 説明 |
---|---|
id: string | タスクグループの識別子。 |
label: string | タスクグループの人間が読める名前。 |
戻り値 | 説明 |
TaskGroup |
プロパティ
タスクグループのID。TaskGroup.Clean.id、TaskGroup.Build.id、TaskGroup.Rebuild.id、またはTaskGroup.Test.idのいずれかです。
このグループの一部であるタスクが、グループのデフォルトであるかどうか。このプロパティはAPIを介して設定することはできず、ユーザーのタスク設定によって制御されます。
TaskPanelKind
タスク間でタスクチャネルがどのように使用されるかを制御します。
列挙メンバー
他のタスクとパネルを共有します。これがデフォルトです。
このタスク専用のパネルを使用します。このパネルは他のタスクと共有されません。
このタスクが実行されるたびに新しいパネルを作成します。
TaskPresentationOptions
UIでのタスクの表示方法を制御します。
プロパティ
タスク実行前にターミナルがクリアされるかどうかを制御します。
タスク実行後にターミナルが閉じられるかどうかを制御します。
タスクに関連付けられたコマンドがユーザーインターフェースにエコーされるかどうかを制御します。
タスク出力を表示するパネルがフォーカスを受け取るかどうかを制御します。
panel?: TaskPanelKind
タスクパネルがこのタスク専用に使用されるか (専用)、タスク間で共有されるか (共有)、またはタスク実行ごとに新しいパネルが作成されるか (新規) を制御します。デフォルトは 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
を使用し、新しいものを作成しないようにしてください。他のプロパティは変更される可能性があります。
パラメーター | 説明 |
---|---|
task: T | 解決するタスク。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T> | 解決されたタスク。 |
TaskRevealKind
ターミナルの表示動作を制御します。
列挙メンバー
タスクが実行された場合、常にターミナルを最前面に表示します。
タスク実行中に問題が検出された場合(例: タスクが開始できなかった場合など)にのみ、ターミナルを最前面に表示します。
タスク実行時にターミナルが最前面に表示されることはありません。
TaskScope
タスクのスコープ。
列挙メンバー
タスクはグローバルタスクです。グローバルタスクは現在サポートされていません。
タスクはワークスペースタスクです。
TaskStartEvent
タスク実行の開始を通知するイベント。
このインターフェースは実装されることを意図していません。
プロパティ
execution: TaskExecution
開始されたタスクを表すタスク項目。
TelemetryLogger
拡張機能が利用状況とエラーのテレメトリをログするために使用できるテレメトリロガー。
ロガーは送信者をラップしますが、次のことを保証します。
- テレメトリを無効または調整するためのユーザー設定が尊重されること、および
- 潜在的な機密データが削除されること。
また、送信されたデータを表示する「エコーUI」を有効にし、エディターが未処理のエラーをそれぞれの拡張機能に転送することを可能にします。
TelemetryLogger
のインスタンスを取得するには、createTelemetryLogger
を使用します。
イベント
onDidChangeEnableStates: Event<TelemetryLogger>
利用状況またはエラーのテレメトリの有効化状態が変更されたときに発生するイベント。
プロパティ
このロガーに対してエラーテレメトリが有効になっているかどうか。
このロガーに対して利用状況テレメトリが有効になっているかどうか。
メソッド
このオブジェクトを破棄し、リソースを解放します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
logError(eventName: string, data?: Record<string, any>): void
エラーイベントをログします。
クリーニング、テレメトリ設定の確認、データ混合が完了した後、イベントをログするためにTelemetrySender.sendEventData
を呼び出します。テレメトリ設定がError+の場合にイベントをログする点でlogUsage
とは異なります。拡張機能のテレメトリ出力チャネルへのエコーを自動的にサポートします。
パラメーター | 説明 |
---|---|
eventName: string | ログするイベント名。 |
data?: Record<string, any> | ログするデータ。 |
戻り値 | 説明 |
void |
logError(error: Error, data?: Record<string, any>): void
エラーイベントをログします。
TelemetrySender.sendErrorData
を呼び出します。クリーニング、テレメトリのチェック、データの混合を行います。拡張機能のテレメトリ出力チャネルへのエコーを自動的にサポートします。また、拡張機能ホストプロセス内でスローされた例外も自動的にログします。
パラメーター | 説明 |
---|---|
error: Error | PIIがクリーンアップされたスタックトレースを含むエラーオブジェクト。 |
data?: Record<string, any> | スタックトレースと共にログする追加データ。 |
戻り値 | 説明 |
void |
logUsage(eventName: string, data?: Record<string, any>): void
利用状況イベントをログします。
クリーニング、テレメトリ設定の確認、データ混合が完了した後、イベントをログするためにTelemetrySender.sendEventData
を呼び出します。拡張機能のテレメトリ出力チャネルへのエコーを自動的にサポートします。
パラメーター | 説明 |
---|---|
eventName: string | ログするイベント名。 |
data?: Record<string, any> | ログするデータ。 |
戻り値 | 説明 |
void |
TelemetryLoggerOptions
TelemetryLoggerを作成するためのオプション。
プロパティ
additionalCommonProperties?: Record<string, any>
データオブジェクトに注入されるべき追加の共通プロパティ。
ignoreBuiltInCommonProperties?: boolean
OS、拡張機能名などの組み込みの共通プロパティがデータオブジェクトに注入されるのを避けたいかどうか。定義されていない場合は false
がデフォルトです。
ignoreUnhandledErrors?: boolean
拡張機能によって引き起こされた拡張機能ホスト上の未処理のエラーが送信者にログされるべきかどうか。定義されていない場合は false
がデフォルトです。
TelemetrySender
テレメトリ送信者は、テレメトリロガーと何らかのテレメトリサービス間の契約です。注意: ロガーは追加のガードとクリーニングを提供するため、拡張機能は送信者のメソッドを直接呼び出すべきではありません。
const sender: vscode.TelemetrySender = {...};
const logger = vscode.env.createTelemetryLogger(sender);
// GOOD - uses the logger
logger.logUsage('myEvent', { myData: 'myValue' });
// BAD - uses the sender directly: no data cleansing, ignores user settings, no echoing to the telemetry output channel etc
sender.logEvent('myEvent', { myData: 'myValue' });
メソッド
flush(): void | Thenable<void>
オプションのフラッシュ関数。これにより、TelemetryLoggerが破棄される際に、この送信者が残りのイベントを送信する機会を得ることができます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void | Thenable<void> |
sendErrorData(error: Error, data?: Record<string, any>): void
エラーを送信する関数。TelemetryLogger内で使用されます。
パラメーター | 説明 |
---|---|
error: Error | ログされるエラー。 |
data?: Record<string, any> | 例外と共に収集される追加データ。 |
戻り値 | 説明 |
void |
sendEventData(eventName: string, data?: Record<string, any>): void
スタックトレースなしでイベントデータを送信する関数。TelemetryLogger内で使用されます。
パラメーター | 説明 |
---|---|
eventName: string | ログしているイベントの名前。 |
data?: Record<string, any> | ログされるシリアル化可能なキーと値のペア。 |
戻り値 | 説明 |
void |
TelemetryTrustedValue<T>
クリーンアップが不要な安全な値を示す特殊な値ラッパー。これは、値に識別可能な情報が含まれておらず、クリーニングが不適切に編集している場合に、使用されるべきものです。
コンストラクタ
new TelemetryTrustedValue<T>(value: T): TelemetryTrustedValue<T>
新しいテレメトリ信頼値を作成します。
パラメーター | 説明 |
---|---|
value: T | 信頼する値。 |
戻り値 | 説明 |
TelemetryTrustedValue<T> |
プロパティ
PII(個人識別情報)を含まないと信頼されている値。
Terminal
統合ターミナル内の個々のターミナルインスタンス。
プロパティ
creationOptions: Readonly<TerminalOptions | ExtensionTerminalOptions>
ターミナルを初期化するために使用されるオブジェクト。これは、例えば、ターミナルがこの拡張機能によって起動されなかった場合のシェルの種類を検出したり、シェルが起動されたフォルダーを検出したりするのに役立ちます。
exitStatus: TerminalExitStatus
ターミナルの終了ステータス。ターミナルがアクティブな間は未定義になります。
例: ターミナルがゼロ以外の終了コードで終了したときに、終了コードを含む通知を表示します。
window.onDidCloseTerminal(t => {
if (t.exitStatus && t.exitStatus.code) {
vscode.window.showInformationMessage(`Exit code: ${t.exitStatus.code}`);
}
});
ターミナルの名前。
シェルプロセスのプロセスID。
shellIntegration: TerminalShellIntegration
ターミナル用のシェル統合によって提供される機能を含むオブジェクト。これはターミナルが作成された直後には常にundefined
になります。シェル統合がターミナルでアクティブ化されたときに通知を受け取るには、window.onDidChangeTerminalShellIntegrationをリッスンしてください。
シェル統合がアクティブ化されない場合、このオブジェクトは未定義のままになる可能性があることに注意してください。例えば、コマンドプロンプトはシェル統合をサポートしておらず、ユーザーのシェル設定が自動シェル統合アクティブ化と競合する可能性があります。
state: TerminalState
ターミナルの現在の状態。
メソッド
関連するリソースを破棄し、解放します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
このターミナルが現在表示されている場合、ターミナルパネルを非表示にします。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
sendText(text: string, shouldExecute?: boolean): void
ターミナルにテキストを送信します。テキストは、ターミナルの基になるptyプロセス(シェル)の標準入力に書き込まれます。
パラメーター | 説明 |
---|---|
text: string | 送信するテキスト。 |
shouldExecute?: boolean | 送信されるテキストがターミナルに挿入されるだけでなく、実行されるべきであることを示します。追加される文字はプラットフォームに応じて |
戻り値 | 説明 |
void |
show(preserveFocus?: boolean): void
ターミナルパネルを表示し、このターミナルをUIに表示します。
パラメーター | 説明 |
---|---|
preserveFocus?: boolean |
|
戻り値 | 説明 |
void |
TerminalDimensions
ターミナルの寸法を表します。
プロパティ
ターミナルの列数。
ターミナルの行数。
TerminalEditorLocationOptions
TerminalLocationがエディターであると仮定し、ViewColumnとpreserveFocusプロパティの指定を可能にします。
プロパティ
true
の場合にターミナルがフォーカスを取得するのを停止するオプションのフラグ。
viewColumn: ViewColumn
ターミナルがエディター領域に表示されるべきビューカラム。デフォルトはアクティブです。存在しないカラムは、ViewColumn.Nineの最大値まで必要に応じて作成されます。現在アクティブなエディターの横にエディターを開くには、ViewColumn.Besideを使用します。
TerminalExitReason
ターミナル終了理由の種類。
列挙メンバー
不明な理由。
ウィンドウが閉じられた/再読み込みされた。
シェルプロセスが終了した。
ユーザーがターミナルを閉じた。
拡張機能がターミナルを破棄した。
TerminalExitStatus
ターミナルがどのように終了したかを表します。
プロパティ
ターミナルが終了した際の終了コード。以下の値を取ることができます。
- ゼロ: ターミナルプロセスまたはカスタム実行が成功しました。
- 非ゼロ: ターミナルプロセスまたはカスタム実行が失敗しました。
undefined
: ユーザーが強制的にターミナルを閉じたか、カスタム実行が終了コードを提供せずに終了しました。
reason: TerminalExitReason
ターミナルの終了を引き起こした理由。
TerminalLink
ターミナル行上のリンク。
コンストラクタ
new TerminalLink(startIndex: number, length: number, tooltip?: string): TerminalLink
新しいターミナルリンクを作成します。
パラメーター | 説明 |
---|---|
startIndex: number | TerminalLinkContext.line上のリンクの開始インデックス。 |
length: number | TerminalLinkContext.line上のリンクの長さ。 |
tooltip?: string | このリンクにカーソルを合わせたときのツールチップテキスト。 ツールチップが提供されている場合、 |
戻り値 | 説明 |
TerminalLink |
プロパティ
TerminalLinkContext.line上のリンクの長さ。
TerminalLinkContext.line上のリンクの開始インデックス。
このリンクにカーソルを合わせたときのツールチップテキスト。
ツールチップが提供されている場合、{0} (ctrl + click)
のようにリンクをトリガーする方法が記載された文字列で表示されます。具体的な手順は、OS、ユーザー設定、ローカライズによって異なります。
TerminalLinkContext
ターミナル行に関する情報を提供し、その行のリンクを提供できるようにします。
プロパティ
これはターミナル内の折り返しなしの行のテキストです。
terminal: Terminal
リンクが属するターミナル。
TerminalLinkProvider<T>
ターミナル内のリンクの検出と処理を可能にするプロバイダー。
メソッド
handleTerminalLink(link: T): ProviderResult<void>
アクティブ化されたターミナルリンクを処理します。
パラメーター | 説明 |
---|---|
link: T | 処理するリンク。 |
戻り値 | 説明 |
ProviderResult<void> |
provideTerminalLinks(context: TerminalLinkContext, token: CancellationToken): ProviderResult<T[]>
指定されたコンテキストのターミナルリンクを提供します。これは、以前の呼び出しが解決される前でも複数回呼び出される可能性があるため、非同期の使用が重複した場合に問題が発生する可能性があるグローバルオブジェクト(例: RegExp
)を共有しないようにしてください。
パラメーター | 説明 |
---|---|
context: TerminalLinkContext | どのようなリンクが提供されているかに関する情報。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T[]> | 指定された行のターミナルリンクのリスト。 |
TerminalLocation
ターミナルの場所。
列挙メンバー
ターミナルビュー内。
エディター領域内。
TerminalOptions
ターミナルが使用すべきオプションを記述する値オブジェクト。
プロパティ
color?: ThemeColor
ターミナルのアイコンThemeColor。最高のコントラストとテーマ間の一貫性のために、terminal.ansi*
テーマキーが推奨されます。
cwd?: string | Uri
ターミナルに使用される現在の作業ディレクトリのパスまたはURI。
エディタープロセスに追加される環境変数を持つオブジェクト。
有効にすると、ターミナルはプロセスを通常どおり実行しますが、Terminal.show
が呼び出されるまでユーザーには表示されません。これは、対話性が必要なものを実行する必要があるが、対話が必要な場合にのみユーザーに通知したい場合によく使用されます。ターミナルは通常どおりすべての拡張機能に公開されることに注意してください。隠されたターミナルは、次にワークスペースを開いたときに復元されません。
iconPath?: IconPath
ターミナルのアイコンパスまたはThemeIcon。
再起動およびリロード時のデフォルトのターミナル永続化をオプトアウトします。これは、terminal.integrated.enablePersistentSessions
が有効になっている場合にのみ有効になります。
location?: TerminalEditorLocationOptions | TerminalSplitLocationOptions | TerminalLocation
最初の起動時にターミナルに書き込むメッセージ。これはプロセスに送信されるのではなく、ターミナルに直接書き込まれることに注意してください。テキストスタイル設定などのエスケープシーケンスをサポートします。
UIでターミナルを表すために使用される人間が読める文字列。
カスタムシェル実行可能ファイルのための引数。Windowsでのみ文字列を使用でき、コマンドライン形式でシェル引数を指定できます。
ターミナルで使用されるカスタムシェル実行可能ファイルへのパス。
ターミナルプロセスの環境がTerminalOptions.env
で提供されたとおりに正確であるべきかどうか。これがfalse
(デフォルト)の場合、環境はウィンドウの環境に基づいており、terminal.integrated.env.windows
などの設定されたプラットフォーム設定も適用されます。これがtrue
の場合、プロセスや設定から何も継承されないため、完全な環境を提供する必要があります。
TerminalProfile
ターミナルプロファイルは、ターミナルがどのように起動されるかを定義します。
コンストラクタ
new TerminalProfile(options: TerminalOptions | ExtensionTerminalOptions): TerminalProfile
新しいターミナルプロファイルを作成します。
パラメーター | 説明 |
---|---|
options: TerminalOptions | ExtensionTerminalOptions | ターミナルが起動する際のオプション。 |
戻り値 | 説明 |
TerminalProfile |
プロパティ
options: TerminalOptions | ExtensionTerminalOptions
ターミナルが起動する際のオプション。
TerminalProfileProvider
UIまたはコマンドを介して起動されたときに、貢献されたターミナルプロファイルにターミナルプロファイルを提供します。
メソッド
provideTerminalProfile(token: CancellationToken): ProviderResult<TerminalProfile>
ターミナルプロファイルを提供します。
パラメーター | 説明 |
---|---|
token: CancellationToken | 結果が不要になったことを示すキャンセル・トークン。 |
戻り値 | 説明 |
ProviderResult<TerminalProfile> | ターミナルプロファイル。 |
TerminalShellExecution
ターミナルで実行されたコマンド。
プロパティ
commandLine: TerminalShellExecutionCommandLine
実行されたコマンドライン。この値の信頼度は、特定のシェルのシェル統合の実装によって異なります。この値は、window.onDidEndTerminalShellExecutionが発火した後により正確になる可能性があります。
例
// Log the details of the command line on start and end
window.onDidStartTerminalShellExecution(event => {
const commandLine = event.execution.commandLine;
console.log(`Command started\n${summarizeCommandLine(commandLine)}`);
});
window.onDidEndTerminalShellExecution(event => {
const commandLine = event.execution.commandLine;
console.log(`Command ended\n${summarizeCommandLine(commandLine)}`);
});
function summarizeCommandLine(commandLine: TerminalShellExecutionCommandLine) {
return [
` Command line: ${command.commandLine.value}`,
` Confidence: ${command.commandLine.confidence}`,
` Trusted: ${command.commandLine.isTrusted}
].join('\n');
}
cwd: Uri
このコマンドが実行されたときにシェルによって報告された作業ディレクトリ。このURIは、別のマシン上のファイルを表す可能性があります(例: 別のマシンにsshで接続)。これには、シェル統合が作業ディレクトリの報告をサポートしている必要があります。
メソッド
ターミナルに書き込まれる生データ(エスケープシーケンスを含む)のストリームを作成します。これはread
が最初に呼び出された後に書き込まれたデータのみを含みます。つまり、データを逃さないためには、TerminalShellIntegration.executeCommandまたはwindow.onDidStartTerminalShellExecutionを介してコマンドが実行された直後にread
を呼び出す必要があります。
例
// Log all data written to the terminal for a command
const command = term.shellIntegration.executeCommand({ commandLine: 'echo "Hello world"' });
const stream = command.read();
for await (const data of stream) {
console.log(data);
}
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
AsyncIterable<string> |
TerminalShellExecutionCommandLine
ターミナルで実行されたコマンドライン。
プロパティ
confidence: TerminalShellExecutionCommandLineConfidence
コマンドライン値の信頼度。これは値の取得方法によって決定されます。シェルの統合スクリプトの実装に依存します。
コマンドライン値が信頼できるソースから得られたものであり、したがって「(コマンド)を実行しますか?」といったユーザーの追加確認なしに安全に実行できるかどうか。この検証は、コマンドを再度実行する場合にのみ必要となる可能性が高いです。
これは、コマンドラインがシェル統合スクリプトによって明示的に報告され(つまり、高い信頼度)、検証のためにnonceが使用された場合にのみtrue
です。
コマンドとその引数を含む、実行された完全なコマンドライン。
TerminalShellExecutionCommandLineConfidence
列挙メンバー
コマンドライン値の信頼度は低いです。これは、シェル統合スクリプトによって報告されたマーカーを使用して、ターミナルバッファから値が読み取られたことを意味します。さらに、以下のいずれかの条件が満たされます。
- コマンドが一番左の列から開始された(これは通常ではない)、または
- コマンドが複数行で、行継続文字や右プロンプトのために正確な検出がより困難である。
- コマンドラインマーカーがシェル統合スクリプトによって報告されなかった。
コマンドライン値の信頼度は中です。これは、シェル統合スクリプトによって報告されたマーカーを使用して、ターミナルバッファから値が読み取られたことを意味します。コマンドは単一行で、一番左の列から開始されていない(これは通常ではない)。
コマンドライン値の信頼度は高いです。これは、値がシェル統合スクリプトから明示的に送信されたか、TerminalShellIntegration.executeCommand APIを介してコマンドが実行されたことを意味します。
TerminalShellExecutionEndEvent
ターミナルでの実行が終了したことを通知するイベント。
プロパティ
execution: TerminalShellExecution
終了したターミナルシェル実行。
シェルによって報告された終了コード。
これが undefined
の場合、いくつかの意味があります。
- シェルが終了コードを報告しなかった(つまり、シェル統合スクリプトが正しく動作していない)、または
- シェルがコマンド完了前にコマンド開始を報告した(例: サブシェルが開かれた)。
- ユーザーがCtrl+Cでコマンドをキャンセルした。
- 入力がない状態でユーザーがEnterキーを押した。
一般的に、これは起こるべきではありません。ユースケースによっては、これを失敗として扱うのが最善かもしれません。
例
const execution = shellIntegration.executeCommand({
command: 'echo',
args: ['Hello world']
});
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
if (event.exitCode === undefined) {
console.log('Command finished but exit code is unknown');
} else if (event.exitCode === 0) {
console.log('Command succeeded');
} else {
console.log('Command failed');
}
}
});
shellIntegration: TerminalShellIntegration
シェル統合オブジェクト。
terminal: Terminal
シェル統合が有効化されたターミナル。
TerminalShellExecutionStartEvent
ターミナルでの実行が開始されたことを示すイベント。
プロパティ
execution: TerminalShellExecution
終了したターミナルシェル実行。
shellIntegration: TerminalShellIntegration
シェル統合オブジェクト。
terminal: Terminal
シェル統合が有効化されたターミナル。
TerminalShellIntegration
シェル統合によって提供される、ターミナルが所有する機能。
プロパティ
cwd: Uri
ターミナルの現在の作業ディレクトリ。このUriは、別のマシン上のファイル(例: 別のマシンへのSSH接続)を表す場合があります。これには、シェル統合が作業ディレクトリのレポートをサポートしている必要があります。
メソッド
executeCommand(commandLine: string): TerminalShellExecution
コマンドを実行し、必要に応じて実行中のコマンドを中断するために^Cを送信します。
例
// 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インスタンスのコレクションで、これらはさらに独自の子を持ち、「テストツリー」を形成できます。
拡張機能は、テストを追加するタイミングを制御します。たとえば、ファイル内のテストの装飾を表示するには、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のトップレベルアイテムや、まだ他のアイテムの子に含まれていないアイテムの場合はundefined
です。
range: Range
テストアイテムのURI内の場所。
これは、uri
がファイルを指している場合にのみ意味があります。
このアイテムを他のアイテムと比較する際に使用されるべき文字列。falsy
の場合、labelが使用されます。
tags: readonly TestTag[]
このテストアイテムに関連付けられたタグ。タグと組み合わせて使用することも、単に整理機能として使用することもできます。
uri: Uri
このTestItem
が関連付けられているURI。ファイルまたはディレクトリである場合があります。
TestItemCollection
TestItem.childrenおよびTestController.itemsに見られるテストアイテムのコレクション。
プロパティ
コレクション内のアイテム数を取得します。
メソッド
add(item: TestItem): void
テストアイテムを子に追加します。同じIDを持つアイテムが既に存在する場合、それは置き換えられます。
パラメーター | 説明 |
---|---|
item: TestItem | 追加するアイテム。 |
戻り値 | 説明 |
void |
コレクションから単一のテストアイテムを削除します。
パラメーター | 説明 |
---|---|
itemId: string | 削除するアイテムID。 |
戻り値 | 説明 |
void |
forEach(callback: (item: TestItem, collection: TestItemCollection) => unknown, thisArg?: any): void
このコレクションの各エントリを反復処理します。
パラメーター | 説明 |
---|---|
callback: (item: TestItem, collection: TestItemCollection) => unknown | 各エントリに対して実行する関数。 |
thisArg?: any | ハンドラー関数を呼び出すときに使用される |
戻り値 | 説明 |
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つ以上のTestMessagesを渡す必要があります。これは「失敗」状態とは異なり、コンパイルエラーなど、まったく実行できなかったテストを示します。
パラメーター | 説明 |
---|---|
test: TestItem | 更新するテストアイテム。 |
message: TestMessage | readonly TestMessage[] | テスト失敗に関連付けられたメッセージ。 |
duration?: number | テストの実行にかかった時間(ミリ秒単位)。 |
戻り値 | 説明 |
void |
failed(test: TestItem, message: TestMessage | readonly TestMessage[], duration?: number): void
テストが失敗したことを示します。失敗を説明するために1つ以上のTestMessagesを渡す必要があります。
パラメーター | 説明 |
---|---|
test: TestItem | 更新するテストアイテム。 |
message: TestMessage | readonly TestMessage[] | テスト失敗に関連付けられたメッセージ。 |
duration?: number | テストの実行にかかった時間(ミリ秒単位)。 |
戻り値 | 説明 |
void |
passed(test: TestItem, duration?: number): void
テストが合格したことを示します。
パラメーター | 説明 |
---|---|
test: TestItem | 更新するテストアイテム。 |
duration?: number | テストの実行にかかった時間(ミリ秒単位)。 |
戻り値 | 説明 |
void |
skipped(test: TestItem): void
テストがスキップされたことを示します。
パラメーター | 説明 |
---|---|
test: TestItem | 更新するテストアイテム。 |
戻り値 | 説明 |
void |
started(test: TestItem): void
テストの実行が開始されたことを示します。
パラメーター | 説明 |
---|---|
test: TestItem | 更新するテストアイテム。 |
戻り値 | 説明 |
void |
TestRunProfile
TestRunProfileは、TestControllerでテストを実行する1つの方法を記述します。
イベント
onDidChangeDefault: Event<boolean>
ユーザーがこれがデフォルトプロファイルであるかどうかを変更したときに発火します。イベントにはisDefaultの新しい値が含まれます。
プロパティ
このメソッドが存在する場合、UIに設定ギアが表示され、クリックされるとこのメソッドが呼び出されます。呼び出されたとき、クイックピックの表示や設定ファイルのオープンなど、他のエディターアクションを実行できます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
このプロファイルが、その種類のアクションが実行されたときに取られるデフォルトのアクションであるかどうかを制御します。たとえば、ユーザーが一般的な「すべて実行」ボタンをクリックすると、TestRunProfileKind.Runのデフォルトプロファイルが実行されますが、これはユーザーが設定できます。
ユーザーがデフォルトプロファイルで行った変更は、onDidChangeDefaultイベントの後、このプロパティに反映されます。
kind: TestRunProfileKind
このプロファイルが制御する実行の種類を設定します。ある種類に対してプロファイルがない場合、UIでは利用できません。
UIでユーザーに表示されるラベル。
ユーザーが特定の方法でテストの再実行を要求した場合、このラベルは重要性を持つことに注意してください。たとえば、テストが通常通り実行され、ユーザーがデバッグモードでの再実行を要求した場合、エディターはDebug
種類の同じラベルを持つ設定を使用しようとします。そのような設定がない場合は、デフォルトが使用されます。
loadDetailedCoverage?: (testRun: TestRun, fileCoverage: FileCoverage, token: CancellationToken) => Thenable<FileCoverageDetail[]>
ファイルの詳細なステートメントレベルおよび関数レベルのカバレッジを提供する、拡張機能によって提供される関数です。エディターは、ファイルにより詳細な情報が必要な場合、例えばエディターで開かれたり、テストカバレッジビューで展開されたりしたときに、これを呼び出します。
この関数に渡されるFileCoverageオブジェクトは、このプロファイルに関連付けられたTestRun.addCoverage呼び出しで発行されたものと同じインスタンスです。
パラメーター | 説明 |
---|---|
testRun: TestRun | |
fileCoverage: FileCoverage | |
token: CancellationToken | |
戻り値 | 説明 |
Thenable<FileCoverageDetail[]> |
loadDetailedCoverageForTest?: (testRun: TestRun, fileCoverage: FileCoverage, fromTestItem: TestItem, token: CancellationToken) => Thenable<FileCoverageDetail[]>
ファイル内の単一テストの詳細なステートメントレベルおよび関数レベルのカバレッジを提供する、拡張機能によって提供される関数です。これはTestRunProfile.loadDetailedCoverageのテストごとの兄弟であり、FileCoverage.includesTestsにテストアイテムが提供されている場合、およびそのようなデータが報告されているファイルに対してのみ呼び出されます。
通常、ユーザーがファイルを開くとTestRunProfile.loadDetailedCoverageが最初に呼び出され、その後、ユーザーが特定のテストごとのカバレッジ情報にドリルダウンした場合にこのメソッドが呼び出されます。このメソッドは、実行中に特定のテストによって実行されたステートメントと宣言のみのカバレッジデータを返す必要があります。
この関数に渡されるFileCoverageオブジェクトは、このプロファイルに関連付けられたTestRun.addCoverage呼び出しで発行されたものと同じインスタンスです。
パラメーター | 説明 |
---|---|
testRun: TestRun | カバレッジデータを生成したテスト実行。 |
fileCoverage: FileCoverage | 詳細なカバレッジを読み込むファイルカバレッジオブジェクト。 |
fromTestItem: TestItem | カバレッジ情報を要求するテストアイテム。 |
token: CancellationToken | 操作をキャンセルする必要があることを示すキャンセル・トークン。 |
戻り値 | 説明 |
Thenable<FileCoverageDetail[]> |
runHandler: (request: TestRunRequest, token: CancellationToken) => void | Thenable<void>
テスト実行を開始するために呼び出されるハンドラー。呼び出されたとき、関数は少なくとも一度TestController.createTestRunを呼び出す必要があり、要求に関連付けられたすべてのテスト実行は、関数が戻るか、返されたプロミスが解決される前に作成されるべきです。
supportsContinuousRunが設定されている場合、TestRunRequest.continuousはtrue
である可能性があります。この場合、プロファイルはソースコードの変更を監視し、token
に対するキャンセルが要求されるまで、TestController.createTestRunを呼び出すことで新しいテスト実行を作成すべきです。
パラメーター | 説明 |
---|---|
request: TestRunRequest | テスト実行のリクエスト情報。 |
token: CancellationToken | |
戻り値 | 説明 |
void | Thenable<void> |
supportsContinuousRun: boolean
このプロファイルがリクエストの継続的な実行をサポートしているかどうか。サポートしている場合、TestRunRequest.continuousがtrue
に設定されることがあります。デフォルトはfalseです。
tag: TestTag
プロファイルに関連付けられたタグ。これが設定されている場合、同じタグを持つTestItemインスタンスのみがこのプロファイルで実行資格を持ちます。
メソッド
実行プロファイルを削除します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
TestRunProfileKind
TestRunProfilesが制御する実行の種類。
列挙メンバー
Run
テストプロファイルの種類。
Debug
テストプロファイルの種類。
Coverage
テストプロファイルの種類。
TestRunRequest
TestRunRequestはTestRunの前駆体であり、TestController.createTestRunにリクエストを渡すことで作成されます。TestRunRequestには、どのテストを実行すべきか、どのテストを実行すべきでないか、およびそれらがどのように実行されるか(プロファイルを介して)に関する情報が含まれます。
一般的に、TestRunRequestsはエディターによって作成され、TestRunProfile.runHandlerに渡されますが、runHandler
の外部でテストリクエストと実行を作成することもできます。
コンストラクタ
new TestRunRequest(include?: readonly TestItem[], exclude?: readonly TestItem[], profile?: TestRunProfile, continuous?: boolean, preserveFocus?: boolean): TestRunRequest
パラメーター | 説明 |
---|---|
include?: readonly TestItem[] | 実行する特定のテストの配列、またはすべてのテストを実行する場合は未定義。 |
exclude?: readonly TestItem[] | 実行から除外するテストの配列。 |
profile?: TestRunProfile | このリクエストに使用される実行プロファイル。 |
continuous?: boolean | ソースの変更に応じてテストを継続的に実行するかどうか。 |
preserveFocus?: boolean | 実行開始時にユーザーのフォーカスを維持するかどうか。 |
戻り値 | 説明 |
TestRunRequest |
プロパティ
ソースコードが変更されるにつれて、プロファイルが継続的に実行されるべきかどうか。TestRunProfile.supportsContinuousRunを設定するプロファイルにのみ関連します。
exclude: readonly TestItem[]
ユーザーがこの実行に含まれるテストから除外するようマークしたテストの配列。除外は包含の後に適用されるべきです。
除外が要求されなかった場合、省略されることがあります。テストコントローラーは、除外されたテストやその子を実行すべきではありません。
include: readonly TestItem[]
実行する特定のテストのフィルター。指定された場合、拡張機能は、含まれるすべてのテストとそのすべての子を実行し、TestRunRequest.excludeに表示されるテストを除外する必要があります。このプロパティが未定義の場合、拡張機能は単にすべてのテストを実行するべきです。
テストを実行するプロセスは、まだ解決されていないテストアイテムの子を解決するべきです。
テスト結果ビューのフォーカス方法を制御します。trueの場合、エディターはユーザーのフォーカスを維持します。falseの場合、エディターはテスト結果ビューにフォーカスを移動することを優先しますが、これはユーザーによって設定可能です。
profile: TestRunProfile
このリクエストに使用されるプロファイル。これはエディターUIから発行されたリクエストでは常に定義されますが、拡張機能はどのプロファイルにも関連付けられていないリクエストをプログラムで作成することができます。
TestTag
タグはTestItemsおよびTestRunProfilesに関連付けることができます。タグを持つプロファイルは、そのタグがTestItem.tags配列に含まれるテストのみを実行できます。
コンストラクタ
new TestTag(id: string): TestTag
新しいTestTagインスタンスを作成します。
パラメーター | 説明 |
---|---|
id: string | テストタグのID。 |
戻り値 | 説明 |
TestTag |
プロパティ
テストタグのID。同じIDを持つTestTag
インスタンスは同一と見なされます。
TextDocument
ソースファイルなどのテキストドキュメントを表します。テキストドキュメントには行があり、ファイルのような基礎となるリソースに関する知識が含まれています。
プロパティ
このドキュメントのファイルエンコーディングで、ドキュメントが保存される際に使用されます。
ドキュメントのエンコーディングが変更されたときに通知を受け取るには、onDidChangeTextDocumentイベントを使用します。
現在、可能なエンコーディング値は、'utf8', 'utf8bom', 'utf16le', 'utf16be', 'windows1252', 'iso88591', 'iso88593', 'iso885915', 'macroman', 'cp437', 'windows1256', 'iso88596', 'windows1257', 'iso88594', 'iso885914', 'windows1250', 'iso88592', 'cp852', 'windows1251', 'cp866', 'cp1125', 'iso88595', 'koi8r', 'koi8u', 'iso885913', 'windows1253', 'iso88597', 'windows1255', 'iso88598', 'iso885910', 'iso885916', 'windows1254', 'iso88599', 'windows1258', 'gbk', 'gb18030', 'cp950', 'big5hkscs', 'shiftjis', 'eucjp', 'euckr', 'windows874', 'iso885911', 'koi8ru', 'koi8t', 'gb2312', 'cp865', 'cp850' のいずれかとして定義されています。
eol: EndOfLine
このドキュメントで主に使われている行末シーケンス。
関連するリソースのファイルシステムパス。TextDocument.uri.fsPathの短縮表記。URIスキームとは無関係です。
ドキュメントが閉じられた場合、true
です。閉じられたドキュメントはもはや同期されず、同じリソースが再度開かれても再利用されません。
未保存の変更がある場合、true
。
このドキュメントは、まだ保存されていない無題のファイルを表しているか。注意: これはドキュメントがディスクに保存されることを意味するものではなく、ドキュメントがどこに保存されるか(例: file
、ftp
など)を判断するにはUri.schemeを使用してください。
このドキュメントに関連付けられている言語の識別子。
このドキュメントの行数。
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-schemeに登録されます。そのスキームのURIが読み込まれると、コンテンツプロバイダーが要求されます。
イベント
リソースが変更されたことを通知するイベント。
メソッド
provideTextDocumentContent(uri: Uri, token: CancellationToken): ProviderResult<string>
指定されたURIのテキストコンテンツを提供します。
エディターは、返された文字列コンテンツを使用して読み取り専用のドキュメントを作成します。割り当てられたリソースは、対応するドキュメントが閉じられたときに解放される必要があります。
注: 作成されたドキュメントの内容は、改行シーケンスの正規化により、提供されたテキストと同一ではない場合があります。
パラメーター | 説明 |
---|---|
uri: Uri | このプロバイダーが登録されたスキームに一致するURI。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<string> | 文字列、または文字列に解決されるThenable。 |
TextDocumentSaveReason
テキストドキュメントが保存される理由を表します。
列挙メンバー
手動でトリガーされます。例: ユーザーが保存を押す、デバッグを開始する、API呼び出しを行うなど。
遅延後の自動。
エディターがフォーカスを失ったとき。
TextDocumentShowOptions
エディターでドキュメントを表示する動作を設定するためのオプションを表します。
プロパティ
true
の場合にエディターがフォーカスを取得するのを停止するオプションのフラグ。
エディタータブがプレビューとして表示されるかどうかを制御するオプションのフラグ。プレビュータブは、明示的に、または編集によって残るように設定されるまで、置き換えられて再利用されます。
注: ユーザーが設定でプレビューエディターを無効にしている場合、このフラグは無視されます。
selection?: Range
エディター内のドキュメントに適用するオプションの選択範囲。
viewColumn?: ViewColumn
エディターを表示するオプションのビュー列。デフォルトはアクティブな列です。存在しない列は、ViewColumn.Nineの最大値まで必要に応じて作成されます。現在アクティブなエディターの横にエディターを開くには、ViewColumn.Besideを使用します。
TextDocumentWillSaveEvent
プロパティ
document: TextDocument
保存されるドキュメント。
reason: TextDocumentSaveReason
保存がトリガーされた理由。
メソッド
waitUntil(thenable: Thenable<readonly TextEdit[]>): void
イベントループを一時停止し、保存前編集を適用することができます。この関数への後続の呼び出しによる編集は、順序通りに適用されます。ドキュメントの同時変更が発生した場合、編集は無視されます。
注: この関数はイベントディスパッチ中にのみ呼び出すことができ、非同期には呼び出すことができません。
workspace.onWillSaveTextDocument(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
waitUntil(thenable: Thenable<any>): void
指定されたthenableが解決されるまでイベントループを一時停止できます。
注: この関数はイベントディスパッチ中にのみ呼び出すことができます。
パラメーター | 説明 |
---|---|
thenable: Thenable<any> | 保存を遅延させるthenableです。 |
戻り値 | 説明 |
void |
TextEdit
テキスト編集は、ドキュメントに適用されるべき編集を表します。
静的
delete(range: Range): TextEdit
insert(position: Position, newText: string): TextEdit
挿入編集を作成するためのユーティリティ。
replace(range: Range, newText: string): TextEdit
setEndOfLine(eol: EndOfLine): TextEdit
コンストラクタ
new TextEdit(range: Range, newText: string): TextEdit
プロパティ
newEol?: EndOfLine
ドキュメントで使用されるEOLシーケンス。
注: EOLシーケンスはドキュメント全体に適用されます。
この編集が挿入する文字列。
range: Range
この編集が適用される範囲。
TextEditor
ドキュメントにアタッチされたエディターを表します。
プロパティ
document: TextDocument
このテキストエディターに関連付けられたドキュメント。ドキュメントは、このテキストエディターの全期間にわたって同じになります。
options: TextEditorOptions
テキストエディターのオプション。
selection: Selection
このテキストエディターのプライマリ選択。TextEditor.selections[0]
の略記です。
selections: readonly Selection[]
このテキストエディターの選択範囲。プライマリ選択は常にインデックス0にあります。
viewColumn: ViewColumn
このエディターが表示される列。メインエディターのいずれでもない場合、例えば組み込みエディターの場合や、エディター列が3より大きい場合はundefined
になります。
visibleRanges: readonly Range[]
エディター内の現在の表示範囲(垂直方向)。これは垂直スクロールのみを考慮し、水平スクロールは考慮しません。
メソッド
edit(callback: (editBuilder: TextEditorEdit) => void, options?: {undoStopAfter: boolean, undoStopBefore: boolean}): Thenable<boolean>
このテキストエディターに関連付けられたドキュメントに対して編集を実行します。
指定されたコールバック関数は、編集を行うために使用する必要がある編集ビルダーとともに呼び出されます。編集ビルダーは、コールバックの実行中にのみ有効であることに注意してください。
パラメーター | 説明 |
---|---|
callback: (editBuilder: TextEditorEdit) => void | 編集ビルダーを使用して編集を作成できる関数。 |
options?: {undoStopAfter: boolean, undoStopBefore: boolean} | この編集に関するアンドゥ/リドゥの動作。デフォルトでは、この編集の前後にアンドゥストップが作成されます。 |
戻り値 | 説明 |
Thenable<boolean> | 編集が適用できたかどうかを示す値に解決されるプロミス。 |
テキストエディターを非表示にします。
- 非推奨 - 代わりにコマンド
workbench.action.closeActiveEditor
を使用してください。このメソッドは予期しない動作を示し、次のメジャーアップデートで削除されます。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
insertSnippet(snippet: SnippetString, location?: Range | Position | readonly Range[] | readonly Position[], options?: {keepWhitespace: boolean, undoStopAfter: boolean, undoStopBefore: boolean}): Thenable<boolean>
スニペットを挿入し、エディターをスニペットモードにします。「スニペットモード」とは、ユーザーがスニペットを完了または承認できるように、エディターがプレースホルダーと追加のカーソルを追加することを意味します。
パラメーター | 説明 |
---|---|
snippet: SnippetString | この編集に挿入するスニペット。 |
location?: Range | Position | readonly Range[] | readonly Position[] | スニペットを挿入する位置または範囲。デフォルトは現在のエディターの選択範囲です。 |
options?: {keepWhitespace: boolean, undoStopAfter: boolean, undoStopBefore: boolean} | この編集に関するアンドゥ/リドゥの動作。デフォルトでは、この編集の前後にアンドゥストップが作成されます。 |
戻り値 | 説明 |
Thenable<boolean> | スニペットを挿入できたかどうかを示す値に解決されるプロミス。プロミスはスニペットが完全に記入または承認されたことを通知するものではないことに注意してください。 |
revealRange(range: Range, revealType?: TextEditorRevealType): void
指定された範囲を表示するために、revealType
で示されるようにスクロールします。
パラメーター | 説明 |
---|---|
range: Range | 範囲。 |
revealType?: TextEditorRevealType |
|
戻り値 | 説明 |
void |
setDecorations(decorationType: TextEditorDecorationType, rangesOrOptions: readonly Range[] | readonly DecorationOptions[]): void
テキストエディターに一連の装飾を追加します。指定された装飾タイプで既存の装飾セットがある場合、それらは置き換えられます。rangesOrOptions
が空の場合、指定された装飾タイプの既存の装飾は削除されます。
パラメーター | 説明 |
---|---|
decorationType: TextEditorDecorationType | 装飾タイプ。 |
rangesOrOptions: readonly Range[] | readonly DecorationOptions[] | |
戻り値 | 説明 |
void |
show(column?: ViewColumn): void
テキストエディターを表示します。
- 非推奨 - 代わりにwindow.showTextDocumentを使用してください。
パラメーター | 説明 |
---|---|
column?: ViewColumn | このエディターを表示する列。このメソッドは予期しない動作を示し、次のメジャーアップデートで削除されます。 |
戻り値 | 説明 |
void |
TextEditorCursorStyle
カーソルのレンダリングスタイル。
列挙メンバー
カーソルを垂直の太線としてレンダリングします。
カーソルを塗りつぶされたブロックとしてレンダリングします。
カーソルを太い水平線としてレンダリングします。
カーソルを垂直の細線としてレンダリングします。
カーソルをブロックのアウトラインとしてレンダリングします。
カーソルを細い水平線としてレンダリングします。
TextEditorDecorationType
テキストエディターで同じスタイルオプションを共有する装飾セットへのハンドルを表します。
TextEditorDecorationType
のインスタンスを取得するには、createTextEditorDecorationTypeを使用します。
プロパティ
ハンドルの内部表現。
メソッド
この装飾タイプと、それを使用しているすべてのテキストエディター上のすべての装飾を削除します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
void |
TextEditorEdit
TextEditor上で単一のトランザクションで適用される複雑な編集。これには編集の説明が含まれ、編集が有効な場合(つまり、重複する領域がなく、その間にドキュメントが変更されていないなど)は、テキストエディターに関連付けられたドキュメントに適用できます。
メソッド
delete(location: Range | Selection): void
insert(location: Position, value: string): void
指定された場所にテキストを挿入します。value
に\r\n
または\n
を使用でき、これらは現在のドキュメントに正規化されます。replaceで同等のテキスト編集を行うことはできますが、insert
は異なる結果選択(移動される)を生成します。
パラメーター | 説明 |
---|---|
location: Position | 新しいテキストを挿入する位置。 |
value: string | この操作が挿入すべき新しいテキスト。 |
戻り値 | 説明 |
void |
replace(location: Range | Position | Selection, value: string): void
特定のテキスト領域を新しい値で置き換えます。value
に\r\n
または\n
を使用でき、これらは現在のドキュメントに正規化されます。
setEndOfLine(endOfLine: EndOfLine): void
TextEditorLineNumbersStyle
行番号のレンダリングスタイル。
列挙メンバー
行番号をレンダリングしません。
行番号をレンダリングします。
プライマリカーソル位置に対する相対値で行番号をレンダリングします。
10行ごとに線番号をレンダリングします。
TextEditorOptions
テキストエディターのオプションを表します。
プロパティ
cursorStyle?: TextEditorCursorStyle
このエディターでのカーソルのレンダリングスタイル。テキストエディターのオプションを取得する場合、このプロパティは常に存在します。テキストエディターのオプションを設定する場合、このプロパティはオプションです。
insertSpacesがtrueの場合に挿入するスペースの数。
テキストエディターのオプションを取得する場合、このプロパティは常に数値(解決済み)になります。テキストエディターのオプションを設定する場合、このプロパティはオプションであり、数値または"tabSize"
にすることができます。
insertSpaces?: string | boolean
Tabを押したときにn個のスペースを挿入します。テキストエディターのオプションを取得する場合、このプロパティは常にブール値(解決済み)になります。テキストエディターのオプションを設定する場合、このプロパティはオプションであり、ブール値または"auto"
にすることができます。
lineNumbers?: TextEditorLineNumbersStyle
現在の行番号に対する相対的な行番号をレンダリングします。テキストエディターのオプションを取得する場合、このプロパティは常に存在します。テキストエディターのオプションを設定する場合、このプロパティはオプションです。
タブが占めるスペースのサイズ。これは2つの目的で使用されます
- タブ文字のレンダリング幅。
- insertSpacesがtrueで
indentSize
が"tabSize"
に設定されている場合に挿入するスペースの数。
テキストエディターのオプションを取得する場合、このプロパティは常に数値(解決済み)になります。テキストエディターのオプションを設定する場合、このプロパティはオプションであり、数値または"auto"
にすることができます。
TextEditorOptionsChangeEvent
テキストエディターのオプションの変更を記述するイベントを表します。
プロパティ
options: TextEditorOptions
テキストエディターのオプションの新しい値。
textEditor: TextEditor
オプションが変更されたテキストエディター。
TextEditorRevealType
テキストエディターにおける異なる表示戦略を表します。
列挙メンバー
範囲は可能な限り少ないスクロールで表示されます。
範囲は常にビューポートの中央に表示されます。
範囲がビューポート外の場合、ビューポートの中央に表示されます。それ以外の場合は、可能な限り少ないスクロールで表示されます。
範囲は常にビューポートの最上部に表示されます。
TextEditorSelectionChangeEvent
テキストエディターの選択範囲の変更を記述するイベントを表します。
プロパティ
kind: TextEditorSelectionChangeKind
このイベントをトリガーした変更の種類。undefined
の場合もあります。
selections: readonly Selection[]
テキストエディターの選択範囲の新しい値。
textEditor: TextEditor
選択範囲が変更されたテキストエディター。
TextEditorSelectionChangeKind
選択変更イベントを引き起こす可能性があるソースを表します。
列挙メンバー
エディターでの入力による選択の変更。
エディターでのクリックによる選択の変更。
コマンド実行による選択の変更。
TextEditorViewColumnChangeEvent
テキストエディターのビュー列の変更を記述するイベントを表します。
プロパティ
textEditor: TextEditor
ビュー列が変更されたテキストエディター。
viewColumn: ViewColumn
テキストエディターのビュー列の新しい値。
TextEditorVisibleRangesChangeEvent
テキストエディターの表示範囲の変更を記述するイベントを表します。
プロパティ
textEditor: TextEditor
表示範囲が変更されたテキストエディター。
visibleRanges: readonly Range[]
テキストエディターの表示範囲の新しい値。
TextLine
ソースコードの行などのテキスト行を表します。
TextLineオブジェクトは不変です。ドキュメントが変更されると、以前に取得された行は最新の状態を表しません。
プロパティ
firstNonWhitespaceCharacterIndex: number
/\s/
で定義されている、空白文字ではない最初の文字のオフセット。注: 行全体が空白の場合、行の長さが返されます。
この行が空白のみであるかどうか。TextLine.firstNonWhitespaceCharacterIndex === TextLine.text.lengthの省略形。
0から始まる行番号。
range: Range
行区切り文字を含まないこの行がカバーする範囲。
rangeIncludingLineBreak: Range
行区切り文字を含むこの行がカバーする範囲。
行区切り文字を含まないこの行のテキスト。
ThemableDecorationAttachmentRenderOptions
プロパティ
backgroundColor?: string | ThemeColor
装飾アタッチメントに適用されるCSSスタイルプロパティ。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
borderColor?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
color?: string | ThemeColor
装飾アタッチメントに適用されるCSSスタイルプロパティ。
contentIconPath?: string | Uri
アタッチメントにレンダリングする画像の絶対パスまたはURI。アイコンまたはテキストのいずれかを表示できますが、両方を表示することはできません。
アタッチメントに表示されるテキストコンテンツを定義します。アイコンまたはテキストのいずれかを表示できますが、両方を表示することはできません。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
装飾アタッチメントに適用されるCSSスタイルプロパティ。
ThemableDecorationInstanceRenderOptions
装飾インスタンスのテーマ対応レンダリングオプションを表します。
プロパティ
after?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。
before?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。
ThemableDecorationRenderOptions
テキストエディターの装飾のテーマ固有のレンダリングスタイルを表します。
プロパティ
after?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの後に挿入されるアタッチメントのレンダリングオプションを定義します。
backgroundColor?: string | ThemeColor
デコレーションの背景色。rgba() を使用し、透明な背景色を定義して他のデコレーションと調和させます。または、カラーレジストリからの色を参照できます。
before?: ThemableDecorationAttachmentRenderOptions
装飾されたテキストの前に挿入されるアタッチメントのレンダリングオプションを定義します。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
borderColor?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のボーダープロパティの1つ以上を設定するには、「border」を使用することをお勧めします。
color?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
gutterIconPath?: string | Uri
ガターにレンダリングされる画像の絶対パスまたはURI。
ガターアイコンのサイズを指定します。利用可能な値は「auto」、「contain」、「cover」、および任意のパーセンテージ値です。詳細については、https://msdn.microsoft.com/en-us/library/jj127316(v=vs.85).aspx を参照してください。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
outlineColor?: string | ThemeColor
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のアウトラインプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のアウトラインプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。個々のアウトラインプロパティの1つ以上を設定するには、「outline」を使用することをお勧めします。
overviewRulerColor?: string | ThemeColor
概要ルーラー内のデコレーションの色。rgba() を使用し、透明な色を定義して他のデコレーションと調和させます。
デコレーションで囲まれたテキストに適用されるCSSスタイルプロパティ。
ThemeColor
ワークベンチの色の1つへの参照です。https://vscode.dokyumento.jp/api/references/theme-colorで定義されています。テーマカラーを使用することは、テーマ作成者とユーザーが色を変更できる可能性を与えるため、カスタムカラーよりも推奨されます。
コンストラクタ
new ThemeColor(id: string): ThemeColor
テーマカラーへの参照を作成します。
パラメーター | 説明 |
---|---|
id: string | 色の。利用可能な色はhttps://vscode.dokyumento.jp/api/references/theme-colorにリストされています。 |
戻り値 | 説明 |
ThemeColor |
プロパティ
この色のID。
ThemeIcon
名前付きアイコンへの参照。現在、File、Folder、およびThemeIcon IDがサポートされています。テーマアイコンを使用することは、製品テーマの作成者がアイコンを変更できる可能性を与えるため、カスタムアイコンよりも推奨されます。
注:テーマアイコンはラベルや説明の中にもレンダリングできます。テーマアイコンをサポートする場所では、これが明記されており、例えば`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 | アイコンのオプションの`ThemeColor`。この色は現在、TreeItemでのみ使用されています。 |
戻り値 | 説明 |
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 | プロバイダーが子を取得する元の要素。`undefined`の場合もあります。 |
戻り値 | 説明 |
ProviderResult<T[]> | `element`の子、または要素が渡されない場合はルートの子。 |
getParent(element: T): ProviderResult<T>
`element`の親を返すオプションのメソッド。`element`がルートの子である場合は`null`または`undefined`を返します。
注: このメソッドは、reveal APIにアクセスするために実装する必要があります。
パラメーター | 説明 |
---|---|
element: T | 親を返す必要がある要素。 |
戻り値 | 説明 |
ProviderResult<T> | `element`の親。 |
getTreeItem(element: T): TreeItem | Thenable<TreeItem>
`element`のTreeItem表現を取得します。
resolveTreeItem(item: TreeItem, element: T, token: CancellationToken): ProviderResult<TreeItem>
ホバー時にTreeItemプロパティが未定義の場合に解決するために呼び出されます。ツリーアイテムのクリック/オープン時にTreeItemプロパティが未定義の場合に解決するために呼び出されます。`resolveTreeItem`で解決できるのは、未定義だったプロパティのみです。機能は、選択時やオープン時に他の不足しているプロパティを解決するために呼び出されるように、後に拡張される可能性があります。
各TreeItemにつき一度だけ呼び出されます。
onDidChangeTreeDataはresolveTreeItem内からトリガーされるべきではありません。
注: この関数は、ツリーアイテムがすでにUIに表示されているときに呼び出されます。そのため、プレゼンテーション(ラベル、説明など)を変更するプロパティは変更できません。
パラメーター | 説明 |
---|---|
item: TreeItem | `item`の未定義のプロパティを設定した後、`item`を返すべきです。 |
element: T | TreeItemに関連付けられたオブジェクト。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<TreeItem> | 解決されたツリーアイテム、またはそのようなアイテムに解決される`Thenable`。与えられた`item`を返しても問題ありません。結果が返されない場合、与えられた`item`が使用されます。 |
TreeDragAndDropController<T>
`TreeView`でのドラッグ&ドロップをサポートします。
プロパティ
dragMimeTypes: readonly string[]
この`TreeDragAndDropController`の`handleDrag`メソッドがツリーデータ転送に追加できるMIMEタイプ。これは、明確に定義された既存のMIMEタイプ、および拡張機能によって定義されたMIMEタイプの場合があります。
ツリーの推奨MIMEタイプ(`application/vnd.code.tree.
dropMimeTypes: readonly string[]
この`DragAndDropController`の`handleDrop`メソッドがサポートするMIMEタイプ。これは、適切に定義された既存のMIMEタイプ、および拡張機能によって定義されたMIMEタイプである可能性があります。
ツリーからのドロップをサポートするには、そのツリーのMIMEタイプを追加する必要があります。これには、同じツリー内からのドロップも含まれます。ツリーのMIMEタイプは、`application/vnd.code.tree.
ファイルの実際のMIMEタイプに関係なく、あらゆる種類のドロップされたファイルをサポートするには、特別な`files` MIMEタイプを使用します。
ドラッグされたアイテムのMIMEタイプを学習するには
- `DragAndDropController`を設定します
- 開発者: ログレベルを設定... コマンドを使用してレベルを「Debug」に設定します。
- 開発者ツールを開き、不明なMIMEタイプのアイテムをツリー上にドラッグします。MIMEタイプは開発者コンソールにログされます。
拡張機能に送信できないMIMEタイプは省略されることに注意してください。
メソッド
handleDrag(source: readonly T[], dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>
ユーザーがこの`DragAndDropController`からアイテムのドラッグを開始すると、`handleDrag`が呼び出されます。拡張機能は`handleDrag`を使用して、独自の`DataTransferItem`アイテムをドラッグ&ドロップに追加できます。
`handleDrag`で追加されたMIMEタイプは、アプリケーション外部では利用できません。
アイテムが**同じツリー**内の**別のツリーアイテム**にドロップされると、`DataTransferItem`オブジェクトは保持されます。ツリーオブジェクトをデータ転送に追加するには、ツリーの推奨MIMEタイプ(`application/vnd.code.tree.
エディターにドラッグできるデータ転送アイテムを追加するには、アプリケーション固有の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 == folder`のようにキー`viewItem`のコンテキスト値を指定できます。
"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に表示するバッジ。バッジを削除するには、undefinedに設定します。
ビューのタイトルで目立たないようにレンダリングされるオプションの人間が読める説明。タイトル説明をnull、undefined、または空の文字列に設定すると、ビューから説明が削除されます。
ビューにレンダリングされるオプションの人間が読めるメッセージ。メッセージをnull、undefined、または空の文字列に設定すると、ビューからメッセージが削除されます。
現在選択されている要素。
ツリービューのタイトルは、最初は拡張機能のpackage.jsonから取得されます。タイトルプロパティへの変更は、ビューのUIのタイトルに適切に反映されます。
ツリービューが可視の場合は`true`、それ以外の場合は`false`。
メソッド
このオブジェクトを破棄します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
any |
reveal(element: T, options?: {expand: number | boolean, focus: boolean, select: boolean}): Thenable<void>
ツリービューで指定された要素を表示します。ツリービューが非表示の場合、ツリービューが表示され、要素が表示されます。
デフォルトでは、表示された要素は選択されます。選択しないようにするには、オプション`select`を`false`に設定します。フォーカスするには、オプション`focus`を`true`に設定します。表示された要素を展開するには、オプション`expand`を`true`に設定します。再帰的に展開するには、`expand`を展開するレベル数に設定します。
- 注: 最大3レベルまでしか展開できません。
- 注: `TreeView`が登録されているTreeDataProviderは、このAPIにアクセスするためにgetParentメソッドを実装する必要があります。
パラメーター | 説明 |
---|---|
element: T | |
options?: {expand: number | boolean, focus: boolean, select: boolean} | |
戻り値 | 説明 |
Thenable<void> |
TreeViewExpansionEvent<T>
TreeView内の要素が展開または折りたたまれたときに発生するイベント
プロパティ
展開または折りたたまれた要素。
TreeViewOptions<T>
TreeViewを作成するためのオプション
プロパティ
ツリーが複数選択をサポートするかどうか。ツリーが複数選択をサポートし、ツリーからコマンドが実行された場合、コマンドの最初の引数はコマンドが実行されたツリーアイテムであり、2番目の引数は選択されているすべてのツリーアイテムを含む配列です。
dragAndDropController?: TreeDragAndDropController<T>
ツリービューでのドラッグ&ドロップを実装するためのオプションのインターフェース。
manageCheckboxStateManually?: boolean
デフォルトでは、ツリーアイテムの子がすでにフェッチされている場合、子のチェックボックスは親ツリーアイテムのチェック状態に基づいて自動的に管理されます。ツリーアイテムがデフォルトで折りたたまれている場合(つまり、子がまだフェッチされていない場合)、子のチェックボックスは更新されません。この動作を上書きし、拡張機能で子と親のチェックボックス状態を管理するには、これを`true`に設定します。
TreeViewOptions.manageCheckboxStateManuallyがfalseの場合(デフォルトの動作)の例
ツリーアイテムがチェックされ、その後その子孫がフェッチされます。子孫はチェックされます。
ツリーアイテムの親がチェックされます。そのツリーアイテムとすべての兄弟がチェックされます。
- 親
- 子1
- 子2 ユーザーが親をチェックすると、ツリーは次のようになります。
- 親
- 子1
- 子2
- ツリーアイテムとそのすべての兄弟がチェックされます。親がチェックされます。
- 親
- 子1
- 子2 ユーザーが子1と子2をチェックすると、ツリーは次のようになります。
- 親
- 子1
- 子2
- ツリーアイテムがチェック解除されます。親がチェック解除されます。
- 親
- 子1
- 子2 ユーザーが子1のチェックを解除すると、ツリーは次のようになります。
- 親
- 子1
- 子2
「すべて折りたたむ」アクションを表示するかどうか。
treeDataProvider: TreeDataProvider<T>
ツリーデータを提供するデータプロバイダー。
TreeViewSelectionChangeEvent<T>
ツリービューの選択に変更があったときに発生するイベント
プロパティ
選択された要素。
TreeViewVisibilityChangeEvent
ツリービューの可視性に変更があったときに発生するイベント
プロパティ
ツリービューが可視の場合は`true`、それ以外の場合は`false`。
TypeDefinitionProvider
型定義プロバイダーは、拡張機能と型定義機能間の契約を定義します。
メソッド
provideTypeDefinition(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>
指定された位置とドキュメントにあるシンボルの型定義を提供します。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<Definition | LocationLink[]> | 定義、またはそれに解決されるThenable。結果がない場合は、 |
TypeHierarchyItem
クラスやインターフェースなど、型階層のアイテムを表します。
コンストラクタ
new TypeHierarchyItem(kind: SymbolKind, name: string, detail: string, uri: Uri, range: Range, selectionRange: Range): TypeHierarchyItem
新しい型階層アイテムを作成します。
パラメーター | 説明 |
---|---|
kind: SymbolKind | アイテムの種類。 |
name: string | アイテムの名前。 |
detail: string | アイテムの詳細。 |
uri: Uri | アイテムのUri。 |
range: Range | アイテムの全体の範囲。 |
selectionRange: Range | アイテムの選択範囲。 |
戻り値 | 説明 |
TypeHierarchyItem |
プロパティ
この項目の詳細情報。例: 関数のシグネチャ。
kind: SymbolKind
この項目の種類。
この項目の名前。
range: Range
このシンボルを囲む範囲で、先頭/末尾の空白は含まれませんが、コメントやコードなどその他すべてが含まれます。
selectionRange: Range
このシンボルが選択されたり表示されたりするときに選択および表示されるべき範囲。例えば、クラスの名前など。`range`プロパティに含まれている必要があります。
tags?: readonly SymbolTag[]
この項目のタグ。
uri: Uri
この項目のリソース識別子。
TypeHierarchyProvider
型階層プロバイダーインターフェースは、拡張機能と型階層機能間の契約を記述します。
メソッド
prepareTypeHierarchy(document: TextDocument, position: Position, token: CancellationToken): ProviderResult<TypeHierarchyItem | TypeHierarchyItem[]>
指定されたドキュメントと位置によって示されるアイテムを返すことで、型階層をブートストラップします。このアイテムは、型グラフへのエントリとして使用されます。プロバイダーは、指定された場所にアイテムがない場合、`undefined`または`null`を返すべきです。
パラメーター | 説明 |
---|---|
document: TextDocument | コマンドが呼び出されたドキュメント。 |
position: Position | コマンドが呼び出された位置。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<TypeHierarchyItem | TypeHierarchyItem[]> | 1つまたは複数の型階層アイテム、またはそれらに解決される`Thenable`。結果がない場合は、`undefined`、`null`、または空の配列を返すことで通知できます。 |
provideTypeHierarchySubtypes(item: TypeHierarchyItem, token: CancellationToken): ProviderResult<TypeHierarchyItem[]>
アイテムのすべてのサブタイプ(例:指定されたアイテムから派生/継承されたすべての型)を提供します。グラフの用語では、これは型グラフ内の方向付きおよび注釈付きエッジを記述します。つまり、指定されたアイテムが開始ノードであり、結果は到達可能なノードです。
パラメーター | 説明 |
---|---|
item: TypeHierarchyItem | サブタイプを計算すべき階層アイテム。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<TypeHierarchyItem[]> | 直接のサブタイプのセット、またはそれに解決される`Thenable`。結果がない場合は、`undefined`または`null`を返すことで通知できます。 |
provideTypeHierarchySupertypes(item: TypeHierarchyItem, token: CancellationToken): ProviderResult<TypeHierarchyItem[]>
アイテムのすべてのスーパータイプ、つまり型が派生/継承されているすべての型を提供します。グラフの用語では、これは型グラフ内の方向付きおよび注釈付きエッジを記述します。つまり、指定されたアイテムが開始ノードであり、結果は到達可能なノードです。
パラメーター | 説明 |
---|---|
item: TypeHierarchyItem | スーパータイプを計算すべき階層アイテム。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<TypeHierarchyItem[]> | 直接のスーパータイプのセット、またはそれに解決される`Thenable`。結果がない場合は、`undefined`または`null`を返すことで通知できます。 |
UIKind
拡張機能を使用できるUIの種類の可能性。
列挙メンバー
デスクトップアプリケーションから拡張機能にアクセスします。
ウェブブラウザから拡張機能にアクセスします。
Uri
ディスク上のファイルまたは、タイトルなしのリソースのような別のリソースを表すユニバーサルリソース識別子。
静的
file(path: string): Uri
ファイルシステムパスからURIを作成します。スキームは`file`になります。
Uri.parseとUri.fileの*違い*は、後者が引数を文字列化されたURIではなくパスとして扱うことです。例えば、`Uri.file(path)`は`Uri.parse('file://' + path)`と同じ*ではありません*。なぜなら、パスに解釈される文字(#と?)が含まれている可能性があるからです。以下のサンプルを参照してください。
const good = URI.file('/coding/c#/project1');
good.scheme === 'file';
good.path === '/coding/c#/project1';
good.fragment === '';
const bad = URI.parse('file://' + '/coding/c#/project1');
bad.scheme === 'file';
bad.path === '/coding/c'; // path is now broken
bad.fragment === '/project1';
パラメーター | 説明 |
---|---|
path: string | ファイルシステムパスまたはUNCパス。 |
戻り値 | 説明 |
Uri | 新しいUriインスタンス。 |
from(components: {authority: string, fragment: string, path: string, query: string, scheme: string}): Uri
URIをその構成要素から作成します
参照: Uri.toString
パラメーター | 説明 |
---|---|
components: {authority: string, fragment: string, path: string, query: string, scheme: string} | Uriの構成要素。 |
戻り値 | 説明 |
Uri | 新しいUriインスタンス。 |
joinPath(base: Uri, ...pathSegments: string[]): Uri
ベースURIのパスと提供されたパスセグメントを結合した結果をパスとする新しいURIを作成します。
- 注1: `joinPath`はパスコンポーネントのみに影響し、その他のすべてのコンポーネント(スキーム、権限、クエリ、フラグメント)はそのまま残されます。
- 注2: ベースURIはパスを持つ必要があります。そうでない場合はエラーがスローされます。
パスセグメントは以下の方法で正規化されます
- パス区切り文字(`/`または`\`)の連続は単一の区切り文字に置き換えられます。
- Windows上の`file`-urisの場合、バックスラッシュ文字(`\`)はパス区切り文字と見なされます。
- `..`-セグメントは親セグメントを、`.`は現在のセグメントを表します。
- パスには常にルートがあり、例えばWindowsのドライブレターはルートなので、`joinPath(Uri.file('file:///c:/root'), '../../other').fsPath === 'c:/other'`は真です。
parse(value: string, strict?: boolean): Uri
文字列からURIを作成します。例えば、`http://www.example.com/some/path`、`file:///usr/home`、または`scheme:with/path`。
注: 一時期、`scheme`のないURIも受け入れられていましたが、すべてのURIはスキームを持つべきであるため、これは正しくありません。既存のコードの破損を避けるため、オプションの`strict`引数が追加されました。例えば、`Uri.parse('my:uri', true)`のように使用することを強くお勧めします。
参照: Uri.toString
パラメーター | 説明 |
---|---|
value: string | Uriの文字列値。 |
strict?: boolean | `value`が空の場合、または`scheme`がパースできない場合にエラーをスローします。 |
戻り値 | 説明 |
Uri | 新しいUriインスタンス。 |
コンストラクタ
new Uri(scheme: string, authority: string, path: string, query: string, fragment: string): Uri
新しい`Uri`オブジェクトを作成するには、`file`および`parse`ファクトリ関数を使用します。
パラメーター | 説明 |
---|---|
scheme: string | |
authority: string | |
path: string | |
query: string | |
fragment: string | |
戻り値 | 説明 |
Uri |
プロパティ
オーソリティは、`http://www.example.com/some/path?query#fragment`の`www.example.com`の部分です。最初のダブルスラッシュと次のスラッシュの間の部分。
フラグメントは、`http://www.example.com/some/path?query#fragment`の`fragment`部分です。
このUriに対応するファイルシステムパスを表す文字列。
UNCパスを処理し、Windowsのドライブレターを小文字に正規化します。また、プラットフォーム固有のパス区切り文字を使用します。
- 無効な文字や意味論についてパスを検証することは*ありません*。
- このUriのスキームを*考慮しません*。
- 結果の文字列は、表示目的で使用すべきでは*なく*、`readFile`などのディスク操作に使用すべきです。
pathプロパティとの*違い*は、プラットフォーム固有のパス区切り文字の使用とUNCパスの処理です。以下のサンプルで違いを説明します。
const u = URI.parse('file://server/c$/folder/file.txt');
u.authority === 'server';
u.path === '/c$/folder/file.txt';
u.fsPath === '\\serverc$\folder\file.txt';
パスは、`http://www.example.com/some/path?query#fragment`の`/some/path`の部分です。
クエリは、`http://www.example.com/some/path?query#fragment`の`query`部分です。
スキームは、`http://www.example.com/some/path?query#fragment`の`http`の部分です。最初のコロンの前の部分。
メソッド
このUriのJSON表現を返します。
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
any | オブジェクト。 |
toString(skipEncoding?: boolean): string
このUriの文字列表現を返します。URIの表現と正規化はスキームに依存します。
- 結果の文字列はUri.parseで安全に使用できます。
- 結果の文字列は表示目的で使用すべきでは*ありません*。
注: 実装は*積極的に*エンコードするため、予期せぬ結果(ただし誤りではない)になることがよくあります。例えば、コロンが`%3A`にエンコードされることがあり、これはファイルURIでは予期せぬかもしれません。また、`&`と`=`もエンコードされ、これはHTTP URIでは予期せぬかもしれません。安定性の理由から、これは変更できません。過剰なエンコードに悩まされている場合は、`skipEncoding`引数を使用してください: `uri.toString(true)`。
パラメーター | 説明 |
---|---|
skipEncoding?: boolean | 結果をパーセンテージエンコードしない(デフォルトは`false`)。パスに現れる`#`と`?`文字は常にエンコードされることに注意してください。 |
戻り値 | 説明 |
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への変更を記述するオブジェクト。コンポーネントを未設定にするには、`null`または空の文字列を使用します。 |
戻り値 | 説明 |
Uri | 与えられた変更を反映する新しいUri。変更が何も変えない場合、`this` 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>
ウェブビューコンテンツがメッセージを投稿したときに発生します。
ウェブビューコンテンツは、文字列またはJSONシリアライズ可能なオブジェクトを拡張機能に投稿できます。メッセージを受信する拡張機能はブラウザ環境で実行されないため、`Blob`、`File`、`ImageData`、その他のDOM固有のオブジェクトを投稿することはできません。
プロパティ
ウェブビューリソースのコンテンツセキュリティポリシーソース。
これは、コンテンツセキュリティポリシーのルールで使用すべきオリジンです。
`img-src https: ${webview.cspSource} ...;`;
ウェブビューのHTMLコンテンツ。
これは完全で有効なHTMLドキュメントである必要があります。このプロパティを変更すると、ウェブビューが再ロードされます。
ウェブビューは通常の拡張機能プロセスからサンドボックス化されているため、ウェブビューとのすべての通信はメッセージパッシングを使用する必要があります。拡張機能からウェブビューにメッセージを送信するには、postMessageを使用します。ウェブビューから拡張機能にメッセージを送信するには、ウェブビュー内で`acquireVsCodeApi`関数を使用してエディターのAPIへのハンドルを取得し、`.postMessage()`を呼び出します。
<script>
const vscode = acquireVsCodeApi(); // acquireVsCodeApi can only be invoked once
vscode.postMessage({ message: 'hello!' });
</script>
ウェブビュー内でワークスペースからリソースをロードするには、asWebviewUriメソッドを使用し、そのリソースのディレクトリがWebviewOptions.localResourceRootsにリストされていることを確認してください。
ウェブビューはサンドボックス化されていますが、スクリプトの実行や任意のコンテンツのロードを許可していることに留意してください。したがって、拡張機能はウェブビューを扱う際に、すべての標準的なウェブセキュリティのベストプラクティスに従う必要があります。これには、信頼できないすべての入力(ワークスペースからのコンテンツを含む)を適切にサニタイズし、コンテンツセキュリティポリシーを設定することが含まれます。
options: WebviewOptions
ウェブビューのコンテンツ設定。
メソッド
asWebviewUri(localResource: Uri): Uri
ローカルファイルシステムのURIを、ウェブビュー内で使用できるURIに変換します。
ウェブビューは、`file:`URIを使用してワークスペースやローカルファイルシステムから直接リソースをロードできません。asWebviewUri関数は、ローカルの`file:`URIを受け取り、同じリソースをロードするためにウェブビュー内で使用できるURIに変換します。
webview.html = `<img src="${webview.asWebviewUri(
vscode.Uri.file('/Users/codey/workspace/cat.gif')
)}">`;
postMessage(message: any): Thenable<boolean>
ウェブビューコンテンツにメッセージを投稿します。
メッセージは、ウェブビューがアクティブ(表示されているか、`retainContextWhenHidden`が設定された状態でバックグラウンドにある)である場合にのみ配信されます。
パラメーター | 説明 |
---|---|
message: any | メッセージ本文。これは文字列またはその他のJSONシリアライズ可能なオブジェクトである必要があります。 古いバージョンのVS Codeでは、`message`に`ArrayBuffer`が含まれている場合、正しくシリアライズされず、ウェブビューによって受信されません。同様に、`Uint8Array`のようなTypedArrayも非常に非効率的にシリアライズされ、ウェブビュー内でTypedArrayとして再作成されることはありません。 ただし、拡張機能が`package.json`の`engines`フィールドでVS Code 1.57以降をターゲットとしている場合、`message`に含まれるすべての`ArrayBuffer`値はウェブビューに効率的に転送され、ウェブビュー内でも正しく再作成されます。 |
戻り値 | 説明 |
Thenable<boolean> | メッセージがウェブビューに投稿されたとき、またはメッセージが配信不能だったためにドロップされたときに解決されるPromise。 メッセージがウェブビューに投稿された場合、`true`を返します。メッセージはアクティブなウェブビュー(つまり、表示されているウェブビュー、または`retainContextWhenHidden`が設定されている非表示のウェブビュー)にのみ投稿できます。 `true`の応答は、メッセージが実際にウェブビューによって受信されたことを意味しません。たとえば、ウェブビュー内にメッセージリスナーがフックされていなかったり、メッセージが投稿された後にウェブビューが破棄されたりして、受信されなかった可能性があります。 メッセージが実際に受信されたことを確認したい場合は、ウェブビューから拡張機能に確認メッセージを投稿させてみてください。 |
WebviewOptions
ウェブビューのコンテンツ設定。
プロパティ
enableCommandUris?: boolean | readonly string[]
ウェブビューコンテンツでコマンドURIが有効になっているかどうかを制御します。
デフォルトは`false`(コマンドURIは無効)です。
配列を渡した場合、配列内のコマンドのみが許可されます。
ウェブビューコンテンツでフォームが有効になっているかどうかを制御します。
スクリプトが有効な場合、デフォルトはtrueです。それ以外の場合はfalseがデフォルトです。このプロパティを明示的にtrueまたはfalseに設定すると、デフォルトが上書きされます。
ウェブビューコンテンツでスクリプトが有効になっているかどうかを制御します。
デフォルトはfalse(スクリプト無効)です。
localResourceRoots?: readonly Uri[]
asWebviewUriからのURIを使用してウェブビューがローカル(ファイルシステム)リソースをロードできるルートパス。
デフォルトは、現在のワークスペースのルートフォルダーと拡張機能のインストールディレクトリです。
空の配列を渡すと、ローカルリソースへのアクセスをすべて禁止します。
portMapping?: readonly WebviewPortMapping[]
Webview内で使用されるlocalhostポートのマッピング。
ポートマッピングにより、Webviewはlocalhostポートがどのように解決されるかを透過的に定義できます。これは、Webview内で静的なlocalhostポートを使用して、サービスが実行されているランダムなポートに解決できるようにするために使用できます。
Webviewがlocalhostコンテンツにアクセスする場合、webviewPort
とextensionHostPort
のポートが同じであっても、ポートマッピングを指定することをお勧めします。
注意: ポートマッピングはhttp
またはhttps
のURLでのみ機能します。WebSocketのURL(例: ws://:3000
)は別のポートにマッピングできません。
WebviewPanel
Webviewを含むパネル。
イベント
onDidChangeViewState: Event<WebviewPanelOnDidChangeViewStateEvent>
パネルのビュー状態が変更されたときに発生します。
onDidDispose: Event<void>
パネルが破棄されたときに発生します。
これは、ユーザーがパネルを閉じたか、パネルで.dispose()
が呼び出されたためである可能性があります。
パネルが破棄された後に使用しようとすると、例外がスローされます。
プロパティ
パネルがアクティブ(ユーザーによってフォーカスされている)であるかどうか。
iconPath?: 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>
vscodeがシャットダウンしたときに永続化されたWebviewパネルを復元します。
Webviewの永続化には2種類あります。
- セッション内での永続化。
- セッション間での永続化(エディターの再起動をまたぐ永続化)。
WebviewPanelSerializer
は2番目のケース、つまりWebviewをセッション間で永続化する場合にのみ必要です。
セッション内での永続化により、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 });
WebviewPanelSerializer
は、エディターの再起動をまたいでこの永続化を拡張します。エディターがシャットダウンすると、シリアライザーを持つすべてのWebviewのsetState
からの状態が保存されます。再起動後にWebviewが最初に表示されると、この状態がdeserializeWebviewPanel
に渡されます。これにより、拡張機能はこの状態から古いWebviewPanel
を復元できます。
メソッド
deserializeWebviewPanel(webviewPanel: WebviewPanel, state: T): Thenable<void>
シリアル化されたstate
からWebviewパネルを復元します。
シリアル化されたWebviewが最初に表示されたときに呼び出されます。
パラメーター | 説明 |
---|---|
webviewPanel: WebviewPanel | 復元するWebviewパネル。シリアライザーはこのパネルの所有権を取得する必要があります。シリアライザーはWebviewの |
state: T | Webviewコンテンツからの永続化された状態。 |
戻り値 | 説明 |
Thenable<void> | Webviewが完全に復元されたことを示すThenable。 |
WebviewPortMapping
Webview内でlocalhostに使用されるポートマッピングを定義します。
プロパティ
宛先ポート。webviewPort
はこのポートに解決されます。
Webview内で再マッピングするlocalhostポート。
WebviewView
Webviewベースのビュー。
イベント
onDidChangeVisibility: Event<void>
ビューの可視性が変更されたときに発生するイベント。
可視性変更をトリガーするアクション
- ビューが折りたたまれたり展開されたりしたとき。
- ユーザーがサイドバーまたはパネルの別のビューグループに切り替えたとき。
コンテキストメニューを使用してビューを非表示にすると、ビューが破棄され、onDidDispose
が代わりに発生することに注意してください。
onDidDispose: Event<void>
ビューが破棄されたときに発生するイベント。
ビューは、ユーザーによって明示的に非表示にされたときに破棄されます(これは、ユーザーがビュー内で右クリックし、Webviewビューのチェックを外す場合に発生します)。
ビューが破棄された後に使用しようとすると、例外がスローされます。
プロパティ
badge?: ViewBadge
このWebviewビューに表示するバッジ。バッジを削除するには、未定義に設定します。
タイトルで目立たないようにレンダリングされる人間が読める文字列。
UIに表示されるビューのタイトル。
ビューのタイトルは、最初は拡張機能のpackage.json
の貢献から取得されます。
'hexEditor.dataView'
のようなWebviewビューのタイプを識別します。
Webviewが現在表示されているかどうかを追跡します。
ビューは、画面に表示され、展開されている場合に可視となります。
webview: Webview
ビューの基になるWebview。
メソッド
show(preserveFocus?: boolean): void
UIにビューを表示します。
ビューが折りたたまれている場合、これにより展開されます。
パラメーター | 説明 |
---|---|
preserveFocus?: boolean |
|
戻り値 | 説明 |
void |
WebviewViewProvider
WebviewView
要素を作成するためのプロバイダー。
メソッド
resolveWebviewView(webviewView: WebviewView, context: WebviewViewResolveContext<unknown>, token: CancellationToken): void | Thenable<void>
Webviewビューを解決します。
resolveWebviewView
は、ビューが最初に表示されたときに呼び出されます。これは、ビューが最初に読み込まれたとき、またはユーザーがビューを非表示にした後、再度表示したときに発生する可能性があります。
パラメーター | 説明 |
---|---|
webviewView: WebviewView | 復元するWebviewビュー。プロバイダーはこのビューの所有権を取得する必要があります。プロバイダーはWebviewの |
context: WebviewViewResolveContext<unknown> | 解決中のビューに関する追加のメタデータ。 |
token: CancellationToken | 提供されているビューが不要になったことを示すキャンセル・トークン。 |
戻り値 | 説明 |
void | Thenable<void> | ビューが完全に解決されたことを示すオプションのThenable。 |
WebviewViewResolveContext<T>
解決中のWebviewビューに関する追加情報。
プロパティ
Webviewコンテンツからの永続化された状態。
リソースを節約するため、エディターは通常、表示されていないWebviewドキュメント(iframeコンテンツ)を解放します。たとえば、ユーザーがビューを折りたたんだり、サイドバーの別のトップレベルのアクティビティに切り替えたりすると、WebviewView
自体はアクティブに保たれますが、Webviewの基になるドキュメントは解放されます。ビューが再び表示されると再作成されます。
WebviewOptions
でretainContextWhenHidden
を設定することで、この動作を防ぐことができます。ただし、これによりリソース使用量が増加するため、可能な限り避けるべきです。代わりに、永続化された状態を使用してWebviewの状態を保存し、必要に応じて迅速に再作成できるようにすることができます。
永続化された状態を保存するには、Webview内で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
設定を表します。これは以下のマージされたビューです。
- 既定の設定
- グローバル (ユーザー) 設定
- ワークスペース設定
- ワークスペース フォルダー設定 - 要求されたリソースが属するワークスペース フォルダーの1つから。
- 言語設定 - 要求された言語で定義された設定。
実効値(getによって返される)は、以下の順序で値を上書きまたはマージすることによって計算されます。
defaultValue
(package.json
で定義されている場合、それ以外の場合は値のタイプから派生)globalValue
(定義されている場合)workspaceValue
(定義されている場合)workspaceFolderValue
(定義されている場合)defaultLanguageValue
(定義されている場合)globalLanguageValue
(定義されている場合)workspaceLanguageValue
(定義されている場合)workspaceFolderLanguageValue
(定義されている場合)
注意: object
型の値のみがマージされ、その他の値の型はすべて上書きされます。
例 1: 上書き
defaultValue = 'on';
globalValue = 'relative';
workspaceFolderValue = 'off';
value = 'off';
例 2: 言語値
defaultValue = 'on';
globalValue = 'relative';
workspaceFolderValue = 'off';
globalLanguageValue = 'on';
value = 'on';
例 3: オブジェクト値
defaultValue = { a: 1, b: 2 };
globalValue = { b: 3, c: 4 };
value = { a: 1, b: 3, c: 4 };
注意: ワークスペースとワークスペースフォルダーの設定には、launch
とtasks
の設定が含まれます。これらのベース名はセクション識別子の一部となります。次のスニペットは、launch.json
からすべての設定を取得する方法を示しています。
// launch.json configuration
const config = workspace.getConfiguration(
'launch',
vscode.workspace.workspaceFolders[0].uri
);
// retrieve values
const values = config.get('configurations');
詳細については、設定を参照してください。
メソッド
この設定から値を返します。
パラメーター | 説明 |
---|---|
section: string | 設定名、ドット区切り名をサポートします。 |
戻り値 | 説明 |
T | 値 |
get<T>(section: string, defaultValue: T): T
この設定から値を返します。
パラメーター | 説明 |
---|---|
section: string | 設定名、ドット区切り名をサポートします。 |
defaultValue: T | 値が見つからない場合は、 |
戻り値 | 説明 |
T | 値 |
この設定に特定の値があるかどうかを確認します。
パラメーター | 説明 |
---|---|
section: string | 設定名、ドット区切り名をサポートします。 |
戻り値 | 説明 |
boolean | セクションが |
inspect<T>(section: string): {defaultLanguageValue: T, defaultValue: T, globalLanguageValue: T, globalValue: T, key: string, languageIds: string[], workspaceFolderLanguageValue: T, workspaceFolderValue: T, workspaceLanguageValue: T, workspaceValue: T}
設定に関するすべての情報を取得します。設定値は、多くの場合、デフォルト値、グローバルまたはインストール全体の値、ワークスペース固有の値、フォルダー固有の値、および言語固有の値(WorkspaceConfigurationが言語にスコープされている場合)で構成されます。
また、指定された設定が定義されているすべての言語IDも提供します。
注: 設定名は設定ツリーのリーフを示す必要があります (editor.fontSize
とeditor
を比較) そうでない場合、結果は返されません。
パラメーター | 説明 |
---|---|
section: string | 設定名、ドット区切り名をサポートします。 |
戻り値 | 説明 |
{defaultLanguageValue: T, defaultValue: T, globalLanguageValue: T, globalValue: T, key: string, languageIds: string[], workspaceFolderLanguageValue: T, workspaceFolderValue: T, workspaceLanguageValue: T, workspaceValue: T} | 設定に関する情報、または |
update(section: string, value: any, configurationTarget?: boolean | ConfigurationTarget, overrideInLanguage?: boolean): Thenable<void>
設定値を更新します。更新された設定値は永続化されます。
値は以下で変更できます。
- グローバル設定: エディターのすべてのインスタンスの値を変更します。
- ワークスペース設定: 利用可能な場合、現在のワークスペースの値を変更します。
- ワークスペースフォルダー設定: 要求されたリソースが属するワークスペースフォルダーのいずれかからの設定値を変更します。
- 言語設定: 要求されたlanguageIdの値を変更します。
注: 設定値を削除するには、undefined
を使用します。例: config.update('somekey', undefined)
- スロー - 更新中のエラー
- 登録されていない設定。
- ウィンドウ設定からワークスペースフォルダーへ
- ワークスペースが開かれていない場合のワークスペースまたはワークスペースフォルダーへの設定。
- ワークスペースフォルダー設定がない場合のワークスペースフォルダーへの設定。
- WorkspaceConfigurationがリソースにスコープされていない場合のワークスペースフォルダーへの設定。
パラメーター | 説明 |
---|---|
section: string | 設定名、ドット区切り名をサポートします。 |
value: any | 新しい値。 |
configurationTarget?: boolean | ConfigurationTarget | 設定ターゲットまたはブール値。 - |
overrideInLanguage?: boolean | 要求されたlanguageIdのスコープで値を更新するかどうか。 - |
戻り値 | 説明 |
Thenable<void> |
WorkspaceEdit
ワークスペース編集は、複数のリソースとドキュメントに対するテキストおよびファイル変更のコレクションです。
ワークスペース編集を適用するには、applyEdit関数を使用します。
コンストラクタ
new WorkspaceEdit(): WorkspaceEdit
パラメーター | 説明 |
---|---|
戻り値 | 説明 |
WorkspaceEdit |
プロパティ
テキストまたはリソースの変更によって影響を受けるリソースの数。
メソッド
createFile(uri: Uri, options?: {contents: Uint8Array | DataTransferFile, ignoreIfExists: boolean, overwrite: boolean}, metadata?: WorkspaceEditEntryMetadata): void
通常のファイルを作成します。
パラメーター | 説明 |
---|---|
uri: Uri | 新しいファイルのUri。 |
options?: {contents: Uint8Array | DataTransferFile, ignoreIfExists: boolean, overwrite: boolean} | 既存のファイルを上書きするか、無視するかを定義します。 |
metadata?: WorkspaceEditEntryMetadata | エントリのオプションのメタデータ。 |
戻り値 | 説明 |
void |
delete(uri: Uri, range: Range, metadata?: WorkspaceEditEntryMetadata): void
指定された範囲のテキストを削除します。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子です。 |
range: Range | 範囲。 |
metadata?: WorkspaceEditEntryMetadata | エントリのオプションのメタデータ。 |
戻り値 | 説明 |
void |
deleteFile(uri: Uri, options?: {ignoreIfNotExists: boolean, recursive: boolean}, metadata?: WorkspaceEditEntryMetadata): void
ファイルまたはフォルダーを削除します。
パラメーター | 説明 |
---|---|
uri: Uri | 削除するファイルのuri。 |
options?: {ignoreIfNotExists: boolean, recursive: boolean} | |
metadata?: WorkspaceEditEntryMetadata | エントリのオプションのメタデータ。 |
戻り値 | 説明 |
void |
entries(): Array<[Uri, TextEdit[]]>
リソース別にグループ化されたすべてのテキスト編集を取得します。
has(uri: Uri): boolean
リソースのテキスト編集が存在するかどうかを確認します。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子です。 |
戻り値 | 説明 |
boolean | 指定されたリソースがこの編集によって変更される場合は |
insert(uri: Uri, position: Position, newText: string, metadata?: WorkspaceEditEntryMetadata): void
指定された位置に指定されたテキストを挿入します。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子です。 |
position: Position | 位置。 |
newText: string | 文字列です。 |
metadata?: WorkspaceEditEntryMetadata | エントリのオプションのメタデータ。 |
戻り値 | 説明 |
void |
renameFile(oldUri: Uri, newUri: Uri, options?: {ignoreIfExists: boolean, overwrite: boolean}, metadata?: WorkspaceEditEntryMetadata): void
ファイルまたはフォルダーの名前を変更します。
パラメーター | 説明 |
---|---|
oldUri: Uri | 既存のファイル。 |
newUri: Uri | 新しい場所です。 |
options?: {ignoreIfExists: boolean, overwrite: boolean} | 既存のファイルを上書きするか無視するかを定義します。上書きとignoreIfExistsの両方が設定されている場合、上書きが優先されます。 |
metadata?: WorkspaceEditEntryMetadata | エントリのオプションのメタデータ。 |
戻り値 | 説明 |
void |
replace(uri: Uri, range: Range, newText: string, metadata?: WorkspaceEditEntryMetadata): void
指定されたリソースについて、指定された範囲を指定されたテキストで置換します。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子です。 |
range: Range | 範囲。 |
newText: string | 文字列です。 |
metadata?: WorkspaceEditEntryMetadata | エントリのオプションのメタデータ。 |
戻り値 | 説明 |
void |
set(uri: Uri, edits: ReadonlyArray<TextEdit | SnippetTextEdit>): void
リソースのテキスト編集またはスニペット編集を設定(および置換)します。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子です。 |
edits: ReadonlyArray<TextEdit | SnippetTextEdit> | 編集の配列。 |
戻り値 | 説明 |
void |
set(uri: Uri, edits: ReadonlyArray<[TextEdit | SnippetTextEdit, WorkspaceEditEntryMetadata]>): void
リソースのメタデータ付きテキスト編集またはスニペット編集を設定(および置換)します。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子です。 |
edits: ReadonlyArray<[TextEdit | SnippetTextEdit, WorkspaceEditEntryMetadata]> | 編集の配列。 |
戻り値 | 説明 |
void |
set(uri: Uri, edits: readonly NotebookEdit[]): void
リソースのノートブック編集を設定(および置換)します。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子です。 |
edits: readonly NotebookEdit[] | 編集の配列。 |
戻り値 | 説明 |
void |
set(uri: Uri, edits: ReadonlyArray<[NotebookEdit, WorkspaceEditEntryMetadata]>): void
リソースのメタデータ付きノートブック編集を設定(および置換)します。
パラメーター | 説明 |
---|---|
uri: Uri | リソース識別子です。 |
edits: ReadonlyArray<[NotebookEdit, WorkspaceEditEntryMetadata]> | 編集の配列。 |
戻り値 | 説明 |
void |
WorkspaceEditEntryMetadata
ワークスペース編集のエントリに関する追加データ。エントリにラベルを付けたり、ユーザーによる確認が必要なエントリとしてマークしたりすることをサポートします。エディターは、同じラベルを持つ編集をツリーノードにグループ化します。たとえば、「文字列の変更」とラベル付けされたすべての編集はツリーノードになります。
プロパティ
同じ行で目立たないようにレンダリングされる人間が読める文字列。
iconPath?: IconPath
編集のアイコンパスまたはThemeIcon。
目立つようにレンダリングされる人間が読める文字列。
ユーザー確認が必要であることを示すフラグ。
WorkspaceEditMetadata
ワークスペース編集に関する追加データ。
プロパティ
この編集がリファクタリングであることをエディタに通知します。
WorkspaceFolder
ワークスペースフォルダーは、エディターで開かれている可能性のある多数のルートの1つです。すべてのワークスペースフォルダーは同等であり、アクティブまたはプライマリなワークスペースフォルダーという概念はありません。
プロパティ
このワークスペースフォルダーの序数。
このワークスペースフォルダーの名前。uriパスのベース名がデフォルトです。
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でシンボルが選択されるたびに呼び出されます。プロバイダーはこのメソッドを実装し、provideWorkspaceSymbolsから不完全なシンボルを返すことができます。これはパフォーマンスの向上に役立つことがよくあります。
パラメーター | 説明 |
---|---|
symbol: T | 解決されるべきシンボル。 |
token: CancellationToken | キャンセルトークン。 |
戻り値 | 説明 |
ProviderResult<T> | 解決されたシンボル、またはそれに解決されるthenable。結果が返されない場合、与えられた |
APIパターン
これらは、VS Code APIで使用される一般的なパターンのいくつかです。
Promise
VS Code APIは、非同期操作をPromiseで表現します。拡張機能からは、ES6、WinJS、A+など、あらゆる種類のPromiseを返すことができます。
特定のPromiseライブラリに依存しないことは、APIではThenable
型で表現されます。Thenable
は、thenメソッドという共通の分母を表します。
ほとんどの場合、Promiseの使用はオプションであり、VS Codeが拡張機能を呼び出す場合、結果タイプだけでなく、結果タイプのThenable
も処理できます。Promiseの使用がオプションである場合、APIはor
型を返すことでこれを示します。
provideNumber(): number | Thenable<number>
キャンセル・トークン
多くの場合、操作は一時的な状態から開始され、操作が完了する前に状態が変化します。たとえば、IntelliSenseの計算が開始され、ユーザーが入力し続けると、その操作の結果は陳腐化します。
このような動作にさらされるAPIには、CancellationToken
が渡されます。これを使用してキャンセルを確認(isCancellationRequested
)したり、キャンセルが発生したときに通知を受け取ったり(onCancellationRequested
)することができます。キャンセル・トークンは通常、関数呼び出しの最後のパラメーターであり、オプションです。
Disposable
VS Code APIは、VS Codeから取得されるリソースに対してdisposeパターンを使用します。これは、イベントリスニング、コマンド、UIとのやり取り、およびさまざまな言語の貢献に適用されます。
例えば、setStatusBarMessage(value: string)
関数はDisposable
を返し、dispose
を呼び出すとメッセージが再度削除されます。
イベント
VS Code APIのイベントは、購読するためにリスナー関数を呼び出す関数として公開されています。購読の呼び出しはDisposable
を返し、dispose
でイベントリスナーが削除されます。
var listener = function(event) {
console.log('It happened', event);
};
// start listening
var subscription = fsWatcher.onDidDelete(listener);
// do more stuff
subscription.dispose(); // stop listening
イベントの名前は、on[Will|Did]VerbNoun?
パターンに従います。名前は、イベントが発生する前(onWill)か、既に発生した(onDid)か、何が起こったか(verb)、そしてコンテキストから明白でない場合はコンテキスト(noun)を示します。
VS Code APIの例としては、window.onDidChangeActiveTextEditor
があります。これは、アクティブなテキストエディター(noun)が変更された(onDid)ときに発生する(verb)イベントです。
厳密なnull
VS Code APIは、厳密なnullチェックをサポートするために、適切な場所でundefined
およびnull
のTypeScript型を使用しています。
認証の名前空間。