Laravel for Zed,作者 迈克·布朗纳 是一个社区扩展,它为 Laravel 添加了感知功能。 Zed 编辑 它运行一个语言服务器协议引擎,使用 tree-sitter 解析您的 PHP 和 Blade 文件(仅进行静态分析,不执行任何应用程序代码),以驱动诸如跳转到定义和重命名之类的功能。
Laravel 约定中的跳转到定义
Laravel 中用于视图、路由和环境变量等的字符串引用会被解析,因此你可以按住 Command 键并点击引用跳转到其源代码,并将鼠标悬停在引用上查看详细信息。截至撰写本文时,Laravel for Zed 支持以下功能:
- 视图
- Blade 组件
- 航线
- 配置键
- 翻译
- 环境值
- 资产
- 中间件
- 容器绑定
- 查询链列、关系和表
view('welcome')
在
routes/web.php
直接跳转到
resources/views/welcome.blade.php
。悬停、查找引用和重命名
将鼠标悬停在已识别的模式上,即可显示 Intelephense 风格的摘要卡片。“查找引用”功能可定位整个项目中的调用点,包括供应商包内的匹配项。重命名操作是原子性的:重命名路由、配置项、翻译、环境变量、视图、组件、Livewire 引用、中间件、绑定或模型类,只需一次操作即可更新所有相关用法。
config('services')
弹出一张摘要卡片,指向
config/services.php
。自动完成和模式感知诊断
自动完成功能涵盖类型转换、模型属性、查询链方法、构建器方法、Blade 变量等。 三角旗 标记。诊断功能会标记缺失的视图和组件,并对照实际数据库架构检查查询链引用,以发现列名和关系名中的拼写错误。当发现缺失内容时,“快速操作”功能提供一键创建视图、组件、中间件、功能和迁移的功能。
基于模式的自动完成和诊断功能是可选的,它们会从您现有的数据库连接读取数据。
.env
:
数据库连接
=
mysql数据库主机
=
127.0
.0.1数据库
=
我的应用程序数据库用户名
=
根数据库密码
=
秘密
支持 MySQL、PostgreSQL、SQLite 和 SQL Server。
刀片编辑和轮廓面板
对于 Blade 模板,此扩展程序添加了指令补全、智能括号扩展和结束标签导航功能。它还会将 Laravel 感知的路由和 Blade 结构视图添加到 Zed 的大纲面板和面包屑导航中。要启用基于 LSP 的大纲,请在文档中同时启用两种语言的文档符号。
settings.json
:
{
“语言”
:{
“PHP”
:{
"文档符号"
:
“在”},
“刀刃”
:{
"文档符号"
:
“在”}}}
view('welcom')
缺失。索引和缓存
引擎在启动时会对每个 PHP 和 Blade 文件进行索引,并保留磁盘缓存,因此重新打开项目几乎是瞬间完成的,并且只会重新解析已更改的文件。来自 git pull 或格式化程序运行的外部编辑也会被识别。
安装
在 Zed 扩展市场中搜索“Laravel”并点击安装,或者通过克隆存储库并从源代码构建,然后运行
cargo build --release
在里面
laravel-lsp/
目录,并使用“zed: 安装开发扩展”。
作者建议将其与 Laravel Blade、PHP (Intelephense)、phpcs 和 phpmd 扩展配合使用。您可以在此处查看源代码和配置选项。 GitHub 。







