Emacs. Пакет otpp
2025-02-03
·
2 мин. для прочтения
Emacs. Пакет otpp.
Содержание
1 Общая информация
- Автоматическое создание вкладки для каждого проекта, обеспечивающее управление рабочим пространством на основе панели вкладок для Emacs.
- Репозиторий: https://github.com/abougouffa/one-tab-per-project
2 Базовое использование
- При переходе на проект
project-switch-project
(C-x p p
) создаётся вкладка с именем проекта. - Когда вы закрываете проект со всеми его буферами с
project-kill-buffers
, вкладка тоже закрывается.- Допустим, вы перешли на проект
/home/user/project1/backend/
,otpp
создаст вкладку с именемbackend
для этого конкретного проекта. - Теперь вы открыли второй проект
/home/user/project2/backend/
,otpp
обнаружит, что название у проекта (backend
) такое же, как у ранее открытого, но у него другой путь. - В этом случае,
otpp
создаст вкладку с именемbackend[project2]
и переименует ранее открытую вкладку вbackend[project1]
.
- Допустим, вы перешли на проект
- Для некоторых случаев вам может потребоваться прикрепить вкладку вручную (
tab-bar-new-tab
) для открытого проекта, чтобы у вас было две вкладки, для одного и тот же проект.- В этом случай, вы можете вызвать команду
otpp-change-tab-root-dir
и выберите каталог проекта.
- В этом случай, вы можете вызвать команду
- Когда вы используете команды для перехода к файлу (
find-file
,xref-find-definitions
и т. д.), вы можете получить буфер, принадлежащий другому проект (допустимB
), но этот буфер будет отображаться во вкладке текущего проекта (A
).- В этом случае вы можете вызвать команду
otpp-detach-buffer-to-tab
.
- В этом случае вы можете вызвать команду
3 Расширенное использование
- Предположим, что вы используете
otpp-mode
и вызываете командуproject-switch-project
чтобы открыть проектX
в новой вкладкеX
. - Запускаете поиск файла
M-x find-file
. - Открываете файл
test.cpp
вне текущегоX
проект. - Теперь, если вы запустите
project-find-file
, вы будете в одной из двух ситуаций:- Если
test.cpp
является частью другого проектаY
,project-find-file
выдаст список файлов проектаY
, даже если вы находитесь на вкладкеX
. - Если
test.cpp
не является частью какого-либо проекта,project-find-file
будет подсказывать, что сначала вы должны выбрать проект, а затем выбрать файл.
- Если
- Для этого
otpp
предлагает функциюotpp-prefix
(C-x t P
). - Когда вы вызываете
otpp-prefix
, а затемC-x p f
, вам будет предложен файл из проекта текущей вкладки.