I have used Windows for my work system (it is required) for over 8 years now. I have migrated through a number of code editors as my abilities and needs have changed over time. I have used WebEdit, HomeSite/ColdFusion, and now UltraEdit. On the Mac it has been BBEdit all the way. Yet, especially in the last year or so, I have been looking for something on the Mac that would work more like UltraEdit on windows. Specifically, something that would allow opening more than 1 file via FTP at a time. And didn’t require pallettes to access common code snippets (I like keyboard shortcuts). Simply, the macro features of BBEdit just don’t cut it for me. I should mention the version of BBEdit I have is v6.0… and it is a great editor. So perhaps if I weren’t too cheap to upgrade, I may find some of these features added in the most current version.
But my desire, really, is to find something that works the same on Windows and the Mac, as I continue to use Windows at work (maybe that will change some day). So recently, I started using Dreamweaver (DW) as a code editor. Over the years I have played around with DW’s graphical editing features, but I have always felt constrained and have not been satisified with how the code comes out. Yet, I will say that it is the best for building pages graphically. It never occured to me to try and use it in code editing mode, as they (had previously) integrated with HomeSite on Windows and BBEdit on the Mac. The code editing built into DW MX is quite robust. Since I have DW for both windows and the Mac, I decided to give it a try.
The DW code editor has a lot of features. First, there is the site manager which allows you to configure how you will access files. Whether it is FTP or direct server access (for those who may work directly on their server) you can set up all the info and when you connect you are given a file directory view of the files on the server. You can also set up a local directory, where a copy of all files will be kept, well, locally. This can be somewhat confusing, as you will need to remember to upload your files after making changes, as all changes are applied locally only. You can also set up the application server that your server uses, either asp, php, jsp, or of course coldfusion. Then there is also the ability to create links to your database. Configuring all that takes some in-depth knowledge, but when you have it all set-up, you can do live data design in the graphical view. That is, you can create your db queries and code your application logic and can test it all in DW. Unless your layout is very CSS oriented… While DW does an admirable job integrating code with the graphical, it does not quite make it, if you use even a few modest CSS hacks. And then there of course is the fact that you still have to test it all in the actual browsers; IE & Mozilla (win + mac), Safari, Opera, OmniWeb,…
I have Apache, PHP, MySQL set-up on both my windows and macs, as well, I have IIS, asp, MSSQL (dev) set-up on the Windows allowing me to do all testing locally. So using DW has been productive. I have gotten used to the code completion, and attribute pop-ups. The style editor is quite nice, giving the full syntax and an easily accessible color selector (which was a minor nuisance in UltraEdit). Every now and then I do use the graphical view to make some basic layouts. With all that you would think my search is over… but it’s not. Despite all the benefits of DW, I find it to be overly intrusive at times. And, as I often need to do minor updates to code centric pages, opening DW to do just that is like using a rubber mallet for all your home repairs. Sometimes you need just a simple editor and then of course DW costs money too, even though it may be well worth it.
Which leads to my next editor of choice… jEdit. While I could get used to using vi in a telnet session, as powerful as that is (if you know the codes), it lacks some things that a make for nice code editing. I am not into emacs either. I like having a color picker, syntax coloring, and line numbering, and well a lot of things. While I have BBEdit on the mac, as I said, the version I have is lacking. And I am not quite ready to upgrade yet. Also, I hesitate to recommend a $199 code editor to others. UltraEdit on Windows has been quite good, really there is nothing for the price that comes close on the Mac, or so I thought. Since the advent of Mac OS X that has changed… in the process of looking for another code editor, I have come across jEdit… one thing that I liked right away, is that it is available for all platforms (Linux, Mac, and Windows).
It is written in Java and so you can run jEdit on whatever system you have. This editor, while designed specificly for writing java apps, much like BBedit or UltraEdit can also be used to write code in any language. I should also mention the fact that it is an open source project, which means it is free (both the application and the source). While all that is nice, it wouldn’t be enough if it did not have the features I needed. More than a few Open Source projects are not quite ready for prime time, but you always have the freedom to contribute and/or add your own features if you know how. Although I took some java programming classes, I don’t know enough to do my own modding here, so I must rely on what the application offers out of the box.
And jEdit offers a lot, with its modular plug-in architecture, you can add just the tools that you need. If all you need is a basic editor you don’t need to deal with all the other gunk. However, most users will want to get a few plug-ins… I loaded the FTP, XML, ColorChooser, SQL, and a few others. Only the SQL required some specialized knowledge to get set up and working. Getting used to it has been very easy. There is one minor bug on Windows (so far that’s the only place I noticed), where if you don’t use the editor for a long time (say 2 hours) and the system goes to sleep… the editor will sometimes freeze/not respond. Other than that, it has a flexible and easy to work with editor. It has some auto-complete features like HomeSite/Coldfusion/DreamWeaver. It has an HTML/XHTML syntax help, that gives you a dialog where you can enter all the attributes for a tag. Overall, I have found it to be an excellent replacement for BBedit on the Mac, and UltraDev on Windows. I have everything that I relied on in either of the other editors, plus some extra features. I finally have an editor that provides a consistant environment for code and design no matter where I work… although I still find it more enjoyable to work on the Mac.