VS代码扩展:如何访问串口?

时间:2016-12-02 09:53:14

标签: visual-studio-code serial-port vscode-extensions

我正在为嵌入式Forth编写VS Code扩展。由于Forth的性质,必须在目标系统上进行任何调试。因此,我需要通过串口与它通信。

我开始使用一个简单的扩展命令,它只列出系统中可用的串行端口。不幸的是,这第一步失败了,因为虽然VS Code扩展类作为节点模块运行,但它们不能使用任何预编译代码(可能是DLL)。

错误消息显示:"激活扩展程序jvavruska.forth-studio失败:%1不是有效的Win32应用程序。" (当我不导入serialport模块时,这会消失)

有没有办法克服这个限制?

以下是我的extension.js。它使用从NPM安装的serialport@4.0.6。我的本地节点版本是6.9.1 64位。

let vscode = require('vscode');
let serial = require('serialport');

function activate(context) {

    console.log('Congratulations, your extension "forth-studio" is now active!');
    let disposable = vscode.commands.registerCommand('extension.showCommPorts', function () {
        serial.list( onResult );
        function onResult( data ) {
            if( data.length === 0 ) {
                vscode.window.showInformationMessage('NO SERIAL PORTS AVAILABLE');
            }
            else { 
                let list = [] ;
                for( let port of data ) {
                    list.push( port.commName );
                }
                vscode.window.showInformationMessage('Serial ports: ', list.join(', '));
            }
        }
    });
    context.subscriptions.push(disposable);
}
exports.activate = activate;
function deactivate() {
}
exports.deactivate = deactivate;

我试图在VS Code文档中找到一些东西,但它主要声明扩展是可能的,除了简短的指令如何创建一个空的存根扩展,它没有解释太多。我迷路了。

0 个答案:

没有答案