【问题标题】:How to auto-format code in Emacs just like in Netbeans IDE [closed]如何像在 Netbeans IDE 中一样在 Emacs 中自动格式化代码 [关闭]
【发布时间】:2015-07-06 18:55:06
【问题描述】:

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

我也想知道

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

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

【问题讨论】:

  • Emacs 本身并不是一个 IDE。但我相信this post 可能会改变你的看法。

标签: java c++ netbeans emacs latex


【解决方案1】:

如果你叫它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-mode 或 GNU 缩进,您可以切换样式:https://www.gnu.org/software/emacs/manual/html_mono/ccmode.html#Choosing-a-Stylehttps://www.gnu.org/software/indent/manual/indent.html#SEC4

【讨论】:

  • 感谢@Ehvince,indent-region 效果很好。但是如何自定义如何执行此缩进。我看到在 C 中,这个缩进命令在新行中缩进大括号,并且也从条件语句中稍微缩进大括号本身。我希望大括号与其父条件(if/while/for/do/switch)的开头位于同一列。如何编辑此功能?
  • 一些提示:(setq tab-width 8)(setq c-set-style "K&R")(setq c-basic-offset 8) 和 GNU Indent 可以切换样式 gnu.org/software/indent/manual/indent.html#SEC4
  • 在这里查看emacs的c模式的样式:gnu.org/software/emacs/manual/html_mono/…
猜你喜欢
  • 1970-01-01
  • 2016-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 2021-01-05
  • 1970-01-01
  • 2012-09-25
相关资源
最近更新 更多