Laravel中{{ asset(...) }}场景下Cmd+Click无法跳转文件的问题
针对你遇到的{{ asset('/assets/images/banner/home-2.png') }}无法通过Cmd+Click跳转、反而弹出文件创建窗口的问题,给你几个精准的解决步骤:
安装并配置Laravel Extra Intellisense扩展
这个扩展专门适配Laravel生态的路径跳转与语法提示,比单独用Intelephense更贴合Blade场景。安装后在.vscode/settings.json中添加:"laravel-extra-intellisense.assetPaths": [ "public/assets" ]它会自动识别
asset()函数内的路径,映射到项目的public目录下。修正Intelephense的文档根配置
Intelephense默认文档根未指向public,导致无法解析asset的绝对路径,在settings.json中补充:"intelephense.environment.documentRoot": "${workspaceFolder}/public"恢复Blade文件的正确语言模式
不要将.blade.php改成HTML模式,这会丢失Laravel语法支持。通过右下角的语言模式选择器,设置为Laravel Blade(需Laravel Blade Snippets或上述扩展提供的语言支持)。添加路径智能提示映射
若未安装Path Intellisense扩展可先安装,之后在settings.json中配置路径映射:"path-intellisense.mappings": { "/assets": "${workspaceFolder}/public/assets" }
完成配置后重启VSCode,再试Cmd+Click就能直接跳转到public/assets/images/banner/home-2.png文件了。之前的方法未生效,主要是因为没针对Laravel的asset函数做专门路径映射,且错误修改Blade语言模式导致语法识别失效。
内容的提问来源于stack exchange,提问作者Matheus Gabardo Messias

