Visual Studio 缩进设置为两个空格而不是四个空格制表符
Posted
技术标签:
【中文标题】Visual Studio 缩进设置为两个空格而不是四个空格制表符【英文标题】:Visual Studio indentation set to two spaces instead of four space tab 【发布时间】:2018-08-28 22:44:38 【问题描述】:我刚刚在这里打开了一个旧项目。似乎有人更改了缩进。它设置为 2 个空格,而不是 4 个空格。
我尝试过的:
-
我尝试执行 Cntrl K + D 但这并没有将它改回正确的缩进。
我删除了
_ReSharper.Caches
目录,刚刚创建了一个新目录,没有改变缩进。
当这些都不起作用时,我开始将我的视觉工作室中的设置与两种不同的解决方案进行比较。
Resharper 设置矛与广告相同的是 Visual Studio 中的设置。
重新锐化设置
Visual Studio 设置
这让我觉得这一定是在项目文件之一或其他东西中?如果我的视觉工作室中的设置不是问题,那么覆盖选项卡的内容是什么?
值得注意的是,当项目加载时,我发誓它会以适当的缩进方式加载,然后在最后一秒重新格式化。不确定这是否重要,但项目是 .net core 1.0,解决方案中有三个项目,所有三个项目似乎都受到了影响。
希望有人能解决这个问题,这样读起来真的很难。
【问题讨论】:
项目目录或任何父目录下是否有.editorconfig
文件?
如果缩进是空格,则无法更改它。查看源代码管理中的文件历史记录,找出罪魁祸首!
@yaakov 是的,在解决方案目录中
@PhillipNgan 这个项目的破坏性更大,我可以责备它,但说开发人员不再在这里工作。
@yaakov 它被设置为 2 我现在将它们设置为四个 Cntrl + K + d 作品。但我认为我将不得不在每个文件上都这样做:(请随意发布这个作为答案。
【参考方案1】:
Visual Studio 可能正在使用项目目录(或任何父目录)中的 .editorconfig 文件,该文件允许在代码库中保持一致的代码样式,而不管用户设置如何。
Visual Studio 应在 IDE 窗口的左下角区域指出这一点。
如果是这种情况,您需要修改 .editorconfig
并定义新样式,以便更改自动格式化工具的配置。
【讨论】:
这仍然意味着我现在需要重新格式化所有文件,但是很好的解决方案我以前从未见过该文件。你是对的。它说“此文件类型的用户首选项被此项目编码转换覆盖。”在您发布此内容之前,我什至没有注意到它。【参考方案2】:正如人们在答案和 cmets 中所说,这可能是 .editorconfig
。在我们的案例中,开发人员开始使用 VS Code,升级到 VS 2017 时,Visual Studio 也接受这些文件。
这是文件中自动添加的值:
[*]
end_of_line = crlf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
通过添加这个我们可以正常使用 C# 并且想要使用 VS Code 的开发人员可以继续这样做:
[*.cs]
indent_style = space
indent_size = 4
https://developercommunity.visualstudio.com/content/problem/44231/cant-set-indent-level-to-4-spaces-in-vs-2017.html
【讨论】:
以上是关于Visual Studio 缩进设置为两个空格而不是四个空格制表符的主要内容,如果未能解决你的问题,请参考以下文章
在粘贴时,Visual Studio 2015将单词转换为空格
在 Visual Studio Code 中保存时避免自动缩进
Visual Studio Code - 将空格转换为制表符