Good Web Development Environments with UTF-8 Support? 46
A Pride of Lyings asks: "I'm having a devil of a time finding a good editor or IDE aimed at HTML/XHTML/CSS/JavaScript/JSP/XML that meets the following criteria: CVS integration (VSS integration would be nice but not required); stellar UTF-8 support (internationalization is a big big deal now); correctly recognizes and highlights HTML, JSP, JS, and CSS within a single file; does some rudimentary auto-completion; is easily configurable; runs on Win2k (oy vey); supports bookmarks of various kinds; supports code collapsing; and affordable. I'm at a loss and rather fatigued from kicking all of these tires, so I'm throwing it open to you: what do you use for your front-end work? What makes it good?"
So... (Score:4, Informative)
What you're asking for is Emacs then? No holy war here, it's entirely possible that vi could do the same.
As far as I can tell, BBEdit does all that under Mac OSX.
I'll admit I almost never edit locally. It's almost always a remote ssh session to a server halfway across the world, so I have no in depth knowledge of windows editors. But I've used Emacs (Xemacs actually, in text mode remotely) to do the bulk of what you ask other than UTF-8. A quick google search seems to indicate that it's cool for UTF-8, and it does, in fact, run under win2k.
Re:So... (Score:2)
As far as I can tell, BBEdit does all that under Mac OSX.
Almost. BBEdit has no code collapsing, though.
JP
Emacs does *NOT* do UTF-8 (was So...) (Score:1)
It's very frustrating
Works just fine on my machine (Score:2)
Vi Improved (VIM) (Score:5, Informative)
It also supports every single feature you have requested, and a ton you didn't, and has consistant highlight, feel across all langauges and platforms -- it is wonderful!
VSS integration plugin: http://vim.sourceforge.net/scripts/script.php?scr
CVS integration plugin: http://vim.sourceforge.net/scripts/script.php?scr
Word (and Sentence/Phrase) Completion is built in, but if you want it to work when you hit tab use: http://vim.sourceforge.net/scripts/script.php?scr
http://vim.org -- get it now!
Re:Vi Improved (VIM) (Score:2)
Get vim now! [vim.org]
VSS integration plugin [sourceforge.net]
CVS integration plugin [sourceforge.net]
Completion (on tab key) [sourceforge.net]
Re:Vi Improved (VIM) (Score:3, Informative)
Re:Vi Improved (VIM) (Score:2)
I code in php/html/css/js and often have overlap, vim deals with it... the other features you want are normal editor features, I don't use them, but they should be there, check the docs...
Enjoy
Re:Vi Improved (VIM) (Score:2, Informative)
First of all, I'll agree that vim is indeed a great tool. But in the geek world enabling/using all those features comes natural, for the average user though things are a little more complicated.
I 've been trying to convince some of my colleagues to make more use of *vi* (vi family editors) but they oppose some reasonable arguments, some of those are:
Re:Vi Improved (VIM) (Score:3, Insightful)
Re:Vi Improved (VIM) (Score:2)
This is a redundant comment to another more detailed one I entered farther down in the thread, but if you want a simpler Vim, check out my Cream for Vim [sourceforge.net] project.
Re:Vi Improved (VIM) (Score:2)
Re:Vi Improved (VIM) (Score:2)
JEdit (Score:5, Informative)
It does everything you're looking for via plug-ins that can be installed in the user interface. It's a bit slow to load due to the Java related bootstraping performance, but it works like a pro. I use it's FTP integration and built in support for Tidy to administer my web sites.
I know there's a way to do the multiple source code highlighting schemes in a single file but I haven't gotten around to setting that up, yet.
Re:JEdit (Score:1)
Re:JEdit (Score:2)
Re:JEdit (Score:2)
Break it down. (Score:1)
Emacs? (Score:5, Informative)
Emacs 21, with the addition of the Mule-UCS package, can edit and display files in most encodings, including UTF-8 and UTF-16, containing characters from all of the Basic Multilingual Plane (display depends on available fonts).
For multi-language syntax highlighting, you can look at the Multiple Major Modes [sourceforge.net] package.
For XML support, you need the psgml package (a recent one).
And, of course, you have speedy navigation (i-menu and speedbar), code collapse (outline and similar modes), CVS integration (pl-cvs and vc), bookmarks (including frame/window configurations, via registers and bookmarks), and it's free (GNU).
Oh, and it does run on Win32.
Dreamweaver (Score:3, Informative)
Re:Dreamweaver (Score:1)
Re:Dreamweaver (Score:1)
(If i'm wrong and anyone knows how to do this in dreamweaver, let me know!)
Re:Dreamweaver (Score:2)
Re:Dreamweaver (Score:1)
Re:Dreamweaver (Score:1)
I'd rather use a plain text editor with no features than DreamWeaver.
Intellij (Score:1)
TexPad (Score:4, Informative)
I've used Eclipse on W2K and it just plain rocks, but it's (AFAIK) very Java-specific. Maybe there's a good web development plugin for it though. Eclipse is an impressive piece of software (OT, I know).
Re:TexPad (Score:2)
Re:TexPad (Score:2)
One of the shortcomings with TextPad is that it lacks a plugin model, but maybe that will change in the future.
Re:TexPad (Score:3, Insightful)
Vim also acts consistant while doing all this -- unlike emacs, which can act radically different based on mode, vim is always an editor first and foremost.
While it is an investment of time to do vimtutor (half an hour) and read so
JEdit. Sing it loud, sing it proud. (Score:5, Informative)
CVS integration (VSS integration would be nice but not required)
JEdit plugin called 'Gruntspud' provides CVS access.
stellar UTF-8 support (internationalization is a big big deal now)
Honestly, I have no idea. Coming from Java roots, I would assume that it has this; if not, it could definitely be added on.
correctly recognizes and highlights HTML, JSP, JS, and CSS within a single file
JEdit has a real beaut of a syntax highlighter; using XML configuration files, it parses the highlights the text accordingly, and (here's the best part) the XML files can be self referential -- which is where a number of other syntax highlighters fall down. For instance, in a typical PHP page, you may have PHP code, Javascript code, and HTML code. JEdit handles this. The XML files can be modified to do just about anything, and are relatively easy to pick up. As long as you can give it some rules about what to look for in terms of start/stop text, you're good.
does some rudimentary auto-completion
Eh. It finishes tags for you. There's an autocomplete plugin out there for Java; one could be put together pretty easily, for, say, Javascript objects.
is easily configurable
Check. And open source.
runs on Win2k (oy vey)
Check.
supports bookmarks of various kinds
Check (they're called markers)
supports code collapsing
Check (they're called folds)
and affordable
Free.
Now, there are some annoying bits: it's Java, so it's slower than others might be, the file finder in JEdit could not be worse if it tried, and the XML files for Javascript parsing needed some tweaking before they'd work right right out of the box, and there's no way to jump to a specific window via the keyboard (eg, on Windows, Alt-W, ) (instead, it has Ctrl-PgUp and Ctrl-PgDn to cycle through the windows, and some hacks that require 4+ keystrokes are possible), but, overall, JEdit has been good to me. Of particular note is that it's search/replace is the best I've ever seen, having normal searches, regex searches, searches through all open files, searches through a directory and subdirectory, etc.
Re:JEdit. Sing it loud, sing it proud. (Score:1)
>Eh. It finishes tags for you. There's an autocomplete plugin out there for Java...
The autocompletion does more than fin
A vote for HTMl-Kit (Score:2)
Eclipse (Score:4, Interesting)
yudit and ICU (Score:2)
yudit [yudit.org] is quite nice, as well as the new vim and emacs. An interesting exercise is to run ascii, utf-8, and utf-16 LE and utf-16 BE (little and big endian, respecitvely) representations of the same text (say a 2-line text message) through
% od
and see what's really being stored in them thar files.
There's also a whole bunch of useful tools in the ICU [ibm.com](no, not the Intensive Care Unit!) with links to the openl18n pages. In terms of being extremely informative, from the top-level overview of inter
Cream (for Vim) (Score:5, Informative)
Indeed Vim rocks! Not only does it have blinding speed, but with some effort, it can be made to do almost anything. I'll respond specifically to each feature requested:
However...
...although other posters have already pointed out various scripts you can add to give you the features you want, you can also try my pre-assembled package of scripts for Vim, Cream [sourceforge.net]. It makes Vim keyboard shortcuts nearly CUA-compliant (Ctrl/Alt/Shift + letter) and otherwise masquerades Vim as a more familiar feeling power text editor. Most long-time Vim users barely recognize it, but Apple/Windows users will find it much more familiar than the sometimes cryptic Vim.
Re:Cream (for Vim) (Score:2)
Vim does so support multiple syntax files in a single file. You simply define a region in the syntax file then link it -- already done for JSP and ASP and PHP.
Re:Cream (for Vim) (Score:3, Interesting)
I guess my point was that it's not automatic. And it also applies only to syntax highlighting, not :set filetype=. This means you can't use filetype-specific mappings and auto-template insertions, e.g., p{key} can't insert a paragraph tag in the HTML portion and a bracket full of paragraph styles in the CSS portion.
Two other alternatives (Score:2)
1. VS.NET -- Really darn expensive if your shop doesn't have an MSDN Universal subscription, but it handles everything minus JSP with ease. Very sophisticated syntax highlighting and autocompletion, a very good JavaScript debugger, graphical HTML layout, decent CSS editing. It can ha
Helpful hints for utf8 web programming (Score:5, Interesting)
1. Do a hard-line review on every underlying application layer and/or middleware for UTF8 compatibility. We discovered the dB was UTF8 compliant, but the local client dB drivers had issues sometimes. Do individual tests with all types of UTF8 data.
2. Always test with some multi-byte charsets, like Chinese or Japanese, whichever one you might support soonest. Using multi-byte Japanese helped flush out some problems that might have killed us later. It also helps flush out applications that say they are UTF8, but wind up doing some UTF8->ISO8859->UTF8 conversions. You may never implement Japanese/Chinese/etc, but you will definitely be UTF8 compliant.
3. Arial Unicode MS is a great UTF8 font which has all sorts of languages. Other Unicode fonts may only have European languages. Warning: approx 22MB in size. Yes, it is MS Windows centric, but if you are going to pass around "please translate this" documents, everyone using Arial Unicode MS will pay major dividends later. You wont get translations in other random charsets to convert (or discover during testing)
4. If you can, try to store translations in a database and retrieve them as needed. If all translations are in a database, its easily transferable to your next development environment, without having to parse through gobs and gobs of dictionary/translation files. If you are worried about performance of hitting the dB all the time, do a nightly "pre-processing" of "static" content and partially generate each languages content pages in html.
4a. As for translation documents, I have built Excel spreadsheets with columns for language name and translation. Using Excel, you can create SQL scripts that will insert the data into your dB.
5. Forget what I said about translation documents, and try to build interfaces into your code to update text on the web application for different languages. It will eliminate the document passing around, and someone can see the results of their translation pretty quickly.
6. If you HAVE to store data in another charset, always display as much UTF8 to the user, and only convert at the backend. We used a charset converter helper application (Chilkat Charset.Net) to devolve our UTF8 text to ISO8859 for one recalcitrant CRM
7. Be wary of the "Byte Order Mark" for UTF8 text files, "ï". Its a character triplet at the beginning of SOME UTF8 files. UTF8 compliant versions of Notepad save it, but dont display it. You can see it VI, but it may not look like it. Use of it is inconsistent, but you will run into it every so often. In our testing, we noticed IE liked to see it at the beginning of the HTML file for use when you have Auto-Select for Encoding in your IE client. (Even if you explicitly set charset to UTF8 in your meta tags)
Em@il me at ckmehta +at+ hotmail DOT com, if you have any embarrasing questions, you dont want to post.
Good luck! (Score:3, Interesting)