Visual studio 为什么在VisualStudio2010C#代码窗口中,我总是得到混合的制表符和空格?

Visual studio 为什么在VisualStudio2010C#代码窗口中,我总是得到混合的制表符和空格?,visual-studio,visual-studio-2010,Visual Studio,Visual Studio 2010,在过去的一个小时左右的时间里,我一直在一个web应用程序中处理一个C#文件(Global.asax.cs),有四次我被提示“tabify”或其他什么。每次我选择对文件进行选项卡化并保存文件时,之后在某个看似随机的点上,我都会再次收到提示 我使用的是ReSharper,但当我在家编写代码时,也使用ReSharper时,这种情况不会发生。仅在工作时使用。您是否正在使用生产力电动工具VS 2010扩展版?如果是,请转到工具->选项->并选择生产力电动工具。在这里,您可以关闭修复混合选项卡的选项。这将关

在过去的一个小时左右的时间里,我一直在一个web应用程序中处理一个C#文件(Global.asax.cs),有四次我被提示“tabify”或其他什么。每次我选择对文件进行选项卡化并保存文件时,之后在某个看似随机的点上,我都会再次收到提示


我使用的是ReSharper,但当我在家编写代码时,也使用ReSharper时,这种情况不会发生。仅在工作时使用。

您是否正在使用生产力电动工具VS 2010扩展版?如果是,请转到
工具
->
选项
->并选择
生产力电动工具
。在这里,您可以关闭
修复混合选项卡的选项
。这将关闭此警告


混合选项卡和空格可能来自visual studio文本编辑器设置。您可以决定是否希望visual studio在此处插入空格或选项卡:


工具/选项->文本编辑器/所有语言/选项卡,选择“保留选项卡”选项。

选择“取消绑定”选项,因为VS默认为空格,而不是选项卡。如果下次添加行时选择“Tabify”,VS将使用空格,您将一遍又一遍地看到提示。

Resharper
使用单独的选项卡/space设置到visual studio。在
Resharper
选项中,选中“常规格式设置器样式->当制表符用于缩进时如何对齐”。当
resharper
正在格式化代码(如重构等)且默认为“用户空间”时,使用此设置


另外,在“编辑->高级”菜单中,有一个“查看空白”选项(Ctrl+E,S),这可能很有用

是否设置了制表符缩进设置,使空格实际上可以完全转换为制表符?我现在在我的一个文件中也看到了这一点。我今天每小时要吃一到两次。甚至在文件被添加到源代码管理之前。@LostHobbit这很重要,因为一个恼人的对话框不断弹出,打断了我的流程。我更愿意保留警告,并去掉混合的制表符和空格。@ProfK您再次得到提示的随机点是否也恰好是在其他人检查对此文件的更改之后(如果您使用的是源代码管理)?也许你和其他人在VS中对选项卡空间的定义不同。很难看出这是如何产生效果的。使用工具+选项、文本编辑器关闭选项卡。它们在上个世纪用于保存字节。@Hans,使用选项卡的效率在这里一点也不相关。选项卡的效率已经得到了很好的讨论,还有更多的优点对于选项卡,不仅仅是数据大小。对于在同一项目中工作的具有不同缩进首选项的人员,选项卡具有可配置的宽度。如果每个人都将其VS配置为使用不同数量的空格而不是选项卡,则代码将变得一团糟,但如果每个人都使用选项卡并将选项卡宽度配置为其视觉首选项,则代码将变得混乱e保持干净,每个人都会得到蛋糕并吃掉它。同样,使用空格的好处是什么?这确实是对所问问题的正确回答,也是@ProfK想要达到的结果。很好的选择(查看空格1)!+1