关于 mz-sql-navigation
mz-sql-navigation 是通过 mz-deploy 语言服务器导航 Materialize SQL 项目的技能,面向维护 SQL 项目的开发者。它提供语义级对象定位与依赖检查,而非基于文本搜索。
主要功能
- 01跳转到 SQL 对象定义
- 02悬停查看列与类型
- 03列出文件和工作区符号
- 04编辑后显示解析诊断
- 05修改前检查依赖关系
适用场景
- 01查找其他 Schema 中定义的视图
- 02文件未知时按名称定位对象
- 03编辑前检查下游依赖
- 04编辑后发现 SQL 解析错误
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ materializeinc/ agent-skills --skill mz-sql-navigation安装后在 Claude Code 中输入/mz-sql-navigation确认已加载。
详细介绍
导航 Materialize SQL
mz-deploy 语言服务器可回答有关 mz-deploy 项目对象图的问题。请使用 LSP 工具,而不是文本搜索:grep 会查找看起来像对象名称的字符串,语言服务器则会查找对象本身。
用途
- 转到定义 — 查找被引用的视图、表、源或索引的定义位置,包括跨架构查找。
- 悬停 — 查看对象的列及其类型,无需打开其定义。
- 文档符号 — 列出单个
.sql文件定义的对象。 - 工作区符号 — 不知道对象所在文件时,按名称查找对象。
更改对象之前,请使用这些功能查找依赖于它的对象。在 Materialize 中,视图的定义会限制其下游的所有内容,因此,即使某项修改单独通过类型检查,也仍可能破坏依赖对象。
诊断
每次编辑后都会自动显示解析错误。语法问题应以这些错误为准;它们来自 mz-deploy 用于构建项目的同一个解析器。
要求
mz-deploy 必须位于 PATH 中(which mz-deploy)。如果服务器看起来正常,但所有导航请求都返回空结果,则插件的 mz-deploy 项目目录设置指向了 project.toml 所在目录之外的位置。服务器会将该目录作为项目根目录;如果项目嵌套在子目录中,则设置必须指向该子目录。请报告此问题,而不要退回使用 grep——过时的设置值得修复一次。
评论
支持 Markdown