XML Definition Navigator
这是一个VS Code扩展,用于解析工程中的XML文件、提供“转到定义”/“转到工作区符号(Ctrl+T)”等导航能力,并允许通过富文本面板编辑特定标签内容。
功能概览
- 自动扫描
*.xml 与某些 .txt 配置文件,并建立 <XXXDef Name="..."> 的索引。
F12/转到定义:快速跳转到同名定义;当字段类型可从 XSD 明确推断时,会优先过滤到对应的 DefType。
Ctrl+T/转到工作区符号:输入关键字即可搜索解析器中的 Name/Key,直接跳转到对应文件位置。
- 悬停提示:在 XML 引用上显示 DefType、Display、Desc。
- XSD 驱动的补全与搜索:当字段类型可确定时,自动补全或搜索对应 DefType;无法确定时,搜索全部 Def。
- 支持内联引用格式:如
<Desc>[Modifier=Modifier_Xxx]</Desc> 中,光标落在值上时可正确识别并用于悬停/F12。
Ctrl+Alt+D/搜索并填入Def:按 Name、Display、Desc 搜索并插入 Def。
Ctrl+Alt+E/编辑Def文本:在专用富文本面板中编辑指定标签内容。
Def 文本编辑器
- 支持常用 UBB 工具按钮。
- 支持
FS、Fmla 等已有标签。
- 新增
Def引用 按钮,可两步插入 [DEF=NAME]:
- 先选择
DEF
- 再按 Name/Display/Desc 筛选
NAME
- 预览区会解析
[DEF=NAME],若目标 Def 存在 Display,则优先显示 Display,否则回退显示 NAME。
XSD 配置
如果希望启用类型感知的补全、搜索和更精确的 F12 过滤,需要在工作区 XML 配置中提供对应 XSD,例如通过 .vscode/settings.json 的 xml.fileAssociations[].systemId 指向 schema 文件。
快捷键
Ctrl+Alt+D:搜索并填入 Def
Ctrl+Alt+E:编辑 Def 文本
F12:转到定义
Ctrl+T:转到工作区符号
构建与打包
- 编译:
npm run compile
- 监听编译:
npm run watch
- 打包 VSIX:
npx @vscode/vsce package
| |