HELP setting up a SU code editor
-
@martinrinehart said:
What we lack is a proper debugger.
I think that's goes without saying
@martinrinehart said:
Additional IDE tools include screen painters for menus, input forms and so on.
visual aids are a great help when learning anything
@martinrinehart said:
Also, complete help systems.
what could be better
@martinrinehart said:
Modern IDEs do so much that they also feature serious learning curves
unless guidance, and support are available, like Google provides for Gears, O3D, Android Development, or Apple for iPhone, or the open source community for newcomers.
@martinrinehart said:
so they are not appropriate tools for those who don't earn their daily bread by coding.
sorry, I think you just contradicted yourself here, these tools are designed to avoid your [not so] good old days learning curve,
I didn't think that YOU (the author of one of the most comprehensive "hey guy's SU codings NOT hard" books proscribed to the FOFO school of teaching and learning
I hadn't grasped that your, "hey guys, no need to look under the hood" API was devised to slow peoples own programing knowledge.
I must say I'm rather disappointed in your attitude.
A request for assistance in avoiding badly coded 'amateur' and efforts to understand what makes a cross-platform 'professional' scripts would find your support.
these scripts are often targeted at an extremely niche market, and a 'DIY' solution is often the only commercially viable option for those on both sides of the equation.
An idea I'm pursuing out of curiosity may help you in your 'professional' activities and I for one am to old to re-live your years of pain.
I do have 6 Acorn computers in my workshop, should I concentrate on learning programing on those...
john
-
I agree that a SketchUp IDE would be helpful, even for newcomers, so long as it provides an intuitive UI. I usually use Notepad++, but I wrote an article that presents a simplistic Eclipse plugin that accesses SketchUp.
The plugin provides syntax coloring and single-click script execution through the SketchUp bridge, but that's about it. If this interests you guys, I'd be happy to add features. The debugger is tough, but it's not impossible.
Matt
-
That's an interesting article.
@unknownuser said:
You can download Aptana Studio and RadRails, but the installation process is long and complicated. Besides, if you just want a Ruby editor, downloading a 30-day evaluation version of the gigantic Aptana Studio isn't worth it.
Complicated installation process? And the thing is free. http://www.aptana.org/
Anyway - are you able to set breakpoints etc in SU plugin scripts and run them from Eclipse?
-
@mattscar said:
The plugin provides syntax coloring and single-click script execution through the SketchUp bridge, but that's about it. If this interests you guys, I'd be happy to add features. The debugger is tough, but it's not impossible.
MattHi matt,
should I just turn this into a wish list then....
number 1 for me is Mac compatibility which the now ported, now free Aptana gives me, it also has a quite straight forward, simple ruby editor hidden in there, so can the plug added to it or is it completely separate issue?
I installed XP Pro sp3 on the Mac last week so I'll have a play with this there before asking to many naive questions, I'm sure requests
welcome aboard
john
-
Well, the bridge that Matt is using is a Windows-only thing - you'd need to ask TBD about the possibility of porting.
-
I am already looking into porting SketchUp Bridge to Mac, but it will take some time as I need to learn the internals of OSX.
-
I could have sworn SketchUp had a socket interface somewhere. If we could send commands reliably over a socket, then the Java interface becomes trivial. And you can use the IDE to access SketchUp on a remote computer.
-
Hi all,
as your online Matt (and any one else) I'm just trying to combine two rubies to print out a full xml list of my local SU ruby api.
I've taken the exporter from tomatoes_export.rb and I'm trying capture the puts from su_api.rb as it loops thru all the rubies on my local SU
I haven't got any of it working yet, I only just thought of it ...
will it work
I guess step 1 is get su_api.rb to loop the list it gathers to ruby console and copy paste the results into excel....
I want to add the list to resources template.
or is there an easy way to have an introspective, local, platform aware list....
-
@Matt is this what you mean?" title="@Matt is this what you mean?" class=" img-fluid img-markdown" />I have no idea what it means, but you probably do...
# begin code def socket_listener(v) puts "r;#{v.inspect}" if v == "Connection closed" p SKSocket.disconnect end end puts "Connecting..." p SKSocket.connect "google.com", 80 puts "Done." puts "adding listener..." p SKSocket.add_socket_listener { |e| socket_listener(e) } puts "Done." puts "Writing..." p SKSocket.write("HEAD / HTTP/1.1\n\n") # end code
thank you goes to Dr. YSG (ygut...@gmail.com)
-
@driven said:
or is there an easy way to have an introspective, local, platform aware list....
Of all the .rb/.rbs files in the Tools/Plugins file heirarchy ?
.. or the objects they create, ie: Classes / Modules / Methods, etc. ??
-
this is what my mac can find [in open SU], I went through manually, there's a few I don't recognise, and aren't on API Doc
what does #arity mean??
john
-
arity is the number of arguments a method accepts
def my_method(a, b) has arity of 2.
Introspection is possible. I built these charts using the same idea:
http://sketchuptips.blogspot.com/2008/08/sketchup-ruby-api-class-diagrams.htmlBut the introspection sometimes gives you bad information - look at the MaterialsObserver methods from your own list, and compare them to the names in the API docs. Maybe it's just exposing a buggy API. At any rate, the MatsObs is the only one I know for sure is returning bogus method names.
I believe that socket code snippet is mine. I used it to get Lego inventories from sites like peeron.com, and build a Component inventory. It is not officially supported and so there's no guarantee it will be around in the next version. But it's fun to play with.
-
@driven said:
what does #arity mean??
disappointingly - the number of arguments - but I don't know what the -1's mean on your list.
-
hi Jim,
thanks for the clear answer
the SLSocket doesn't show up at all on XP [on the same Mac] and I haven't gone through the methods on it yet,I really need to mod the script to generate the full list automatically, so I can compare with 3 other Macs with different versions of Ruby etc and with and without scripts,
I thought I recognised at least one of TIG's, but there's other at last ones that aren't on the API as well.
I take a look at your list in the morning...
john
-
An old post on SkSocket at over at GG.
http://groups.google.com/group/sketchupruby/browse_frm/thread/0b81977cc5d795ba# -
cheers Dan,
I found that earlier and followed the links to the test script I ran.
I posted the results because I don't how to interrupt the output, although it did show me a potentially 'protected' name, that's used in a script that just won't run on OSX on my Mac, but will on XP [same mac]
SKSocket doesn't show up under XP....
john
@ Jim, had a look at the charts, very nice
-
@driven said:
@ Jim, had a look at the charts, very nice
@ JIM .. dittos from me. I'd like some that we're left right hierachry, tho.
-
@chrisglasier said:
@driven said:
what does #arity mean??
disappointingly - the number of arguments - but I don't know what the -1's mean on your list.
"For methods written in C, returns -1 if the call takes a variable number of arguments."
http://www.ruby-doc.org/docs/ProgrammingRuby/html/ref_c_method.html#Method.arity -
@driven said:
SKSocket doesn't show up under XP....
Nor does:
class Sketchup::GeodesicI have module Precision, but not the 3 methods your list shows.
I cant find (mix-in) module Smoothable (is this a plugin?)
None of the DC classes or modules are on your list.
The following classes, don't have prototypes defined (BUT SHOULD!):
UI::InputPoint [*no-proto]
UI::Menu [*no-proto]
UI::PickHelper [*no-proto]
UI::Tool [*no-proto]Sketchup::FrameChangeObserver [*no-proto]
And then the standard extensions:
LanguageHandler ( should be moved to -> UI::LanguageHandler )
SketchupExtension (should be moved to -> Sketchup::Extension)P.S. - I accidently opened your list in ol' plain Notepad and it of course could not handle the EOLs.
But when I opened it in Notepad++ no problem, and the app automatically switched to UNIX EOLs for that 1 file tab. -
I write my plugins in ASCII - since Ruby 1.8 only deals with ASCII. Despite the data from SU comes in as UTF-8.
I tried with UTF-8 at one point and got errors...
Advertisement