2009-09-17 5 views
3

Je dois étudier et modifier une base de code grande et mal documentée écrite en pl/sql. J'utilise Oracle SQL Developer pour y naviguer, mais cela devient fastidieux car il n'y a pas d'option "go to declaration" ni "find uses", je dois donc aller manuellement vers le package référencé pour trouver la fonction ou la procédure que je veux comprendre , ou grep une copie hors connexion pour trouver les utilisations.Outil de navigation de code en PL/SQL

J'ai essayé d'installer vim + ctags, mais les ctags exubérants se confondent avec l'insensibilité à la casse. Donc, la question est, quels outils permettent de naviguer facilement à travers le code PL/SQL?

Répondre

4

PL/SQL Developer, de Allround Automations a quelques fonctionnalités intéressantes pour naviguer dans le code. Vous pouvez télécharger et installer une version d'essai complète qui durera un mois. Ensuite, si vous aimez l'outil et que vous voulez continuer à l'utiliser, vous devrez payer des frais (modestes).

2

Essayez Tobys PLSQL Editor. Il vous donne:

  • coloration syntaxique
  • F3 saut au code
  • Package donne un aperçu
  • complétion de code
  • Compile la base de données avec l'erreur mettant en évidence
  • génération d'en-tête automatique à l'aide PLDoc

Je suis toujours à la recherche d'un bon outil pour regarder dependenci es. Vous pouvez interroger le dictionnaire de données pour trouver les dépendances de paquet, mais cela ne descend pas au niveau des procédures/fonctions dans les paquets eux-mêmes ou des numéros de ligne dans chaque paquet.

1

Je suis récemment passé de SQL Developer d'Oracle à TOAD de Quest et je l'aime! Ce que j'aime le plus chez TOAD, c'est l'outil debuging. Les capacités que j'utilise peuvent être trouvées dans les deux produits mais TOAD est pour moi un peu plus facile à utiliser, mais SQL Developer est "gratuit".

1

Voir le pour un outil qui effectue une recherche bien plus rapide que grep sur de grands corps de code source, en pré-indexant le code source. Le moteur de recherche est sensible à la langue, de sorte que vous pouvez former des requêtes en termes d'identifiants de langages, de nombres, de mots-clés et d'opérateurs. Les espaces et les commentaires ne le trompent pas.

Il fonctionne pour PL/SQL ainsi que de nombreux autres langages (C, C++, C#, COBOL, Java, ...).

2

Exuberant ctags est capable de générer des documents ctags pour les procédures stockées PL/SQL, et il y a des tonnes d'éditeurs qui peuvent lire les étiquettes, y compris des classiques tels que Emacs et vi. Personnellement, je l'utilise avec Sublime Text 2 qui travaille sur de grandes définitions de procédures stockées de plus de 3000 lignes. (ST2 est un excellent éditeur complet, mais pas particulièrement meilleur que tout autre éditeur pour éditer SQL, il a la mise en évidence de base du code et c'est tout.)

Le seul problème que j'ai avec les tags d'Exuberant est qu'il ne génèrent qu'une seule entrée de balise même si elle voit les définitions plus d'une fois, de sorte que si vous mettez votre déclaration de paquet et votre corps de paquet dans le même fichier, les balises ne vous feront que passer à la première entrée.