【问题标题】:Set language for syntax highlighting in Visual Studio Code在 Visual Studio Code 中设置语法突出显示的语言
【发布时间】:2015-08-26 20:08:38
【问题描述】:

在混淆开始之前,这个问题是关于 Code 的,新的轻量级 Visual Studio 编辑器。 你可以从这里得到它:https://code.visualstudio.com/

我有一个包含 CSS 的文本文件 (.txt),并希望获得语法高亮。您可以使用 ctrl+shift+p打开命令面板。但是你不能像在 Sublime 中那样设置语法。

还有其他方法可以从我的文本文件中获取 CSS 着色吗?

【问题讨论】:

  • 为了进一步强调,这里的解决方案不适用于 Visual Studio。我今天才知道 Visual Studio Code 的存在。如果常规 Visual Studio 采用类似的语言模式切换,那就太好了。哦,微软...

标签: editor syntax-highlighting visual-studio-code


【解决方案1】:

在最右下角,笑脸左侧有一个图标,上面写着“纯文本”。当您单击它时,会出现包含所有语言的菜单,您可以在其中选择所需的语言。

【讨论】:

  • 如何使具有此扩展名的文件始终使用该格式?
  • 如果其他人尝试这个(在 Mac 上)总是不小心打开他们的键盘映射并想知道为什么,更明确地说 - 按住 Cmd 并按 K,放开 Cmd,按 M
  • 它的现有快捷方式确实很愚蠢。我进入键盘快捷键,找到“更改语言模式”并将快捷键设置为cmd+opt+p,这与sublime不太一样,但比K+M更容易肌肉记忆
  • 是否有永久的方法来为项目中的文件设置此项?出于某种奇怪的原因,我需要为我的(降价)项目自述文件提供ProjectNotes.txt。我讨厌每次编辑文件时都必须这样做
【解决方案2】:

Ctrl + KM,然后输入(或单击)您想要的语言。

或者,要从命令面板访问它,请查找“更改语言模式”,如下所示:

【讨论】:

  • 如果你看到的是扩展面板,你可能是按 Ctrl + K、Ctrl + M 而不是 Ctrl + K、M,这是我犯的错误。
  • cmd + K M 在 Mac 上。
  • @gitsitgo, K M 是什么意思?
  • 这应该重命名为“更改语法突出显示”
  • 如果它对任何人有帮助,我正在尝试CMD + k,m,但应该按下CMD + k,然后松开按键(CMD 和 k 两者)并按下m
【解决方案3】:

人们可能难以使语法突出显示工作的另一个原因是因为他们没有安装适当的语法包。虽然预装了一些默认语法包(如 Swift、C、JS、CSS),但其他的可能不可用。

要解决这个问题,您可以 Cmd + Shift + P → “安装扩展”并查找要添加的语言,例如“Scala”。

找到合适的语法包,安装并重新加载。这将为具有预定义扩展名的文件选择正确的语法,在这种情况下为.scala

除此之外,您可能希望 VS Code 将具有特定自定义扩展名的所有文件视为您的首选语言。假设您想将所有 *.es 文件突出显示为 JavaScript,然后只需打开“用户设置”(Cmd + Shift + P →“用户设置”)并配置您的自定义文件关联,如下所示:

  "files.associations": {
    "*.es": "javascript"
  },

