KDevelop is a real IDE, with I think all of the mentioned features you want
and Context is more an advanced texteditor, with highlighting and such
things.
-- Dennis
I haven't used these to a great extent but do have them loaded on my
Win2K development notebook. Check them out and let me know what you
think...
RDE (GPL, coded in ruby)
http://homepage2.nifty.com/sakazuki/rde_e.html
Mondrian Ruby IDE (MIT?, also coded in ruby)
http://www.mondrian-ide.com/
Arachno Ruby IDE (commercial, starting at US$ 59)
http://www.ruby-ide.com
This one isn't Ruby-specific, but I use it from time to time (Freeware)
http://www.crimsoneditor.com
(Note about this one: it only applies ruby sintax highlighting to *.rb
files, NOT *.rbw. But this can be fixed by creating a new link file )
hope you find these links useful.
cya!
--
BlueSteel | | Merkoth
If you get hooked on unit tests as a better substitute for a debugger, then
jEdit's looking pretty good. I'm going to be restarting development on the
jEdit Ruby plugin soon. Feel free to drop me a line with what you think is
missing, you never know it may be there by the end of the year.
Rob
http://www.jedit.org/ruby/
> Or how about Widestudio?
I think I might have answered my own question I had yesterday to c.l.r
regarding Qt/Ruby/Windows support for an application I wanted to port
over from Qt/Ruby/Linux that I wrote for the Sharp Zaurus. I wasn't
aware that Widestudio's GUI toolkit can be cross-deployed on Windows as
well as Sharp Zaurus platforms. This was due to my ignorance since I
hadn't used it much.
Perhaps this IDE will help me release my application across the various
platforms in a smoother manner. Previously I was using qt-mt230nc.dll
with a Qt binary release for Ruby 1.6 on my Windows clients. This
wasn't the best solution since the Qt version was earlier than my
Zaurus clients (2.3.0 versus 2.3.2) and the Ruby version was as well
(1.6.8 versus 1.8.3).
vim does all that, except for debugging. I've never had to really
debug ruby much though (I sometimes use gdb if i have a problem with a
c extension).
--
~Travis
I'm entirely a UNIX/Linux man so I may be a touch biased. But I have done
a lot of development work on MS Windows too.
IDE's generally are great if you are new to a language, and even if you
are not new pop ups giving you the params of the standard functions as
you type can be handy. But eventually all of that stuff simply will get in
your way.
I develop much faster using vi(m) (but substitute your own plain text
editor), a console for nipping about the project directory structure and a
browse window open if thats the sort of interface your using.
Then you write a function, save :w, test in the console or browser you
have open. Or if its a function/class you can test stand alone, then send
it directly to ruby/php or what ever. ':w !ruby' you can't get much more
immediate feedback than that. No opening and closing Windows or dialogues.
> IDE's generally are great if you are new to a language...But eventually all of that stuff
simply will get in your way.
True that! I found this to be the case with some of the Java IDE's that
were powerful and all encompassing, but eventually slowed me down for
many reasons. Using some of the windowing toolkit designers such as
GTK's, Qt's etc. is another story to me, since graphically designing my
GUI (rather than manually typing and running things to see how they
look) is a big plus.
I've downloaded ArachnoRuby - but it never seems to get finished - and
is pretty complex. Looks like it would have all the tools you would need
in it though - assuming it matures soon. (have to pay for it of course)
Other things - like RDE and Mondrian just plain don't work from the
point & click installer. If it don't work on installation - what hope is
there of it working properly as a debugger.
I hope someone picks up the challenge.....
Graham
You could ask them why they need all that IDE stuff for developing in Ruby.
I do all the above (except debugging and Java) with just vim.
(assuming that unit tests are a substitute for refactoring)
You missed the key phrase: "in Ruby". What you're describing is a
typical project in Java or C++.
In Ruby, if your application is so large and complicated that you
can't easily navigate and understand it without a specialized IDE,
you're basically screwed.
Ruby gives you the power to achieve complicated things with a small
amount of very clean source code. But if you insist on treating it
like C++, all you'll end up with is a mess, and no IDE will save you.
cheers,
Ed
>How do you do code completion with vim? I'd love that feature.
>
:help ins-completion
--
Florian Frank
> I've spent a little time looking at the following options:
> - EditPlus
> - UltraEdit
> - gvim
> - SciTE
> - jEdit
> - ArachnoRuby
What's wrong with this FreeRIDE thing that seems to come along with
the Windows one-click installer then? (I've not used it much, just
curious).
--
Chris Game
Justify my text? I'm sorry but it has no excuse.
I've found FreeRIDE to be painfully slow - at least on windows. I've
not tried it on other platforms yet, however.
>How do you do code completion with vim? I'd love that feature.
>
>
>
Me too ---
> What's wrong with this FreeRIDE thing that seems to come along with
> the Windows one-click installer then?
It's slow and unstable, at least on a WinXP platform. The lack of a mature,
feature-rich and free IDE for Windows is still one of Ruby's more
significant shortcomings, in my opinion.
M.
I agree. Although Ruby has potential, it still appears to be a language
for small systems/utilities. Partly because of the tools support, partly
because of performance, partly because it is "new" (ish).
If you have a complex problem to solve, choosing the "wrong language" to
write a solution can make your task more difficult, but even Ruby cannot
make intrinsically complex systems simple.
Reading this group and you seem to find several common threads
- Newbies from various backgrounds interested in exploring the
potential, and hitting the same issues (scattered documentation models,
scattered websites with documentation, lack of the level of IDE support
other mainstream languages take for granted, language quirks)
- "experts" who use Ruby regularly and have probably figured out how to
control the coffee machine via vim, and eschew anything more complex
than a console prompt.
Ruby seems to be at the stage of Java 0.9.. i.e. 1 set of command line
tools and loads of "learning applets" to play with. Its going to be a
few years and something like "RBuilder" (c.f. JBuilder) to get people
using it to solve real problems... if this doesn't happen, then Ruby
will probably join the backwater of "almost" or niche languages like
Effiel, Forth, Modula-2, Pascal(?), Lisp, D..... (the list is endless).
I hope Ruby makes it - and if it does its going to be a few influential
groups (like Matz and the Pragmatic team) producing products like RoR
and then pushing it hard. You need to make it easy for people to
deliver, and great tools support is one way to start this. IMHO all the
Ruby IDE developers should be working together to make Eclipse + Ruby
plugin work as well (and be as high a profile) as RoR is. You have
win-win for all existing Eclipse users looking to transition, and
provide great supoprt for new users too.
..
Thx for listening.
Graham
You might want to take a look at the Zeus for Windows programmer's
editor:
http://www.zeusedit.com/features.html
> - tabbed view of open files
> - project view or a folder view of files
These come as standard.
> - good syntax highlighting
> - auto indentation
Zeus has auto indentation, code folding and syntax highlighting for
Ruby.
> - code completion
The code completion is fully configurable so it may or may not be
possible to make it work for Ruby.
For example this is how C#/Mono code completion is configured:
http://www.zeusedit.com/forum/viewtopic.php?t=211
and here is the Microsoft MFC code completion is configured details:
http://www.zeusedit.com/forum/viewtopic.php?t=185
But if you find that it does not work for Ruby feel free to raise a bug
report.
> - works for .rb and .rhtml files
> - support for rails
Zeus if highly configurable so it should be possible to do this.
> - debugging
Zeus does have limited debugging support but it is definitely not one
of it's strong points :(
> Does anyone have suggestions on what I should be looking at?
One thing to note is Zeus by designed is language neutral meaning it
does not favour any one particular language.
It see no reason why it should not be possible to configure Zeus for
Ruby, but don't expect to find all these features "out of the box", so
to speak.
Note: Zeus is shareware (45 day trial).
Jussi Jumppanen
Author: Zeus for Windows
<snip>
> > Then you write a function, save :w, test in the console or browser you
> > have open. Or if its a function/class you can test stand alone, then send
> > it directly to ruby/php or what ever. ':w !ruby' you can't get much more
> > immediate feedback than that. No opening and closing Windows or dialogues.
>
> Yeah, I generally have mappings like
> :wall<CR>:!ruby %<CR>
>
> Which will save all open files and run the current file.
You both might like to have a look at the compiler plugin which will run
the given file and allow you to jump to the location of any resulting
syntax errors, exceptions etc.
:compiler ruby
:make %
<snip>
Regards,
Doug
> I agree. Although Ruby has potential, it still appears to be a
> language for small systems/utilities. Partly because of the tools
> support, partly because of performance, partly because it is
> "new" (ish).
I've been watching this list for over a year now and I don't remotely
believe the above. I think you might want to look into some of the
things Rubyists are doings. I expect to to be surprised.
> Ruby seems to be at the stage of Java 0.9.. i.e. 1 set of command
> line tools and loads of "learning applets" to play with.
Again this, does not jive with what I see here every single day. Did
you read Ara's post earlier tonight about the image analysis of
hurricane Katrina being done with Ruby, by NOAA?
> Its going to be a few years and something like "RBuilder" (c.f.
> JBuilder) to get people using it to solve real problems...
I believe it's my job to manage complexity, as the programmer, not
the IDE's job. Tools are nice, but that has little to do with what I
can and can't manage.
James Edward Gray II
Jacob
Most wise words indeed.
Lots of programmers like to leave the task of project management
up to the IDE. But this can be dangerous, as many times the IDE
will get into trouble with the project management, especially as
the complexity grows.
#Lots of programmers like to leave the task of project management
#up to the IDE. But this can be dangerous, as many times the IDE
#will get into trouble with the project management, especially as
#the complexity grows.
my only need for an ide is a gui interface similar to that of vbasic forms or powerbuilder's painter. I'd be then happy if it converts the form into tk or even curses. It's a pain aligning widgets, especially if a user/customer dictates the layout. I'm still searching maybe someone has found one...
kind regards -botp
#
#Jussi Jumppanen
#Author: Zeus for Windows
#
#
#
You misunderstand me. Ruby is quite capable of tackling large,
complicated problems.
People coming from a static-language background expect to need IDEs
because they underestimate the power and brevity of a dynamic language
like Ruby. Once they've replaced their 10,000 lines of Java with
1,000 lines of Ruby, perhaps their IDE will begin to seem less
important.
Or perhaps I'm just biased against IDEs. I've never liked them much
myself.
By the way, it appears rather difficult to make a Ruby IDE with
tab-completion, because you can't know in advance the type of any
object, and methods may be added and changed on the fly.
regards,
Ed
I actually looked into that for the first time yesterday.
I think I created a mapping like
:map <F6>:wall!<CR>:mak % \| :cwin<CR>
saves the files, runs make, and displays an error window at the bottom
there. Then I can skip around to all the places that have exceptions.
Pretty nifty.
--
require 'gtk2'
require 'libglade2'
class SignalHandler
def method_missing(method, *args)
puts "#{method}: #{args}"
end
def on_QuitMenuItem_activate(*args)
Gtk.main_quit
end
end
if $0 == __FILE__
# initialize gtk
sigmap = SignalHandler.new
Gtk.init
# instantiate the main window
glade = GladeXML.new('gladetest.glade', nil, 'gladetest')
window = glade['MainWindow']
# connect the signal handlers
window.signal_connect("destroy") { sigmap.on_QuitMenuItem_activate }
glade.signal_autoconnect_full do |source, target, signal, handler, data|
source.signal_connect(signal) { sigmap.send(handler, data) }
end
# show the main window
window.show
# start the main event loop
Gtk.main
end
--
Hope this helps,
Tim
____________________________________________________________________
http://www.freemail.gr - δωρεάν υπηρεσία ηλεκτρονικού ταχυδρομείου.
http://www.freemail.gr - free email service for the Greek-speaking.
This is getting way off topic, but I've found that Glade might be
nifty when you're first getting started with GUI programming but you
really want to start moving towards packing all the widgets manually.
The jEdit Ruby Editor Plugin has code completion for the core types based
on a naive type inference algorithm, which can be summarized as "if it
quacks like a duck, it'll probably waddle like a duck":
http://www.jedit.org/ruby/
Cheers,
Rob
> I personally use JEdit for my Ruby work (well, learning it at least),
> and while I'd love something with more autocomplete abilities and
> better syntax checking, that's it.
Jacob are you using the jEdit Ruby Editor Plugin?
For everyone on this thread:
The jEdit Ruby Editor Plugin provides type based method-completion for the
Ruby core classes, syntax error checking via the JRuby parser and has an
integrated RDoc viewer. The install is rough, many seem to like it, I intend
to put more work into it over the Northern Hemisphere winter, it's free
software under the GPL, take it or leave it, but feedback is welcome, I give
you the Ruby Editor Plugin for jEdit:
http://www.jedit.org/ruby/
Cheers,
Rob
> Paul, jEdit + the Ruby Editor Plugin meets many of your needs:
> - good syntax highlighting (yes)
> - code completion (yes)
> - auto indentation (yes)
> - tabbed view of open files (yes)
> - project view or a folder view of files (yes)
> - works for .rb and .rhtml files (yes, I think with a bit of config work)
> - debugging (no)
> - support for rails (no) - what do you mean by this?
Let me second this. I've been fairly happy with jEdit and two consoles
for ruby-breakpoint and a tail -f on the log.
It would be wonderful if there was a way of getting rid of the tail -f
with jEdit as the logs can get quite big (5 - 10 MB) and jEdit doesn't
handle that kind of file size too well. Any ideas?
Another thing that is not quite perfect is the integration of the XML
and Ruby mode for .rhtml files -- it would be nice if there was a way of
getting the XML plug in to ignore <% %> style constructs, but slava
wasn't really much in favor of this back when I asked him about it.
I'm also sort of working on an IDE for ruby-breakpoint[0], but please
don't expect too much as this is a private project and I can't even drag
& drop the GUI together. I've also heard that ActiveState is working on
a graphical Ruby debugger.
Personally, I'm still quite happy with an IRB shell and just asking
questions to my objects.
I disagree. I'm currently writing a complete Magazine Subscription
fulfillment database backend with front end in Ruby. It's no problem, even
though the system is complex The backend is about 90% complete and the front
end is about 30 percent complete.
Now granted, if ANY application in ANY language is so large you can't
understand it without an IDE, the problem is not the size, but your design.
Anyway, I do everything with 2 terminal windows open and Kate to edit the
files. No problems there. :-)
I believe it's my job to get as much done as I can--the more I can leave (or
push) to the computer the better. Maybe an IDE isn't the tool to manage the
complexity you're talking about--then we (you/me/whoever) should be looking
to improve or replace the tool. ;-)
regards,
Randy Kramer
Jacob
> will probably join the backwater of "almost" or niche languages like
> Effiel, Forth, Modula-2, Pascal(?), Lisp, D..... (the list is endless).
i'm not sure i'd put pascal in the 'backwater' category. maybe 'not
used as much'. borland had the pc programming market pretty much tied
up with turbo pascal 1. and the dos text mode interface that everyone
else copied by version 3.
pascal lives on today as delphi. you could probably reproduce a
complex delphi program just using vim, but i don't know of any delphi
developer that would want to.
i'm a touch typist so vim works especially well for me in just about
all the code i work on...
but when it comes to switching between several files, debugging,
testing an ide is more convenient. yeah i can do most of it in vim,
but the cirque de soleil keyboard acrobatics don't make sense compared
to a few mouse clicks.
--
http://home.cogeco.ca/~tsummerfelt1
telnet://ventedspleen.dyndns.org
When I was doing some Delphi work 18 months ago, I did 90% of my
development outside of the Delphi environment and in vim. I used
Delphi for method completion and compiling only.
I work similarly with VisualStudio.
-austin
--
Austin Ziegler * halos...@gmail.com
* Alternate: aus...@halostatue.ca
> When I was doing some Delphi work 18 months ago, I did 90% of my
> development outside of the Delphi environment and in vim. I used
> Delphi for method completion and compiling only.
i tried that with both delphi and c++builder and it was just too
painful. i really didn't feel like setting up vim for each ide i was
trying to replace
it's a great text editor for touch typists though. i usualy start all
my code with vim first...
Same here, in both cases.
martin
The Zeus for Windows programmer's editor has a generic form
of code completion that derives it's information from the
tags generated by Exuberant Ctags.
The Exuberant Ctags lists Ruby as one of the supported
languages:
http://ctags.sourceforge.net/languages.html
so in theory this means the Zeus, Ruby code completion
should work in some limited fashion.
> because you can't know in advance the type of any object,
> and methods may be added and changed on the fly.
This form of dynamic code completion is definitely very
difficult to implement as it requires the editor/IDE to
have built-in knowledge of the language.
But for the more static type of coding, where some form
of ctags information is generated, a limited form of code
completion should be available.
Jussi Jumppanen
Author: Zeus for Windows