【问题标题】:VSCode Language-Specific Background Color Like Notepad++VSCode 语言特定的背景颜色,如 Notepad++
【发布时间】:2018-05-15 01:17:00
【问题描述】:

我最近从使用 Notepad++ 多年转向 VSCode。例如,在 Notepad++ 中,如果编辑 HTML 文件,默认的编辑器背景是白色的,但是它能够在编辑器中对不同语言的背景进行着色,例如 PHP 和 JavaScript 在左括号和右括号之间。例如,任何介于两者之间的 PHP 代码都将具有浅黄色背景,而 JavaScript 则为浅蓝色。

这在 VSCode 中可行吗?自从我迁移到 VSCode 后,这是一个非常有用且非常错过的​​功能。

【问题讨论】:

    标签: visual-studio-code notepad++ vscode-settings


    【解决方案1】:

    从 VS Code 1.24 开始不支持开箱即用。 This issue 每个文件类型主题的曲目

    扩展程序也可以将某些东西组合在一起来模拟这一点。请参阅this guide 了解如何开始编写扩展

    【讨论】:

    • 感谢马特的快速回复。我确实看到了有关拥有基于文件类型的主题的帖子,但这并不能完全解决这个特别的问题。希望随着更多 N++ 人的迁移,将为此提供一个扩展。
    【解决方案2】:

    我知道这个问题很老,但我通过使用 Highlight extension 和正则表达式找到了解决方案。基于this information 的一些内容。还依靠RegExr 弄清楚我在做什么。我根本不怎么用正则表达式。

    解决方案:

    安装 Highlight 扩展后,在我的 settings.json 文件中,我有以下代码来轻轻突出 PHP 标签:

    {
        // Other settings before...
        "highlight.regexes": {
            "(<\\?php.+?\\?>)": {  // match multiline php code between "<?php" and "?>"
                "regexFlags": "gims", // Flags used g (global), i (case insensitive), m (multiline), and s (single line [dotall])
                "filterLanguageRegex": "php", // Only applies to PHP files, optional
                "decorations": [ 
                    { "backgroundColor": "#f2f2f2" },
                ]
            }
        }
        // Other settings after...
    }
    

    结果:

    【讨论】:

    • 感谢分享。我安装了扩展并使用了与上面相同的设置配置,但它似乎没有做任何事情?
    • 我当然还不是 VS Code 方面的专家,所以很难说。我上周刚换了。您可以检查突出显示的颜色以确保它足够不同以可见。此外,此正则表达式仅针对 PHP,因此如果您使用另一种语言,则需要单独的正则表达式规则。抱歉,这些可能是非常无用的建议...
    • 另外,为了清楚起见,settings.json 中的所有设置都需要有一组打开/关闭花括号(如果您尚未对文件进行更改)。我将编辑上面的答案。
    • 这个选项是让我坚持使用 notepad++ 并远离 vscode 的唯一问题。伟大的。谢谢。顺便说一句,最好将php短标签的“()”更改为“()”:)跨度>
    • 谢谢@StudioX!附带说明一下,自从实现了这个,我实际上为此使用了一个 RGBA 值。我注意到选择文本时出现了一些问题,所以我将其设置为半透明的灰白色,这样可以让常规的文本选择颜色稍微显示出来。
    猜你喜欢
    • 2014-06-17
    • 2013-04-17
    • 1970-01-01
    • 2019-08-21
    • 2014-08-17
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多