怎么实现像UltraEdit-32里的代码折叠功能和函数列表功能

时间:2021-04-11 19:13:41
函数列表功能:把源文件的所有函数名都罗列出来显示,点击就定位到函数所在的位置
路过的高手如果有这方面的资料麻烦提供一下,谢谢!!!

9 个解决方案

#1


要能识别函数单元。用编译原理中的范式

#2


难道都没人了?自己顶一下

#3


没做过相关的东西

#4


唉,真的没人了吗

#5


详细可以参考 ctags 的源代码。目前我自己也在写一个跨平台的类似SourceInsight的软件

#6


请在语法高亮文件中添加如下内容,即可实现,注意理解含义!直接复制可能实现的功能和你预期的有差距
代码折叠功能:
/Open Fold Strings = "function" "if" "for"
/Close Fold Strings = "end" "end" "end"
函数列表功能:
/Function String = "^function\s+([_:a-zA-Z]*.*)[\t\n]?" 
/Function String 1 = "^([a-zA-Z]*\.[a-zA-Z]*\s*=\s*function\(.*\))"
/Function String 2 = "^function\s+([_:a-zA-Z]*\.[_:a-zA-Z]*\s*\(.*\))" 

#7


另外补充一点,代码折叠功能必须重启程序后才生效

#8


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法

#9


是个不太好办的问题。。。

#1


要能识别函数单元。用编译原理中的范式

#2


难道都没人了?自己顶一下

#3


没做过相关的东西

#4


唉,真的没人了吗

#5


详细可以参考 ctags 的源代码。目前我自己也在写一个跨平台的类似SourceInsight的软件

#6


请在语法高亮文件中添加如下内容,即可实现,注意理解含义!直接复制可能实现的功能和你预期的有差距
代码折叠功能:
/Open Fold Strings = "function" "if" "for"
/Close Fold Strings = "end" "end" "end"
函数列表功能:
/Function String = "^function\s+([_:a-zA-Z]*.*)[\t\n]?" 
/Function String 1 = "^([a-zA-Z]*\.[a-zA-Z]*\s*=\s*function\(.*\))"
/Function String 2 = "^function\s+([_:a-zA-Z]*\.[_:a-zA-Z]*\s*\(.*\))" 

#7


另外补充一点,代码折叠功能必须重启程序后才生效

#8


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法

#9


是个不太好办的问题。。。