[英]How to make Emacs put access level modifiers in their own indentation level in my C++ code?
我希望以類似於"bsd"
樣式的方式在Emacs中縮進我的C ++代碼,但有一點不同:訪問級別修飾符必須屬於它們自己的縮進級別。 (由於我不使用switch
或labels / goto
,一般可以說以冒號結尾的行必須屬於它們自己的縮進級別。)這是一個例子:
class somewhat
{
private:
int whatever;
public:
void somehow()
{
if (something_about(whatever))
like_this();
else
{
std::cerr << "It is not true that something_about("
<< whatever << ").";
like_that();
}
}
};
如何配置~/.emacs
以反映此首選項? 這是我目前的配置:
; No tabs at all.
(setq indent-tabs-width nil)
(setq tab-width 2)
; [C-like languages]-specific configuration.
(setq c-basic-offset 2)
(setq c-default-style "bsd")
; Configuration for other languages.
; ...
您需要修改c-offsets-alist
的access-label
縮進。 我建議你用自己的c-offsets-alist
創建一個新的'style'並添加如下行:
(access-label . +)
如果你想從bsd
樣式派生,你可以這樣做:
(c-add-style "modified-bsd"
'("bsd"
(c-basic-offset . 2)
;;...MORE MODS...
(c-offsets-alist
(access-label . +))))`
另外,我是如何找到要修改的偏移量的? 轉到相關的代碼行並按Cc Cs以顯示CC模式的語法分析。 另外一定要檢查c-offsets-alist
的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.