168

每当我将代码粘贴到我的 .cs 文件中时,我都会得到可怕的“你有混合制表符和空格。修复这个?” 信息。它有三个选项:

Tabify
Untabify
Don't show again

我先尝试了几次“Tabify”,直到我厌倦并选择了“不再显示”;但那是一种心理——我仍然明白。我什至尝试过“Untabify”但无济于事。有没有我可以调整的设置来防止这个重复出现的问题?

VisualStudio2013 tabify untabify

4

4 回答 4

271

听起来您已经安装了Visual Studio Productivity Power Tools 2013。进入其设置并关闭“修复混合标签”...

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

如果您有默认的 VS 设置,则编辑器中的选项卡将转换为空格。因此(理论上)如果您在消息出现时单击取消制表符,它应该将所有制表符转换为空格,并且下次不会出现错误。您是否与在 IDE 中具有不同选项卡设置的其他开发人员合作?

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

在此处输入图像描述

于 2014-06-02T22:24:17.743 回答
84

Visual Studio 2017 更新。如果要禁用“您有混合制表符和空格。修复此问题?” 消息,你应该去

工具 → 扩展和更新...</p>

在弹出的窗口中,找到修复混合选项卡(下图),然后根据需要单击禁用或卸载。

禁用混合选项卡

于 2017-08-18T10:25:36.520 回答
14

相关:如果您确实希望 Productivity Power Tools 通知您选项卡/空格,但在单击“修复此问题”后您仍然收到消息,请查看工具 > 选项 > 文本编辑器 > [语言] > 选项卡。

将此设置为保留标签

如果您将其设置为插入空格并单击Power Tools 通知上的保留选项卡,则 VS 将在保存后重新插入空格,导致通知立即再次弹出...aa,现在您陷入了循环。

于 2015-12-18T08:31:14.983 回答
2

使用 vim run :retab 编辑文件并保存文件,就完成了!

vim file 
:retab
:wq

使用 :retab 可以转换空格中的所有制表符,如果设置 expandtab (:set expandtab ),则意味着展开空格中的所有制表符,反之亦然 (:set noexpandtab),所有用空格创建的制表符都将转换为制表符。

于 2015-07-06T16:15:06.130 回答