我怎样才能防止“你有混合制表符和空格。 修复这个?“消息?

任何时候我把代码粘贴到我的.cs文件中,我都会遇到可怕的“你有混合的标签和空格,修复这个问题? 信息。 它有三个选项:

Tabify Untabify Don't show again 

我第一次尝试“Tabify”几次,直到我终于厌倦了,select“不要再显示”; 但那是一个灵魂 – 我仍然得到它。 我甚至尝试过“解救”,但无济于事。 有什么设置可以调整,以防止这个问题?

VisualStudio2013禁用,不受保护

听起来就像安装了Visual Studio Productivity Power Tools 2013 。 进入其设置,并closures“修复混合标签”…

 Tools -> Options -> Productivity Power Tools -> Turn Extensions On/Off 

如果您有默认的VS设置,则编辑器中的选项卡将转换为空格。 所以(理论上)如果你在消息出现的时候点击了Untabify,它应该把所有的选项卡转换成空格,下次错误不会出现。 您是否正在与IDE中具有不同选项卡设置的其他开发人员一起工作?

更新:在Visual Studio 2017中,这是一个名为“修复混合选项卡”的独立扩展,可以从“扩展和更新”窗口(工具>扩展和更新)禁用或卸载。

在这里输入图像说明

相关:如果您希望Productivity Power Tools通知您制表符/空格,但您在单击后仍然保持正确的信息解决此问题,请查看工具>选项>文本编辑器> [语言]>制表符。

将其设置为保持选项卡

如果您将其设置为“ 插入空格”,并单击“电源工具”通知上的“ 保留”选项卡 ,则VS将在保存后重新插入空格,导致通知立即再次popup… aa,现在您陷入循环。

更新Visual Studio 2017.如果你想禁用“你有混合标签和空格,修复这个? 消息,你应该去

工具 – >扩展和更新…

在popup的窗口中,find修复混合选项卡(下图),并根据您的需要点击禁用或卸载。

禁用混合选项卡

用vim编辑文件运行:保存并保存文件,完成!

 vim file :retab :wq 

如果你设置了expandtab(:set expandtab),这意味着展开空间中的所有标签,反之亦然(:set noexpandtab),所有使用空格的标签都将被转换为标签。