Visual Studio Code: 如何显示行尾符

360

如何在Visual Studio Code中显示换行符(CR,LF)(而不是在Visual Studio中)?

目前只有一个小状态栏菜单可以显示/更改实际文件的行尾。但有时候直接看到每一行的行尾会更好,特别是当有混合的行尾时(这不是很好,但偶尔会发生)。

我使用以下设置,但它们都没有显示行尾。

"editor.renderWhitespace": true,
"editor.renderControlCharacters": true,
"editor.renderIndentGuides": true

有没有关于行尾符的设置?


我在GitHub上开了一个问题:Possibility to display line endings in text area #12223

Soham Kamani 为此制作了一个扩展程序:code-eol


31
如果您仍需要,我已经为此制作了一个扩展程序:https://marketplace.visualstudio.com/items?itemName=sohamkamani.code-eol。 - Soham Kamani
1
@SohamKamani 你的评论应该被接受为这个问题的答案。 - Nicolas Seiller
那个扩展程序是无用的:它实际上并不显示字符是回车符还是换行符,它只是在行末制作与 vscode 声明文件相匹配的字形。它不能帮助准确定位具有混合行尾样式的文件。(或者 vscode 自动规范化文件的行尾,从而使任何此类扩展程序都变得无用。) - Tustin2121
3
这个已经改变了:"editor.renderWhitespace": true,不再接受true。 - Timo
2
对于 "editor.renderWhitespace" 属性,有效的取值为字符串类型的 "none", "boundary", "selection", "trailing", "all"。 - mdiiorio
8个回答

464
据我所知,在编辑器空间中无法直观地看到行结尾,但是在窗口右下角有一个指示器显示“CLRF”或“LF”,这将允许您设置特定文件的行结尾。单击文本也可以更改行结尾。 输入图片说明

31
你能更改这个默认值吗?现在每次我打开一个文件时,都需要手动点击它。 - David Martinez
27
@DavidMartinez 是的,在用户或工作区设置中:// 默认的行尾字符。 "files.eol": "\r\n", - Llewey
5
但这是一个全局更改,对吗?我能否仅针对.sh文件进行设置? - Kostas Demiris
12
没有回答问题,该问题是关于如何显示行尾的。 - G Huxley
幸运的是,你不需要用鼠标移动到左下角更改文件,而是可以使用文件中的 f1更改行尾序列 来完成。 - Timo
显示剩余3条评论

139

如果你希望将其设置为LF作为默认项,则可以在编辑器设置中粘贴此行(F1菜单; > Preferences: Open Settings (JSON)

"files.eol": "\n"

例子:

{
    "git.confirmSync": false,
    "window.zoomLevel": -1,
    "workbench.activityBar.visible": true,
    "editor.wordWrap": true,
    "workbench.iconTheme": "vscode-icons",
    "window.menuBarVisibility": "default",
    "vsicons.projectDetection.autoReload": true,
    "files.eol": "\n"
}
请注意,这将仅更改新文件的默认行结尾。这不会编辑您的文件。

请注意,这将仅更改新文件的默认行结尾。这不会编辑您的文件。


27
我已经做了这个,但每次我打开一个文件时,它仍然以CRLF格式打开,我必须手动更改。 - pixelwiz
1
@pixelwiz 如果你保存文件,它会变成LF吗?https://github.com/Microsoft/vscode/issues/26626 https://github.com/Microsoft/vscode/issues/2957我换成了Mac,所以在自己的项目上开发时不再有这个问题。很抱歉我无法验证。 - Isak La Fleur
9
在Windows上也是一样——将文件.eol用户设置为"\n",但文件仍报告为CLRF。 - Marko
2
我刚刚在Win 10和VS Code 1.20.1上成功测试了这个。新文件使用LF换行符创建! - iaforek
1
在创建新文件时,VSCode 会使用 LF 设置打开。但是当我像 @pixelwiz 一样打开项目中的现有文件时,也希望能够使用 LF 打开。有什么好的想法吗? - ZenVentzi
显示剩余5条评论

78

我得到了“未知配置设置”。 - John Balvin Arias
@JohnBalvinArias 你安装了这个扩展吗? - friederbluemle

26

你可以安装一个插件来显示行尾符。

VS Marketplace上有几个可用的插件。

或者如果他们的搜索不起作用,可以尝试这个相关的谷歌搜索


在原回答中,我提供了Johnny Härtell的一个特定扩展链接 两年后,这个扩展和作者神秘地从VS Marketplace中消失了。

为了提供更好的体验,并希望未来能够证明这个答案是正确的,我已经更新了搜索结果,这些结果应该会让我们接近一个相关的扩展。


4
目前,该扩展程序并没有实现其所宣称的功能。在混合使用不同行结尾符的文件中,它会显示出所有行结尾符都一致的情况,而这是基于 VS Code 声明的该文件遵循的行结尾符类型。 - Andrew Arnott
@AndrewArnott,你能告诉我为什么它对你不起作用吗?对我来说,它完美地工作,只是图标有点小。 - John Balvin Arias
5
这是因为VSCode本身不支持混合的行尾符。https://github.com/Microsoft/vscode/issues/127 - Chev
@AndrewArnott,你知道插件出了什么问题吗?我正在尝试重新安装它,但无法工作。 - John Balvin Arias
现在似乎有很多插件。我用谷歌找到了一个小列表,搜索如下... 我会尽快更新问题。 Line endings site:marketplace.visualstudio.com - Shanimal
显示剩余2条评论

7

我使用了"查找(find)"功能,之后对"\n"进行了正则表达式搜索。这样能够简单但实用地显示出所有换行符。希望对您有所帮助。


2
  • Ctrl+H
  • 通过 "\n" 查找
  • 激活 "正则表达式" (Alt+R)

enter image description here


1
太完美了,这个回答被低估了! 谢谢! - undefined

1

有相反的问题?如何隐藏行尾:

奇怪的是我遇到了相反的问题!每个换行符都被突出显示,这是我从未见过的。在所有打开的文件中且没有选择。我以为我误按了快捷键,所以我才会看到这个问题。由于该功能似乎并不存在,我只能关闭并重新打开,然后它们就消失了!

enter image description here


1
那是个奇怪的问题!我会打开用户设置json,将所有内容复制到notepad ++中(如果在Windows上),然后获取默认用户设置json的副本,也将整个内容复制到notepad ++中,然后重置vscode中的所有设置并对两者进行差异比较以查看发生了什么变化。你没有单独发布一个问题,让其他人能够找到您的帖子以解决相同的问题吗?如果您已经发布,请提供链接。 - Corné
只是重新打开就解决了,看起来是VSCode出了一些问题。 - Simon_Weaver

0
另一种在 Visual Studio Code 中设置默认行尾 end of line 值的方法:
  1. 导航到 Visual Studio Code 设置选项卡(例如,通过 Ctrl + , (逗号))
  2. 在搜索栏中搜索 end of line
  3. Files: Eol 下拉菜单中设置所需的值
截图:

Enter image description here


8
问题是如何“显示”当前行尾,而不是如何“改变”它。 - Peter Mortensen

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