问题标签 [cc-mode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
609 浏览

emacs - 更改 Emacs CC 模式缩进样式

我是一个 emacs 新手,我一直在尝试为 cc-mode 设置我的缩进样式。我喜欢这样写代码:

但默认的缩进样式更像:

我想要的缩进样式似乎是“bsd”,而默认的是“gnu”。我将以下内容放在我的 init.el 文件中以更改设置:

这改变了偏移量和默认样式,但是当我输入一些代码时,它仍然像 gnu 样式一样格式化。为了澄清,我会输入,if(true) [ENTER] { [ENTER] foo(); [ENTER] }结果将是 gnu 样式代码。我也尝试将它放在我的 init.el 中,以获得相同的结果:

我可以说设置肯定发生了变化,因为在 minibuffer 中我评估了这个表达式(message "%s %s %d" c-default-style c-indentation-style c-basic-offset)以获得这个结果:"bsd bsd 4"

我正在使用石墨烯。它包含的软件包之一(可能是 smartparens 或自动完成)是否可能会干扰我的设置?

0 投票
0 回答
201 浏览

objective-c - Objective-c 块语法的 Emacs 缩进

我正在使用objc-mode并且通常缩进效果很好,但是我在使用以下代码时遇到了困难。

Emacs 尝试像这样缩进它:

基本上只要函数/方法调用中有一个块,它就会缩进太多。该块的第一行的句法分析是 ( arglist-cont-nonempty, statement-block-intro)。statement-block-intro设置为'+arglist-cont-nonempty设置为'(c-lineup-gcc-asm-reg c-lineup-arglist)。换句话说,只是默认值。

我应该怎么做才能让它正确缩进?

0 投票
1 回答
69 浏览

css - Emacs 24:有没有办法使用 cc-mode 的缩进?

我正在使用 Emacs 24,虽然我不是一个非常有经验的 Emacs Lisper,但我已经让事情运行得相当好。也就是说,我不知道如何让标准 css-mode 使用 cc-mode 的缩进。我喜欢 cc-mode 知道如何在左大括号后缩进和在新行上遇到右大括号时取消缩进的方式。

编辑:我是那些使用奥尔曼式牙套的可怕人之一,所以我将向您展示我到目前为止所拥有的。当我按 时,我的光标最终在方框字符处:

但我希望它是这样的:

0 投票
1 回答
594 浏览

emacs - 在 emacs 中控制 CMake 的缩进/偏移

我正在使用我认为来自 cc-mode 的 cmake-mode(编辑:下面的评论表明这是不正确的)。出于某种原因,即使我的 c-basic-offset 设置为 4,我的缩进(例如在 if() 块中)显示为 2 个空格。有人知道什么/如何控制它吗?

例如:

0 投票
1 回答
393 浏览

emacs - 在 D 中调整 UCFS 链的对齐规则

有没有办法调整 c 派生模式中的对齐规则,在我的情况下是 d-mode 以缩进 D-style UFCS-Chains,例如

在这种情况下,我想在这一点上对齐,也就是说。

有关详细信息,请参阅https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode/issues/26

0 投票
1 回答
68 浏览

emacs - cc 模式下的 D 样式枚举语法支持

我想cc-mode在 Emacs 中扩展以支持 D 样式枚举,如下所示

该部分: EnumType是需要支持的新部分。

有谁知道如何解决这个问题或修改哪个功能?

Emacs 刚刚获得了对 C++11enum class语法的支持,所以也许有人在这个问题上是最新的。

0 投票
2 回答
1211 浏览

emacs - 如何在 RET 上禁用电子缩进但仍保留其他电子字符(例如,'{')?

在 Emacs 24.4 中,默认的缩进行为已经改变——新行现在自动缩进。从发行说明

我更喜欢旧的行为,所以我添加了

到我的.emacs档案。但是,这会禁用所有电子字符,这不是我想要的。

有什么方法可以禁用新行为,同时仍然让'{'或':'等字符触发缩进?

0 投票
1 回答
173 浏览

emacs - 在状态栏中显示十六进制值的二进制版本

我现在正在做很多嵌入式 C 编程,这意味着我一直在写这样的东西:

如果将光标放在 0xE7 上,emacs 会在状态栏或迷你缓冲区中显示“0b1110 0111”,这将非常有用,所以我可以检查我的掩码是否是我的意思。

通常,无论我想让 emacs 做什么,10 分钟的谷歌搜索都会找到答案,但是对于这个,我已经用尽了我的搜索技能,仍然没有找到答案。

提前谢谢。

0 投票
1 回答
227 浏览

emacs - 如何在 emacs cc 模式下更改整个文件的样式?

我是 emacs 的新手,并且有一个 C 文件,目前gnu在 cc 模式下的风格。我通过在文件 linux中进行必要的更改将样式更改为。.emacs

我想将整个文件(预先编写的代码)的样式更改为 style linux。我无法这样做。

我试过重新缩进整个文件,但它不起作用。(虽然,我在设置样式后添加的代码确实有linux样式)

这是我在.emacs文件中添加的将样式更改为 linux 的代码。

0 投票
0 回答
91 浏览

c++ - Emacs/CC-Mode 不会缩进以大括号开头的模板函数的参数

考虑以下 C++ 代码片段,在 Emacs 中使用 cc-mode 缩进:

如您所见,花括号参数{1, 2}在模板化函数调用中出现时没有正确缩进。这是因为它们被错误地标记为((inexpr-statement) (block-open X))而不是((arglist-cont-nonempty Y Z))(确切的偏移量可能不同,我在使用后编辑了注释C-c C-s以获取句法标签)。

有谁知道如何解决这个问题?我尝试了专门从 Sourceforge 下载的最新版本的 CC-Mode (5.32.5) 以及 Debian 和 Ubuntu 附带的默认版本,但他们都弄错了。