Cetras Posted November 15, 2017 Share Posted November 15, 2017 Hey Guys I wanted to share with you a small script I've done to have a better support or external editors to edit your expressions and code. It works with a system or file watcher, that means it doesn't freeze Houdini and you don't need to close your editor to see you updates It's available by a simple right-click on a parameter => expression => External Expression Editor ( you can set a hotkey ). It works with VEX and Python expressions but also regular HScript expressions ( but with no completion ). It works very well with Visual Studio Code as it has a nice VEX and Python plugins, but it could work with sublime text, notepad ++ etc. ( I haven't tested all the IDE out there so if you find a bug with one of them, feel free to send an email to contact@cgtoolbox.com ). A small video about it: https://vimeo.com/242470411 You can download it for free here: http://cgtoolbox.com/houdini-expression-editor/ PySide, PySide2 and PyQt are supported, it is compatible with Houdini 15 to 16.5. 6 Quote Link to comment Share on other sites More sharing options...
f1480187 Posted November 15, 2017 Share Posted November 15, 2017 Looks simple and bug-free. With some small additions, this system could work in both directions: file changed? Update parameter. Parameter changed? Update file. File changed when user still typed his parameter? Prompt user about merging. Maybe even cook nodes and output node errors to some companion files? That should be implemented natively in Houdini and replace existing system, because it is so clearly better than blocking process. Houdini already use temporary files for external editing. Modern editors track files themselves very well. Quote Link to comment Share on other sites More sharing options...
Cetras Posted November 15, 2017 Author Share Posted November 15, 2017 Hey, Very good idea I think I'm gonna add the both directions feature, and I'll look into other stuff like node cook output. But yeah I agree this should be natively in Houdini Quote Link to comment Share on other sites More sharing options...
bonsak Posted November 16, 2017 Share Posted November 16, 2017 This is really nice! Thanks. I wish i could tie this directly to "Edit Expression" though, instead of having to rely on the "External Expression Editor" command. Having a keyboard shortcut on the "External Expression Editor" is kind of limited (not your fault) as you have to either select or hoover over the "VEXpression" parameter label for the shortcut to work. Whereas the "Edit Expression" shortcut fires if you have the cursor in the snippet field. Would be even better if you could just select the node in the editor and fire of "External Expression Editor" from there. Again, not your fault -b Quote Link to comment Share on other sites More sharing options...
akelian Posted November 19, 2017 Share Posted November 19, 2017 Great thanks a lot. On 16/11/2017 at 8:54 AM, bonsak said: This is really nice! Thanks. I wish i could tie this directly to "Edit Expression" though, instead of having to rely on the "External Expression Editor" command. Having a keyboard shortcut on the "External Expression Editor" is kind of limited (not your fault) as you have to either select or hoover over the "VEXpression" parameter label for the shortcut to work. Whereas the "Edit Expression" shortcut fires if you have the cursor in the snippet field. Would be even better if you could just select the node in the editor and fire of "External Expression Editor" from there. Again, not your fault -b This should be doable no ? I'll look into the code 2 Quote Link to comment Share on other sites More sharing options...
Cetras Posted March 17, 2018 Author Share Posted March 17, 2018 Hey guys, Quick update on that tool, it is now compatible with Python SOP node code: More to come soon: python COP, digital assets extra code etc. http://cgtoolbox.com/houdini-expression-editor/ 3 Quote Link to comment Share on other sites More sharing options...
vhalldez Posted March 23, 2018 Share Posted March 23, 2018 Hi..how to install this pluguin? Quote Link to comment Share on other sites More sharing options...
CinnamonMetal Posted April 9, 2018 Share Posted April 9, 2018 I placed the files for this plugin inside a folder and from there I set the path within my houdini.env file for HOUDINI_PATH but when restarting Houdini I was unable to see Set External Expressions Editor from Edit > Preferences within Houdini ? Quote Link to comment Share on other sites More sharing options...
Cetras Posted April 9, 2018 Author Share Posted April 9, 2018 Hello, You have all the infos needed to install the plugin on the awesome varomix video ( minute 13:00 ): Quote Link to comment Share on other sites More sharing options...
CinnamonMetal Posted April 9, 2018 Share Posted April 9, 2018 I watched that section At 17:17 varomix as a, what appears like an absolute path within his HOUDINI_PATH variable, even though I know he's using Linux. In my case I have an absolute path to the plugin for HOUDINI_PATH and I didn't forget at the end the semi-colon and ampersand characters. Although when restarting Houdini, I see no Set External Expressions Editor from Edit > Preferences within Houdini ? Quote Link to comment Share on other sites More sharing options...
Yushi Park Posted July 30, 2018 Share Posted July 30, 2018 Hello my friend. Your plugin works perfectly with vex and python. Good job! As default, in a pointWrangle Node, ALT + E calls out an advanced editing window straightly when cursor is in the code area. I have set a hotkey(such as ALE + R) for calling out my VS Code panel. It works but it's slightly different from the ALT + E combo. I need to right click my mouse in the code area => move mouse to the "Expression" => ALE + R. Could you please optimize the workflow? Plus: My English is not good but I hope you could understand what I mean. : ) Quote Link to comment Share on other sites More sharing options...
borbs727 Posted August 20, 2018 Share Posted August 20, 2018 On 4/9/2018 at 9:55 AM, CinnamonMetal said: I watched that section At 17:17 varomix as a, what appears like an absolute path within his HOUDINI_PATH variable, even though I know he's using Linux. In my case I have an absolute path to the plugin for HOUDINI_PATH and I didn't forget at the end the semi-colon and ampersand characters. Although when restarting Houdini, I see no Set External Expressions Editor from Edit > Preferences within Houdini ? I'm having the same issue. I have to actually install the plugin's files in my Houdini's home path. I'd like to keep that path clean and instead add a custom path to HOUDINI_PATH. I've done this, but it doesn't pick up the script. Quote Link to comment Share on other sites More sharing options...
CinnamonMetal Posted August 20, 2018 Share Posted August 20, 2018 Apparently it doesn't work when you place it in a custom path as in HOUDINI_PATH. Quote Link to comment Share on other sites More sharing options...
Cetras Posted August 21, 2018 Author Share Posted August 21, 2018 That's weird, here I have this on my houdini.env: HOUDINI_PYTHON_TOOLS=/home/guillaume/Documents/__dev__/HoudiniPythonTools HOUDINI_PATH=$HOUDINI_PYTHON_TOOLS/HelpCardMaker: HOUDINI_PATH=$HOUDINI_PATH$HOUDINI_PYTHON_TOOLS/HoudiniEasyCompileBlock: HOUDINI_PATH=$HOUDINI_PATH$HOUDINI_PYTHON_TOOLS/HoudiniExprEditor: HOUDINI_PATH=$HOUDINI_PATH$HOUDINI_PYTHON_TOOLS/HouGitHub: HOUDINI_PATH=$HOUDINI_PATH$HOUDINI_PYTHON_TOOLS/Houpy_PyTakes2: HOUDINI_PATH=$HOUDINI_PATH:&: And it works fine ... For the shortcut issue I haven't found a solution so far ( on ubuntu, but same thing on windows but with ';' instead of ';' ) Quote Link to comment Share on other sites More sharing options...
gemini Posted August 22, 2018 Share Posted August 22, 2018 Good Stuff! Thanks for sharing ! G Quote Link to comment Share on other sites More sharing options...
gemini Posted August 22, 2018 Share Posted August 22, 2018 Could you tell me how to assign the menu line 'External Expression Editor' to a button defined by me in python (callback script) . THX Quote Link to comment Share on other sites More sharing options...
Cetras Posted August 22, 2018 Author Share Posted August 22, 2018 You can call it using: from HoudiniExprEditor import ParmWatcher;ParmWatcher.add_watcher(your_parm_object_here) Quote Link to comment Share on other sites More sharing options...
gemini Posted August 22, 2018 Share Posted August 22, 2018 Seems like working ! Thanks! Quote Link to comment Share on other sites More sharing options...
Follyx Posted December 3, 2018 Share Posted December 3, 2018 thx a lot Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.