- Automatically print the last expression when executing code, similar to the Python REPL
- All stub files are now downloaded from pyfbsdk-stub-generator when setting up code completion
- Improved error message if ms-python.vscode-pylance is not installed and "Setup Code Completion" is run #12
- Python 2.7: #11
- Error when adding workspace folders to sys.path
- User errors not being handled correctly
- Failing to install debugpy
- Large outputs being corrupted
- Added a timeout when downloading stub files or examples
- Use VS Code's API for dealing with the filesystem
- Use VS Code's API for opening external URLs
- Notebook controller that executes the cells in MotionBuilder
- Renamed setting
motionbuilder.execute.addWorkspaceToPath
tomotionbuilder.environment.addWorkspaceToPath
motionbuilder.environment.addWorkspaceToPath
now defaults totrue
- Workspace paths are now added to sys.path when VS Code first connects to MotionBuilder
- Added a timeout of 10 seconds when connecting to MotionBuilder
motionbuilder.setupCodeCompletion
's "Show Setting" button not always showing the correct setting- Stepping over indented code not always working correctly
- Deprecated settings:
motionbuilder.debug.port
&motionbuilder.debug.autoPort
motionbuilder.execute.addWorkspaceToPath
setting which will add the workspace folder(s) to sys.path. Defaults tofalse
motionbuilder.setupCodeCompletion
will now correctly insert the path in the correct setting scope (user/workspace/folder)- Traceback messages potentially having the wrong line number in the clickable URL
motionbuilder.setupCodeCompletion
failing to create the default directory for the stub files #9
- Renamed setting:
motionbuilder.debug.port
->motionbuilder.attach.port
motionbuilder.debug.autoPort
->motionbuilder.attach.autoPort
motionbuilder.setupCodeCompletion
now downloads the latest stubs from pyfbsdk-stub-generator/generated-stub-files- The documentation & examples now browses the 2025 docs
- Extension appdata is now stored in VS Code's user-data folder
- Bug preventing VS Code from attaching to MoBu 2025
- Folder settings potentially being ignored when a workspace is opened.
- Python 2.7 support for
motionbuilder.attach
- Command
motionbuilder.reloadModules
which reloads all imported python modules (excluding default site-packages). - Setting
motionbuilder.reload.ignore
, a list of glob patterns of files to ignore when reloading modules.
- Renamed output channel to "MotionBuilder Output"
- Updated 2024 stub files
- Versioning scheme to match the currently latest version of MotionBuilder that the extension officially supports
- Bundle the compiled code using esbuild for faster startup time & smaller file size
- Updated stub files
- If trying to attach without
debugpy
being installed, the extension will now ask before installing the module - How data is handled between the extension and MotionBuilder
- Most data is now sent through the socket instead of being written to disk
- motionbuilder-socket is now a standalone NodeJS module
- Running multiple commands too fast either resulting in an error or output not correctly shown.
- Icons to items when browsing the documentation
- Opening examples in the editor not working
- MotionBuilder 2024 stub files & documentation (Use the new command "MotionBuilder: Setup Code Completion" to update your stub files)
- Added command "MotionBuilder: Setup Code Completion"
motionbuilder.setupCodeCompletion
which can be used setup code completion.
- Stub files are no longer automatically copied on startup.
- Extension is now enabled when a MotionBuilder command is used, instead of on startup.
- Renamed command title "Browse Documentation (Examples)" -> "Browse Examples"
- Execution of selected code failing if first line is empty and second line is indented.
- Browse examples not working with 2022 & 2023 due to examples missing from those documentation versions.
- Removed Configurations:
motionbuilder.execute.enableShortcut
motionbuilder.stubFiles.copyOnStartup
motionbuilder.stubFiles.patchPythonPathConfig
motionbuilder.stubFiles.copyPath
- Removed Commands:
motionbuilder.browseDocumentation
motionbuilder.browseDocumentationC
- Stub files are now named .pyi
- Improved pyfbsdk stub file
- "MotionBuilder: Browse Documentation (Python)" is now the default command mapped to Ctrl + F1
- Encode/decode text sent between MotionBuilder & VS Code using UTF-8
- Folder settings beeing ignored
- Added configuration
motionbuilder.execute.enableShortcut
which can be used to disable themotionbuilder.execute
shortcut in spesific workspaces - Added a "Help" button when VS Code fails to connect to MotionBuilder, that will take the user to a troubleshooting web page
- The command
motionbuilder.execute
is now only enabled when a Python file is opened - Sorted the configurations into categories
- Mac & Linux support for opening documentation in web-browser
- Fixed bug when executing selected indented code
- Updated the scope of most of the configurations to be at "resource" level
- Fixed characters missing from the output when printing large amounts of data (MotionBuilder 2022+)
- Fixed output not appearing in the output console in MB 2023 if a "Python Editor" window hadn't been spawned
- Added config
motionbuilder.execute.name
which can be used to set the python variable__name__
to something unique when executing code through VS Code - Added a global variable
__IsVsCodeExec__
which isTrue
while executing code through VS Code. Example usage:bIsRunningFromVsCode = globals().get('__IsVsCodeExec__', False)
- Traceback messages now include the line numbers in the clickable filepath URLs
- It's now possible to attach to MotionBuilder even if another debug session is already active
- Fixed debugy installation for Python 2.7 when attaching to MotionBuilder
- The documentation now includes class methods and properties
- pyfbsdk stub file improvements
Important: Some configurations has been renamed!
motionbuilder.autocompletion.patchOnActivated
->motionbuilder.stubFiles.patchPythonPathConfig
motionbuilder.autocompletion.sdkCopyPath
->motionbuilder.stubFiles.copyPath
If you've changed the default values of these properties your settings will have to be updated!
- MotionBuilder 2023 support for intellisense & documentation
- Added configuration
motionbuilder.version
to select what version to use for intellisense & when browsing documentation (defaults to 2023) - Make sure all files created by this extension get's deleted when un-installed.
- Added configuration
motionbuilder.stubFiles.copyOnStartup
which is a bool defining if MoBu stub files should be copied tomotionbuilder.stubFiles.copyPath
on startup. - Updated icon
- This extension is now released under the open-source MIT license.
- Added command & hotkey
motionbuilder.attach
that starts a debug session and attaches VS Code to MotionBuilder. - Added configuration
motionbuilder.debug.port
to choose what port to run the debug server on, defaults to:4243
. - Improved traceback messages when executing code in MotionBuilder
- Fixed some C++ sdk pages missing when browsing the documentation
pyfbsdk
stub file improvements:- Removed
typings.List
import - Improved
__getitem__
typehints for FBPropertyLists - Added a few missing property typehints & docstrings
- Removed
- Ctrl + F1 now browses the C++ docs by default, instead of python.
- Improved line breaks in the pyfbsdk docstrings
- Fixed some examples not opening in the editor
- Re-wrote the pyfbsdk stub file generator. The stub file should now be feature complete with all of the contents from pyfbsdk, including overload functions.
- Improved the pyfbsdk stub file (for improved auto-completion & linting)
- Browsing documentation now uses the MotionBuilder 2022 documentation
- Fixed bug when executing selected indented code
- Selected indented code can now be executed
- Improved traceback error messages when executing code in MoBu
- Added pythonidelib to the auto-completion modules
- Make sure sdk files are writeable before copying
- AutoCompletion SDK files are now copied to APPDATA by default.
- Added Configuration:
motionbuilder.autocompletion.sdkCopyPath
: Location where to copy the MoBu SDK autocompletion files
- Fixed __file__ variable not beeing set when executing code
- Changed extention activation event to be
onStartupFinished
- All temp files are now placed inside a folder 'VSCode-MotionBuilder-Utils'
- Clean up temp files/folder when extension is deactivated
motionbuilder.execute
hotkey now has context requirements of"editorTextFocus && editorLangId == python"
- Added Configurations:
motionbuilder.execute.showOutput
: Open up the output log when executing code from the Editormotionbuilder.execute.clearOutput
: Clear output log each time code is executedmotionbuilder.documentation.openExamplesInEditor
: Open up example files from the docs in the editor instead of the web-browsermotionbuilder.autocompletion.patchOnActivated
: Add auto-completion path topython.analysis.extraPaths
when extention is activated.
- Initial release