Visual studio code 我可以根据文件类型设置VS代码默认EOL吗?
如果Windows上的Visual studio code 我可以根据文件类型设置VS代码默认EOL吗?,visual-studio-code,Visual Studio Code,如果Windows上的.sh文件具有CRLF的EOL,则在Linux Docker容器中运行这些文件时会出现问题。我是否可以使VS代码始终与LF一起用于特定的文件类型,例如.sh,同时仍对所有其他文件使用CRLF 我只在设置中找到“files.eol”:“\r\n”,但这是全局的 我知道您可以在底部工具栏中对每个文件进行更改,但我希望这是所有.sh文件的默认设置。您可以使用 安装,然后在项目根目录下添加一个.editorconfig文件: [*] end_of_line = crlf [*.{
.sh
文件具有CRLF的EOL,则在Linux Docker容器中运行这些文件时会出现问题。我是否可以使VS代码始终与LF一起用于特定的文件类型,例如.sh
,同时仍对所有其他文件使用CRLF
我只在设置中找到“files.eol”:“\r\n”
,但这是全局的
我知道您可以在底部工具栏中对每个文件进行更改,但我希望这是所有.sh
文件的默认设置。您可以使用
安装,然后在项目根目录下添加一个.editorconfig
文件:
[*]
end_of_line = crlf
[*.{sh}]
end_of_line = lf
但正如@axiac所说,我建议您始终使用
lf
…在设置窗口中,转到
设置>文本编辑器>文件>下线
选项。您可以使用以下可用选项
- \n
- \r\n
- auto (default)
此处\n
表示LF,\r\n
表示CRLF,auto
使用操作系统特定的EL运算符
选择您的选项并保存
VS代码:版本1.13.3
编辑:我回答这个问题有点“过早”。但它现在从v1.40开始工作。看
您可以在vscode中执行此操作,而无需扩展名。您可以进行特定于语言的设置: 在命令选项板中,搜索“
Configure language specific
”,选择它并从语言选项中选择“shellscript
”:
这将在您的设置中创建以下内容:
"[shellscript]": {
},
现在,添加您希望应用于shellscript文件的任何内容,如下所示(并非所有设置都适用,但大多数都适用):
非常非常重要:
行尾序列用于新文件。对于现有文件,
始终保留现有的行尾序列。改变现状
行尾序列对于现有文件,请使用“更改行尾”
顺序命令
- 从
LF
。除了一些愚蠢的程序,如记事本,所有操作系统上的编程和纯文本编辑器都将其作为换行符处理。这给了我一个错误“未知标识符。使用语言标识符”,并且不起作用。你是对的,但是现在到了v1.40。我怎么知道的?LOL。这不符合“基于文件类型”的要求。(github(dot)com/Microsoft/vscode/issues/34876)
"[shellscript]": {
"files.eol": "\n"
},