在VS Code扩展中使用集成终端

问题描述 投票:2回答:1

有许多命令与VS Code提供的Integrated Terminal有关。在我的扩展中,我能够打开它并使用workbench.action.terminal.focus集中注意力,但是在其中运行命令似乎很难通过runSelectedText来完成。理想情况下,我希望能够直接运行命令而无需使用中间文档来模拟选择并能够读取其结果。

我发现MainThreadTerminalService似乎提供了我想要的东西,但我不知道如何,如果我甚至可以使用扩展中的那个。扫描node_modules/vscode/vscode.d.ts终端没有产生任何结果,所以我认为它还不可能。

使用TerminalPasteAction来运行命令似乎是一个选项,但我首先必须将命令放入剪贴板,并且似乎没有一种好的方法来听取结果。

我知道我可以运行子进程并听取它的标准输出和错误,但是由于VS Code提供了集成的终端窗口,如果用户可以看到命令,因为它们在我独有的独立集成终端选项卡中运行会很好延期。这可能吗?那将会?

visual-studio-code vscode-extensions
1个回答
3
投票

检查这个线程https://github.com/Microsoft/vscode/issues/9957

显然,API是有限的,但你有

CreateTerminal(name?: string): Terminal
interface Terminal {
   name:string;
   runCommand(cmd:string)
   show(preserveFocus: boolean): void
   hide(): void;
   dispose(): void;
}
© www.soinside.com 2019 - 2024. All rights reserved.