Feb 3

jEdit Rocks!
I’ve been searching for some time a good text editor for scripting in MEL with good syntax highlighting and other useful features. I’ve used Mel Studio in the past both the free version and the Pro. However, the Pro is a tad expensive ($112) for not really that much more in features vs. the free version. Of course the benefit is that you can source and execute your code right there in Maya. The other con is that you when a new version of Maya comes out, you have to upgrade the plugin and Mel Studio is only MEL and does not yet support Maya 8.5 with the new Python integration. Now, I’m not slamming Mel Studio, it’s really nice but I as I’m trying to learn Maya API and Python, I’d have to find a new editor. I’ve been using at work and home PsPad which is also a great editor with Mel hightlighting. On to jEdit.

First off, I’ve used jEdit before when I was working on Linux and in windows. I forgot how much it has to offer and best of all it’s FREE! If you goto http://www.highend3d.com/maya/downloads/tools/syntax_scripting/ , you’ll see a good amount of highlighters and plugins available for jEdit. Most of these take some time to setup and most have instructions on how to set all the plugins. The two most useful is the CodeBrowser plugin and sendToMaya macros. Here is a shot of my jEdit UI:

If you look to the right there are three buttons I setup that are Macros. Really easy to add and you can make your own custom buttons if you wish. One will send all of the text to Maya, the second will send selected and the last one will source it in Maya. All I did was put a commandPort command into my userSetup.mel in both Maya 7.0 and my Maya 8.5 so it gets executed at startup. So, which ever one I have open, it will send the code to that one. The code is in 3 python scripts where you can change the port number and/or the mel sending script.

I also have autoComplete working so that after a few letters will pull up the name of the command in a dropdown for MEL and Maya API.

The CodeBrowser is great too. It will show global/local procs and variables in your script. If you double click a function, it will jump you to it. Sames goes for Python in Maya as well. You have to have cTags installed inorder to get this to work. The CodeBrowers will show where to get that. But, if the file is large, you may want to disable the plugin cause it may take some time to load. Of course there is a plugin for loading and unloading plugins. Very handy.
Here is a shot of that as well:

This just blows all editors out of the water and you get all this for FREE! Freakin Awesome!

Now, this takes a bit of fussing and a few things to setup. It would take me some time to explain how this is all setup but most of it comes with instructions on how to do it.

I can’t say enough about this editor. I’m really rediscovering it again and I’m anxious to start using it as my dev suite and customizing it. Plus I found a plugin for Perforce as well. If someone told me that here is an editor that does all this and it’s $150-$200 I’d buy it hands down. Did I say it was free?

Give it a whirl! Once you start using, I don’t think you’ll turn back.


Happy coding!

10 Responses

  1. Sketchaholic Says:

    I tried jEdit in the past when I started learning mel. Not that I know any more now. At the time I had a problem with jEdit crashing if my scripts got too long. I did really like it when it worked. I guess they’ve sorted that out.

  2. Sean Nolan Says:

    Well, I’m keeping my fingers crossed. I’ve opened one of my big files without any hitches. The only hitch was if the file is big and you are using the codebrowser, it could take a few more seconds since it’s parsing it. But really liking it so far.

  3. ShihMing Says:

    Thanks for the recommendation Sean!

    I’ve been using Notepad++ at home on Windows (self-made syntax) and KDevelop at work (friend’s syntax) so far.

    AND after trying jEdit out last nite, I think I’m going to switch all that to jEdit now.

    It’s awesome!

    Only one problem. I can’t get the CodeBrowser to work yet. Might be becos of the jEdit development version I’ve downloaded that does not work with the cTags and mayaCodeBrowser plugin yet. Yet to know…

  4. Sean Nolan Says:

    In your plugin options for the codeBrowser, you have to give the full path to the cTags.exe with the name of the exe included. Took me a bit to figure that out. See if that’s the case. Glad you tried it. Now if I just knew java, I could write some plugins for it. Oh well, so much to do, so little time ;).

  5. ShihMing Says:

    Thanks for the tip! I figured that out too last nite. Just that some how, it’s able to parse Maya plugin Cpps but not mel scripts. I’ll figure that out.

    Yeah maybe I shd try writing some custom plugins for it. :)

  6. Ron Says:

    Hi, I’m the author of most of the plugins for Maya and jEdit on Highend3d. I’m glad you like them. I’ve used jEdit since 2001 and will continue to support it. I would be interested in hearing back from any users as to what other features/plugins you’d like to see.


  7. Sean Nolan Says:

    Cool, thanks Ron. Nice stuff.

  8. Sean Danyi Says:

    I’m going to have to look into this… Does it come with any docs for adding the Maya buttons? Or do you know of any sources to find out how to do that?

  9. Sean Nolan Says:

    I can’t recall off hand. I think it’s in the doc’s…not sure. Been awhile. If I come across it I’ll post it.

  10. Stephen Gould Says:

    Hi Sean,

    Nice Blog. Its seems I’m in the same boat as you in wanting to find a new script editor after jumping from maya 7 to 8.5. I was using Mel studio (love it) but I was using the free version and they dont have the free 8.5 plugin. I’m also looking into learning python. So I looking for an editor thats lets me us python and mel and never need to worry about maya upgrades, also I use perforce. jEdit sounds the answer, thanks for sharing this, I will keep you updated to how I get on with this editor. :0)

    -steve gould

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.