Khi*_*ins 8 c# tabs spaces unity-game-engine visual-studio-2019
今天早上在开始我的一天之前,我正在 VS2019 中编程。当我晚上坐下来继续编程时,我意识到它突然放置了空格而不是制表符!我为每种语言设置了选项卡而不是空格的首选项,并且在前几天一直这样做。我更新了 VS 以确保,但问题仍然存在 - 无论我的偏好设置如何,都会放置空格而不是制表符。
Khi*_*ins 13
我找到了解决方案!在选项中,转到“文本编辑器”>“高级”并关闭“使用自适应格式”。它根据给定文件的现有格式覆盖了我的首选项
也许这会有所帮助,因为我遇到了同样的问题,检查了答案中提到的所有常见位置,Tools -> Options -> Editor -> yadda yadda ...
但没有任何帮助。
现在我发现隐藏在一些评论中的解决方案。我从 git 下载的项目有一个.editorconfig
在范围内命名的文件,这会覆盖您可以在菜单中设置的设置Tools
。
寻找一条线
indent_style = spaces
Run Code Online (Sandbox Code Playgroud)
并将其更改为
indent_style = tab
Run Code Online (Sandbox Code Playgroud)
这非常令人沮丧 - 我发现即使我正确设置了编辑器配置,VS2019 也会自发地将选项卡插入文件中。
\n我非常喜欢制表符,但在我目前的工作中,他们使用空格,所以你必须同意。
\n令他们沮丧的是,我的文件将通过选项卡签入,当然 Git 会向你喋喋不休地谈论更改。
\n事实证明,根据这个线程:https://developercommunity.visualstudio.com/t/visual-studio-20194-c-insert-spaces-instead-of-tab/847853 Visual Studio 2019 基本上会忽略您的设置并决定,根据文件的内容,自发地切换到它认为正确的内容。
\n这显然无法改变:
\n\n\n这是 Visual Studio 中的自适应格式设置行为:编辑器\n试探性地确定当前文件是否应使用制表符或空格\n进行缩进。
\n我们目前没有\xe2\x80\x99t 选项来禁用自适应空白,但是\n如果人们认为\xe2\x80\x99 很重要,我们可以添加它。
\n
很多人抱怨,但随后你会得到“我们在吱吱作响的轮子上工作”的(目前标准)免责声明。
\n所以我们只能靠自己了。
\n所以你可以尝试将其关闭,但 VS2019 仍然会以它认为正确的方式维护文件 - 即使文件中只有一个 TAB。
\n因此,唯一完整的修复,同样直接来自微软:
\n\n\n第三,如果您在代码存储库中使用 .editorconfig,我们将始终\n尊重这些设置。\xe2\x80\x99 不是使用 .editorconfig 的必要条件,但是\n任何对维护编码风格特别感兴趣的人\n应该知道我们的 VS 指导原则是永远不要相信\n我们\xe2\x80\x99re \ xe2\x80\x9csmart 足以覆盖 .editorconfig。
\n
我的完整编辑器配置:
\n[*]\nindent_style = space\nindent_size = 3\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n
Run Code Online (Sandbox Code Playgroud)\n请注意“end_of_line”...这也解决了 WSL 的问题,否则 Git 可能会将 .sh 文件中的行结尾更改为 CRLF ...这不适用于 WSL。
\n除了这个奖励解决方案之外,还设置您的 .gitattributes 文件:
\n* text=auto eol=lf\n\n*.{cmd,[cC][mM][dD]} text eol=crlf\n*.{bat,[bB][aA][tT]} text eol=crlf\n*.cs text eol=crlf\n*.xaml text eol=crlf\n*.csproj text eol=crlf\n*.njsproj text eol=crlf\n*.pyproj text eol=crlf\n*.sln text eol=crlf\n
Run Code Online (Sandbox Code Playgroud)\n所以一石二鸟。
\n 归档时间: |
|
查看次数: |
916 次 |
最近记录: |