38

I'm starting a new job soon where I'm going to be developing in Ruby and Rails on a Windows machine. I haven't used Windows for years, and the likes of Textmate, Git and Bash, are an integral part of the workflow using a Mac.

So, does anybody have any suggestions or recommendations as to the best tools or work strategies to use? Or pitfalls to avoid?

In particular, of course, I'm interested in the best text editor. (I'm seriously thinking about taking the opportunity to learn Vim or Emacs, or whatever the Windows ports are called, but any other thoughts would be welcome.)

Additionally, any ideas of useful plugins, tools or programs would be appreciated.

If you think that I've completely lost my mind, then feel free to tell me too ;-)

cheers !

Robert S.
  • 24,673
  • 12
  • 81
  • 114
netflux
  • 3,469
  • 6
  • 33
  • 39

16 Answers16

65

Ruby and Rails

Development Environment

IDEs

Text Editors

bash Environment

Source Control

Helpful Links

Related Questions

Community
  • 1
  • 1
Robert S.
  • 24,673
  • 12
  • 81
  • 114
  • 6
    +1 for the detailed list of links – Sinan Ünür Jun 18 '09 at 16:10
  • 2
    I would replace E Text Editor (it seems to be abandonware now, sadly) with Sublime Text 2, which is not only a superb editor, but also cross-plators (Win, Mac, Linux). In fact, I think I'll just do the edit myself. :) – Charles Roper Jan 20 '12 at 12:39
  • Where did you hear E was abandoned? The site is still up. – Robert S. Jan 20 '12 at 18:31
  • 1
    All: Start here and use Google Trends. Just a thought for those trying to make this and other similar decisions. Learning to use Google Trends (yes, it takes a little learning to use smartly) can be super powerful when trying to discover industry standards, presence of documentation, etc. Something that looks interesting can instantly be deflated when you find that it hyped in 2011 and has absolutely died off in interest since then. It's an imperfect tool, but I've found that when used with care, trends.google.com can be very helpful in getting more information for these types of decisions. – matthewsheets Mar 13 '14 at 17:46
16

RubyMine is supposed to be a top notch IDE. JetBrains always makes great products.

Bryan Migliorisi
  • 8,274
  • 3
  • 30
  • 43
5

NetBeans or e as IDEs

eKek0
  • 21,835
  • 24
  • 87
  • 117
  • Netbeans will also take care of quite a few of your other concerns--it probably has the best Ruby on Rails support for any editor on any platform--Tor worked his ass off on that one. – Bill K Jun 18 '09 at 15:25
  • 1
    I like Netbeans and keep it around for the debugging features but it is really really slow. – srboisvert Jun 18 '09 at 16:57
3

Here's my incredibly detailed setup guide for Windows Server 2003, which works essentially unchanged on XP Pro and Vista. See this general installation list, and modify the instructions if you get different results. They're meant for people new to programming, so they'll probably be overly explicit for your purposes.

IMO, the one thing you definitely need is a *nix-style shell. This has nothing to do with whether you like dir or ls - you need to be able to run shell scripts or you won't get very far.

git bash (comes with msysgit) is my beacon in the storm of cmd.exe windows. It's essentially bash on Windows, and lets you run almost any script that you can run on *nix. This includes all the gem command line executables.

It gets weird in a few places.

  • File permissions - there just isn't a great way to map between Windows ACLs and POSIX file permissions. The Cygwin people have devoted years to solving it, but it still doesn't work all the time. git bash's approach is to just not do anything when asked to do a (for example) FileUtils.chmod. That means you may need to create a few more directories by hand, and you do need to be very aware of when something is changing file permissions.

For example, when I installed the Heroku gem on Windows, it tried to set the permissions of my Heroku credentials file, which has my Heroku password in plaintext, to u+r go-rwx. You'd definitely want to change the ACLs on that file if you're on a shared machine.

  • Scripts vs. .bat files - I wanted to change git's default editor from vi to SCiTE (not that I don't like vi; this was for a new-user workshop and I didn't want to explain editing modes). I had to create a .bat file that was actually a shell script. See the full explanation here:

How can I set up an editor to work with Git on Windows

Community
  • 1
  • 1
Sarah Mei
  • 16,958
  • 5
  • 43
  • 44
2

I am using Netbeans, which is a good overall editor (at least for me).

For simple projects I use JEdit.

You can find the link at NetBeans IDE

You can find JEdit at JEdit

rajesh pillai
  • 7,885
  • 7
  • 40
  • 57
2

git is available on Windows: http://code.google.com/p/msysgit/ or http://kerneltrap.org/Linux/Git_on_Windows

Basically, you need to decide whether you are going to go the Cygwin route or the MingW route. Both will provide you with Bash as well.

