问题描述
在Visual Studio中,您可以将文件的EOL设置为CRLF,LF或CR,但是只能对单个文件执行。我正在寻找一种方法,以确保解决方案中创建的每个新文件都将自动使用LF。有任何想法吗?预先感谢!
解决方法
由于默认settings.json
包含"files.eol": "auto"
,因此您可以在VSCode documentation下进行浏览。您需要将默认行尾字符设置为适当的值,例如:
在带有以下条目的项目(或解决方案)的根目录中添加.editorconfig
文件应默认将行尾设置为LF
(有关新添加的行,请参见下面的注释)。
[*]
end_of_line = lf
从Create portable,custom editor settings with EditorConfig页引用。
,您可以将EditorConfig文件添加到项目或代码库中,以便为在代码库中工作的每个人实施一致的编码样式。
Visual Studio中的编辑器支持EditorConfig properties的核心集:
[...]end_of_line
将.editorconfig文件添加到文件层次结构中的文件夹时,其设置将应用于该级别及以下级别的所有适用文件。
在Visual Studio中将EditorConfig文件添加到项目中时,将根据EditorConfig设置格式化新的代码行。除非您运行以下命令之一,否则不会更改现有代码的格式:
代码清除(Ctrl + K,Ctrl + E),可应用任何空白设置(例如缩进样式)和选定的代码样式设置(例如如何使用指令排序)。
“编辑”>“高级”>“设置文档格式”(或默认配置文件中的Ctrl + K,Ctrl + D),仅应用空白设置,例如缩进样式。 注意
如果您正在寻找一种方法来控制用于在Windows中打开文件的默认翻译模式,则可以使用_set_mode()
或设置here文档中的_fmode
全局变量:
int _fmode = _O_BINARY;
或在运行时:
_set_mode(_O_BINARY); // defined in `<stdlib.h>`
似乎有一种方法可以通过修改Global state in the CRT来更全局地进行设置,但是在这种环境下,细节超出了我的技术水平。