国产编辑器EverEdit - 大纲视图

1 大纲视图

1.1 应用场景

  在编辑较长代码文件时,使用大纲视图可以方便的检视当前文件的变量、函数等信息,方便在不同函数间跳转,对整个文档的全貌了然于胸。
  在编辑XML文档时,通过展示XML文件的层次结构、节点布局,用户可以一览全貌,提高编辑效率。

1.2 使用方法

1.2.1 显示大纲视图

  1. 步骤1:选择菜单查看 -> 停靠窗格 -> 大纲视图即可打开“大纲视图”,如下图所示:

在这里插入图片描述

上图中用户编辑vbs文件,左边“大纲视图”显示当前文件中的函数列表

1.2.2 其他大纲功能

跟随光标: 用户在编辑器中进行编辑时,光标移动到哪个函数的函数体,大纲视图中的对应列表也会被选中。
在这里插入图片描述

刷新:重新分析大纲
复制结构: 将整个大纲列表全部复制到剪贴板。

1.3 大纲数据的来源

EverEdit提供了功能强大的大纲分析能力,大致可以分为如下4类:

  • 着色文件定义的符号: 根据语法文件配置的正则表达式规则提取符号。
  • ctags分析器:由ctags.exe对文件进行分析,EverEdit加载ctags的分析结果到大纲。
  • 内置分析器:比如:Go、Markdown。
  • 显示大纲:按EverEdit语法文件的折叠规则进行大纲分析,显示层次结构。

1.3.1 ctags分析器

  对很多编程语言,使用ctag都可以方便的提供对源文件的分析,输出非常详尽的变量、函数等信息,是编写或阅读代码不可多得的帮手。
在这里插入图片描述

使用ctag做为大纲数据来源时,在大纲窗口上单击鼠标右键,可以看到如下菜单:
在这里插入图片描述

显示Tags:平铺:大纲顺序与变量、函数等在文档中的前后顺序对应。
显示Tags:按照从属关系分组:如果识别从属关系,则按从属关系显示,比如:类和成员函数就属于从属关系。
显示Tags:按照类型分组:按符号的类型组织,比如:函数、变量等各分一类。

ctags最早是Vim下的一个组件,开始时是专门为C语言定制的分析器,后面经过发展,支持多达几十种语言,也慢慢的被其他编辑器采用,ctags目前分成了两个主要的分支,其一是exuberant ctags,其支持对41种编程语言进行分析,但该项目早在2009即停止了维护;其继任者是Universal ctags,目前维护状态很活跃,在exuberant ctags的基础上,在不断的增加对其他编程语言的支持,详情请参考:
exuberant ctags
universal-ctags

🕮说明
EverEdit目前使用的ctags是exuberant ctags,版本号是5.8(2009年停止更新),如果用户想使用最新的ctags,可以去universal ctags项目网址下载最新版,解压后将ctags.exe文件替换掉EverEdit安装目录下bin目录的ctags.exe。

1.3.2 内置的分析器

由于早期ctags的发展速度跟不上语言的发展速度,ctags没有及时支持go语法和Markdown语法,EverEdit为此单独地给go、Markdown做了分析器:
在“大纲视图”面板单击鼠标右键,有如下菜单:
在这里插入图片描述

一般情况下,大纲视图会根据打开的文档类型,自动选择对应的分析器,因此,打开go文件、markdown文件就可以直接显示大纲了。

🕮说明
* universal ctags最新版已经支持go、markdown语法,但是分析效果不如EverEdit内置的分析器。

1.3.3 着色文件定义的符号

如果用户日常使用的某种特定语法格式的文件,既没有在ctags的支持范围内,也没有流行到惊动EverEdit单独定制分析器,那么,用户还可以通过语法着色文件来定义自己的解析规则。
下面以编写EverEdit扩展脚本为样例进行演示:

  1. 步骤1:选择菜单“工具 -> 设置 -> 语法着色”,在弹出的语法着色配置窗口中,单击高级按钮,如下图所示:
    注:语法着色列表会自动选中当前打开文档对应的语法规则。
    在这里插入图片描述

  2. 步骤2:配置正则表达式规则和分组
    显示大纲的方式:选择用正则表达式提取符号
    用正则表达式表达式去提取符号编辑框中输入合适的正则表达式(注:需要用户学习正则表达式语法)。
    使用捕获分组编辑框中输入正确的分组(注:分组对应正则表达式中的括号)
    取哪个分组即表示在大纲视图的列表中显示哪组匹配内容,一般使用函数名所在分组。
    在这里插入图片描述

  3. 步骤3:切换到大纲视图即可看到正则表达式提取的符号,如下图所示

在这里插入图片描述

1.3.4 显示大纲

使用方法:在大纲视图面板中单击鼠标右键,选择菜单显示大纲,则大纲面板显示的内容将是有折叠的,该折叠与编辑器里的代码折叠一一对应,如下图所示:

在这里插入图片描述

显示大纲层级结构的来源,为语法着色文件中的折叠规则,用户可以打开菜单工具 -> 设置 -> 语法着色,在弹出的对话框中单击“编辑”按钮,如下图所示
在这里插入图片描述

在打开的语法文件中找到FoldText字样,如下图所示,其定义的正则表达式即为折叠的条件。
在这里插入图片描述

上图示例是VBS语言的折叠规则,折叠规则的定义需要对正则表达式比较熟悉。

1.4 名词解释

符号:这里的符号不是指键盘上的符号(~!@#等),而是指编程语言中的标识符,比如:函数名、变量名、对象名等,标识符一般是以字母或下划线开头,只能包含字母、下划线、数字的字符串,如:Print,Writeln等。


文档作者声明:本文档仅用于学习交流,未经作者许可,不得将本文档用于其他目的。
Copyright © 2022~2024 All rights reserved.

EverEdit是一个快速、轻量级和易于扩展的集文本、源代码、二进制编辑于一身的高性能纯文本编辑器。它可以运行于Windows XP、Windows Vista、Windows 7、Windows 8、Windows Server 2003+等绝大多数Windows操作系统上,小巧精致的EverEdit是Windows上默认的Notepad很好的替代品。除了大幅度加强的文本编辑能力之外,EverEdit也为网页作者、程序员和管理人员提供了大量的可定制特性,可以大幅度地提高您的工作效率! 多内码支持,完美支持Unicode U16、U16-BE、UTF-8、东亚语言字符、西欧语言字符 支持多点编辑的文本片段功能 准确的编码探测,万码无忧 低内存占用,极低的内存就可以编辑巨大文件 PCRE兼容正则表达式(DEELX),支持环视等高级特性 集成VBS/JScript脚本引擎,完美利用Windows各种COM组件的特性 简洁方便的宏录制,录制出来的宏就是简单的VBS脚本,易读易改 GUI插件支持,脚本之外的又一大选择,满足您的各种需求 用户自定义工具 丰富的状态栏,可以直接点击进行部分常用项的更改 标准文本拖放支持 可编程高性能着色器,展现任何语言丰富多彩的一面 打印、打印预览 上下文单词自动完成,输入过的单词轻松展现 自动更正关键字大小写 强大的自定义键盘。支持Emacs式按键,可以通过插件模仿VIM 列模式(列插入、删除、拷贝、粘贴),移动鼠标时请时按住ALT键 无限撤销、重做 多种主题,总有一款适合您 代码折叠,支持手动和自动两种模式 多文件查找,查找结果支持高亮 不可见字符显示 括号匹配 多界面语言,自带英语、简体中文
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值