GVim works great. I use the native port rather than the Cygwin version.

Sinan Ünür
  • 113,391
  • 15
  • 187
  • 326
  • Having used both, I prefer msysgit because it comes without the added weight of Cygwin. – Robert K Jun 18 '09 at 16:19
  • Same for me. I've had lots of grief from Cygwin but no problems at all with msysgit. – srboisvert Jun 18 '09 at 17:09
  • 2
    I love git bash (which comes with msysgit). Perhaps it's designed to only do git commands, but it's essentially bash on Windows. It gets wonky in a few places (hello, file permissions) but it lets you run most of the executable scripts that you can run on *nix. – Sarah Mei Jun 19 '09 at 00:11
  • Git Bash is the greatest. It isn't designed to do only git commands. It's based on a general-purpose bash implementation for Windows. – Ethan Jul 15 '09 at 01:55
2

If your development life is switching to Windows then you may want your employer to invest in this:

Ruby In Steel by SapphireSteel Software

I've used it in the past when I started tinkering with Ruby on Rails, quite nice and reasonably mature now. Also it's built on Visual Studio which I still think is one of the premier development environments around.

Kev
  • 112,868
  • 50
  • 288
  • 373
  • Why the downvote? It's a perfectly valid development option. – Kev Jun 18 '09 at 15:50
  • Probably because you mentioned Visual Studio. :P I've heard good things about Ruby in Steel, but if I were to judge it solely based on their website I wouldn't go anywhere near. – Sasha Chedygov Jun 20 '09 at 07:56
  • Yeah...gets kinda boring the knee jerk prejudice just because something has a MS badge on it. – Kev Jun 20 '09 at 17:09
2

Maybe bring a LiveCD to work with you every morning..

you can even put it on a usb flash drive, if you use a small enough distro/big enough drive...

1

Cygwin as command line tool

buddy
  • 725
  • 1
  • 6
  • 8
1

The two best RoR IDE's I've used are NetBeans and Aptana Studio. However, for the most part I stick with Notepad++ and its various plugins (Explorer and HTML tags being two important ones).

Barry Gallagher
  • 5,865
  • 4
  • 24
  • 30
  • I would add that Sublime Text 2 matches Notepad++ in most every regard and you can install your TextMate bundles in it. – Roger_S Jun 05 '12 at 20:30
1

This may not be applicable in your situation (IT restrictions, etc), but another option might be virtualization. You could install VirtualBox, VMWare, or some equivalent, and run Ubuntu (or your preferred Linux distribution, of course) that way, gaining access to the full UNIX toolset.

Greg Campbell
  • 14,862
  • 3
  • 40
  • 45
1

You didn't say whether you're using Windows voluntarily. However, this line suggests to me that maybe that's the case:

"If you think that I've completely lost my mind, then feel free to tell me too"

If you have any choice in the matter, I strongly recommend using a Unix-based system instead of Windows. If you have to go through inconvenience, spend money, or jump through hoops to avoid doing Ruby/Rails development on Windows, it will be worth it.

I've had to cope with Ruby and Rails on Windows a lot recently due to legacy systems and other developers' preferences. Rails development on a Unix-based system is much more efficient. The difference is not subtle.

That said, as others have mentioned, installing mysysgit even if you aren't using Git is helpful because it comes with Git Bash which gives you a usable bash command line.

As for text editors, I like Notepad++.

NetBeans is a really nice IDE for Rails development. Decent syntax highlighting, code completion, error highlighting. Handy keyboard shortcuts for navigation. It's pretty good.

Ethan
  • 52,651
  • 60
  • 180
  • 231
0

IntelliJ IDEA

MicTech
  • 36,117
  • 14
  • 58
  • 79
0

I developed in RoR under Windows for a few years, it's bearable, but Linux (or Mac) is much better for this. Lots of gems and plugins are considerably harder to install on Windows (quixml, for example).

My favorite text editor under Windows is Textpad, Eclipse is also pretty good.

If you want to use ls, find, grep... in Windows console, just download some package of their Win32 ports, install them and add to your PATH (Cygwin is definitely better, but also harder to install). You might also try out Powershell, it's supposed to be a replacement for unix command line by Microsoft.

Lukas Stejskal
  • 2,486
  • 18
  • 30
0

I've struggled a lot with Rails development on Windows. At some point I needed a specific gem that didn't work on Windows. I prefer working with a VM using Vagrant

Here's a blog post I wrote, how I setup my projects with the use of Chef and Vagrant

Manuel van Rijn
  • 9,800
  • 1
  • 24
  • 49
0

I use virtual box, putty, and xming to do the development in an isolated linux environment. I blogged the full setup here

Tim Hoolihan
  • 12,120
  • 3
  • 39
  • 52