ChatGPT解决这个技术问题 Extra ChatGPT

在 Visual Studio Code 中显示空白字符

是否可以在 Visual Studio Code 中显示空白字符,如空格字符?

settings.json 中似乎没有它的选项(尽管它是 Atom.io 中的一个选项),而且我无法使用 CSS 显示空白字符。


M
Mark

VS Code 1.6.0 及更高版本

正如 aloisdg below 所提到的,editor.renderWhitespace 现在是一个采用 noneboundaryall 的枚举。查看所有空格:

"editor.renderWhitespace": "all", 

VS Code 1.6.0 之前

在 1.6.0 之前,您必须将 editor.renderWhitespace 设置为 true

"editor.renderWhitespace": true

有没有办法只对选定的字符执行此操作,例如 Sublime 的 "draw_white_space": "selection" 选项?
@noio 还没有,但它正在路上github
@drzaus,"editor.renderWhitespace": "boundary" 将是行的开头和结尾,其中 "deitor.renderWhitespace": "all" 将显示所有空格。 @AlexanderGonchiy,我发现打开文件>首选项>用户设置(或工作区设置)并在默认设置文件夹中使用“查找”来查找我需要的内容很有用。
文件 -> 首选项 -> 设置。搜索“空白”。在“编辑器:渲染空白”下,有一个下拉菜单可以选择您的新设置。 (v1.13.2)
@noio,在 v1.37(2019 年 8 月上旬发布)中添加了 selection 选项下方的我的答案。
C
Coder Absolute

也可以通过主菜单完成View -> Render Whitespace


i
informatik01

更新(2019 年 6 月)

对于那些愿意使用键盘快捷键切换空白字符的人,您可以轻松地为此添加键绑定。

在最新版本的 Visual Studio Code 中,现在有一个用户友好的图形界面(即无需键入 JSON 数据等),用于查看和编辑所有可用的键盘快捷键。还在下

文件 > 首选项 > 键盘快捷键(或使用 Ctrl+K Ctrl+S)

还有一个搜索字段可帮助快速查找(和过滤)所需的键绑定。所以现在添加新的和编辑现有的键绑定要容易得多:

https://i.stack.imgur.com/3tyIY.png

切换空白字符没有默认的键绑定,因此请随意添加一个。只需按相关行左侧的 + 号(或按 Enter,或双击该行的任意位置),然后在弹出窗口中输入所需的组合。

如果您选择的键绑定已用于其他一些操作,则会有一个方便的警告,您可以单击并观察哪些操作已使用您选择的键绑定:

https://i.stack.imgur.com/HJZt0.png

如您所见,一切都非常直观和方便。干得好,微软!

原始(旧)答案

对于那些愿意使用键盘快捷键切换空白字符的人,您可以将自定义绑定添加到 keybindings.json 文件(文件 > 首选项 > 键盘快捷键)。

例子:

// Place your key bindings in this file to overwrite the defaults
[
    {
        "key": "ctrl+shift+i",
        "command": "editor.action.toggleRenderWhitespace"
    }
]

这里我指定了 Ctrl+Shift+i 的组合来切换不可见字符,您当然可以选择其他组合。


默认情况下,我的 Visual Studio 使用 ctrl+e ctrl+s。对于像这样的组合快捷方式,您需要在两个组合之间放置一个空格,而不是逗号。
x
xgqfrms

在 Visual Studio Code 中显示空白字符

通过添加以下代码更改 settings.json

文件路径是项目根文件夹中的 .vscode/settings.json 。

    // Place your settings in this file to overwrite default and user settings.
    {
        "editor.renderWhitespace": "all"
    }

https://i.stack.imgur.com/EWTeo.png


M
Mark

*** 更新 2020 年 8 月版本 *** 请参阅 https://github.com/microsoft/vscode/pull/104310

"editor.renderWhitespace": "trailing" // 添加选项

Add a new option ('trailing') to editor.renderWhitespace that renders only 
trailing whitespace (including lines with only whitespace).

*** 更新 2020 年 2 月版本 *** 请参阅 https://github.com/microsoft/vscode/issues/90386

在 v1.43 中,默认值将从 none 更改为 selection,就像在 v1.42 中一样。

"editor.renderWhitespace": "selection"  // default in v1.43

v1.37 更新:添加仅在选定文本中呈现空白的选项。请参阅v1.37 release notes, render whitespace

