【问题标题】:API to open file from extension folderAPI 从扩展文件夹中打开文件
【发布时间】:2020-08-13 00:24:40
【问题描述】:

我想在 VS Code 扩展程序中嵌入一个 DLL 文件,并在扩展程序被激活时打开它。

我可以轻松地将 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 安装目录?

【问题讨论】:

  • GL 从扩展运行 DLL 代码。 VSC 只运行 JavaScript。
  • 谢谢。 VSC 建立在支持这一点的电子之上。我得到了它的工作。

标签: visual-studio-code vscode-extensions


【解决方案1】:

扩展路径可以通过传递给激活函数的上下文对象获取; 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

【讨论】:

  • 或者,条目activate(context: vscode.ExtensionContext) 为您提供context 对象。有了它,您可以随时调用asAbsolutePath() 将相对路径(到扩展安装文件夹)转换为您想要的完整路径。
  • 您是说context.extensionPath 还是context.extensionUri? asAbsolutePath 正在显示我不感兴趣的调试路径
猜你喜欢
  • 1970-01-01
  • 2012-06-14
  • 2012-09-21
  • 2013-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多