我不得不研究和修改一个用pl/sql编写的大型且文档记录很差的代码库。我使用Oracle SQL Developer浏览它,但它变得乏味,因为没有“转到声明”或“查找用法”选项,所以我必须手动转到引用的包以查找我想要理解的函数或过程,或者grep离线副本以查找用法。我试过设置vim+ctags,但是大量的ctags会被大小写不敏感搞混。所以问题是,哪些工具可以轻松地浏览PL/SQL代码?
cgh8pdjw1#
来自Allround Automations的PL/SQL Developer有一些很好的功能来浏览代码。您可以下载并安装一个全功能的试用版,将持续一个月。之后,如果你喜欢这个工具,并想继续使用它,你将不得不支付(适度的)费用。
1cklez4t2#
试试Tobys PLSQL Editor。它为您提供:
我仍然在寻找一个好的工具来查看依赖关系。您可以查询数据字典来查找包依赖项,但它不会深入到包本身中的过程/函数级别或每个包中的行号。
w8rqjzmb3#
Exuberant ctags能够为PL/SQL存储过程生成ctags文档,并且有大量的编辑器可以读取标签,包括Emacs和vi等经典编辑器。我个人使用Sublime Text 2处理3000多行存储过程定义。(ST 2是一个很棒的全能编辑器,但并不比其他编辑SQL的编辑器更好,它有基本的代码突出显示,仅此而已。我对Exuberant的标记遇到的唯一问题是,即使它不止一次看到定义,它也只会生成一个标记条目,所以如果你把包声明和包体放在同一个文件中,标记只会跳转到第一个条目(通常是声明)。
watbbzwu4#
我最近从Oracle的SQL Developer切换到Quest的TOAD,我喜欢它!我最喜欢TOAD的是debuging工具。我使用的功能可以在这两个产品中找到,但TOAD对我来说更容易使用一点,但SQL Developer是“免费”的。
oalqel3c5#
SD Source Code Search Engine中有一个工具,它通过预索引源代码,在大量源代码上搜索速度比grep快得多。搜索引擎是语言敏感的,因此您可以根据语言标识符、数字、关键字和运算符来形成查询。空格和注解骗不了它。它适用于PL/SQL以及许多其他语言(C,C++,C#,COBOL,Java...)。
waxmsbnn6#
我将PL/SQL-Packages从数据库导出到文件系统中进行版本控制(我使用Git)。包(主体和规范)都在同一个目录中。我使用Visual Studio Code(当前版本为1.53.2)编辑包,因为VS Code对Git有很好的支持。右键单击过程会打开上下文菜单,Go to definition(或F12)会跳转到该过程,即使它是在另一个包中声明的。您可以通过单击菜单Go --> Back(或Alt+LeftArrow)返回。
Go to definition
yks3o0rb7#
JetBrains的DataGrip是另一个选择。您可以通过单击函数名称旁边的图标,从包函数规范导航到其主体中的实现。它的使用体验与Oracle SQLEdeveloper非常相似。
7条答案
按热度按时间cgh8pdjw1#
来自Allround Automations的PL/SQL Developer有一些很好的功能来浏览代码。您可以下载并安装一个全功能的试用版,将持续一个月。之后,如果你喜欢这个工具,并想继续使用它,你将不得不支付(适度的)费用。
1cklez4t2#
试试Tobys PLSQL Editor。它为您提供:
我仍然在寻找一个好的工具来查看依赖关系。您可以查询数据字典来查找包依赖项,但它不会深入到包本身中的过程/函数级别或每个包中的行号。
w8rqjzmb3#
Exuberant ctags能够为PL/SQL存储过程生成ctags文档,并且有大量的编辑器可以读取标签,包括Emacs和vi等经典编辑器。我个人使用Sublime Text 2处理3000多行存储过程定义。(ST 2是一个很棒的全能编辑器,但并不比其他编辑SQL的编辑器更好,它有基本的代码突出显示,仅此而已。
我对Exuberant的标记遇到的唯一问题是,即使它不止一次看到定义,它也只会生成一个标记条目,所以如果你把包声明和包体放在同一个文件中,标记只会跳转到第一个条目(通常是声明)。
watbbzwu4#
我最近从Oracle的SQL Developer切换到Quest的TOAD,我喜欢它!我最喜欢TOAD的是debuging工具。我使用的功能可以在这两个产品中找到,但TOAD对我来说更容易使用一点,但SQL Developer是“免费”的。
oalqel3c5#
SD Source Code Search Engine中有一个工具,它通过预索引源代码,在大量源代码上搜索速度比grep快得多。搜索引擎是语言敏感的,因此您可以根据语言标识符、数字、关键字和运算符来形成查询。空格和注解骗不了它。
它适用于PL/SQL以及许多其他语言(C,C++,C#,COBOL,Java...)。
waxmsbnn6#
我将PL/SQL-Packages从数据库导出到文件系统中进行版本控制(我使用Git)。包(主体和规范)都在同一个目录中。我使用Visual Studio Code(当前版本为1.53.2)编辑包,因为VS Code对Git有很好的支持。
右键单击过程会打开上下文菜单,
Go to definition
(或F12)会跳转到该过程,即使它是在另一个包中声明的。您可以通过单击菜单Go --> Back(或Alt+LeftArrow)返回。
yks3o0rb7#
JetBrains的DataGrip是另一个选择。您可以通过单击函数名称旁边的图标,从包函数规范导航到其主体中的实现。它的使用体验与Oracle SQLEdeveloper非常相似。