API 从扩展文件夹打开文件

API to open file from extension folder

我想将一个 DLL 文件嵌入到 VS Code 扩展中,并在激活扩展时在运行时打开它。

我可以轻松地将 DLL 文件包含到 vsix 扩展中,但想知道如何在运行时访问它。

虽然扩展调试当前目录是 'C:\Program Files\Microsoft VS Code'

我想我可以打开访问文件,如果我可以获得当前执行目录然后附加路径,如

var cwd = GetCurrentWorkingDirectory(); //to be found out
var dllPath = vscode.Uri.file(cwd+'\resources\app\extensions\myextension\dist');

是否有 VS Code 扩展 API 可以提供当前扩展根目录或 VS Code 安装目录?

Extension Path可以通过传给activate函数的context对象获取; context.extensionPath 是一个字符串或 context.extensionUri

或者,

env.appRoot

可以这样访问

var cwd = vscode.env.appRoot;

映射到 VS Code\resources\app

如果系统安装C:\Program Files\Microsoft VS Code\resources\app

如果用户安装%LOCALAPPDATA%\Programs\Microsoft VS Code\resources\app