【问题标题】:How to make VS code auto detect the language what I type and change language mode to it?如何让 VS 代码自动检测我输入的语言并将语言模式更改为它?
【发布时间】:2022-03-01 00:36:02
【问题描述】:

我正在使用 HTML、CSS、JAVASCRIPT、PHP、MYSQL 创建一个项目

在使用 Aptana Studio 3 年后,现在我正在使用 VScode。

那么如何让 VScode 检测我输入的语言并自动将模式更改为它?

示例:

我在html代码中使用php脚本,但是文件的扩展名是.php 当我在<?php ?> 区域内编码时如何使 vscode 自动检测到并将语言模式更改为 php,当我在<?php ?> 区域外编码时自动检测到该并将语言模式更改为 html,例如当我键入<style></style> 之类的标签并开始在其中键入,自动检测并将语言模式更改为 css。

是否有任何扩展或任何解决方案?

顺便说一句,这个功能是在 aptana studio 中实现的

【问题讨论】:

    标签: php visual-studio-code vscode-settings


    【解决方案1】:

    vscode 1.59 中加入了自动语言检测功能:

    无标题文件的自动语言检测

    我们很高兴地宣布自动语言的初步预览 检测使用机器学习检测的无标题文件 您正在使用哪种语言进行编码并自动设置语言 无标题文件的模式。此功能利用了开源 ML 库、Tensorflow.js 和 ML 来自Guesslang GitHub 的模型 用户@yoeo

    设置为"workbench.editor.languageDetection": true, (true = default)

    注意:如果语言检测不够自信,那么您将保持当前的语言模式,并且不会在 语言选择器,直到语言检测更有信心。这 设置还允许您提供可以使用的语言覆盖 指定您不想自动切换的语言模式 从。给定这个例子:

    
     "[markdown]": {
       "workbench.editor.languageDetection": false 
    } 
    

    Workbench > Editor: Language Detection


    在 v1.65 中还有更多工作和自动语言检测的另一个设置:

    改进的自动语言检测

    当新设置workbench.editor.historyBasedLanguageDetection 已启用,无标题编辑器现在将使用改进的自动 影响编辑器历史的语言检测算法和 当前工作空间的内容提供检测结果 需要更少的输入文本

    【讨论】:

    • 从措辞看来,它仍然是每个文件的关联,因此您不能在一个文件中包含多种不同的语言(例如,包含 HTML、PHP、CSS 和 JavaScript 的 .php 文件)一)
    • 我同意,不同嵌入文件的语法高亮是一个不同的问题。您将不得不使用一些嵌入式语言代码进行测试,看看它的作用。
    【解决方案2】:

    根据文档,您请求的内容似乎不存在:

    在 VS Code 中,我们根据文件扩展名默认支持文件的语言。但是,有时您可能希望更改语言模式,为此单击位于状态栏右侧的语言指示器。这将打开选择语言模式下拉菜单,您可以在其中为当前文件选择另一种语言。

    基于此,您可以理解 VS Code 的语言检测是基于文件扩展名的。但是你可以associate languages with file extensions。根据文档:

    例如,下面的设置将 .myphp 文件扩展名添加到 php 语言标识符中:

    "files.associations": {
        "*.myphp": "php"
    }
    

    这样,您可以将常用语言与常用文件扩展名相关联。

    【讨论】:

      【解决方案3】:

      VS Code 可以通过修改 files.associations 属性来自动检测语言扩展。

      点击 control + P 并搜索 settings.json。打开该文件并更改以下行:

      "*.php": "properties""*.php": "php"

      【讨论】:

        【解决方案4】:

        从 1.60 版(2021 年 8 月)开始,vscode 包含自动语言检测功能。

        https://code.visualstudio.com/updates/v1_60#_automatic-language-detection

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-07-07
          • 2017-05-26
          • 2018-07-29
          • 1970-01-01
          • 2020-12-08
          • 2020-07-25
          • 2019-07-08
          相关资源
          最近更新 更多