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

zfycwa2u  于 2023-05-18  发布在  Shell
关注(0)|答案(1)|浏览(202)

提问

我见过很多方法来使用外部终端应用程序(如macOS终端应用程序或iTerm)打开新终端“tab/pane/view”,但是否可以编写一个脚本,在当前工作区中打开两个不同的VS Code集成终端“tab/pane/view”?

我的用例

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

我不寻找的

我已经看到了很多从VSCode settings/UI/keycommands/command palette中打开新的VSCode终端选项卡的方法,但我特别需要一种使用shell脚本的方法。
谢谢!

s1ag04yj

s1ag04yj1#

我刚刚遇到了同样的问题,我找到了一个可能的解决方案,可能对你有用。在我的例子中,我通过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"

我真的不喜欢这个解决方案,如果你能找到更优雅的方法,请让我知道。

相关问题