This is a cross application, cross platform and open source Python editor, which can be run as a standalone application or embedded in another application. The main purpose for integration - the ability to script in Python.
- Preserve and load of tabs and code in them
- Interactive execute of the selected code by pressing Ctrl + Enter
- Adjust the color theme of the code editor
- Code completion (module jedi)
- Context completion for different functions like existing nodes and path in scene
- Houdini 13-16 (using hqt.py module)
- Nuke 8-10
- Maya 2014-2017
- 3DsMax 2014-2017
If necessary, you can extend this to make your own integration module. The main pre condition - Should be used Python2.7.
- Code completion for all modules and return types (remastered hou library)
- Context completion for functions CreateNode, CreateInputNode and CreateOutputNode with existing houdini node types
- Context completion string for absolute houdini internal path and node parameters. To use this complete start string with "/ or '/
- Drag&Drop Houdini nodes and parameters fills in their path. Use Alt modifier to wrap node or parameter as code like in Houdini Python Shell.
- Reading and writing to PythonSOP code and asset sections
- Code completion for all modules and return types (remastered nuke library)
- Context completion for createNode with existing Nuke node types
- Context completion for function toNode with existing nodes in current script
- Converting selected nodes to code with function nuke.toNode
- Searching and converting nodes to code from clipboard
- Reading and writing from PythonKnobs code
- Save code to shelf and accept dropped shelf button code, like default Maya script editor
- Drag&Drop Maya nodes fills in their names. Use Alt modifier to wrap node as code. Import PyMEL before doing this!
- Context completion for function PyNode with existing nodes in current scene
- Context completion for function pm.createNode and cmds.createNode with existing Maya node types
- Works for now...
- install Python 2.7
- install PySide
- use run.cmd (Windows) or run.sh (Linux) to start
- download and install hqt.py
- install PySide to default Python interpreter
- create new tool on shelf
import sys
paths = ['path/to/folder/with/MultiScriptEditor_module','path/to/default/python27/lib/with/PySide']
# example ['c:/houdini/python/lib', 'c:/python27/Lib/site-packages']
for path in paths:
if not path in sys.path:
sys.path.append(path)
import pw_multiScriptEditor
pw_multiScriptEditor.showHoudini(ontop=1)
- download and install hqt.py
- create new tool on shelf
import sys
path = 'path/to/folder/with/MultiScriptEditor_module'
# example c:/houdini/python/lib
if not path in sys.path:
sys.path.append(path)
import pw_multiScriptEditor
pw_multiScriptEditor.showHoudini(name='Multi Script Editor',replacePyPanel=1, hideTitleMenu=0)
Also you can use .pypanel file without hqt module
/managers/houdini/pw_MultiScriptEditor.pypanel
- Create shelf button with code
import sys
path = 'path/to/folder/with/MultiScriptEditor_module'
# example c:/maya/python/lib
if not path in sys.path:
sys.path.append(path)
import pw_multiScriptEditor
pw_multiScriptEditor.showMaya(dock=True)
- Add next code to menu.py
import nuke
menubar = nuke.menu("Nuke")
toolMenu = menubar.addMenu('&Tools')
path = 'path/to/folder/with/MultiScriptEditor_module'
# example c:/nuke/python/lib
if not path in sys.path:
sys.path.append(path)
import pw_multiScriptEditor
# add to menu
toolMenu.addCommand("Multi Script Editor", "pw_multiScriptEditor.showNuke()")
# create new pane
pw_multiScriptEditor.showNuke(panel=True)
- Create a menu, toolbar, etc with the following maxscript:
python.executefile("path\\to\\pw_multiScriptEditor\\run_3dsmax.py")
or
macroScript MultiScriptEpitor
category:"scripts"
toolTip:"MultiScriptEditor"
(
python.Execute "import sys"
python.Execute "sys.path.append('path/to/scripts/folder')"
python.Execute "import pw_multiScriptEditor"
python.Execute "reload(pw_multiScriptEditor)"
python.Execute "pw_multiScriptEditor.show3DSMax()"
)
This project is licensed under the MIT License