需求
在使用 VSCode 的时候,经常会有切换不同项目的需求,可以使用 C-r
快捷键来进行切换,效果如下。
切换项目之后,原来项目中打开的文件会自动关闭,新打开的项目会保持和上次关闭时候的内容一致。想了解 Emacs 中是否有这类可以快速切换项目的插件。
在使用 VSCode 的时候,经常会有切换不同项目的需求,可以使用 C-r
快捷键来进行切换,效果如下。
切换项目之后,原来项目中打开的文件会自动关闭,新打开的项目会保持和上次关闭时候的内容一致。想了解 Emacs 中是否有这类可以快速切换项目的插件。
M-x project-switch-project
默认快捷键 C-x p p
不是程序员,没深入研究过 project.el(Emacs 内置插件,无需单独安装),高级用法不知道。
以上是我唯一用到的切换 git repo 的方法。
感谢,确实很符合需求。
这个dashboard 请问是用了什么插件呢?大致查了下,是 GitHub - emacs-dashboard/emacs-dashboard: An extensible emacs dashboard 这个插件吗?
要同时管理多个项目吗? 像 doom-emacs 一个 project 一个 workspace 是比较好的做法。而且这套方案使用裸奔 emacs 就能搭建,C-x t p p 在新的 Tab 打开 Project,这样一个 Tab 限定一个 Project,在一个 tab 里面使用 C-x p 前缀键来打开 project file / 切换 project buffer / 打开 project-shell。最后把难用的 tab-next / tab-previous 重新映射下,一个按键就前后切换 project 。
而且裸奔 Emacs的 project.el 在项目管理这块就完爆其他产品。很多产品的项目管理就是切个目录树,而像索引窗口,shell,报错窗口等基础措施是全局使用的,而 emacs 则可以做到完全隔绝,即使同一个 project 搞出好几个不同的 counsel-rg / ggtags / lsp-xref,也不会影响其他 project.
可视化操作,可以参考下,Centaur Emacs: 动态的 recent projects 显示在 dashboard 中的 Project 分栏。
侧边栏显示固定的项目 (可以自行排序) 用Treemacs 以及辅助的 treemacs-projectile,treemacs-magit 等来管理:示例中只给出了 .emacs.d 这个项目,更多的你可以自己添加进行管理。