System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别涉及一种代码字符高亮显示方法、代码字符高亮显示装置、电子设备及计算机可读存储介质。
技术介绍
1、当前,vscode基于textmate语法定义用于代码高亮显示的规则后,可以将规则以特定格式组织成json结构,然后在代码编辑器中以插件方式加载这个json结构,可对代码编辑器中的相应代码文件进行命中元素的高亮显示。但由于插件需要额外的计算机资源来运行,且插件质量参差不齐,对于复杂的语法规则和正则表达式,vscode需要进行计算密集型的处理,可能影响性能。textmate语法也需要相关人员提前学习,对技术人员要求较高。
技术实现思路
1、有鉴于此,本申请的目的在于提供一种代码字符高亮显示方法、代码字符高亮显示装置、电子设备及计算机可读存储介质,实现灵活简单的代码高亮显示。
2、为解决上述技术问题,本申请提供了一种代码字符高亮显示方法,包括:
3、响应于字符高亮显示触发条件,加载预设的配置文件;
4、根据所述配置文件,确定目标代码文件中的至少一个被测代码区域;
5、若所述配置文件中针对所述目标代码文件的高亮显示规则命中所述被测代码区域内的目标字符,则按照所述高亮显示规则对所述目标字符进行高亮显示。
6、可选地,所述响应于字符高亮显示触发条件,则加载预设的配置文件,包括:
7、若检测到所述目标代码文件处于编辑状态,和/或,检测到针对所述目标代码文件的字符高亮显示指令,则生成所述字符高亮显示触发条件
8、可选地,所述根据所述配置文件,确定目标代码文件中的至少一个被测代码区域的步驟,包括:
9、基于所述配置文件中表征区域起始位置和区域结束位置的正则表达式,确定所述目标代码文件中的所述被测代码区域。
10、可选地,所述按照所述高亮显示规则对所述目标字符进行高亮显示,包括:
11、获取所述目标字符对应的目标语法元素类别;
12、根据所述配置文件,获取所述目标语法元素类别对应的目标上色规则正则表达式;
13、基于所述目标上色规则正则表达式,对所述目标字符进行语法上色。
14、可选地,所述目标语法元素类别包括关键字类别、标识符类别、操作符类别、字面量类别或分隔符类别。
15、可选地,所述根据所述配置文件,确定目标代码文件中的至少一个被测代码区域之后,所述方法还包括:
16、若在所述被测代码区域中检测到所述配置文件中定义的自动换行缩进符号,则在所述被测代码区域中的自动换行缩进符号之后,实现自动换行并缩进。
17、可选地,所述根据所述配置文件,确定目标代码文件中的至少一个被测代码区域之后,所述方法还包括:
18、若在所述被测代码区域运行过程中检测到运行断点,则暂停所述目标代码文件的执行,并标记暂停位置及已运行的区域。
19、本申请还提供了一种代码字符高亮显示装置,包括:
20、加载模块,用于响应于字符高亮显示触发条件,加载预设的配置文件;
21、确定模块,用于根据所述配置文件,确定目标代码文件中的至少一个被测代码区域;
22、显示模块,用于在所述配置文件中针对所述目标代码文件的高亮显示规则命中所述被测代码区域内的目标字符时,按照所述高亮显示规则对所述目标字符进行高亮显示。
23、可选地,所述加载模块具体用于:
24、若检测到所述目标代码文件处于编辑状态,和/或,检测到针对所述目标代码文件的字符高亮显示指令,则生成所述字符高亮显示触发条件,并加载预设的所述配置文件。
25、可选地,所述确定模块具体用于:
26、基于所述配置文件中表征区域起始位置和区域结束位置的正则表达式,确定所述目标代码文件中的所述被测代码区域。
27、可选地,所述显示模块具体用于:
28、获取所述目标字符对应的目标语法元素类别;
29、根据所述配置文件,获取所述目标语法元素类别对应的目标上色规则正则表达式;
30、基于所述目标上色规则正则表达式,对所述目标字符进行语法上色。
31、可选地,所述目标语法元素类别包括关键字类别、标识符类别、操作符类别、字面量类别或分隔符类别。
32、可选地,所述装置还包括:
33、自动换行缩进模块,用于在根据所述配置文件,确定目标代码文件中的至少一个被测代码区域之后,若在所述被测代码区域中检测到所述配置文件中定义的自动换行缩进符号,则在所述被测代码区域中的自动换行缩进符号之后,实现自动换行并缩进。
34、可选地,所述装置还包括:
35、自动中断模块,用于所述根据所述配置文件,确定目标代码文件中的至少一个被测代码区域之后,若在所述被测代码区域运行过程中检测到运行断点,则暂停所述目标代码文件的执行,并标记暂停位置及已运行的区域。
36、本申请还提供了一种电子设备,包括存储器和处理器,其中:
37、所述存储器,用于保存计算机程序;
38、所述处理器,用于执行所述计算机程序,以实现上述的代码字符高亮显示方法。
39、本申请还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的代码字符高亮显示方法。
40、本申请提供的代码字符高亮显示方法包括:响应于字符高亮显示触发条件,加载预设的配置文件;根据所述配置文件,确定目标代码文件中的至少一个被测代码区域;若所述配置文件中针对所述目标代码文件的高亮显示规则命中所述被测代码区域内的目标字符,则按照所述高亮显示规则对所述目标字符进行高亮显示。
41、可见,本申请基于配置文件实现代码字符的命中及高亮显示。当字符高亮显示触发条件被触发后,加载预设的配置文件,然后根据配置文件确定目标代码文件中的至少一个被测代码区域;若配置文件中针对目标代码文件的高亮显示规则命中被测代码区域内的目标字符,则按照高亮显示规则对目标字符进行高亮显示。可见,配置文件中设有用于被测代码区域内字符命中及高亮显示的高亮显示规则,其作为配置项可用于代码文件的实时高亮显示;由于配置文件易于实现,无需学习textmate语法,且配置文件的加载更为轻量,因此通过加载配置文件进行代码字符的高亮显示,消耗的计算机资源少,方案实现效率高,速度快。
42、此外,本申请还提供了一种代码字符高亮显示装置、电子设备及计算机可读存储介质,同样具有上述有益效果。
本文档来自技高网...【技术保护点】
1.一种代码字符高亮显示方法,其特征在于,包括:
2.根据权利要求1所述的代码字符高亮显示方法,其特征在于,所述响应于字符高亮显示触发条件,则加载预设的配置文件,包括:
3.根据权利要求1所述的代码字符高亮显示方法,其特征在于,所述根据所述配置文件,确定目标代码文件中的至少一个被测代码区域,包括:
4.根据权利要求1所述的代码字符高亮显示方法,其特征在于,所述按照所述高亮显示规则对所述目标字符进行高亮显示,包括:
5.根据权利要求4所述的代码字符高亮显示方法,其特征在于,所述目标语法元素类别包括关键字类别、标识符类别、操作符类别、字面量类别或分隔符类别。
6.根据权利要求1至5任一项所述的代码字符高亮显示方法,其特征在于,在所述根据所述配置文件,确定目标代码文件中的至少一个被测代码区域之后,所述方法还包括:
7.根据权利要求1至5任一项所述的代码字符高亮显示方法,其特征在于,在所述根据所述配置文件,确定目标代码文件中的至少一个被测代码区域之后,所述方法还包括:
8.一种代码字符高亮显示装置,其特征
9.一种电子设备,其特征在于,包括存储器和处理器,其中:
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的代码字符高亮显示方法。
...【技术特征摘要】
1.一种代码字符高亮显示方法,其特征在于,包括:
2.根据权利要求1所述的代码字符高亮显示方法,其特征在于,所述响应于字符高亮显示触发条件,则加载预设的配置文件,包括:
3.根据权利要求1所述的代码字符高亮显示方法,其特征在于,所述根据所述配置文件,确定目标代码文件中的至少一个被测代码区域,包括:
4.根据权利要求1所述的代码字符高亮显示方法,其特征在于,所述按照所述高亮显示规则对所述目标字符进行高亮显示,包括:
5.根据权利要求4所述的代码字符高亮显示方法,其特征在于,所述目标语法元素类别包括关键字类别、标识符类别、操作符类别、字面量类别或分隔符类别。
【专利技术属性】
技术研发人员:高贝贝,刘晓桥,李永全,
申请(专利权)人:富联精密电子郑州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。