ESP32-IDF menuconfig, PlatofrmIO dragging their feet

Core. Home is a second component, hence the different version number. So you have a newer version of the core than when that feature was released, so good to go.

Via the new terminal button (arrow) or the quick access list (PIO icon then New Terminal).

#3) When clicking the icon Run Task at the lower left it pull up a list of options we can click on like Build, Check, Clean and so on. Why not put menuconfig in that list as well, or an icon for it ?

The quick access icons don’t change depending on what platform you use… so adding a ‘menuconfig’ icon would. Better to either add it to the run task list, which AFAIK is the same as the list of project tasks shown when you click on PIO icon (#1 in the screenshot above). In other words, I agree that a menuconfig option should be added to that list targeting on the espressif32/esp-idf, which should then make it a ‘run task’ option also.

Thank you very much for the information.
My Issue with entering " platformio run -t menuconfig " in the terminal was that I was clicking View → Terminal. Which opens a powershell, and it does not work there. The way you showed opens a PlatformIO terminal and works.

A thing people should be aware of when trying this is if your up and down keys don’t work in menuconfig, as this is what happened to me. Try this: In the terminal click the dropdown arrow and choose “Select Default Shell”

1

A new window at the top will appear and you will want to choose “Git Bash”

2

After selecting it, click the garbage can icon in the terminal to close it and then reopen it. It should work then, just remember to resize the terminal large enough for menuconfig to display or it will error out when trying to start.

2 Likes

Yeah, I encountered that too, but hoped it was something that hadn’t been addressed as menuconfig support was only in the dev branch at the time. Thanks for showing how to get it working! :slight_smile:

Any update to this yet? Really would love to get menuconfig working with the arrow keys.

2 Likes

I wonder if it could be a VSCode terminal ‘bug’/issue? I’m on Windows atm, and from a separate command prompt (via ‘Windows Terminal’) I ran %userprofile%\.platformio\penv\Scripts\activate to activate platformios python venv, changed into the directory that held a ESPIDF project, and then ran pio run -e esp32dev -t menuconfig to use menuconfig for just that environment, and the cursor keys worked fine there. But not in the VSCode terminal - whether it be command prompt or powershell, but do work with the git bash shell. :-/

Edit: Ok, so it does look to be a VSCode integrated terminal issue - since the official espressif-vscode-espidf extension is afflicted by the same issue, and also had issues with the Windows Terminal preview from the looks of it also… so could be a more insidious Windows 10 issue.

In VSCode terminal you can simulate the up/down arrow keys by using the - and + keys on the numeric keypad/numpad, or - and + (shift + =) on the main part of the keyboard.

2 Likes

@ivankravets Could you please add the comment at the official PlatformIO documentation? I spent one hour figuring out why my arrows keys does not work.

https://docs.platformio.org/en/latest/frameworks/espidf.html?highlight=menuconfig#configuration-for-4-0

Blockquote
NOTE: Do not use a PS terminal, use the default Shell one, otherwise arrows keys will not work.

I’ve added in this information in menuconfig up/down arrows don't work · Issue #423 · platformio/platform-espressif32 · GitHub to track it.

2 Likes

PlatformIO has implemented ALLOT of slick things to VSCode.
Clearly you guys know what your doing when it comes to Vscode.
Any chance we can plead with you guys to make menuconfig more modern like espressif’s Vscode plugin ? Menuconfig is a powerful thing, and this terminal way is very goofy to work with using “J & K” keys to move around.

PlatformIO’s terminal way.

Espressif’s way.

1 Like

Any update plans for this yet? See photos above.

1 Like

Please file a feature request to Issues · platformio/platform-espressif32 · GitHub

man, they did such a nice job with the extension in general, its hard to imagine how they were ok with the current implementation of menuconfig

I agree. They did do a great job with the extension. I don’t think they realize how often people use menuconfig. I think they might be to focused on the Arduino people here, as Arduino doesn’t have the menuconfig option. If they could see all the features you can do I think most would make it a mandatory thing.

arduino not having menuconfig is the whole reason I switched to IDF!

from reason some of your other posts, sounds like you have both the IDF extension & the PIO-IDF extension? Have you tried hitting the menuconfig button from IDF on a PIO-IDF project? It runs it, not sure if it actually works though, still need to test it. I know it doesn’t add “upsey” to the file name, but thats easy enough to add…certainly easier than navigating with j & k as up and down arrows.

for that matter, as long as its in the make process (unlike arduino) cant you just edit the text in the config file?

I use the portable version of Visual Studio Code. Using the portable version I can crate separate folders with their own environments. I have have ESP-IDF v4.4 for projects that were crated and maintained using that version, and another for v5.2 for new projects, and so on. I do have one for platformIO as well.

Since I never use Arduino or ever will. IDF is far better in every way over Arduino. Navigating menuconfig is a PITA with PlatformIO. I have my own custom Kconfig.projbuild file for my projects that allow me to do other things. I haven’t quite figured out why I am still on the fence between PlatformIO and Espressifs extention of IDF. If platformIO ever fixes menuconfig, I would probably stick to platformIO.

There are many times I will just have a blank project in IDF, When I need to make changes to menuconfig I just copy my Kconfig.projbuild file over from platformIO to there make the changes and then copy the sdkconfig it generated back to the platformIO project.