Shell脚本打开VS代码,然后脚本在VS代码终端中运行

eqzww0vc  于 2023-10-23  发布在  Shell
关注(0)|答案(1)|浏览(163)

我有多个仓库。每次手动运行它们都很麻烦。我想在Linux(Ubuntu 22.04.3 LTS)中创建一个shell脚本,以自动运行我的全栈应用程序。有没有可能创建这样的脚本?

# In Linux Terminal
cd backend
code .

# After opening the VS Code, script should open integrated terminal
# And in VS Code terminal, it should run these commands.
source virtual-env/bin/activate
python3 manage.py runserver

# This script runs again in Linux Terminal
cd ..
cd frontend
code .

# This script runs in VS Code Terminal
ng serve --open

可选:如何创建一个可执行文件,当单击该文件时,它将运行此脚本,而不必将其复制并粘贴到终端中?

mw3dktmi

mw3dktmi1#

这个剧本为我工作。首选是xdotool。

sudo apt-get install xdotool

RunServer.sh

cd backend
code . &
sleep 2
# Maximize the VS Code Window
xdotool key Super_L+Up & 
sleep 2
# Open New VS Code Integrated Terminal
xdotool key Control_L+asciitilde &
sleep 2
xdotool type "python3 manage.py runserver" && xdotool key Return &

cd ..
cd frontend
code . &
sleep 2
xdotool key Super_L+Up &
sleep 2
xdotool key Control_L+asciitilde &
sleep 5
xdotool type "ng serve --open" && xdotool key Return

可选:

1.您可以根据您的目录修改此脚本,并添加命令来运行虚拟环境。
1.我在Nautilus(Ubuntu文件管理器)的上下文菜单中添加了一个“运行脚本”选项。
参考此answer.

/usr/share/applications/run-script.desktop
[Desktop Entry]
Name=Run Script
Exec=gnome-terminal -e "%U"
Terminal=false
Type=Application
MimeType=text/plain;application/x-shellscript;

缺点:

1.打开VS Code所需的时间因PC和Repository而异,因此有些人可能需要调整睡眠时间。

编辑:(更健壮的脚本)

code /home/user/Desktop/frontend
code /home/user/Desktop/backend

gnome-terminal --maximize -- bash -c "cd /home/user/Desktop/frontend;pwd;ng serve;exec bash"
gnome-terminal --maximize -- bash -c "cd /home/user/Desktop/backend; source .venv/bin/activate;pwd;python3 manage.py runserver;exec bash"

相关问题