我正在尝试开发我的VSC扩展程序(Visual Studio Code)。
我们这里有一些应用程序在启动时有命令行输入,我们可以在那里写一些命令,如在任何终端,并获得各种结果。该程序支持内部编程语言,我们可以按照我们需要的方式对其进行修改。但是通过标准安装,我们将Emacs作为开发工具,因此我们希望将扩展写入VSC。这是第一个问题!
我试图通过节点的child_process生成或execFile,但我无法获得stdin流。在程序启动并加载之后,尝试使用某种错误来获取stdin和faild:&#34; ASCII&#34; readFromConsole:重定向终端i / o失败,最后一次错误109&#34; 。< / p>
但是如果我们从cmd启动这个程序它可以正常工作,我们可以将命令写入cmd。
我试过&#34;产生&#34;使用&#39; pipe&#39;方法或&#39; IPC&#39;。使用&#39; IPC&#39;方法进程没有关闭但没有使用subprocess.send()接收任何数据。管道方法或“忽略”#39;在应用程序加载后崩溃。
我希望我能从你这些人那里得到一些代码示例,这有助于我理解如何正确使用stdin流。在我看来,node.js进程只是在执行程序后关闭它的流。所以也许一些代码示例如何从控制台读取,等待输入并保持stdin活着,直到我的应用程序或扩展程序自行关闭。
最诚挚的问候, 格雷格。