JacquesLucke / blender_vscode

Visual Studio Code extension for Blender development.
MIT License
540 stars 70 forks source link

Fixing "Run Script" support for Blender 4.0 #153 #154

Closed CGArtPython closed 7 months ago

CGArtPython commented 7 months ago

Issue summary: When using the "Run Script" command, the user hits scripts\modules\bpy\ops.py", line 60, in _parse_args raise ValueError("1-2 args execution context is supported") ValueError: 1-2 args execution context is supported

Issue cause: This issue is connected to a breaking change that was introduced in Blender's 4.0 Python API update

https://wiki.blender.org/wiki/Reference/Release_Notes/4.0/Python_API

Blender Operators (bpy.ops) Remove the context override argument to bpy.ops in favor of context.temp_override(..) (ac263a9bce)

For Blender 4.0 in .\pythonFiles\include\blender_vscode\operators\script_runner.py instead of this bpy.ops.dev.run_script(context, filepath=path)

We need to use this

    with bpy.context.temp_override(**context):
        bpy.ops.dev.run_script(filepath=path)

Tested "Run Script" and Add-on Debugging under Blender 2.9 and Blender 4.0