Perspective is a minor mode that provides the ability to manage different workspaces. If you need to open many projects at the same time, perspective can help you keep each project related buffers and windows setting separate from other projects, similar to multiple spaces on MacOS, which allows you to focus on the files of the current active project.
A picture says a thousand words. See below screenshot to get a concrete idea.
Only current project related files showing in minibuffer when I call
ido-switch-buffer, and an indicator in mode line tells me which
project that I'm in.
When I switch to a different project, I get a clean 'perspective'.
To integrate perspective with Projectile, first of all, you need to install perspective. You can install it by:
Alternatively, users of Debian 9 or later or Ubuntu 16.04 or later can
apt-get install elpa-persp-projectile.
perspective in the minibuffer, as below:
Install package: perspective
Secondly, make sure
persp-projectile.el is in your Emacs load path. Then require it in your init file.
(persp-mode) (require 'persp-projectile)
You're ready to go! Try the interactive command
projectile-persp-switch-project, or you may also bind it to some
(define-key projectile-mode-map (kbd "s-s") 'projectile-persp-switch-project)