如何在VS Code中禁用^M行结尾?

32

VS Code决定在我编辑的任何一行末尾添加^M字符。
它们在编辑器中不可见,但git diff会捕捉到它们。

奇怪的行结尾。

以前它没有这样做,所以我猜测我不小心碰到了一些键盘快捷键。

有人知道如何关闭这个功能并只使用常规的行结尾吗?


更新,似乎只影响了我的一个仓库。还没有弄清楚原因。 - saricden
2
我遇到了一个之前没有遇到过的问题,当我选择lf行结束符时,整个文件在git diff方面被替换。 - RufusVS
奇怪,我回退到仓库版本,用 Geany 进行了相同的编辑,但出现了相同的问题。Geany 表示该文件是 crlf 格式。是时候查看二进制文件了... - RufusVS
我认为这是与Git有关的问题。 请参见https://github.com/liximomo/vscode-sftp/issues/40。 - Henke
2个回答

31
这是由于在换行符上使用了不同的标准(在Linux中是LineFeedLF,在Windows中是CarriageReturn + LineFeedCRLF)。
您可以通过以下任一方式设置所需的编码:
  • 点击状态栏上的LF或CRLF按钮(位于右下角附近),然后选择LF或CRLF。
  • 进入命令面板(SHIFT+CTRL+p),输入“end of line”(这是我使用的助记符),直到找到Change End of Line Sequence命令。

7

前往首选项并点击设置。然后在搜索区域中输入LF。接下来,在“文本编辑器”下面点击“文件”。您将看到“文件:Eol”。Eol代表“行尾”。在我的情况下,它是“auto”,这意味着VSCode将根据文件使用LF或CRLF。

最后一步:将“auto”更改为“\n”。

enter image description here

注意:这仅适用于新文件。

其他解决方案可以在此处找到:如何将Visual Studio Code中所有文件的EOL从CLRF更改为LF


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接