editor.renderWhitespace 设置现在支持选择选项。设置此选项后,空格将仅显示在选定文本上:

"editor.renderWhitespace": "selection"

"workbench.colorCustomizations": {    
  "editorWhitespace.foreground": "#fbff00"
}

https://i.stack.imgur.com/fEobC.jpg


如果你想让它的存在少一点,vs 代码也接受 alpha 通道,所以 #fbff0040 也是有效的,使点更透明
喜欢那个能定色的小宝石——对我的一群看不到灰点的人很有帮助,哈哈
Z
Zack S

https://i.stack.imgur.com/ml310.png

其中 TabSpace.


PS 颜色模式不是更改的一部分(我有一个额外的插件)
插件可以在这里找到:marketplace.visualstudio.com/…
A
Andrey Patseiko

打开用户首选项。键盘快捷键:CTR + SHIFT + P -> 首选项:打开用户设置;在搜索字段中插入空格,并选择所有参数


此外,对于 VS Code 1.45(在 OSX 上),默认值为“选择”。
这是最好的答案!它实际上解释了如何到达该部分以及做什么。谢谢!
a
aloisdg

它不再是 boolean。他们切换到 enum。现在我们可以选择:noneboundaryall

// Controls how the editor should render whitespace characters,
// posibilties are 'none', 'boundary', and 'all'.
// The 'boundary' option does not render single spaces between words.
"editor.renderWhitespace": "none",

您可以在 GitHub 上看到原始差异。


也可以安装一个名为 Trailing Spaces 的扩展来仅显示尾随空格。
M
Mojtaba Hosseini

所有平台(Windows/Linux/Mac):

它在视图-> 渲染空白下。

⚠️ 有时菜单项显示它当前处于活动状态,但您可以看到空格。您应该取消选中并再次检查以使其正常工作。这是一个已知的错误🐞

关于 macOS 的注意事项 

在 mac 环境下,你可以在 Help 菜单下搜索任意菜单选项,然后它会打开你要找的确切的菜单路径。例如,搜索空格会导致:

https://i.stack.imgur.com/R6Ya7.jpg


P
P.Brian.Mackey

为了让差异显示类似于 git diff 的空格,请将 diffEditor.ignoreTrimWhitespace 设置为 false。 edit.renderWhitespace 只是微不足道的帮助。

// Controls if the diff editor shows changes in leading or trailing whitespace as diffs
"diffEditor.ignoreTrimWhitespace": false,

要更新设置,请转到

文件 > 首选项 > 用户设置 Mac 用户注意事项:首选项菜单位于代码而非文件下。例如,代码 > 首选项 > 用户设置。

这将打开一个名为“默认设置”的文件。展开区域 //Editor。现在您可以看到所有这些神秘的 editor.* 设置的位置。搜索 (CTRL + F) renderWhitespace。在我的盒子上,我有:

// Controls how the editor should render whitespace characters, posibilties are 'none', 'boundary', and 'all'. The 'boundary' option does not render single spaces between words.
"editor.renderWhitespace": "none",

更令人困惑的是,左侧窗口“默认设置”不可编辑。您需要使用标题为“settings.json”的右侧窗口覆盖它们。您可以将粘贴设置从“默认设置”复制到“settings.json”:

// Place your settings in this file to overwrite default and user settings.
{
     "editor.renderWhitespace": "all",
     "diffEditor.ignoreTrimWhitespace": false
}

我最终关闭了 renderWhitespace


D
Dragonthoughts

使空白可见的选项现在显示为“视图”菜单上的一个选项,如 Visual Studio Code 1.15.1 版中的“切换渲染空白”。


S
Stevelot

点击 F1 按钮,然后输入“Toggle Render Whitespace”或您能记住的部分:)

我使用 vscode 版本 1.22.2,所以这可能是 2015 年不存在的功能。


这行得通!但它只在“全部”和“无”之间切换,跳过“边界”选项。
G
GertjanVDB

我想提供这个建议作为旁注。如果您正在寻找修复所有“尾随空格”警告,您的 linter 会向您抛出。您可以让 VSCode 使用键盘和弦自动修剪整个文件中的空格。 CTRL+K / X(默认)

我正在研究显示空格,因为我的 linter 一直在用空格警告困扰我。所以这就是我在这里的原因。