I am a little disenchanted with development on the Mac right now. I need a single IDE that can handle all of my development needs. I did notice there are other questions on this topic already, but those did not cover my specific needs of:

  • Must support at least HTML, JavaScript, Ruby on Rails and PHP syntax highlighting, bonus if there are more language plug-ins available
  • Must support the ability to connect to FTP and SFTP
  • Must support handling of projects/sites
  • Must have some level of code completion, even if it is just at the variable level
  • Must support syntax formatting
  • Must be able to recognize and highlight ERB/TPL files as HTML

Are there any suggestions for such an IDE out there?

  • 2
    vim or emacs coupled with Transmit meet all the requirements you have enumerated. I wouldn't call either the ultimate IDE but both meet the stated requirements.
    – bmike
    Commented May 10, 2011 at 20:21
  • 5
    Emacs doesn't even need Transmit to do all these things. :-)
    – Ken
    Commented Aug 8, 2012 at 17:07

14 Answers 14


I actually think the idea of a single, unified, development environment like what you're after is somewhat antithetical to OS X design principles. One of the great things I've found, since switching to OS X for development work about a year ago, is that many OS X application developers share my own personal philosophy when it comes to software: do less, but do it really, really well.

As such, my current development environment on OS X is less unified than it was on Windows or Linux, but far, far more stable, robust, and ultimately: productive.

For coding I use TextMate. It seems almost trivially simple at first and then you discover bundles and it's built-in command line filtering and it takes off. It will handle the highlighting tasks you requested. It has projects, and while they seem kind of loose at first, you'll grow to appreciate it. Trust me. And it does handle code completion, tag closing, tag matching -- the sort of stuff you'd expect -- it's just not obvious, but it's there in Bundles and waiting for you to customize it.

Update: I've moved off TextMate and on to Sublime Text 2. The regular updates and the Python-based extensions were a major draw. It's been a year now and no regrets with that switch.

I use Kaleidoscope for diffs. It's just an a beautiful diff tool.

My git tool is Tower and my Subversion tool is Versions. Both awesome.

For permanent, remote drive access via ssh I use MacFUSE to connect to the remote location and mount it as a drive on my Mac. This is a superior option to built-in ssh or ftp support in the IDE because all the programs on my Mac can now work with files on that share.

I also use CyberDuck for it's awesome cost and excellent Amazon S3 support. I could even get away with just CyberDuck, no MacFUSE, if I had to. But I don't. :)

Update: I've switched to ForkLift 2 as my primary means to interact with remote file systems. It's got a nicer UI than CyberDuck and a few less "quirks" to it. I'll still occasionally open up CyberDuck when I need to deliver a signed URL to an S3 object.

Finally: iTerm 2. A terminal app befitting OS X. It really is quite a fantastic terminal. Bookmarks make it easy to get to my AWS machines quickly. The UI is clean. And tabs.

All of those things replace the clunky IDE (Komodo Pro) I use to use on Linux and Windows (and never really liked, just tolerated). And I don't even know that they're not all "unified" in one cluttered, modal window. No sir.

For reference, I write a lot Python, some HTML, JavaScript, Perl, and Java. And the occasional bit of C and C++.

Update: There's more Go in my day to day coding now. My toolset integrated that relatively young language without so much as a hiccup.

  • If you replace MacFUSE & Cyberduck with Transmit.app, then you're my guy :)
    – nuc
    Commented Mar 21, 2011 at 13:04
  • @nuc: I haven't hit a case where those two didn't cover me yet. But when I do, Transmit will be bought for sure. :)
    – Ian C.
    Commented Mar 22, 2011 at 3:45
  • Update: I've switch to Forklift for most of my remote filesystem interactions. I'll occasionally use Cyberduck when I need to generate a signed URL on an S3 object and that's about it now.
    – Ian C.
    Commented Aug 8, 2012 at 15:29
  • Update: Sublime Text (formerly 2 but now I'm on the 3 beta) ousted TextMate a few years ago and has remained. It is awesome.
    – Ian C.
    Commented Jun 1, 2014 at 19:08
  • Update: vim with custom dotfiles now because I like having a consistent editor as I move from laptop to server machines.
    – Ian C.
    Commented Oct 27, 2015 at 17:33

It's not an IDE, but the Vim editor does everything that you have asked for and much, much more!


Even better, it comes pre-installed with Mac OS X. Also, once you have used it on OS X, you can use it on Windows, Linux, BSD, Amiga OS...


Sublime Text 2

I couldn't have said it better:

Sublime Text has grown to become my favorite GUI code editor. It feels like a spiritual successor to TextMate (even allowing support for some TextMate bundles like snippets and themes), and has many original+natural features like fully independent text cursors, a very nice search feature, and a rapidly-growing plugin API and surrounding community.

enter image description here

Check it out, it's freaking awesome.
(And it works on Windows and Linux too!)

  • I'm waiting for Chocolat beta or TextMate 2 myself. Mainly because they would be "exclusive for the Mac, and that is how we like it!".
    – Lri
    Commented Oct 31, 2011 at 6:14
  • @to each his/her own, but I admit when a Mac programmer tells me Sublime isn't their favorite GUI text editor, I assume they only ever tried it once or twice.
    – username
    Commented Aug 8, 2012 at 19:21

You can go for NetBeans, it's quite good and I prefer it.

  • 1
    yes i used netbeans too. But it will be nice if we have IDE run natively on mac :)
    – GusDeCooL
    Commented Oct 29, 2011 at 14:51

