如何在VSCode中仅将无扩展名文件关联为XML格式?
解决VSCode无扩展名文件关联为XML的问题
我懂你的困扰——直接用"*": "xml"会把所有文件都识别成XML,包括带扩展名的,完全偏离了你的需求。这里有两个实用的方法帮你实现只关联无扩展名文件为XML:
方法一:精准匹配无扩展名文件(推荐)
借助VSCode支持的glob模式,直接锁定所有不带扩展名的文件(包括隐藏文件),不会干扰带扩展名的文件的原有关联。在settings.json中添加以下配置:
"files.associations": { "**/[!.]*": "xml", "**/.[!.]*": "xml" }
**/[!.]*:匹配所有非隐藏的无扩展名文件(比如config、data这类普通文件)**/.[!.]*:匹配所有隐藏的无扩展名文件(比如.bashrc、.gitignore这类隐藏文件)
配置完成后,只有无扩展名的文件会被识别为XML,带扩展名的文件会保持它们原本的语言格式。
方法二:全局匹配后覆盖常用扩展名
如果你觉得glob模式有点绕,也可以先把所有文件设为XML,再把日常用到的扩展名重新关联回对应的语言。这种方法逻辑简单,但需要你列出常用的扩展名:
"files.associations": { "*": "xml", "*.js": "javascript", "*.ts": "typescript", "*.json": "json", "*.md": "markdown", "*.html": "html", "*.css": "css", // 按需添加你需要保留的其他扩展名关联 }
VSCode会优先应用更具体的匹配规则,所以带扩展名的文件会使用后面的专属规则,无扩展名的文件则会匹配*规则,被识别为XML。
两种方法都能解决你的问题,优先推荐第一种,因为它更精准,不需要维护一堆扩展名列表。
内容的提问来源于stack exchange,提问作者Abhishek Agrawal
相关产品推荐
相关产品推荐

