我可以从Webview执行可执行文件吗?

时间:2018-10-23 14:22:52

标签: visual-studio-code vscode-extensions

是否可以从Web视图执行可执行文件(.bat / .sh)?我在Web视图上有一个按钮,单击该按钮后想运行可执行文件。我查看了window.open(...)和ActiveXObject(),但是由于Webview不是浏览器窗口,因此它们是无关紧要的。

3 个答案:

答案 0 :(得分:1)

您可以通过提供执行脚本的命令,然后创建一个使用WebView中的命令URI运行该命令的链接来实现此目的。

让我们调用命令my.ext.runScript。然后,我们可以在Web视图中添加:

<a href="command:my.ext.runScript">Run Script</a>

单击该链接将调用脚本。

编辑:Example

编辑2:您还可以将消息从Web视图传递到扩展程序以调用命令-documentation here

祝你好运!

答案 1 :(得分:0)

我相信这是不可能的。 Web视图中没有任何浏览器或Node.js环境。同样出于安全原因,除了显示HTML内容外,Webview的功能也很有限。

答案 2 :(得分:0)

我找到了办法。 Webview使用postMessage函数使用vscode api与您的节点env通信。在节点env中,您可以生成并处理子进程。 文件:

  1. VSCode postMessage
  2. Node childProcess

编辑1: 示例:VSCode Extension Tutorial

让我知道您是否需要进一步的帮助。谢谢(: