Emacs:是否可以为桌面+中的特定桌面设置特定的缩进设置?

Emacs: Is it possible to set specific indentation settings for specific desktops in desktop+?

我必须处理很多不同的项目,这些项目都倾向于对 js、php 等使用不同的缩进量(通常只有 2 个和 4 个空格)。我使用 emacs-desktop 管理项目会话.

非常感谢!

我建议使用 Per-directory Local Variables,而不是通过 emacs-desktop 执行此操作。这些正是为此目的而设计的。

例如,这里是我用来破解 firefox 的.dir-locals.el

(
 ;; Generic settings.
 (nil .
      ;; See C-h f bug-reference-prog-mode, e.g, for using this.
      ((bug-reference-url-format . "https://bugzilla.mozilla.org/show_bug.cgi?id=%s")
       (bug-reference-bug-regexp . "\([Bb]ug ?#?\|[Pp]atch ?#\|RFE ?#\|PR [a-z-+]+/\)\([0-9]+\(?:#[0-9]+\)?\)")))

 ;; The built-in javascript mode.
 (js-mode .
     ((indent-tabs-mode . nil)
      (js-indent-level . 2)))

 (c++-mode .
       ((indent-tabs-mode . nil)
        (c-basic-offset . 2)))

 (idl-mode .
       ((indent-tabs-mode . nil)
        (c-basic-offset . 2)))

)

这会为一些编程模式自定义缩进,在重要的地方禁用 indent-tabs-mode,并安排按钮化 firefox 源代码中的错误引用。