oracle PL/SQL中的代码导航工具

kwvwclae  于 2023-05-16  发布在  Oracle
关注(0)|答案(7)|浏览(177)

我不得不研究和修改一个用pl/sql编写的大型且文档记录很差的代码库。我使用Oracle SQL Developer浏览它,但它变得乏味,因为没有“转到声明”或“查找用法”选项,所以我必须手动转到引用的包以查找我想要理解的函数或过程,或者grep离线副本以查找用法。
我试过设置vim+ctags,但是大量的ctags会被大小写不敏感搞混。
所以问题是,哪些工具可以轻松地浏览PL/SQL代码?

cgh8pdjw

cgh8pdjw1#

来自Allround Automations的PL/SQL Developer有一些很好的功能来浏览代码。您可以下载并安装一个全功能的试用版,将持续一个月。之后,如果你喜欢这个工具,并想继续使用它,你将不得不支付(适度的)费用。

1cklez4t

1cklez4t2#

试试Tobys PLSQL Editor。它为您提供:

  • 语法突出显示
  • F3跳转到代码
  • Package 概述
  • 代码完成
  • 编译到数据库并突出显示错误
  • 使用PLDoc自动生成标题

我仍然在寻找一个好的工具来查看依赖关系。您可以查询数据字典来查找包依赖项,但它不会深入到包本身中的过程/函数级别或每个包中的行号。

w8rqjzmb

w8rqjzmb3#

Exuberant ctags能够为PL/SQL存储过程生成ctags文档,并且有大量的编辑器可以读取标签,包括Emacs和vi等经典编辑器。我个人使用Sublime Text 2处理3000多行存储过程定义。(ST 2是一个很棒的全能编辑器,但并不比其他编辑SQL的编辑器更好,它有基本的代码突出显示,仅此而已。
我对Exuberant的标记遇到的唯一问题是,即使它不止一次看到定义,它也只会生成一个标记条目,所以如果你把包声明和包体放在同一个文件中,标记只会跳转到第一个条目(通常是声明)。

watbbzwu

watbbzwu4#

我最近从Oracle的SQL Developer切换到Quest的TOAD,我喜欢它!我最喜欢TOAD的是debuging工具。我使用的功能可以在这两个产品中找到,但TOAD对我来说更容易使用一点,但SQL Developer是“免费”的。

oalqel3c

oalqel3c5#

SD Source Code Search Engine中有一个工具,它通过预索引源代码,在大量源代码上搜索速度比grep快得多。搜索引擎是语言敏感的,因此您可以根据语言标识符、数字、关键字和运算符来形成查询。空格和注解骗不了它。
它适用于PL/SQL以及许多其他语言(C,C++,C#,COBOL,Java...)。

waxmsbnn

waxmsbnn6#

我将PL/SQL-Packages从数据库导出到文件系统中进行版本控制(我使用Git)。包(主体和规范)都在同一个目录中。我使用Visual Studio Code(当前版本为1.53.2)编辑包,因为VS Code对Git有很好的支持。
右键单击过程会打开上下文菜单,Go to definition(或F12)会跳转到该过程,即使它是在另一个包中声明的。
您可以通过单击菜单Go --> Back(或Alt+LeftArrow)返回。

yks3o0rb

yks3o0rb7#

JetBrains的DataGrip是另一个选择。您可以通过单击函数名称旁边的图标,从包函数规范导航到其主体中的实现。它的使用体验与Oracle SQLEdeveloper非常相似。

相关问题