raspberrypi / pico-vscode

The official VS Code extension for Raspberry Pi Pico development. It includes several features to simplify project creation and deployment.
https://marketplace.visualstudio.com/items?itemName=raspberry-pi.raspberry-pi-pico
Mozilla Public License 2.0
105 stars 12 forks source link

Add a VSCode walkthrough #17

Open will-v-pi opened 4 months ago

will-v-pi commented 4 months ago

Add a walkthrough for users, to show the functionality of the extension (https://code.visualstudio.com/api/references/contribution-points#contributes.walkthroughs). This should include:

kaycebasques commented 1 month ago

Seems like you can close this now that the extension is covered in the main flow of getting started with pico?

neonmik commented 3 weeks ago

There's still definitely more to be done here. Why is it downing python when I already have an up to date version? I know I need to specify the path, but that's not clear to a beginner.

paulober commented 2 weeks ago

Thanks for your feedback.

Why is it downloading python when I already have an up to date version?

Because custom Python installations from users have caused too many issues in the past, so they can't be trusted anymore by default. If you want to use your system python, you can select "Use system version" under Python in the project generator after toggling "Advanced options" at the bottom.

There's still definitely more to be done here.

Could you please elaborate a bit more on what specifically need further work?

I know I need to specify the path, but that's not clear to a beginner.

It is explained in the README and a beginner would probably prefer having the extension taking care of the Python installation which requires no extra configuration.

neonmik commented 3 days ago

Because custom Python installations from users have caused too many issues in the past, so they can't be trusted anymore by default. If you want to use your system python, you can select "Use system version" under Python in the project generator after toggling "Advanced options" at the bottom.

That's fair, I hadn't noticed that option, it just felt unnecessary to download a whole different python... I get a bit sketch about having a load of hidden backend stuff, especially when I already have it!

Could you please elaborate a bit more on what specifically need further work?

Sorry, I was super vague here. There's some issues with project imports (specifically had issues with importing a large project seemed to be an issue with adding the new CMake to the original CMake file) , ended up starting a fresh and that helped.

I'm struggling to understand the use of compile options on the current extension vs the CMake build variants. I used to be able to choose between Debug/RelWithDebug/Release and now that whole tool bar seems to react badly with the new system. I feel like the compiler just optimised a load of stuff away that's broken my code in places - Probably more of a CMake issue though.

will-v-pi commented 2 days ago

I'm struggling to understand the use of compile options on the current extension vs the CMake build variants. I used to be able to choose between Debug/RelWithDebug/Release and now that whole tool bar seems to react badly with the new system. I feel like the compiler just optimised a load of stuff away that's broken my code in places - Probably more of a CMake issue though.

By default the extension doesn't have an option to do this - you can either change it using the command line (run cmake build -DCMAKE_BUILD_TYPE=Debug from the integrated terminal), or use the CMake Tools extension integration which provides lots more CMake configurability (see https://github.com/raspberrypi/pico-vscode?tab=readme-ov-file#cmake-tools-extension-integration). I would recommend using the CMake Tools extension integration for this sort of thing.

neonmik commented 2 days ago

By default the extension doesn't have an option to do this - you can either change it using the command line (run cmake build -DCMAKE_BUILD_TYPE=Debug from the integrated terminal), or use the CMake Tools extension integration which provides lots more CMake configurability (see https://github.com/raspberrypi/pico-vscode?tab=readme-ov-file#cmake-tools-extension-integration). I would recommend using the CMake Tools extension integration for this sort of thing.

That's good to know, thank you.

What optimisation does the plugin use as standard? I'm getting some wierd issues with it optimising out some important variables at the minute, even if they're marked Volatile.

will-v-pi commented 2 days ago

What optimisation does the plugin use as standard? I'm getting some wierd issues with it optimising out some important variables at the minute, even if they're marked Volatile.

It uses the default SDK build type, which is Release with debug info added.