diff --git a/src/vs/vscode.d.ts b/src/vs/vscode.d.ts index 3e35c909840db..60a7c72896f70 100644 --- a/src/vs/vscode.d.ts +++ b/src/vs/vscode.d.ts @@ -8277,6 +8277,17 @@ declare module 'vscode' { */ export const remoteName: string | undefined; + /** + * The authority part of the current opened `vscode-remote://` URI. + * Defined by extensions, e.g. `ssh-remote+${host}` for remotes using a secure shell. + * + * *Note* that the value is `undefined` when there is no remote extension host but that the + * value is defined in all extension hosts (local and remote) in case a remote extension host + * exists. Use {@link Extension.extensionKind} to know if + * a specific extension runs remote or not. + */ + export const remoteAuthority: string | undefined; + /** * The detected default shell for the extension host, this is overridden by the * `terminal.integrated.shell` setting for the extension host's platform. Note that in diff --git a/src/vs/workbench/api/common/extHost.api.impl.ts b/src/vs/workbench/api/common/extHost.api.impl.ts index 246b61c74e138..23e9e99b57dba 100644 --- a/src/vs/workbench/api/common/extHost.api.impl.ts +++ b/src/vs/workbench/api/common/extHost.api.impl.ts @@ -332,6 +332,9 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I get remoteName() { return getRemoteName(initData.remote.authority); }, + get remoteAuthority() { + return initData.remote.authority; + }, get uiKind() { return initData.uiKind; }