2011-02-04 36 views
5

我開始在那裏每個人都在使用Microsoft Visual Studio編輯代碼的項目。但我是Emacs用戶。像Visual Studio確實如何編輯在Emacs處理標籤碼和空白?

當我打開我的Emacs的C++文件,它們看起來怪異。例如:「」

namespace·ns·{ 
»class·Foo·{ 
»»virtual·function_name(·some_type::const_iterator·start 
»»»»»»»»····,·some_type::const_iterator·end 
»»»»»»»»»,·boost::shared_ptr<some_type>·varname·)·=·0; 
»}; 
} 

其中I在這裏顯示一個選項卡,»,並作爲一個空間,以示區別。

我想查看和編輯代碼透明的,所以它看起來就在我的Emacs和保存,以便它看起來正常到Visual Studio用戶。

所以,我怎麼可以設置Emacs的,以便它顯示像他們應該要顯示的文件,這大概是:

namespace ns { 
    class Foo { 
    virtual function_name(some_type::const_iterator start 
         , some_type::const_iterator end 
         , boost::shared_ptr<some_type> varname) = 0; 
    }; 
} 

而且我想告訴Emacs的使用標籤來保存它在原來,怪異的方式。

回答

-2

您應該所有選項卡轉換爲空格選擇的代碼,並使用M-x untabify。這將在每個編輯器中統一代碼的外觀。

+3

真的嗎?它將擺脫標籤,並且Visual Studio人員將會發瘋。 – Frank 2011-02-05 08:08:15

+0

這涉及到舊標籤與空間的戰爭。雖然我在摘要中同意你的觀點,但在我工作的地方,「小組成員」是上升的,並且哲學被寫入我們的編碼標準。 – 2013-02-14 20:53:05

4

設置標籤寬度3給我們:

namespace ns { 
    class Foo { 
    virtual function_name(some_type::const_iterator start 
          , some_type::const_iterator end 
          , boost::shared_ptr<some_type> varname) = 0; 
    }; 
} 

這是接近你的推測格式,我們可以得到,但並不確切。你知道這是否符合Visual Studio顯示的內容嗎?

你大概需要以下幾點:

(add-hook 'c++-mode-hook 'my-c++-mode-hook) 
(defun my-c++-mode-hook() 
    (setq tab-width 3 
     indent-tabs-mode t 
     c-basic-offset 3)) 

希望,使一個良好的開端,但一定會配合Studio如何可視做的事情需要其他設置,所以我建議你開始閱讀在Emacs維基上:

http://www.emacswiki.org/emacs/IndentingC

相關問題