有没有办法让 Visual Studio 的格式选项使用 unix 行尾?

Is there a way to make the format option of Visual Studio use unix line endings?

提问人:Selmar 提问时间:2/1/2023 最后编辑:Selmar 更新时间:2/3/2023 访问量:539

问:

可以设置文件的行尾。这将转换现有的行尾,并在添加手动换行符时起作用。但是,在设置文档格式或触发自动格式时(例如,添加右大括号时),它似乎没有插入正确的行尾。}

我尝试了 .editorconfig 文件,它适用于空格与制表符之类的东西,但也不能解决格式化行尾问题。

有人成功了吗?还是使用 Visual Studio 扩展的唯一方法?

相关问题:

C# visual-studio-2022 行尾

评论

3赞 Jimmy 2/3/2023
通过 VS 反馈报告此情况,并指定执行此操作的语言。Visual Studio 中的格式设置由每种语言单独完成,因此无论使用哪种语言都可能不遵循设置。
0赞 Baklap4 2/27/2023
亲眼见过这个。格式化文档不尊重 editorconfig 文件,这很可惜。@Selmar,如果您通过 VS 反馈打开了项目,请更新问题。

答:

3赞 sommmen 2/3/2023 #1

就像评论所说的那样,这取决于语言。 只是一个建议,但 VS 支持 editorconfig;

https://editorconfig.org/

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true

并且实际上由 vs 支持,请查看此文档:https://learn.microsoft.com/en-us/visualstudio/ide/create-portable-custom-editor-options?view=vs-2022end_of_line

支持的设置 Visual Studio 中的编辑器支持核心的 EditorConfig 属性集:

indent_style

indent_size

tab_width

end_of_line

字符集

trim_trailing_whitespace

insert_final_newline

除 XML 之外,所有 Visual Studio 支持的语言都支持 EditorConfig 编辑器设置。此外,EditorConfig 还支持代码样式约定,包括 C# 和 Visual Basic 的语言、格式和命名约定。

评论

0赞 Selmar 2/10/2023
我已经尝试过了,但它对我不起作用。Visual Studio 在设置代码格式时会愉快地插入 CRLF 行尾。其他 editorconfig 选项似乎有效。
0赞 Baklap4 2/27/2023
@sommmen这不适用于格式文档(Ctrl K + Ctrl D),尽管文档另有说明。在最新的 VS2022 17.5 中亲自尝试一下。步骤1)创建一个html文档。步骤2)多行一些标签。步骤3)点击格式化文档,该文档删除了选项卡,但插入了CRLF,导致混合行尾。
0赞 sommmen 2/27/2023
@Baklap4在这种情况下,我会向MSDN发布错误报告