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

Jos*_*yck 8 shell terminal package.json visual-studio-code

问题

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

我的用例

我正在启动我的应用程序,我希望在构建完成时客户端日志和服务器端日志在单独的集成终端窗口中并排打开。

我不寻找什么

我已经看到了很多从 VSCode 设置/UI/按键命令/命令调色板中打开新 VSCode 终端选项卡的方法,但我特别需要一种使用 shell 脚本来完成此操作的方法。

谢谢!

小智 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" 
Run Code Online (Sandbox Code Playgroud)

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