2017-01-17 56 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