Copy link to clipboard
Copied
Hi There,
I may be the only one who has this opinion, but I'll throw it out there for discussion anyways. I'm not a huge fan of the Adobe Extendscript Toolkit IDE. I use it mainly on OSX and there are so many things that are fundamentally flawed with it. For example, on the OSX version, when you go to change the colors for the document, they list the acutal color names, but if you choose a color that has two words in it, for example "Aqua Marine" nothing changes. There are other issues I have with it that make it feel like it's a work in progress tha Adobe puts on the backburner.
I'm just curious if there is an alternative IDE that people use whereby you can still target the application you are scripting for? I am a Coda user and would love to see a plugin written for that app. If you have any suggestions for an alternative IDE for developing in Extenscript, please do post!
Thanks for your time and help!
Copy link to clipboard
Copied
One that will launch straight into an Adobe app, no, but I have been told that Text Wrangler is another good scripting app. Syntax highlighting and such.
ExtendScript has it's quirks and I do agree it can feel half finished at times, but I personally use it exclusively. I've filed the font color bug (picking any non primary/secondary color and it produces just solid black instead) a few times,.... as far back as version CS5 I believe. Even got a response once saying thanks for the info, but clearly it hasn't been resolved since CS6 still has the bug. Adobe has the boys focused on more pressing issues I'm sure. 🙂
Copy link to clipboard
Copied
Personally I find Sublime Text 2 and Textmate very nice. They work pretty well next to each other as Sublime reads Textmate bundles. Both have the ability to execute a script using the command line and you can assign a shortcut to it. And they let you easily insert snippets.
You can either send the script directly to AE or pass it on to the Extendscript Toolkit for easier debugging. It just requires minor knowledge of Bash.
In Sublime you would make a build script, something like:
{
"cmd": ["open", "-a", "ExtendScript Toolkit", "$file"],
"selector": "source.js"
}
This opens the script in Extendscript Toolkit and from there you can run it.
In Textmate you would make a command, such as:
#!/bin/bash
osascript <<-AS
tell application "Adobe After Effects CS6"
activate
DoScriptFile "${TM_FILEPATH}" with override
end tell
AS
Which sends the script directly to AE.
If you're a bit handy with Bash, you can probably make it do anything. Now I don't have any experience with Coda, but judging from the website it shares similar features with Sublime.
Copy link to clipboard
Copied
If you are interested in using Sublime Text 2, I did this little build package : https://github.com/seblavoie/After-Effects-Scripting-Sublime-Text-Package and explained how to install and use it on AeTuts+ : http://ae.tutsplus.com/tutorials/workflow/improve-your-ae-script-development-workflow-with-sublime-t.... Hope this suits your needs!
Copy link to clipboard
Copied
Thanks Sebastien! That's cool, but I agree with some of the commenters on AeTuts+ that it is difficult to debug with that build workflow. With your method, is there any way to get the debug info that Adobe's ExtendScript toolkit offers?
Great work!
Copy link to clipboard
Copied
In case anyone comes across this like I did, looking for a way to customize the colors and running into the same challenge as the OP, I found a little trick for selecting colors that have more than one word in OSX.
With ExtendScript Toolkit closed, edit this file with your fav editor:
~/Library/Preferences/ExtendScript Toolkit/4.0/Preferences.xml
If you take the space out of the color name, like in 'Olive Drab' below, it'll work. Kinda janky, but as an overhacker of every tool I use this made me happy.
<style title="Comment: /* */" index="1" color="codeCommentBox" font="codeCommentBox" name="Source Code Pro" size="12" fore="OliveDrab" back="Light Slate Gray" italics="true"/>
Copy link to clipboard
Copied
Sadly the color bug is still not fixed in ExtendScript 4 with CC2017.
Copy link to clipboard
Copied
About colour themes, it appears that it can be fixed by editing the file 93fontPrefs.jsx inside the ESTK "Required" folder (for me on Windows, it is at C:\Program Files (x86)\Adobe\Adobe ExtendScript Toolkit CC\Required\93fontPrefs.jsx).
Internally, ESTK uses color id's such as "AliceBlue" (no space) and the prefs dialog localizes them for display. But it uses localized color names to save changes, not internal id's, hence things get messed up. For me this fixed it:
Inside 93fontPrefs.jsx, locate the definition of the method fontPrefs.load().
(1 ) Inside there is a subroutine named setupColors().
in the for (var i in colors) of that subroutine, add the line :
items.colorId = i;
(this caches the actual colour id for that list item).
(2) Inside fontPrefs.load(), there are also the definitions of pane.foreList.onChange() and pane.backList.onChange()
For the first method, change the line
xml.@fore = this.selection.text.substr (1);
to
xml.@fore = this.selection.colorId;
and similarly for the second (ie: xml.@back = this.selection.text.substr (1); ===> xml.@back = this.selection.colorId;)
(3) And finally, in the definition of pane.styleList.onChange(), there are 2 blocks of code that set the selection of this.pane.foreList and this.pane.backList respectively. Change them to :
// set foreground color
var sel = null;
var items = this.pane.foreList.items;
for( i = 0; i < items.length; i++ ){
if( items.colorId===fontFore){
sel = items;
break;
};
};
this.pane.foreList.selection = sel;
and likewise:
// set background color
sel = null;
items = this.pane.backList.items;
for( i = 0; i < items.length; i++ ){
if( items.colorId===fontBack){
sel = items;
break;
};
};
this.pane.backList.selection = sel;
Before editing, better make a backup copy of the file just in case estk doesnt launch on restart.
After these modifications, for me it works fine.
Xavier
Copy link to clipboard
Copied
Thank you, UQg! That problem has been plaguing me for a long time, but it has now been fixed, thanks your clear instructions.
There is, however, one small problem (typo?) with it.
UQg wrote
...
(1 ) Inside there is a subroutine named setupColors().
in the for (var i in colors) of that subroutine, add the line :
items.colorId = i;
(this caches the actual colour id for that list item).
...
Along with the other changes, that causes the Fonts and Colors tab of the Preferences dialog to be completely blank, indicating an error. It turns out items is not defined anywhere, so I discovered that the line should be:
item.colorId = i;
And it should be placed as the last line of that for loop (after item has been defined in that loop).
That got the colors to work properly. Hope this helps anyone else!
(Edit: And, of course, Adobe's forum system butchers my quoting of Xavier's post. Oh, well, at least you can see that it's meant to be a single quote.)
Copy link to clipboard
Copied
I'm just starting into AE extension development, but found a couple recommendations for Brackets: http://brackets.io (nominally from Adobe, open source) with the Extension Builder add-on (com.henrikstabell.ccextensionbuilder-1.2.7)
Copy link to clipboard
Copied
Thanks Sturm359 for the correction, i just checked my own file, and i had written item.colorId = i; as it should be.
Dunno why i miscopied.. Unfortunately, i cant edit the post now, so the mistake is there forever.
Hopefully, further readers will read your post too.
Xavier
Copy link to clipboard
Copied
This is in response to the original post (in 2013). I've put together a workflow for Atom IDE that works pretty well. Check it out https://github.com/rjduran/adobe-scripting/. ​It's for Adobe Illustrator but the workflow should work for other apps.