如何使用 shell 脚本在 VSCode 集成终端中打开一个新的终端选项卡?

8

问题

我看到过很多使用外部终端应用程序(如 macOS 终端应用程序或 iTerm)使用 shell 脚本或 Apple Script 打开新的终端“选项卡/窗格/视图”,但是否有可能编写一个脚本,在当前工作区打开两个不同的 VS Code 集成终端“选项卡/窗格/视图”?

我的用例

当构建完成时,我想要客户端日志和服务器端日志在分别的集成终端窗口中并排打开。

我不需要的内容

我看到了许多方法可以在 VSCode 设置/UI/快捷键/命令面板中打开新的 VSCode 终端选项卡,但我特别需要一种使用 shell 脚本来实现它的方法。

谢谢!


你找到解决方案了吗? - Ced
@Ced,目前我只是使用VSCode任务,它可以完全访问在VSCode内部打开终端窗格。虽然它不像使用CLI那样强大或灵活,但现在它能够工作。请参见https://code.visualstudio.com/docs/editor/tasks#_output-behavior - Joshua Dyck
1个回答

0

我刚刚遇到了同样的问题,我找到了一个可能适用于你的解决方案。

在我的情况下,我通过 npm run my_scenario 运行此脚本,它会在一侧终端上执行某些操作,然后返回执行 react-scripts start 或其他命令。

为了实现这一点,我使用了 xdotool 来模拟快捷键按键。

#!/bin/bash
active_window_id=$(xdotool search --onlyvisible --class "code" | tail -1)
xdotool windowactivate "$active_window_id" && xdotool key ctrl+shift+5
sleep 1
new_terminal_tab_id=$(xdotool search --onlyvisible --class "terminal" | tail -1)
xdotool type --window "$new_terminal_tab_id" "echo Hello, World!"
#return to the previous terminal
xdotool windowactivate "$active_window_id" 

我并不是很喜欢这个解决方案,如果你能找到更优雅的方式,请告诉我。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接