如何在Visual Studio Code中手动设置语言以突出显示语法


345

在混乱开始之前,这个问题是关于代码(新的轻量级Visual Studio编辑器)的。您可以从这里获取:https : //code.visualstudio.com/

我有一个带有CSS的文本文件(.txt),并且想突出显示语法。您可以使用+ + 打开命令面板。但是,您无法在Sublime中设置语法。ctrlshiftp

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


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

Answers:


589

在最右下角的笑脸左侧,有一个标有“纯文本”的图标。当您单击它时,将显示所有语言的菜单,您可以在其中选择所需的语言。

VSCode


9
Ctrl + K,Ctrl + M和Ctrl + K,M:太混乱了。这个解决方案很棒!
Upendra'4

24
天哪,为什么它也不也是命令面板的一部分!?我永远不会在这里找到它,谢谢:)
jaredwilli

3
如何使具有此扩展名的文件始终使用该格式?
frumbert

18
我喜欢那个红色箭头。
Henning Fischer

1
现有的快捷方式确实很愚蠢。我进入了键盘快捷键,找到了“更改语言模式”并将快捷键设置为cmd+opt+p与Sublime不太相同,但比K + M容易记忆肌肉
Matt Fletcher

279

Ctrl + KM,然后输入(或单击)所需的语言。

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

在此处输入图片说明


43
如果您看到“扩展”面板,则可能是按Ctrl + K,Ctrl + M而不是Ctrl + K,M,这是我犯的错误。
克里斯(Chris

14
在Mac上为cmd + KM。
亚当·帕金

6
@ gitsitgo,KM的含义是什么?
和平者

1
macOS:shift + cmd + P
gderaco

9
这应该重命名为“更改语法突出显示”
Simon Somlai

32

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

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

在此处输入图片说明

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

最重要的是,您可能希望VS Code将具有某些自定义扩展名的所有文件作为首选语言。假设您要突出显示所有*.es文件为JavaScript,然后只需打开“用户设置”(Cmd + Shift + P→“用户设置”)并按如下方式配置自定义文件关联:

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

5
谢谢-files.associations是我所追求的
statler

1
您从我那里得到了带有文件关联tidbit的cookie,谢谢!
user188757 '18

19

自定义文件扩展名的语法突出显示

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

更改文件关联设置以永久语法突出显示

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

安装新的语法包

如果默认情况下所需的语法包不可用,则可以通过Extension MarketplaceCtrl+Shift+X)添加它们并搜索语言包。

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


4

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

*)使用javascript格式化所有txt文件

"files.associations": {
        "*.txt": "javascript"

 }

*)将所有未保存的文件(untitled-1等)格式化为javascript:

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

 }

4

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

先前的设置是:

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

这将不再总是有效,因为使用VSCode 1.42(Q1 2020)将更改那些无标题编辑器的标题。现在
标题将是编辑器标题的文档第一行,以及作为描述一部分的通用名称。
它不再以“ untitled-” 开头

请参见“ 无标题的编辑器改进

关于那些“无标题”编辑者的关联语言:

默认情况下,未命名文件没有配置特定的语言模式。

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

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

另外,将文本复制并粘贴到无标题编辑器中时,如果从VS Code编辑器复制了文本,则VS Code现在将自动更改无标题编辑器的语言模式:

https://media.githubusercontent.com/media/microsoft/vscode-docs/vnext/release-notes/images/1_42/untitled-copy2.gif

并参见workbench.editor.untitled.labelFormatVSCode 1.43

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.