Magento 2 lsp
Magento 2编辑器和人工智能代理工具。此软件包包括两个共享相同索引和Magento配置系统的服务器:
- LSP服务器 -为你的编辑。转到定义,查找XML和PHP中的引用、诊断和代码镜头。
- MCP服务器 -AI编码代理。暴露代理无法通过读取单个文件获得的合并Magento配置。
两者都是从同一个仓库安装的,但是单独配置的——编辑器中的LSP,AI代理中的MCP。它们可以一起使用或独立使用。
依据
代理编写代码,但您仍然会对其进行审查——通过击键在XML和PHP之间切换比在配置文件中快速切换要好。AI代理需要相反的东西:不是导航,而是 *合并* Magento的多模块配置的结果,没有单个文件包含。
LSP服务器
与Intelepense或Phpactor一起工作-此LSP处理通用PHP工具无法看到的Magento特定连接。
- 键入时自动完成。 跨XML配置文件和PHP的FQCN、事件名称、配置路径、ACL资源ID、模板标识符、布局句柄、块/容器名称和DB表/列名的上下文感知完成。
- 浏览类似XML配置的代码。 转到定义并找到适用的参考文献
di.xml,events.xml,system.xml,以及布局XML——将它们链接到它们引用的PHP类、模板和配置路径。
- 追踪插件链。 查看哪些插件拦截了一个方法,从
beforeSave插件到它包装的方法中,并通过代码镜头直接在编辑器中查看插件计数。
- 遵循配置路径。 从...跳下
scopeConfig->getValue('payment/account/active')在PHP中直接 `声明中system.xml`,并使用配置路径查找所有PHP文件。
- 在键入时捕捉错误。 损坏的类引用、缺失的模板、重复的插件名称和无效的模型类都会被诊断标记——不需要等待部署来发现。
- 了解模板覆盖。 在模块模板、主题覆盖和Hyvä兼容性模块覆盖之间导航。代码镜头一目了然地显示覆盖计数和来源。
- 跨配置重命名。 重命名类、模板、ACL资源、配置路径或块/容器名称,并一次性更新所有XML引用(和相关的PHP字符串文字)。这涵盖了PHP LSP看不到的Magento特定引用——实际的PHP类名和文件留给Intelepense或Phpactor。
- 解决魔术方法。 当Intelepense无法跟踪方法调用,因为它经过了DI首选项或
__call魔术,这个LSP解决了它的具体实现。
有关完整的功能列表,请参阅 docs/features.md.
MCP服务器
将LSP服务器的Magento 2智能暴露给AI编码代理。它没有添加臃肿的工具,只是为当前的编码模型提供了真正的价值。 看 docs/mcp.md 了解设计原理、工具说明和安装说明。
需求
- Node.js>=20
安装
npm install -g @mage-os/magento2-lsp这提供了两个命令: magento2-lsp (LSP服务器)和 magento2-lsp-mcp (MCP服务器)。
Install from source
git clone https://github.com/mage-os-lab/magento2-lsp.git
cd magento2-lsp
npm install
npm run build然后添加 bin/ 目录到您的 $PATH,或者直接在编辑器/代理配置中引用二进制文件。
LSP设置(编辑器)
向您选择的法学硕士询问安装说明。如果它需要一些特殊的包装,如VS Code或Zed do,请打开一个问题,让我知道需要什么。
MCP设置(AI代理)
看 docs/mcp.md 有关Claude Code和其他MCP兼容代理的设置说明。
运作原理
在首次打开文件时,LSP检测到Magento根目录,并读取 app/etc/config.php 并为所有XML配置文件建立索引。解析结果被缓存到 .magento2-lsp-cache.json (添加到 .gitignore)用于快速重启。文件查看器在您编辑时保持索引的最新状态。
多个Magento项目可以同时打开,每个项目都有自己的独立索引。
学分
非常感谢 很好 感谢您赞助此工具的开发!
许可证
版权所有(c)2025 Vinai Kopp。根据 MIT许可证.
发展
npm install
npm test # run tests once
npm run test:watch # run tests in watch mode
npm run build # compile TypeScript