【讨论】:

    【解决方案4】:

    自定义文件扩展名的语法高亮

    任何自定义文件扩展名都可以与标准语法突出显示相关联 custom files association 在用户设置中如下。

    请注意,这将是一个永久设置。 要单独设置当前会话,请在Select Language Mode 框中输入首选语言(不更改file association 设置)

    安装新的语法包

    如果所需的语法包默认不可用,您可以通过扩展市场Ctrl+Shift+X)添加并搜索语言包。

    您可以进一步重现上述步骤,将文件扩展名映射到新的语法包。

    【讨论】:

    • 投票赞成,因为文件关联立即起作用并在下一次会议上被记住。但是,它不会为版本控制生成项目文件,因此该设置似乎作为跨项目的全局设置保存在我的本地计算机首选项中(这可能是我想要的,也可能不是我想要的)。有关特定于项目的版本文件,请参阅 GorvGoyl 的 settings.json 答案。
    【解决方案5】:

    永久设置语言语法:
    打开settings.json文件

    • 使用javascript 格式化所有txt 文件
    "files.associations": {
                "*.txt": "javascript"
              
         }
    
    • 将所有未保存的文件(untitled-1 等)格式化为javascript
    "files.associations": {
                "untitled-*": "javascript"
              
         }
    

    【讨论】:

    • Sayooj Samuel 的回答有效,但我也应用了这个以确保我的项目知道这一点,并且因为我可以版本控制 settings.json,如果我在另一台计算机上克隆我的项目,它将立即使用语法正确。
    【解决方案6】:

    请注意,对于“无标题”编辑器(“Untitled-1”、“Untitled-2”),您现在可以在设置中设置语言。

    之前的设置是:

    "files.associations": {
            "untitled-*": "javascript"
     }
    

    这将不再有效,因为 VSCode 1.42 (Q1 2020) will change the title of those untitled editors.
    标题现在将是文档的第一行编辑标题,以及作为描述一部分的通用名称。
    它不再以“untitled-”开头

    见“Untitled editor improvements

    关于那些“无标题”编辑器的相关语言:

    默认情况下,无标题文件没有配置特定的语言模式。

    VS Code 有一个设置 files.defaultLanguage,用于为无标题文件配置默认语言。

    在此版本中,该设置可以采用新值 {activeEditorLanguage},该值将动态使用当前活动编辑器的语言模式,而不是固定默认值

    此外,当您将文本复制并粘贴到无标题编辑器时,如果文本是从 VS Code 编辑器复制的,VS Code 现在会自动更改无标题编辑器的语言模式:

    看看workbench.editor.untitled.labelFormat in VSCode 1.43


    2021 年 3 月(VSCode 1.55 可能),issue 118455“无标题文件的自动语言分类”和PR 119325 正在研究某种无标题文件的自动语言检测。


    如果你忘记了,使用 VSCode 1.56,2021 年 4 月:

    Untitled editors hint

    我们注意到许多新用户不知道必须设置语言才能获得完整的 VS Code 语言支持。

    为了帮助解决这个问题,我们为无标题编辑器引入了提示,以帮助用户设置正确的语言模式。
    无标题提示可能对高级用户没有帮助,因此在您开始输入时它会立即消失,或者您可以选择不显示以不再显示提示。


    使用 VScode 1.60(2021 年 8 月):

    Automatic language detection

    上一个版本,我们为无标题文件引入了一项实验性功能,该功能会根据内容自动设置文件的语言模式。

    此功能使用机器学习来猜测语言,并且完全在您的机器上完成。它由开源 ML 库 Tensorflow.js 和来自 GitHub 用户 @yoeoGuesslang 的 ML 模型提供支持。

    此版本默认启用此功能,并将自动语言检测扩展到没有文件扩展名的文件。在 Notebooks 中,我们提供了一种使用语言选择器请求语言检测的简单方法。 这会带来一些有趣的场景:

    • 从网上抓取一个示例并将其粘贴到无标题编辑器中 无标题文件的语言检测

    • “Pipe into code”语言检测(展示对无扩展名文件的检测)无扩展名文件的语言检测

    • 笔记本语言选择器中的自动检测选项笔记本的语言检测


    VSCode 1.65(2022 年 2 月)随附:

    Improved automatic language detection

    启用新设置 workbench.editor.historyBasedLanguageDetection 后,无标题编辑器将使用改进的自动语言检测算法,该算法会考虑您的编辑器历史记录和当前工作区的内容,以提供检测结果所需的输入文本比以前少得多。

    以下是跨 JavaScript、TypeScript、Markdown、PHP 和 C++(支持更多语言)使用此功能的示例:

    主题:GitHub Light + HC 自定义

    【讨论】:

      【解决方案7】:

      现在您可以通过安装 VS Code 扩展从命令面板设置语法高亮:设置语法

      https://marketplace.visualstudio.com/items?itemName=ahgood.set-syntax

      【讨论】:

        【解决方案8】:

        这可能不是问题的正确答案,但这就是发生在我身上的事情。有时我们寻求的答案可能不是我们需要的答案。

        【讨论】:

          猜你喜欢
          • 2020-08-28
          • 2018-08-23
          • 2016-11-04
          • 1970-01-01
          • 2019-01-12
          • 1970-01-01
          • 2022-12-09
          • 1970-01-01
          • 2018-09-25
          相关资源
          最近更新 更多