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, вам будет предложен файл из проекта текущей вкладки.
Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Мои научные интересы включают физику, администрирование Unix и сетей.