Знаете ли вы хороший браузер дерева проектов для Emacs, отличный от Emacs Code Browser (ECB)? Особенностями, которые я ценю, являются простота, легкость и независимость от языка.
Хороший браузер дерева проектов для Emacs?
- Я только что решил начать использовать emacs и уже потратил два дня, пытаясь найти дерево, которое не отстой. Я не понимаю, почему ни один из этих пакетов не позволяет вам расширять всю структуру каталогов, а не только первый уровень 28.09.2014
- @Agzam, я описываю
project-explorer
ниже, кажется, вы можете полностью расширить его с помощьюC-u S-TAB
. 03.11.2014
Ответы:
Если вы просто хотите управлять связанными файлами, возможно, вам подойдет eproject.
Projectile + NeoTree - моя комбинация выбора.
Projectile просто использует вашу систему контроля версий для отслеживания файлов и имеет потрясающую функцию перехода к файлу в проекте.
Кроме того, проверьте примечания, чтобы интегрировать их вместе.
Я еще не пробовал это сам, но emacs-nav — это новый Emacs. Браузер проекта от Google, который, кажется, имеет функции, которые вы цените.
Думаю, разные части cedet будут делать то, что вы хотите. Speedbar имеет древовидную структуру, а EDE обрабатывает проекты и т. д.
Я только что провел поиск по слову «исследовать» в package-list-packages
и обнаружил project-explorer
. Кажется, это именно то, что я хочу сегодня (я почти не пишу код, но я понимаю структуру своего сайта Jekyll).
Ключи включают:
TAB
для сворачивания и разворачивания каталогов- Открывайте файлы с помощью
RET
илиf
. С префиксомC-u
он красиво подскажет, для какого окна, и даже оттуда позволит вам решить, использовать окно или открыть новое с любой стороны (я не нашел строку подсказки в коде пакета, так что кажется чтобы хорошо использовать встроенную функциональность Emacs; действительно, это даже похоже наdired
).
Он доступен на Melpa и Marmalade. Он доступен на Github по адресу sabof/project-explorer.
Я включаю изображение сайта для удобства:
Я не использую projectile
или helm
, но у них есть некоторая интеграция.
Вот мои мысли о нескольких конкурирующих пакетах файлового обозревателя. См. комментарии над каждым пакетом ниже:
;; Dired itself allows one to do 'i' to insert (display in same buffer) the
;; subdirectory under point and C-u k on subdir header line to remove. However,
;; I have found that dired-subtree-toggle and dired-subtree-remove are a better solution for the removal
;; part. Plus dired-subtree let's you customize colors of subdirs to set them apart
;; visually. However, I set all depths of subdirectories custom faces to be the same as I found it distracting.
(use-package dired-subtree
:ensure t
:bind (:map dired-mode-map ("i" . 'dired-subtree-toggle))
:bind (:map dired-mode-map ("I" . 'dired-subtree-remove)))
;; This works nicely. It provides the parent, '..', directory unlike nav.
(use-package project-explorer
:ensure t
:config
(evil-set-initial-state 'project-explorer-mode 'emacs))
;; This can't go above the directory you started it in. It is nice, but I prefer the flexibility
;; of getting to parent directories in most cases.
(use-package dirtree
:ensure t)
;; Google's file explorer
;; Nice, but doesn't maintain visited nodes in view, preferring instead to offer only
;; the current directory or lower in a side window. No better than ivy which is my main file explorer system.
(use-package nav
:ensure t)
;; This is buggy on Emacs 26.1.
(use-package eproject
:disabled t
:ensure t)
;; speedbar is included with Emacs (since 24.x I believe). It has to use a separate frame, which is
;; inconvenient most of the time. There are better options (above).
;; (use-package speedbar)
;; Buggy; doesn't work on Emacs 26.1 (at least with my config).
(use-package sr-speedbar
:disabled t
:load-path "../lisp")
;; Buggy on Emacs 26.1 (at least with my config). I couldn't even get it to activate.
(use-package ecb
:disabled t
:ensure t)
;; Nice, but similar to ivy which I've already committed to, so not necessary.
(use-package lusty-explorer
:disabled t
:ensure t)
Для меня ivy plus dired помогает мне на 98%. ivy, dired и dired-subtree помогают мне на 99%. project-explorer и, в меньшей степени, nav — просто хорошие альтернативы ivy plus dired или ivy plus dired и dired-subtree. Надеюсь, это сэкономит вам время.