Hey, I just can not get used to the VSCode extension. It's whole workflow does not seem logical for me. Here some things I just can not understand and maybe you can help me getting along.
New projects
There is a new project wizard. But it seems it is the same as importing the new_project example as a freestanding application. No other choices which components to use etc. This is something I could get used to, if there would not be issue 2:
Generated freestanding project
Wether I go with new project wizard or importing any example code, the generated project just feels incomplete. I have no startup code, no peripherals code, no drivers code, no configtool code, no board init code inside of my project files. Only a main.c file with some boilerplate code. I know, the extension tries to avoid copying unnecessary files, but looking for the files that are really used is very hard. Just an example, when trying to navigate to Board_Init function in main.c, IntelliSense proposes me 117 ! files where to look for that function because it is defined in every example project and I have to pick the correct one, which is really annoying.
Problem of that "forced deduplication"
When you want to change things you need to change them in the sdk repository. And when you ever want to create a new new_project, you inherit the changes which are probably rubbish for your new project. I could copy clean new_project examples, but this is not what I want to do or remember as a user of an IDE.
Working with Config Tools
This is also very disturbing to me. On opening config tools from the extension, it will load the mex file from the sdk repo. The config is not copied so it leads to the problem above. All that lands in my project are som json files.
Enabling Experimental Copying of Board Files
Well, that seems to mitigate some of the problems. But again, it does not feel clean. It creates a file structure with <boardname> directory in the project root. This directory again contains a <boardname> dir and a <projectname> dir. It's just the copies of some folders but it does not really look integrated.
Enabling Experimental Standalone projects
Does not work at all. It always fails because clock config files can not be found in the example projects files. Because they do not exists.
Importing Repositories from SDK Generator
It will never work the first time. Reason is, that python dependencies are missing, which are available only after downloading the SDK, because therein the requirements.txt is stored. (My workflow is to create a new venv, install west there and then want the sdk to be loaded via the extention). It would be really more helpful if the import sdk feature would run a pip install of the SDKs requirements upfront, instead of telling me import failed because of missing dependencies.
The whole extension appears to me not very useful and full of manual needed steps. And even if those steps are made manually, the generated structure of the project is not very intuitive.
So, am I doing something wrong or is the extension still no good replacement for MCUXpresso IDE ?