Is there any way we can get a Chrome-like console for expressions? After a certain point, with a complex expression it becomes really hard to test for bugs as you have to basically run the same code on a text layer or some other property and rewrite the code just to get some sort of output for variables. Being able to have a console would be excellent (especially to inspect objects), but a great stopgap would be the ability to post a value to the info palette, like we can with scripting.
Expressions were already important, and with Master Properties they've become even more important. The whole system could use an overhaul—speed, global variables/functions, everything. Thanks!
Jenny Girl commented
A simple console to print to would be soooooo nice.
Seems like the easiest kind of panel to implement, too.
No need to make it run expressions, just have it kick out print command results and errors AHH that would be so nice!
@Tim, throw is definitely helpful, but with longer datasets it doesn't work well. For example, testing data in a path property. It'd be nice to have a console like Chrome/Webkit where you can actually see all the data hierarchically. Thanks for taking a look! I also have some issues with auto-complete completing words it shouldn't and adding too many parentheses. Not sure how to deal with that. I've turned those off. Atom is a great example of one of the few autocompletes that I find works well.
> Didn't they just release this in the latest version? I'm surprised this feature hasn't been flagged as "We actually did this one!"
The April 2019 release of After Effects (version 16.1) does include the new customizable expressions editor. We closed a different request for that functionality:
We consider this request to be different. The functionality that was added in After Effects 16.1 allows customizing the editor interface. This request, as I understand it, is for a console UI in which you can run expression code and evaluate it to test the output.
@Joe Clay, is the above helpful towards your request? Would you change your request above based on this new functionality, or do you still want a separate console for expressions?
Didn't they just release this in the latest version? I'm surprised this feature hasn't been flagged as "We actually did this one!"
Chris Jeffries commented
+1 for this! Also, another vote for (the very good but interim solution) Expressionist!
I use Expressionist. It doesn't have the ability to check the values of variables while expressions run. There's no scripting access for that so third-party scripts can't do that.
Jackson Morgan Moser commented
For now the script expressionist help me with your problem. It really help me to manage complex expressions.
Antoine (Autokroma.com) commented
Alright thank you.
For the new engine you are talking about UXP ? https://medium.com/adobetech/wrap-up-creative-developers-summit-2018-739da7d2b974
I use Expressionist, but there's no way to get variable output unless you run a partial expression on something like a text layer, or a property that shows numbers and output a value there. I can't just type something like console.log(var) and have it work. No script has access to that sort of feature while it's working. A script can log to the info palette, but not while the expression is running—or log specific variables in the expression without running its own engine.
Anyway, it sounds like expressions are getting updated to use a new engine, maybe even JS vs ECMAscript so this might be moot. Maybe we'll get lucky and you can tie in libraries. That'd be pretty rad.
Antoine (Autokroma.com) commented
What is your regular workflow to test expressions ? Have you looked at scripts proposed on aescripts.com ? https://aescripts.com/after-effects/expressions/
Oh, I'll have to check that out! I think Ukramedia just did a thing on that. Hopefully it's not too clunky. Thanks man. And I will definitely keep my eyes peeled. Expressionist is the only thing that made making that new linear wipe thing I did yesterday bearable (if you came across that on twitter).
Agreed. One note, global functions/variables can be achieved with the JSX import that was added not too long ago. Keep an eye out for updates on Expressionist also ;)
That would definitely fit my needs.
I we can get an expression console/listener that would spit code for what AE is doing (like the one in C4D or MAX or...) that would be TOPS.