Slashdot Mirror


Good Web Development Environments with UTF-8 Support?

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?"

16 of 46 comments (clear)

  1. So... by watchmaker1 · · 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.

  2. Vi Improved (VIM) by metacosm · · Score: 5, Informative

    Vim is great because it has folding, autocomplete, abbreviations, macros, objects, modes, regular expressions, window splitting, multiple buffers, session, network editing, file explorer and lets you keep your hands on home row!

    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?scri pt_id=29

    CVS integration plugin: http://vim.sourceforge.net/scripts/script.php?scri pt_id=58

    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?scri pt_id=182

    http://vim.org -- get it now!

    1. Re:Vi Improved (VIM) by metacosm · · Score: 2, Informative
      Screenshot showing most of the features you want -- created on demand for you! :)
    2. Re:Vi Improved (VIM) by rempelos · · 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:

      • Slow learning curve
      • No user friendly manual
      • Entirely different philosophy from other very common editors (ex. notepad)
      • Some of the nice features need to be integrated (ex. cvs plugin)
      • It takes a long time to create usable custom settings (abbreviations, macros, etc)
      • And you have to stop walking before you shoot :)
    3. Re:Vi Improved (VIM) by metacosm · · Score: 2, Insightful
      • Slow learning curve: I would argue that the learning curve per feature is very low, the only really hard part is the first hour or two, but for someone who uses it in a professional setting, this is hardly a deal breaker.
      • No user friendly manual: I am not sure what you mean by user friendly, since I find the :h (help topic) very easy.
      • Entirely different philosophy from other common editors: Working with modes are different (see the first and last points).
      • Some of the nice features need to be integrated: I consider a plugin interface a big positive, not a negative, I don't think every feature under the sun needs to be a part of the core setup
      • ... create usable custom settings ...: I hardly think this are required for editting, and I think it is more natural to slowly grow your abbreviations/macros as you go.
      • You have to stop walking before you shoot: The age old modes debate! I think modes cost you a small bit on the leading edge, but save you a ton of time during the "project".
  3. JEdit by jdclucidly · · Score: 4, Informative

    http://www.jedit.org/

    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.

  4. Emacs? by dakkar · · 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 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.

    --
    dakkar - mobilis in mobile
  5. Dreamweaver by booch · · Score: 2, Informative

    Sounds like a pretty good fit for Dreamweaver. I think MX does JSP, and I'm sure that it does all the rest. It's got a pretty nice interface and is pretty easy to use. I'm not a big Windows user, but I like Dreamweaver a lot.

    --
    Software sucks. Open Source sucks less.
  6. TexPad by The+Bungi · · Score: 3, Informative
    I doubt you're going to score a 10 on all your requirements, but I'll go ahead and recommend another one: TextPad. Worth every penny, and yes, it supports UTF-8. No autocompletion for sure though. But it does have syntax highlight and tons of other stuff.

    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).

    1. Re:TexPad by metacosm · · Score: 2, Insightful

      Powerful tools require an investment initially in time. With vim, that investment is not lost because it has #1. been around a long time, #2. has a great support channel (irc.freenode.net #vim) #3. supports well over 200 programming languages and #4. works on a ton of platforms.

      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 some online vim tutorials (maybe an hour) -- it has a very high degree of payoff.

  7. JEdit. Sing it loud, sing it proud. by Violet+Null · · Score: 4, Informative

    JEdit does (most of) what you want. Even better, it's free. Even better, it's open source, so the stuff it might not be able to do as well, you can make it do. As the name suggests, it's Java. It's largest strength is its plugin system, which is where many of the advantages come in.

    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.

  8. Eclipse by Adhoc · · Score: 4, Interesting

    Eclipse found at www.eclipse.org. Does much of what you want. First class CVS integration, VSS integration. It has all kinds of plugins for editors. XML and JS for starters. It is primary a Java editor, but it very extensible. I consider it the new Emacs. It is also getting better all the time, with widespread developer support.

  9. Cream (for Vim) by digitect · · 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:

    • aimed at HTML/XHTML/CSS/JavaScript/JSP/XML -- Vim recognizes over 375 languages
    • CVS integration -- Available
    • stellar UTF-8 support -- Yes, plus at least 35 other encodings
    • correctly recognizes and highlights HTML, JSP, JS, and CSS within a single file -- No, not yet. This gets discussed on the lists often though.
    • does some rudimentary auto-completion -- Yes, far beyond rudimentary
    • is easily configurable -- Yes, perhaps even too configurable
    • runs on Win2k (oy vey) -- Yes, plus Unix, BSD, Apple, Amiga, OS/2, and others
    • supports bookmarks of various kinds -- Yes
    • supports code collapsing -- Yes, called folding, even supports nested
    • affordable -- Can't beat Free! Even better, you can donate to a great cause .

    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. 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.

    --
    There is no need to use a SlashDot sig for SEO...
    1. Re:Cream (for Vim) by digitect · · Score: 2, 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.

      --
      There is no need to use a SlashDot sig for SEO...
  10. Helpful hints for utf8 web programming by cmehta1 · · Score: 5, Interesting

    My company is just about to implement a full UTF8 i18n web development environment, so I have fought a lot of the wars!!

    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.

  11. Good luck! by MadGav · · Score: 3, Interesting

    I develop in Japan, mostly for a Japanese audience. We use Apache -> Weblogic & Oracle 9iAS -> Oracle 9i, all glued together with a pile of other stuff. Never quite found an editor that solves every problem, but Eclipse and jEdit are both pretty good as a start, as is Oracle jDeveloper if you're an Oracle shop. Half the time I end up putting HTML pages together using Visual Studio (*gulp*), as the HTML editor's predictable in Japanese. I predict that whatever you choose, you'll end up running something else alongside it, and then something else alongside that, etc. Only advice I have is that encoding standards are great in theory, but the implementation of them is uniformly appalling, no matter where you look. One hint is to get a native language speaker to proofread non-Western character based pages, as they can look perfect but still be garbage. Another tip is, if you're doing Japanese, develop on a native Japanese OS. I guess that applies to Chinese too. Don't trust a foreign language-ified 2000 to behave exactly how native 2000 would. Welcome to the party...