Visual Studio Code 支持通过code
CLI 工具启动自身的实例。您可以执行以下操作:
$ code /Users/username/projects/dotfiles
它将打开带有相应项目的 VS Code。由于 VS Code 只是一个 Electron 应用程序,这会产生许多单独的进程,父进程匹配如下内容:
/Applications/Visual Studio Code.app/Contents/MacOS/Electron /Users/username/projects/dotfiles
所以似乎我有一种方法可以从它的路径参数中识别 IDE 进程。但是,当我尝试以相同的方式启动另一个项目时,比如说......
$ code /Users/username/projects/work
该路径参数不会出现其他进程。它仍然只显示第一个 ( projects/dotfiles
),即使在不同的窗口中打开了两个工作区。
最终,我希望能够通过 bash/CLI 关闭/终止单个项目 IDE 窗口。是否有某种方法可以在新进程中启动第二个 VS Code 项目,使其路径显示为 中的命令参数ps
,因此可以独立于其他项目被杀死?
您可以使用以下几个命令找到 PID 与项目的关联:
$ lsof | grep state.vscdb
Electron 349 username 63u REG 1,4 20480 551122 /Users/username/Library/Application Support/Code/User/workspaceStorage/9db2e998b18618ec427ec85178a324e6/state.vscdb
# 349 being PID
$ cd "/Users/username/Library/Application Support/Code/User/workspaceStorage/9db2e998b18618ec427ec85178a324e6"
$ sqlite3 state.vscdb "select * from ItemTable;" | grep "debug.selectedroot.*launch.json"
debug.selectedroot|file:///Users/username/projects/dotfiles/.vscode/launch.json
# /Users/username/projects/dotfiles is project folder
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句