Emacs缩进C+;中每个语句的+; 我试图让Emacs正确地为C++中的“每个”构造格式化。p>
在以下两个示例中,我希望大括号与Emacs缩进C+;中每个语句的+; 我试图让Emacs正确地为C++中的“每个”构造格式化。p>,c++,emacs,foreach,indentation,C++,Emacs,Foreach,Indentation,在以下两个示例中,我希望大括号与for中的f对齐: for each(Type a in b) { //^c^s shows substatement-open //... do stuff } for( ; ; ) { //^c^s shows substatement-open //... do stuff } 在这两种情况下,使用[Ctrl-c Ctrl-s](或[Ctrl-c Ctrl-o])显示两个开头{字符的类型均为
for
中的f
对齐:
for each(Type a in b)
{ //^c^s shows substatement-open
//... do stuff
}
for( ; ; )
{ //^c^s shows substatement-open
//... do stuff
}
在这两种情况下,使用[Ctrl-c Ctrl-s](或[Ctrl-c Ctrl-o])显示两个开头{字符的类型均为substation open
,并且在查看c-offsets-alist
时,我看到substation open
等于0
<>我如何使Emacs缩进<代码(>)> <代码>命令,类似于它如何缩进<代码>((;))< /COD>命令> < /P> < P>,假定Emacs不承认“< <代码>每个< /代码>”作为C++语法(我也不知道。这是微软扩展吗?预处理器破解?新的标准即将到来?)因此,难怪它的格式不“正确” <>你可以破解这个模式,或者问维护者(我不希望有一个可能的响应),除非这将是正确的C++很快就可以了。
从评论中我的附加问题的答案如下:
- OP询问的确切形式是Microsoft managed-c++扩展
- 现在有
可用BOOST\u FOREACH
- C++0x支架将包括一个容器范围的循环,其语法类似于(:)的
for
和模式维护器支持最新版本的微软语法…
< P>大概Emacs不承认“< <代码>每个< /代码>”作为C++语法(我也不知道。这是微软扩展吗?预处理器破解?新的即将到来的标准?),所以难怪它没有格式化它“正确”。 <>你可以破解这个模式,或者问维护者(我不希望有一个可能的响应),除非这将是正确的C++很快就可以了。从评论中我的附加问题的答案如下:
- OP询问的确切形式是Microsoft managed-c++扩展
- 现在有
可用BOOST\u FOREACH
- C++0x支架将包括一个容器范围的循环,其语法类似于(:)的
for
而且从它看来,模式维护者在最新版本中支持Microsoft语法…对我来说——在Emacs 23.0.91下,
c++-mode
为每个块缩进,因为它是
循环的正常。对我来说——在Emacs 23.0.91下,c++-mode
为每个
块缩进锁定,因为它是一个普通的<代码> < /COR>循环./P>看起来C++中有一个基于循环的范围,但这不是语法。它是MS VisualStudio扩展名:Boost对于每个都是一个可移植的替代品,并且它应该正确格式,因为它看起来像有效C++,不像“EAc'”,它看起来有一个基于循环的范围,在C++中+0x,但是这不是语法。它是一个MS VisualStudio扩展名:Boost对于每个都是一个可移植的替代品,它应该正确格式,因为它看起来像有效C++,不像“EAc'”,我使用Emacs 22.3.1,因为这是Windows上的最新版本。虽然很好,但是我使用的是最新版本的CC模式(5.31.6)。我使用的是emacs 22.3.1,因为它是Windows上的最新版本。不过这一点很好。我使用的是cc模式的最新版本(5.31.6)