I'm Dreaming of a better Code Editor
I've been programming for many years now, starting first with GW Basic then moving on to Turbo Pascal and then Perl, etc. Nowadays, I usually spend most of my time programming in PHP. I'm always trying to learn new languages and better ways of doing things. And for awhile now I've been dreaming and wanting a better code editor.
I'm currently using Dreamweaver MX 2004 which I've used since the very first version of Dreamweaver MX came out. For the most part I just work in code view. I really like Dreamweaver's auto complete features when coding in PHP and XHTML. And my favorite Dreamweaver feature is integrated SCP / SFTP support in the site manager. However, as I grow as a programmer I find myself wanting more out of my editor. I would really like a full fledged IDE that I could use in place of Dreamweaver.
I've been looking at several different editors to try and find something that fulfills my needs. So far I've looked at the following…
In whatever editor I choose to fulfill my needs I want two main things.
- Integrated SCP / SFTP file manager or site manager!
- Cross platform independence!
Of the four editors I've tried only two were cross platform independent, NVO and PHP Eclipse. Both editors seem to be identical whether you are working in Windows XP or Mac OSX. This is one of the things that first frustrated me about Dreamweaver. When I first got my Powerbook back in October of last year I installed Dreamweaver and was very frustrated that it didn't have the same look and feel as it does on Windows XP. I know that all of you OSX people are going to crap a brick, but in my humble opinion Dreamweaver on Windows XP is a thousand times better than Dreamweaver on OSX. I just like the way Dreamweaver on XP is organized with open files in tabs as opposed to floating around in an absurd mess.
One area that all the editors fall short in is SCP support. Out of the four editors none of them had integrated SCP. I found a plug-in (Klomp SFTP) for Eclipse to that added SCP support. However, I thought that plug-in was very poor. It was hard to find good documentation for the plug-in to even figure out how to get it installed. Then once you got it installed it was hard to figure out how it worked. Then once you got it working you are left disappointed because it doesn't work near as nice as to what you are used to.
This is one area that Dreamweaver has spoiled me on. In Dreamweaver I can set up my site so that it uploads to the server using SCP as soon as I hit save (CTRL + S on XP and CMD + S on OSX). This has been super nice and has saved a lot of time. The last thing I want to do is save a file then upload it using some other SCP program like WinSCP (XP) or Fugu (OSX).
Out of the four I proofed, NVO and Eclipse show the most promise because of their cross platform independence. Eclipse probably has the most promise because it has the most features because it is a true IDE. I'm starting to learn Java so I will continue to use Eclipse for that since it as all the features a beginning Java programmer could possibly want. However, before I'm ready to give up Dreamweaver I need and want an editor with integrated SCP support. Is that too much to ask???
Related tags: Code, Dreamweaver, Eclipse, Editors, PHP, Text
- Save this article for later, bookmark it!
- del.icio.us digg newsvine blinklist magnolia
Comments are closed.
Comments have been close for this post.
Latest Photos
Good Reading
- Mark Cuban's 12 Rules for Startups | Entrepreneur.com
- Welcome to Spreedly! | Spreedly
- Recurring Billing, Subscription Billing, Web 2.0 and SaaS Billing - Chargify
- Stripe
- The Best Exercise for Legs and Butt: Dumbbell Squats - YouTube
- Tips & tools for journalists who want to learn programming skills | Poynter.
Comments
First off, i agree about Dreamweaver. There are just too darn many floating palettes for there to not be a containing window. At the very least, Macromedia should give you the option. Dreamweaver on OS X sucks compared to on XP. Besides this interface issue, it's horribly unstable for an OS X app.
I don't know much about code editors on Windows, but from your list of requirements, I think you're best bet on OS X is skEdit -- but it's not platform independent. I'm not sure you'll find one that is. All of the best GUI editors on OS X (skEdit, Smultron, TextMate) are as good as they are because of Cocoa (which obviously isn't on Windows). Another option for you might be BBEdit, but again, i don't think there's a Windows version.
If you really need the platform independence, use vi. :)
Vim forever! IDEs are for wusses. Vim includes scp support and runs on just about anything. In Mac OS X, SubEthEdit support SCP if you buy Transmit.
Vim is the only editor for me. Period.
Sterling,
Guess I'm a wuss because I love GUI's for editing! :) Being able to simply hightlight text with the mouse is a hudge time saver. And yes I know you can do things like type :25yy to yank or copy 25 lines at a time. But why waste time counting lines when you can simply select the lines you want with the mouse. Also, last time I checked VIM doesn't do code hinting which also saves you time.
Vim! You can "simply highlight text." Right click and you have a context-sensitve menu. You can also do hinting via ctags.
Vim most certainly is a great editor, but the bottom line is that some people prefer GUI editors and some don't. It's just a matter of personal preference. For me, most of the work I am doing is front-end web design. I spend a lot of time in Fireworks, Photoshop, Flash, etc. as well as my text editor for XHTML and CSS. Because I am working in a GUI environment already, I find that using a GUI editor fits in better with my workflow. However, if I was only working in a text editor (like some programmers would be), I might prefer to use Vim, or another CLI editor. I just find I can more easily flip between my apps using the GUI.
It's all personal preference. I guess I prefer to be a wuss. :)
Here is another thought about Vim and other CLI editors. In programs like Dreamweaver when you have multiple files open at one time, Dreamweaver puts each open file in a separate tab, which is very logical and intuitive and easy to work with. I’m sure that your average Vim guru is going have some funky key combination so that you can switch between open files. But I ask you, which is more intuitive, to have tabs that you can see so that you can switch between open files easily or some funky key combination in a CLI editor. I also know that your average Vim Guru is going to say but it’s faster! Well, here is a tip for all your Vim gurus… In Dreamweaver and just about every other GUI editor you can switch between open files using CTL + Tab and in OSX CMD + Tab. And there are all sorts of other shortcuts that you can use just like the ones you can use in Vim. Granted there aren’t going to be as many but I find that there is a shortcut for all the most important tasks. Plus, if there isn’t a shortcut for something you “need” you could always make one using either macros or keyboard shortcuts menu!
Unfortunately, that's not quite accurate for Mac OS X. On Mac, CMD + Tab switching between applications, not files. There often is a key combo within an app to switch between open files, but it won't be CMD + Tab.
I often wish Mac OS X had a switch-between-open-windows function a la Windows, at least in addition to it's switch-between-open-aplications function.
If you're asking intuitive, then why the heck are we talking about Vim? Vim is not intuitive. In order to get started you have to practice and learn how to use it. There are no indicators for how to do anything, just keystrokes to be memorized. So, I won't go into the intuitive discussion with regard to Vim.
The issue is not what is intuitive, but what is best. If you prefer an intuitive interface where you don't have to memorize all the features. That's fine. It's not for me. Switching between windows is a single keystroke in Vim if I want it to be as I can mind any set of keystrokes in any particular mode to any particular shortcut (or even to the lowercase "t" key if I was so inclined). However, with the way I setup my workflow, I tend to have only one file open at any given moment, so switching isn't a major deal for me. When I do open an extra, I usually just start a new Vim process, which I can CMD+Tab between. I also frequently use multiple windows inside of a single Vim, which I just use the Ctrl+w, j or Ctrl+w, k (etc.) shortcuts to switch.
Also, Mac does have a "switch-between-open-windows" function. This is bound to CMD+`. I use this a quite a bit when I have multiple terminals open.
The only time that I use my mouse very heavily is when I'm browsing the Internet. Even when I'm working on a web app, I tend to Cmd+Tab between my editor and my browser and then Cmd+r to reload the page and then Cmd+Tab to Terminal holding a run of tail and then Cmd+Tab back to my editor to fix the latest bug.
use write! VIM is for wusses!
J/K
If you're dealing with windows, you can use existing software to map scp/sftp drives as an additional drive in windows. See, for example, webdrive or Internet Neighborhood Pro. I wouldn't be surprised to see a few open source sollutions in this realm, either.
You can do the SCP/SFTP-as-native-file-system trick in the file system on Linux too using LUFS.
I recently switched to a Mac and I use there gVim or SubEthaEdit. I used to use ActiveState Komodo which is the best IDE for open source scripting (Perl, PHP, Python, Tcl and XSLT). For PHP it does; - Function completion - Real time syntax checking (saves lots of time) if you have PHP installed - CVS and Subversion - It even does stepping though of PHP code
Unfortunately it only works on Linux, Solaris and Windows :( Seems Activestate is moving towards OS X however. Won't be long...
CpILL
Thank you for the recommendation, it looks pretty good. The price tag is a little steep. I might download the evaluation version and give it a try.
Have you tried out Zend Studio? I used the trial version until it ran out and was pretty impressed with it. It's a bit pricy at $300 but if you spend a lot of time in PHP it is very handy. One of my favorite features was that it would autocomplete functions and classes that I wrote even if the function was in an include and not actually in the file you were working in.
My only complaint with Zend was the way in which ftp is handled. It is not near as slick as dreamweaver and that is why I am still coding in dreamweaver.
No I haven't tried Zend Studio, mainly because of the price tag. I don't want to get addicted to something I would have to pay that much money for! :)
I continue to use Dreamweaver for the same reason you mentioned. I haven't found any code editor that has a file manager that handles SFTP or FTP as well as Dreamweaver.
I'm hoping that I can find another editor that is better that Dreamweaver but doesn't cost $300 dollars or I'm hoping that a new Adobe GoLive / Dreamweaver will be better. But I'm skeptical because Adobe makes things more for designers than coders so I doubt their will but that many code editing upgrades. I guess we will wait and see! :)
I am in total bloody agreement. The lack of SCP support in eclipse is without a doubt a very very big problem. None of the SCP or SFTP plugins I've tried work. It really is pitiful that such a powerful IDE is deemed useless because it can't fetch & display files, securely, over a network connection. Jeers.