javascript 如何在自定义VSCode扩展中调用NodeJS脚本?

lndjwyie  于 12个月前  发布在  Java
关注(0)|答案(1)|浏览(87)

在我的一个项目中,我创建了一个NodeJS脚本。现在我想创建一个VSCode扩展。
如何将此脚本链接到我的自定义扩展中的命令?
该脚本应包含在扩展包中。
我尝试从终端运行脚本,但它无法从我的包中加载脚本。

const terminal = vscode.window.createTerminal( 'My Node Script' );
terminal.show();
terminal.sendText( 'npm run myscript', true );

字符串
我如何才能做到这一点?

--更新02/01/2024

x1c 0d1x的数据
只要我将Git bash设置为Windows中的默认终端,彩色输出似乎就可以工作,但我不想显示终端中显示的实际echo命令。
基本上,我运行的脚本是这样的:

- Blue color log line: Starting script..
 - Terminal command: abc
 - Blue color log line: Completed step 1
 - Terminal command: xyz
 - Blue color log line: Completed step 2
 - .. etc etc
 - Green color log line: Completed


使用终端命令和echo命令,最好从输出中隐藏,因为它看起来像这样:



当它等待脚本运行的命令时,它实际上显示脚本完全完成,但当脚本到达下一部分时,它会继续发送更多命令(sendText())。
所以脚本不是在单个终端执行中执行的
我希望达到的目标:

我得到的最接近的是从https://askubuntu.com/a/1384471使用sendTerminal( 'stty -echo' )。它不再显示输入文本,但仍然显示换行符,并在每个命令后返回终端。

a64a0gku

a64a0gku1#

我终于找到了解决办法

通过将Node脚本作为命令包含到扩展中,然后创建一个新的终端,使用child_process运行命令并将彩色输出文本发送到终端。
要使终端日志看起来类似于运行Node脚本,并以颜色显示,请参见下文。


的数据
使用stty -echo不显示命令输入字符
https://askubuntu.com/a/1384471
使用export PS1=''不显示提示头
https://askubuntu.com/a/16729/1569633
使用echo -n(和-e用于颜色)echo处理文本时,以避免追加新行

相关问题