3

我必须研究和修改一个用 pl/sql 编写的大型且文档记录不佳的代码库。我使用 Oracle SQL Developer 浏览它,但它变得乏味,因为没有“转到声明”或“查找用法”选项,所以我必须手动转到引用的包以查找我想了解的函数或过程,或 grep 脱机副本以查找用法。

我曾尝试设置 vim+ctags,但繁复的 ctags 会因不区分大小写而感到困惑。

所以问题是,哪些工具可以轻松浏览 PL/SQL 代码?

4

6 回答 6

4

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

于 2009-09-17T09:02:41.360 回答
2

试试Tobys PLSQL 编辑器。它为您提供:

  • 语法高亮
  • F3 跳转代码
  • 包装轮廓
  • 代码完成
  • 编译到数据库并突出显示错误
  • 使用 PLDoc 自动生成标头

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

于 2009-09-17T10:19:44.807 回答
2

Exuberant ctags能够为 PL/SQL 存储过程生成 ctags 文档,并且有大量可以读取标签的编辑器,包括 Emacs 和 vi 等经典。我个人将它与 Sublime Text 2 一起使用,用于处理超过 3000 行的大型存储过程定义。(ST2 是一个很棒的全能编辑器,但在编辑 SQL 方面并不比任何其他编辑器特别好,它具有基本的代码突出显示,仅此而已。)

Exuberant 标签的唯一问题是,即使它多次看到定义,它也只会生成一个标签条目,所以如果你将包声明和包主体放在同一个文件中,标签将只跳转到第一个条目(通常是声明)。

于 2012-12-03T21:22:02.443 回答
1

请参阅SD 源代码搜索引擎,通过对源代码进行预索引,该工具在大量源代码上的搜索速度比 grep 快得多。搜索引擎对语言敏感,因此您可以根据语言标识符、数字、关键字和运算符来形成查​​询。空格和注释不会愚弄它。

它适用于 PL/SQL 以及许多其他语言(C、C++、C#、COBOL、Java 等)。

于 2010-03-09T17:06:59.867 回答
1

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

于 2009-09-17T16:14:37.957 回答
0

我将我的 PL/SQL 包从数据库导出到文件系统中以进行版本控制(我使用 Git)。包(主体和规范)都在同一个目录中。我使用 Visual Studio Code(当前版本 1.53.2)编辑包,因为 VS Code 对 Git 有很好的支持。

右键单击一个过程会打开上下文菜单并Go to definition(或 F12)跳转到该过程,即使它是在另一个包中声明的。

您可以通过单击菜单 Go --> Back(或 Alt+LeftArrow)跳回来。

于 2021-03-09T16:19:23.750 回答