@dan rathbun said:
... But until it becomes possible to hook an IDE's debugger into SketchUp's embedded Ruby process, I don't see a point in changing.
I agree that a perfect Sketchup Ruby IDE should include a debugger.
On the other hand I think that a properly implemented autocompletion would be a great advantage over the existing development environments. (especially for those not familiar with every detail of the api - like me for example).
Here is a list of features a perfect IDE would have:
- High quality code completion (comparable to current solutions that exist for established languages)
- Calltips - these show the documentation and method parameter definitions as a tooltip.
- Ability to load code changes into the sketchup ruby engine through a single or at least a small number of key strokes.
- Debugger that lets you step through the ruby code as it is executed.
Some of these ponts are relatively easy to achive. Some will take quite some effort and some might not be possible at all.
1., 2. Code completion and calltips:
It is clear now that a number of IDEs can supply that (Rubymine, Neatbeans, Eclips, maybe more.) Unfortunately we can not simply include the Sketchup Ruby Libraries because these have not been made available to the public.
What we have got instead is the mere Api documentation. If this documentation could be transformed into a proper implementation of mockup class definitions then these could be used instead of the real Libraries to make code completion for the entire API available.
IMO this is perfectly doable even for a beginner. It's just a lot of work to write the entire 1100 mock method definitions and to copy the relevant parts of the api docs into code documentation comments.
3. load code changes quickly:
Most IDEs are able to run external commands. Using the SU bridge the task can be achieved without much effort. (Netbeans can't do it out of the box. Fortunately there is a third party 'Path tools' plugin that can be (ab)used to do the trick)
4. Debugger:
Again I see good chances that the Ruby debugger could be made available for Sketchup script development within the Netbeans IDE.
- The netbeans Ruby Plugin is open source. It could be used as a starting point for a dedicated Sketchp Ruby Plugin.
- A proof of concept implementation of a sketchup ruby debugger already exists with Surdebug. I agree the thing looks quite broken. Still it might be worthwhile to find out if it can be repaired and integrated within a Netbeans plugin.
My current roadmap covers points 1. , 2. and 3.
I see good chances that a mockup implementstion of the Api can be done. And using the SU bridge I consider the reload functionality already as achieved.
The debugger implementation I'm afraid is beyond my limited ressources and abilities.
Andreas