从VS Code扩展包中的另一个包(针对Azure Data Studio)导入模块时,我无法使用标准的“ require”语句。我目前正在“激活”功能的开头进行调用,之前没有其他逻辑。
我确实收到一条不错的错误消息:
“错误:动态链接库(DLL)初始化例程失败。”
我要导入的模块来自JDBC,显然我无法加载所需的库,但是我不明白为什么。
我在想可能是问题所在。
扩展输出中未导出(包括)某些内容,因此当Azure Data Studio的新实例启动时,缺少某些依赖项。
不允许在“激活”功能内导入动态链接库,这实际上是为了与扩展上下文和/或VS Code API提供的其他功能进行交互。不知道为什么会这样。
我真的希望它更接近(1)。
我创建了一个简单的控制台应用程序,安装了相同的程序包并运行了相同的代码,并且可以正常工作。这就是为什么我希望并相信这是一个包装问题,在安装扩展程序时会丢失某些东西。
try {
var jinst = require('jdbc/lib/jinst'); // <-- This fails when activating the extention
if (!jinst.isJvmCreated()) {
//Setup stuff..
}
}
catch (error) {
console.error(error);
}
我的依赖项(package.json)。
"dependencies": {
"java": "^0.11.0",
"jdbc": "^0.6.3"
}
答案 0 :(得分:0)
在开发VS Code扩展时,导入需要本地功能(即加载二进制文件)的模块似乎是不可行的。