2017-01-17 89 views
0

我正在爲我選擇的IDE尋求TextMate的替代方法。我已經嘗試了各種其他IDE,並開始喜歡Atom,但我仍然遇到這個特別嚴重的問題。Atom/vi - 處理空白的空白處理

一旦我們把我們的項目,我們的生產服務器,並需要通過VI服務器上做編輯,空格總是在六更嚴重的比它在圖形IDE。例如,在TextMate的樣子:

function foo(){ 
    var bar; 
    if($this) 
     ... 
    else 
     ... 
} 

然後在六是這樣的:

function foo(){ 
       var bar; 
       if($this) 
         ... 
       else 
         ... 
} 

看來,TextMate的在VI識別爲就比它更大幅度不同的編碼編碼空格字符實際上是。這幾乎就像vi在圖形化IDE中的任何空白部分一樣加倍。這是搜索另一個IDE的全部原因。

Atom在這方面並不差,但它仍然存在類似的問題。在用TextMate編輯過的Atom中打開文件時,空格也會被完全搞砸。我們使用製表符縮進作爲我們的內部編碼慣例,而不是雙空格縮進。一旦我們解決了一個新的IDE,這將不再是這樣的問題,但我的問題是這樣的:

是否有一個插件或需要調整的設置,以便在vi中以相同的方式處理空白和圖形IDE?特別是在原子

我願意爲兼容開箱和共享類似的功能,以TextMate的或Atom集成開發環境等建議。我們也嘗試了Brackets,SublimeText和其他一些。

+2

「空白被搞砸」可能意味着任何一個或更多的東西......你需要更具體地說明你真正看到的東西,如果你想要某人提供關於它的具體建議...... –

+0

已編輯的問題包括例子和更多細節。 – TomJ

+2

那麼這個文件中究竟是什麼字符呢?它看起來像那裏有兩個製表符,並且你已經配置了TextMate和vi,分別顯示2和8列寬的製表符。在這種情況下,解決方法是使用空格進行縮進或在所有編輯器中使用相同的製表符寬度配置。 – melpomene

回答

0

看來,如果你抱怨左緣壓痕寬度不編輯人員之間是一致的,或者你的團隊成員之間(或者兩個)。

這個問題沒有一攬子解決方案,你可以神奇地應用。不過,有幾件事你可以嘗試。

  1. 在團隊中就如何縮進達成共識。

    如果您希望一致,每個人都必須參與並同意這意味着什麼。

  2. 標準化的縮進,而不是標籤空間。

    Tab字符是,根據其性質,可變寬度的,因爲每個人可以選擇如何顯示它們。出於這個原因,你可以放棄它們並使用空格縮進。代碼將始終以相同的方式顯示。

    有些人抱怨這樣的想法,他說,他們不想打空格鍵所有的時間。但現代文本編輯爲您處理;你仍然可以使用你的Tab鍵,它工作得很好。

    在許多現代編輯器中,這被稱爲「軟標籤」。

    在Vim中,你可以使用的東西這樣的效果就像

    :set tabstop=4 shiftwidth=4 softtabsstop=4 expandtab 
    

    (請使用自己的號碼?2,8,無論你的團隊同意的。)

  3. 你可以試試EditorConfig

    EditorConfig允許你創建一個設置文件的編輯將用於配置各種東西,包括縮進。

    它有很多編輯器,方便的插件。然而,它要求每個人都使用這些插件,這仍然需要達成共識,並且每個人都必須使用相同的配置文件(同樣是一致的)。

    一些球隊把自己的EditorConfig文件在他們的代碼回購所以很容易共享。

至於使用哪個編輯器/ IDE,這與這個問題是正交的,真的。只要有兩名以上的文字編輯或團隊成員參與,就會遇到這種麻煩。

+0

@melpomene感謝編輯,是我忘了:) –

+0

這正是我一直在尋找。考慮到這只是我自己和一位高級開發人員,現在我們正在爲不斷成長的團隊建立公約。看來TextMate是這個問題的罪魁禍首,因爲Atom的默認值沒有提出相同的問題。標明這是答案,因爲這將確保未來的團隊成員不會加劇這個問題。偉大的解決方案,並回答全部。謝謝! – TomJ