如何在VS Code中同时实现Smarty与HTML的自动缩进及语法高亮
VS Code混合Smarty与HTML缩进同时生效解决方案
你当前的问题根源是将html/htm文件全量关联为smarty语言类型后,VS Code仅加载Smarty扩展提供的缩进规则,未继承HTML原生的缩进逻辑,按以下步骤调整即可:
方法1:追加语言专属配置(优先推荐)
保留你现有的files.associations配置,在settings.json中追加以下内容:
"[smarty]": { "editor.defaultFormatter": "vscode.html-language-features", "editor.autoIndent": "full", "html.format.enable": true, "emmet.includeLanguages": { "smarty": "html" } }
- 该配置会让Smarty类型文件复用VS Code内置HTML语言的格式化、自动缩进、Emmet补全能力,同时不会影响Smarty扩展提供的语法高亮效果
- 配置完成后重启VS Code即可生效,两种语法的缩进、高亮功能均可正常运行
若你同时使用Prettier作为全局格式化工具,需要额外追加配置避免冲突:
"prettier.documentSelectors": ["**/*.html", "**/*.htm", "**/*.tpl"]
方法2:更换适配性更好的Smarty扩展
如果上述配置不生效,可以卸载当前使用的Smarty Template Support扩展,更换为Jun Han开发的Smarty扩展,该扩展默认已经完成HTML特性继承,安装后保留你现有文件关联配置即可直接使用双语言的缩进、高亮能力。
内容的提问来源于stack exchange,提问作者klm123
相关产品推荐
相关产品推荐