Oddly there is no mention of Eclipse yet. Its not just for Java, there are plugins for almost all the languages out there. I've used it on my MacBook Pro for years.


JetBrains WebStorm is a commercial IDE for JavaScript, CSS & HTML built on JetBrains' IntelliJ IDEA platform. WebStorm is a specialised version of PhpStorm, offering a subset of its features. WebStorm ships with pre-installed JavaScript plugins (such as for Node.js)

enter image description here


I find the open source Atom the best!

Atom is a text editor that's modern, approachable, yet hackable to the core—a tool you can customise to do anything but also use productively without ever touching a config file.

enter image description here

Full-featured, right out of the box

Cross-platform editing

Atom works across operating systems. You can use it on OS X, Windows, or Linux.

Built-in package manager

Search for and install new packages or start creating your own—all from within Atom.

Smart autocompletion

Atom helps you write code faster with a smart, flexible autocomplete.

File system browser

Easily browse and open a single file, a whole project, or multiple projects in one window.

Multiple panes

Split your Atom interface into multiple panes to compare and edit code across files.

Find and replace

Find, preview, and replace text as you type in a file or across all your projects

Packages for most of the requirements

You choose from thousands of open source packages that add new features and functionality to Atom—or build a package from scratch and publish it for everyone else to use


Customisable Themes


I've been impressed with Aptana 3 - give it a try. It has Smarty support.

  • 1
    Which is based on Eclipse
    – mmmmmm
    Commented Mar 21, 2011 at 13:55

For web development in particular, there is Coda. I would also recommend Textmate from Macromates.


Another alternative is Komodo IDE: "The Professional IDE for Python, PHP, Ruby, JavaScript, Perl and Web Dev"

You can customize syntax highlighting if you want too. Have a look at the features.


I have tried SubLime , it is brilliant in looks . And one of the best thing about it is the fact that even if you force quit it , it will retain state of the app . So all of the tabs you were working on will get restored . It's much needed when you accidently close the app .

About TextMate , that's nice too . But Sublime is certainly +1 .



Peppermint Logo

I don't know if this will strike as promotional, or not, but guys, I can't help not to talk about our own... brain child, Peppermint.

We've launched it around 1-2 weeks ago, and the response so far has been very welcoming - so I thought I should share it here as well. It's not an IDE. But it's not a simple Code Editor either. Perhaps, it's something in between and - with its live javascript console and plugin API - aiming to be as extensible and coder-friendly as possible.

Peppermint Code Editor for Mac

-- Features --

  • 50+ different syntaxes supported
  • 10+ different themes
  • Lots of different plugins/tools for everything you need
  • Instantly Run/Preview your code, without ever leaving Peppermint
  • Included FTP/SFTP mapping support
  • Live JavaScript console
  • Fully customiseable & scriptable
  • Advanced Editing: Snippets, Autocompletion, Multiple cursors

-- Specs Supported --

ActionScript, Ada, AppleScript, Assembly x86, Bash, C#, C++, C, COBOL, CSS, Clojure, CoffeeScript, ColdFusion, D, Erlang, Forth, Go, HTML, Haml, Haskell, Image, JSON, JSP, Java, JavaScript, LESS, LaTeX, Lisp, Lua, MATLAB, Makefile, Markdown, OCaml, Objective-C, PHP, Pascal, Perl, Plain Text, Prolog, Python, R, Ruby, SQL, Sass, Scala, Scheme, Tcl, Textile, XML, XQuery, YAML

-- Plugins Included --

  • AppleScript : Run / Run with Arguments
  • Bash : Run / Run with Arguments
  • C : Run / Run with Arguments
  • C++ : Run / Run with Arguments
  • C# : Run / Run with Arguments
  • CoffeeScript : Compile
  • CSS : Beautify
  • HAML : Compile
  • HTML : Beautify, Preview, Preview in Browser, Strip HTML Tags, Validate
  • Java : Run / Run with Arguments
  • JavaScript : Beautify, JavaScript to CoffeeScript, Pack, Run / Run with Arguments
  • JSON : Beautify, To XML, Validate
  • LESS : Compile
  • Lua : Run / Run with Arguments
  • Markdown : Preview, Convert to HTML
  • Objective-C : Run / Run with Arguments
  • Perl : Run / Run with Arguments
  • PHP : Run / Run with Arguments
  • Python : Run / Run with Arguments
  • XML : To JSON

-- And even more... --

  • Regex Editor
  • Share your snippets via Gists
  • StackOverflow embedded search
  • FTP/SFTP support out-of-the-box
  • Stick a file to split view

Website: http://osxpeppermint.com

P.S. Your feedback/ideas and comments are more than welcome! :-)

  • How on earth to do expect to make money with this when Sublime, Atom and TextMate all exist, are free, and essentially compete with you 1:1 on your feature set (and even looks)?
    – Ian C.
    Commented May 16, 2016 at 1:21
  • the web page claims it supports fortran with a third party compiler. Does it support compiler and linker options?
    – Natsfan
    Commented Jul 4, 2017 at 21:48

enter image description hereBrackets is a free Adobe product originally written for HTML. Like several others here it has a great many plug-ins to enhance its capability. I've used it for HTML development and it works great. Can also do many other languages with the plugins. Python, Ruby, etc. It has yet to crash on me. New free upgrades around every 6 months.


How about NetBeans for OS X?

It supports Java, JavaScript, PHP and HTML5.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .