默认情况下,为VS Code上的语言分配没有扩展名的文件

时间:2018-03-21 15:34:49

标签: visual-studio-code

在VS Code中,我通常只打开没有扩展名filename的文件。我知道我可以使用更改语言模式更改语言语法 - >我想要的语言,但每次打开这样的文件时我都不想手动执行此操作。每次打开没有扩展名的文件时,我都可以默认使用这种语言吗?

我知道我可以这样做:

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

但如果没有延期怎么办?此外,我希望能够在不影响其他文件类型(具有扩展名)的情况下执行此操作。

2 个答案:

答案 0 :(得分:0)

VS Code的问题目前似乎无法检测没有扩展名的文件。每当有人打开问题时,他们都会将问题指向this issue here。他们详细介绍了他们的globbing support here

也就是说,我确实对此有一个棘手的解决方案。将其放在“工作空间设置”中(而不是常规设置,除非您确实希望此设置为全局设置)。

{
    "files.associations": {
        "[!.]": "php",
        "[!.][!.]": "php",
        "[!.][!.][!.]": "php",
        "[!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "php",
        "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "php"
    },
}

这可以通过为每个文件名长度添加一个规则并确保文件中不能包含句点(在我的示例中最多20个字符)来实现。这是一个骇人的骇客解决方案,但是如果您只用一次鼻子固定一次,就可以忘记它,并且一切正常。我在dotfiles存储库中执行此操作,以将无扩展名的文件与“ shellscript”相关联。

您还可以使用双星符号"**/just_this_dir_name/[!.]": "php"仅针对特定目录执行此操作。

答案 1 :(得分:0)

由于问题Expose 'change language' as command的完成和插件Modelines的开发,​​我们现在可以在文件内部使用vim样式的modeline而不加后缀,而vscode可以检测文件类型。

示例:

文件名:post-commit

文件内容:

#!/bin/sh
# vim: set ft=sh

echo "hello world linked"

安装Modelines扩展名后,文件将正确突出显示:

sample highlight result