既然C++ 11已经出来了,我想知道当越来越多的代码从C++ 98迁移到C++ 11时,是否有任何关于改进Emacs中的缩进支持的技巧.
例子:
以下是我发现自己在努力解决的一些问题:
struct m {
int a;
char b;
};
std::vector<m> foo { {1, 'a'},
{2, 'b'},
{ 3, 'c'},
{ 4, 'd' }};
Run Code Online (Sandbox Code Playgroud)
我更喜欢
std::vector<m> foo { {1, 'a'},
{2, 'b'},
{ 3, 'c'},
{ 4, 'd' }};
Run Code Online (Sandbox Code Playgroud)
甚至
std::vector<m> foo { {1, 'a'},
{2, 'b'},
{ 3, 'c'},
{ 4, 'd' }};
Run Code Online (Sandbox Code Playgroud)
例如.
下一个:
cout << 5
<< [](int a) {
return 2 * a;
} (5);
Run Code Online (Sandbox Code Playgroud)
我更喜欢
cout << 5
<< [](int a) {
return 2 * a;
} (5);
Run Code Online (Sandbox Code Playgroud)
这样块就相对于lambda缩进.
我发现自己花了更多时间在缩进上,这很烦人.
是否有任何包或自定义有助于缩进现代C++ 11代码?
(旁注:我为Emacs 设置了clang格式,但是我不能100%兼容现有代码,而且它还不能很好地理解C++ 11语法.有时它仍然很有用,听起来像个好主意新项目.)
tob*_*obe -3
当我使用 emacs 时,以下设置足以让我缩进代码:
; auto indent
(setq-default indent-tabs-mode nil)
(setq-default tab-width 2)
(define-key global-map (kbd "RET") 'newline-and-indent)
(defun indent-buffer ()
(interactive)
(save-excursion
(indent-region (point-min) (point-max) nil)))
(global-set-key [f12] 'indent-buffer)
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
1570 次 |
| 最近记录: |