I saw your post/blog/email about the Code Outline feature of 4.2
I tried it out for 5 minutes.
Maybe, I need to see some instructions on how to get it to do things.
Maybe, I'm just not using it correctly ... or for the correct reason.
Again, I've only spent 5 minutes with it.
But, here are my comments:
- "Code Outline" hates Conditional Compilation code (eg $if..$then..$else)
- A button on the Editor Window toolbar to toggle "code browser" on/off would be nice.
- As I navigate through the editor window, the Code Outline should be able to tell me "where are you?".
- If I <<SET_A_LABEL>> for something, I want to identify the code as such in the "Code Outline". (ie show SET_A_LABEL, not "loop_statment nonblock_compound_stmt unlabeld_nobloc_stmt" )
- Speaking of "loop_statment nonblock_compound_stmt unlabeld_nobloc_stmt", please shorten that to just "loop"!! (for above the above example "SET_A_LABEL (loop)"
- I need to be able to "pull out" a section of code, edit it, and replace that section with the updated text. (eg the SELECT statement for INSERT-SELECT (or MERGE) needs to be edited with Query Builder)
- This would probably require that you tie the "Code Outline" to a specfic editor window since I'll be editing the code in a different editor window (that shouldn't cause the Code Outline window to refresh)
- The "auto refresh" gets distracting. I would like to have the option to "refresh on demand only"
- ... by clicking a button on a toolbar in the Code Outline window.
- It would be nice if we could limit our view to "only functions/procedures calls" (or whatever we choose)
- ... by toggling a button on a toolbar in the Code Outline window.
- Re-organizing (or even refactoring ) might be better done in the "Code Outline" window. (eg move a set of statements into a new function/procedure)
- Also, the ability to "drag+drop" a new (empty) function/procedure/etc into the specification (and body) of a Package would be nice.
- With the "tie to editor" and the above "drag+drop", I would also expect to have the ability to "drag+drop" pieces of code from one code outline to another. (eg pkg1 to pkg2)
Most of the above concepts are geared towards the ability to use SQL*Developer to create the templates used by a template-based code generator (eg oddgen )
- In order to edit a Template [that is used by oddgen ], the Code Browser might need to push the template through the generator so that it can parse on parsable text.
I don't want to edit the TAPI, I want to edit the Template used to create the TAPI.
What I really want to do is build templates for XAPIs. (Transactional APIs)
...and then tie that template to specific table(s) in SQL*Developer Data Modeler.