如何在 Emacs 中自动格式化代码,就像在 Netbeans IDE 中一样

How to auto-format code in Emacs just like in Netbeans IDE

本文关键字:IDE Netbeans 一样 Emacs 格式化 代码      更新时间:2023-10-16

我是Emacs的新手,我想知道它是否可以像NetBeans IDE中的自动格式化选项一样自动格式化各种语言(Java,C++,HTML,LaTeX)的代码。

我也想知道

  • 此功能是否内置
  • 我可以使用此选项下载 el 文件吗
  • 如何自定义自动套用格式的首选项(制表符长度、函数之间的行、换行或同一行中的大括号等),就像在 NetBeans 中一样。

(版本: Emacs-24 on Ubuntu-12.04/OS-X-10.9)

如果你把它叫做indent,你会自己找到它。确实,有许多交互功能以 indent .我们很容易找到它们 M-x indent TAB .但是我们也可以找到文档 C-h ? ,因此,如果我们尝试使用C-h d RET indent RET搜索函数的文档,或者使用M-x apropos RET foo RET我们也会找到它们。

以下是内置的,可以使用不同的语言(刚刚尝试使用elisp,python和javascript):

  • M-x indent-region所选区域的格式
  • indent-sexp设置当前表达式的格式

没有全局选项来配置缩进,我们需要深入了解每种模式的选项。通常有像这样的选项 (setq html-tab-width 4) .

编辑:一些提示:(setq tab-width 8)(setq c-set-style "K&R")(setq c-basic-offset 8),并且使用Emacs内置的C模式或GNU缩进,您可以切换样式:https://www.gnu.org/software/emacs/manual/html_mono/ccmode.html#Choosing-a-Style 或 https://www.gnu.org/software/indent/manual/indent.html#SEC4