Update debugging guide to deal with MS's Marketplace changes. (#6035)

This commit is contained in:
sboddy
2025-01-29 21:08:28 +00:00
committed by GitHub
parent 77722fcf89
commit d6443e46f6
@@ -1,109 +1,127 @@
Debugging Bonsai Debugging Bonsai
================ ================
This is a mini-guide to setting up an IDE and configuring it to debug Bonsai more This is a mini-guide to setting up an IDE and configuring it to debug Bonsai
easily. It is currently specific to this writers own system (Ubuntu) but this more easily. It is currently specific to this writers own system (Ubuntu) but
can be expanded by others. this can be expanded by others.
1. **Install VSCodium**: This will be system specific. I used the available 1. **Install VSCode/VSCodium**: This will be system specific. I used the
snap package. available snap package.
.. code-block:: bash .. code-block:: bash
sudo snap install --classic codium sudo snap install --classic codium
I chose VSCodium to avoid Microsoft telemetry and data harvesting, but I chose VSCodium to avoid Microsoft telemetry and data harvesting, but
VSCode is going to be similar, and even a bit easier (i.e. steps 3 & 4). VSCode is going to be similar, and even a bit easier (i.e. step 3).
2. **Activate Python language support**: Start VSCodium, open the Extensions, find the Python 2. **Activate Python language support**: Start VSCode/VSCodium, open the
language support and activate it. Extensions tab, find the Python language support and activate it.
3. **Install Blender Addon**: It seems VSCodium is not allowed to directly access 3. **Install Blender Addon**: This step depends on which IDE you chose.
the Marketplace, and this addon (and the next) is not available in
VSCodium's equivalent. (Or I'm an idiot... entirely possible). This means a
few more steps are needed.
Download the Blender addon's ``.vsix`` file from marketplace (Under "Resources") a. VSCode
using your browser from `this <https://marketplace.visualstudio.com/items?itemName=JacquesLucke.blender-development>`_
page.
Install it with "**...**" -> "**Install from VSIX...**" Open up the Extensions tab on the left, and search for the *Blender
Development* extension. Select it, and click Install.
4. **Install ms-vscode.cpptools**: When trying to use the Blender addon I got I haven't actually tested this, but this should install the
an error about a missing dependancy. I read somewhere that this addon was *ms-vscode.cpptools* dependancy for you. If not, you may need to search
not needed, but I can't currently find the reference. At least for me, it for, and install, this extension too.
needs to be added the same way as step 3, or the Blender addon fails to
start.
Download the Cpp Tools addon's ``.vsix`` file from marketplace (Under "Resources") b. VSCodium
using your browser from `this <https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools>`_
page. You will need to select the correct download for your system OS and
architecture.
Install it with "**...**" -> "**Install from VSIX...**" It seems VSCodium is not allowed to direct access the Marketplace, and
due to licensing it is not possible to install the *Blender Development*
extension because of the *ms-vscode.cpptools* dependancy.
5. **Set the Blender config directory**: In **Settings** -> **Extensions** -> **Blender** -> "**Environment Variables**" VSCodium's equivalent Marketplace does not (and could not due to
licensing) provide a functioning *Blender Development* extension. (Or I'm
an idiot... entirely possible).
I've created an alternative *Blender Development* extension with the
*ms-vscode.cpptools* dependancy removed.
.. note::
This alternative should also work in VSCode, but you may as well save
yourself the hassle, and just use the original one.
Download the *Blender Development* ``.vsix`` file from my GitHub fork
using your browser from `this <https://github.com/sboddy/blender_vscode>`_
repository. The ``.vsix`` is available on the Releases page.
In VSCodium's Extensions sidebar install it with "**...**" ->
"**Install from VSIX...**"
If you are squeamish about downloading my ``.vsix``, you can review the
single commit, clone the repo and create your own.
4. **Set the Blender config directory**: In **Settings** -> **Extensions** ->
**Blender** -> "**Environment Variables**"
edit the json file to set the ``BLENDER_USER_RESOURCE`` to the config folder edit the json file to set the ``BLENDER_USER_RESOURCE`` to the config folder
you installed Bonsai to. For me: you installed Bonsai to. *For me*:
.. code-block:: json .. code-block:: json
{ {
"blender.environmentVariables": { "blender.environmentVariables": {
"BLENDER_USER_RESOURCES": "/home/steve/.config/blender/4.2bonsai" "BLENDER_USER_RESOURCES": "/home/steve/.config/blender/4.2bonsai"
} }
} }
.. note:: .. warning::
You `must` change that path to the correct value for your system. You `must` change that path to the correct value for your system.
6. **Unset the Just My Code flag**: In **Settings** -> **Extensions** -> **Blender** -> "**Just My Code**" 5. **Unset the Just My Code flag**: In **Settings** -> **Extensions** ->
by unchecking the box. **Blender** -> "**Just My Code**" by unchecking the box.
Again, this was advice found searching around in a github issue. If not Again, this was advice found searching around in a github issue. If not
done, the breakpoints do not work for me. done, the breakpoints do not work for me.
7. **Open the folder in VSCodium**: This is the same folder set in step 5. 6. **Open the folder in VSCode/VSCodium**: This is the same folder set in step
5. Again, *for me*:
``/home/steve/.config/blender/4.2bonsai`` ``/home/steve/.config/blender/4.2bonsai``
This was a key point for me. Do `not` go deeper in the folder structure - This was a key point for me. Do `not` go deeper in the folder structure -
that just doesn't work. (Thanks @theoryshaw) that just doesn't work. (Thanks @theoryshaw) This feels a little like
using a sledgehammer to crack a nut, and there might be a better, "proper"
way of setting this up. If there is I'd love to hear it.
8. **Start Blender**: In VSCodium press ``Ctrl+Shift+P``, and search/select 7. **Start Blender**: In VSCode/VSCodium press ``Ctrl+Shift+P``, and
**Blender: Start**. search/select **Blender: Start**.
9. **Set the Blender binary path**: The first time you try to start Blender the 8. **Set the Blender binary path**: The first time you try to start Blender the
addon will ask for the path of the binary. Navigate to your Blender binary addon will ask for the path of the binary. Navigate to your Blender binary
and select it. For me: and select it. *For me*:
``/home/steve/Software/blender-git/build_linux/bin/blender`` ``/home/steve/Software/blender-git/build_linux/bin/blender``
.. warning:: .. warning::
Do `not` try to use a binary installed using snap - it will `not` work. Do `not` try to use a binary installed using snap - it will `not` work.
Either install a debian package of Blender, or build it from source, and Either install a debian package of Blender, or build it from source, and
use that. use that.
All being well, Blender should start and show the usual Bonsai UI. All being well, Blender should start and show the usual Bonsai UI.
10. **Ensure Blender is behaving**: Exercise the interface a bit to be sure 9. **Ensure Blender is behaving**: Exercise the interface a bit to be sure
Bonsai is working normally. Add a demo project, add some walls, etc. Bonsai is working normally. Add a demo project, add some walls, etc.
One issue I ran in to was opening the wrong folder in step 7. Due to the One issue I ran in to was opening the wrong folder in step 7. Due to the
way VSCodium works, I was getting two Bonsai plugins conflicting, and way VSCode/VSCodium works, I was getting two Bonsai plugins conflicting,
failing in interesting ways. One symptom of this was the modal user and failing in interesting ways. One symptom of this was the modal user
interface when adding walls was completely missing. Oh, and the debugger interface when adding walls was completely missing. Oh, and the debugger
completely failed to work. completely failed to work.
If you are happy, quit Blender, and try setting some breakpoints in If you are happy, quit Blender, and try setting some breakpoints in
VSCodium then run Blender again, and try to trigger them. I set one on VSCode/VSCodium then run Blender again, and try to trigger them. I set one
the ``bim.add_sheet`` operator at: on the ``bim.add_sheet`` operator at:
``extensions/.local/lib/python3.11/site-packages/bonsai/bim/module/drawing/operator.py:1456`` ``extensions/.local/lib/python3.11/site-packages/bonsai/bim/module/drawing/operator.py:1456``
.. note:: .. note::
I made the mistake of setting the breakpoint on the ``_execute`` I made the mistake of setting the breakpoint on the ``_execute``
methods ``def`` line, which did not work. This probably helped confuse methods ``def`` line, which did not work. This probably helped confuse
me when trying to get the addon to work. me when trying to get the addon to work.
If you get to this point, congratulations! You will now be 1000% more effective If you get to this point, congratulations! You will now be 1000% more effective
when troubleshooting issues, and able to make many more contributions, fixes when troubleshooting issues, and able to make many more contributions, fixes