【问题标题】:A good project tree browser for Emacs?一个好的 Emacs 项目树浏览器?
【发布时间】:2010-10-25 00:36:37
【问题描述】:

除了 Emacs 代码浏览器 (ECB) 之外,您还知道用于 Emacs 的优秀项目树浏览器吗?我看重的特性是简单、轻量级和语言不可知论。

【问题讨论】:

  • 我刚决定开始使用 emacs,并且已经花了两天时间试图找到一棵不吸水的树。我不明白为什么这些包都不能让你扩展整个目录结构,而不仅仅是一级
  • @Agzam,我在下面描述project-explorer,看来您可以完全扩展,使用C-u S-TAB

标签: emacs project


【解决方案1】:

我用过treemacs,效果很好,尤其是。带弹丸。

【讨论】:

    【解决方案2】:

    以下是我对几个竞争文件浏览器类型包的看法。请参阅下面每个包上方的 cmets:

    ;; 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 的不错替代品。希望这可以为您节省一些时间。

    【讨论】:

      【解决方案3】:

      Projectile + NeoTree 是我的首选组合。

      Projectile 仅使用您的版本控制系统来跟踪文件,并且在项目功能中具有很棒的文件跳转功能。

      另外,检查the notes 将两者整合在一起。

      【讨论】:

        【解决方案4】:

        我刚刚在package-list-packages 中搜索“探索”,发现project-explorer。似乎完全符合我今天想要的(我几乎不编码,但我掌握了我的 Jekyll 网站的结构)。

        关键包括:

        • TAB 用于折叠和展开目录
        • 使用RETf 打开文件。带有C-u前缀,它会很好地提示哪个窗口,甚至从那里你可以决定使用窗口还是打开一个新的窗口(我没有在包代码中找到提示字符串,所以它似乎很好地利用了内置的 Emacs 功能;实际上它看起来像 dired 甚至)。

        它在 Melpa 和 Marmalade 上可用。它可以在 Github 上通过 sabof/project-explorer 获得。

        为方便起见,我附上了网站的图片:

        我不使用projectilehelm,但它有一些集成。

        【讨论】:

          【解决方案5】:

          你可以试试sr-speedbar。太棒了。

          【讨论】:

            【解决方案6】:

            我自己还没有尝试过这个,但是emacs-nav 是来自 Google 的新 Emacs 项目浏览器,它似乎具有您所重视的功能。

            【讨论】:

            • 我不太懂 nav... 就像 sr-speedbar,但没有树形结构。没有树形结构有什么好处??
            【解决方案7】:

            cedet 的不同部分会按照我的想法去做。 Speedbar 有树结构的东西,EDE 处理项目等。

            【讨论】:

              【解决方案8】:

              Speedbar?

              如果你只是想管理相关文件,也许你会喜欢eproject

              【讨论】:

              • 我想当我问这个问题时,我想到了 Speedbar 之类的东西。但是,您的 eproject 可能是我实际上在寻找的东西,而我自己却不知道。目前我依赖 iswitch 和 ibuffer,但是当同时处理两个或三个项目时,它们往往会变得相当拥挤。 Eproject 似乎解决了这个问题。
              • speedbar 默认包含在 emacs 24 中。
              猜你喜欢
              • 1970-01-01
              • 2022-12-15
              • 2021-10-19
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-09-04
              相关资源
              最近更新 更多