网站前端切页面时间,网站备案核验号,手机网站主页面文艺,网站建设嘉兴公司电话1 开发参考#xff1a;小众语言如何开发大纲分析脚本
1.1 应用场景 在使用IDE进行代码开发时#xff0c;代码中的变量、结构体、函数等#xff0c;在大纲视图中都会显示出来#xff0c;用户可以快速的了解当前文档的结构#xff0c;以及快速跳转到函数、变量的声明位置。…1 开发参考小众语言如何开发大纲分析脚本
1.1 应用场景 在使用IDE进行代码开发时代码中的变量、结构体、函数等在大纲视图中都会显示出来用户可以快速的了解当前文档的结构以及快速跳转到函数、变量的声明位置。 很多做的比较好的文本编辑器通过支持ctags工具编辑器直接读取ctags的分析结果即可在大纲面板显示大纲但是对于一些小众语言ctags并没有提供支持如果没有很好的IDE支持小众语言的开发会给用户带来较大的不便。 另人欣慰的是EverEdit提供了通用的大纲接口小众语言的用户可以通过EverEdit脚本来分析大纲这给用户提供了无限可能。
注EverEdit自己的Go、Markdown文件的大纲分析就是通过脚本实现的
1.2 使用方法
1. 通过脚本生成Outline文件以下是一个Outline文件的内容
1:5#Imports7:5#errors8:5#internal/filepathlite9:5#os
2:3#Variables17:3#ErrBadPattern
3:0#Functions211:0#getEsc()242:0#Glob()331:0#glob()246:0#globWithLimit()说明 由于语言千差万别上述大纲的分析逻辑并不在本文讨论过程中用户需要自行研究。 大纲文件的层级依据缩进层级第1级表示分类 #Imports引用类 其子级表示引用了哪些库。#Variables变量类其子级表示有哪些变量。#Functions函数类其子级表示有哪些函数。 分类前的数字说明如1:5, 2:3, 3:0 冒号前的数字表示大纲节点上使用哪个图标该数字是图标序号。冒号后的数字表示该大纲的分类目前看分类在显示上没有差别。 子级前的数字如7:5 211:0 表示该变量、函数等所在的行列号双击时会跳转到该位置。
2. 将脚本生成的Outline信息保存为临时文件并使用OpenOutlineFile函数进行加载如
var doc App.ActiveDoc;
pathApp.CreateTempFile(False)
SaveTextAsUTF8(outline_text, path) //该函数写文件非EverEdit自带函数
doc.OpenOutlineFile(path, C:\\Temp\\image\\img.bmp); //参数1 path为outline文件全路径参数2为图标文件bmp格式3. 将分析脚本存放到Macro目录下的__outline__目录即可在大纲右键菜单上显示相关菜单
1.3 大纲样例 下图为添加图标后的大纲示例 文档作者声明本文档仅用于学习交流未经作者许可不得将本文档用于其他目的。 Copyright © 2022~2024 All rights reserved.