Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kconfiglib's menuconfig rendered badly, barely usable in visual studio code integrated-terminal (Windows). (IDFGH-2442) (VSC-169) #5

Closed
Devenda opened this issue Dec 29, 2019 · 7 comments
Labels
stale Stale PR or Issue vscode related problem This issue is related to the bug/ behaviours of the vscode and not the extension itself

Comments

@Devenda
Copy link

Devenda commented Dec 29, 2019

Environment

  • IDF version (run git describe --tags to find it):
    v4.1-dev-1572-g30372f5a4
  • Build System: [CMake]
  • Compiler version (run xtensa-esp32-elf-gcc --version to find it):
    xtensa-esp32-elf-gcc (crosstool-NG esp-2019r2) 8.2.0
  • Operating System: [Windows]

Problem Description

After updating to the latest version of esp-idf the menuconfig renders badly in the vscode integrated terminal.
Arrow keys did not work in previous versions either. As a workaround the j and k keys do work.

This is most likely an issue with the vscode integrated terminal, but maybe a workaround/fix is known.
See microsoft/vscode#87838 for more details.
Issue espressif/esp-idf#4067 is also equal to my issue, however using bash is not feasible.
Issue espressif/esp-idf#1969 also seems to be relevant, however removing/cleaning the build dir does not help.

@github-actions github-actions bot changed the title kconfig-frontends (menuconfig) rendered badly, barely usable in visual studio code integrated-terminal. kconfig-frontends (menuconfig) rendered badly, barely usable in visual studio code integrated-terminal. (IDFGH-2442) Dec 29, 2019
@dobairoland
Copy link

I don't have this issue with the same ESP-IDF commit and VSCode:

Version: 1.41.1
Commit: 26076a4de974ead31f97692a0d32f90d735645c0
Date: 2019-12-20T11:11:01.597Z
Electron: 6.1.7
Chrome: 76.0.3809.146
Node.js: 12.4.0
V8: 7.6.303.31-electron.0
OS: Linux x64 5.4.7-arch1-1

and Python 3.8.1 and zsh 5.7.1.

I see in the upstream issue that you use the same VSCode but on Windows.

Please test if this helps in any way: idf.py menuconfig --style=default.

@dobairoland dobairoland changed the title kconfig-frontends (menuconfig) rendered badly, barely usable in visual studio code integrated-terminal. (IDFGH-2442) kconfiglib's menuconfig rendered badly, barely usable in visual studio code integrated-terminal (Windows). (IDFGH-2442) Jan 3, 2020
@Devenda
Copy link
Author

Devenda commented Jan 3, 2020

I don't have this issue with the same ESP-IDF commit and VSCode:

Version: 1.41.1
Commit: 26076a4de974ead31f97692a0d32f90d735645c0
Date: 2019-12-20T11:11:01.597Z
Electron: 6.1.7
Chrome: 76.0.3809.146
Node.js: 12.4.0
V8: 7.6.303.31-electron.0
OS: Linux x64 5.4.7-arch1-1

and Python 3.8.1 and zsh 5.7.1.

I see in the upstream issue that you use the same VSCode but on Windows.

Please test if this helps in any way: idf.py menuconfig --style=default.

It seems that option only changes the colors:
afbeelding

Anyhow, given that it works on Linux, it must be a Windows issue as you noted in xtermjs/xterm.js#2657

@ulfalizer
Copy link

Could you try this patch and see if it makes a difference? It forces the entire screen to be redrawn each time.

diff --git a/tools/kconfig_new/menuconfig.py b/tools/kconfig_new/menuconfig.py
index b26e2aa14..9d6a236b4 100644
--- a/tools/kconfig_new/menuconfig.py
+++ b/tools/kconfig_new/menuconfig.py
@@ -1374,7 +1374,7 @@ def _draw_main():
     # Update the symbol window
     #
 
-    _menu_win.erase()
+    _menu_win.clear()
 
     # Draw the _shown nodes starting from index _menu_scroll up to either as
     # many as fit in the window, or to the end of _shown

Wouldn't want to do that by default, because it causes annoying flicker. If it helps, it's working around a bug.

@Devenda
Copy link
Author

Devenda commented Jan 3, 2020

Thanks, but the patch made no difference sadly...

@ulfalizer
Copy link

@Devenda
Thanks for trying it out. Pretty sure this is a rendering bug on the xterm.js end at least. Looks like ends of lines get messed up.

@projectgus projectgus transferred this issue from espressif/esp-idf Jan 7, 2020
@projectgus
Copy link

(Moving this into VSCode Extension because even though the extension isn't responsible for this, it seems like any fix will probably need to come via the extension.)

@github-actions github-actions bot changed the title kconfiglib's menuconfig rendered badly, barely usable in visual studio code integrated-terminal (Windows). (IDFGH-2442) kconfiglib's menuconfig rendered badly, barely usable in visual studio code integrated-terminal (Windows). (IDFGH-2442) (VSC-169) Jan 7, 2020
@pwmb
Copy link
Contributor

pwmb commented Jan 7, 2020

@Devenda Since we don't have control over the terminal inside the vscode directly, for this reason in the ESP IDF Official VSCode Extension we have provided support for the Menuconfig, use that instead.

Visit the extension marketplace to know more.

@pwmb pwmb added the vscode related problem This issue is related to the bug/ behaviours of the vscode and not the extension itself label Jan 7, 2020
@pwmb pwmb added the stale Stale PR or Issue label Jan 21, 2020
@pwmb pwmb closed this as completed Jan 21, 2020
brianignacio5 added a commit to brianignacio5/vscode-esp-idf-extension that referenced this issue Mar 11, 2020
Fix Espressif master merge conflicts
brianignacio5 added a commit that referenced this issue Mar 24, 2020
Fix Espressif master merge conflicts
brianignacio5 pushed a commit to brianignacio5/vscode-esp-idf-extension that referenced this issue Mar 25, 2020
fix old configs remove build before debug

fix debug adapter unit test

DA python pkgs check (espressif#3)

* read Cmakelists file for project name (VSC-248) (espressif#43)

read build project_description json file for project name

* Feature/localization kv val (VSC-226) (VSC-246) (espressif#41)

* add gulp i18n validation and src missing key log

* rm unused i18n field, add unknown field (espressif#48)

* v0.1.4

* Added a custom Debug Adapter

* fix old configs remove build before debug

* removed outdated extension.test.ts

* fix debug adapter unit test

* removed repeated options

* removed redundant requirements.txt

* made `Upload testing.results.log` always executable

* add adapter python reqs checking

Co-authored-by: Soumesh Banerjee <soumeshbanerjee@live.com>
Co-authored-by: Andrey Gramakov <mail@agramakov.me>

Fix/da merge (espressif#4)

* read Cmakelists file for project name (VSC-248) (espressif#43)

read build project_description json file for project name

* Feature/localization kv val (VSC-226) (VSC-246) (espressif#41)

* add gulp i18n validation and src missing key log

* rm unused i18n field, add unknown field (espressif#48)

* v0.1.4

* Added a custom Debug Adapter

* fix old configs remove build before debug

* fix debug adapter unit test

* DA python pkgs check (espressif#3)

* read Cmakelists file for project name (VSC-248) (espressif#43)

read build project_description json file for project name

* Feature/localization kv val (VSC-226) (VSC-246) (espressif#41)

* add gulp i18n validation and src missing key log

* rm unused i18n field, add unknown field (espressif#48)

* v0.1.4

* Added a custom Debug Adapter

* fix old configs remove build before debug

* removed outdated extension.test.ts

* fix debug adapter unit test

* removed repeated options

* removed redundant requirements.txt

* made `Upload testing.results.log` always executable

* add adapter python reqs checking

Co-authored-by: Soumesh Banerjee <soumeshbanerjee@live.com>
Co-authored-by: Andrey Gramakov <mail@agramakov.me>

* fix merge issues

* log adapter output

Co-authored-by: Soumesh Banerjee <soumeshbanerjee@live.com>
Co-authored-by: Andrey Gramakov <mail@agramakov.me>

An dr/feature/debug adapter (espressif#5)

Fix Espressif master merge conflicts

debug_backend package: removed everything but pygdbmi from the Pipfile

update lock fix debug init
brianignacio5 pushed a commit to brianignacio5/vscode-esp-idf-extension that referenced this issue Mar 25, 2020
fix old configs remove build before debug

fix debug adapter unit test

DA python pkgs check (espressif#3)

* read Cmakelists file for project name (VSC-248) (espressif#43)

read build project_description json file for project name

* Feature/localization kv val (VSC-226) (VSC-246) (espressif#41)

* add gulp i18n validation and src missing key log

* rm unused i18n field, add unknown field (espressif#48)

* v0.1.4

* Added a custom Debug Adapter

* fix old configs remove build before debug

* removed outdated extension.test.ts

* fix debug adapter unit test

* removed repeated options

* removed redundant requirements.txt

* made `Upload testing.results.log` always executable

* add adapter python reqs checking

Co-authored-by: Soumesh Banerjee <soumeshbanerjee@live.com>
Co-authored-by: Andrey Gramakov <mail@agramakov.me>

Fix/da merge (espressif#4)

* read Cmakelists file for project name (VSC-248) (espressif#43)

read build project_description json file for project name

* Feature/localization kv val (VSC-226) (VSC-246) (espressif#41)

* add gulp i18n validation and src missing key log

* rm unused i18n field, add unknown field (espressif#48)

* v0.1.4

* Added a custom Debug Adapter

* fix old configs remove build before debug

* fix debug adapter unit test

* DA python pkgs check (espressif#3)

* read Cmakelists file for project name (VSC-248) (espressif#43)

read build project_description json file for project name

* Feature/localization kv val (VSC-226) (VSC-246) (espressif#41)

* add gulp i18n validation and src missing key log

* rm unused i18n field, add unknown field (espressif#48)

* v0.1.4

* Added a custom Debug Adapter

* fix old configs remove build before debug

* removed outdated extension.test.ts

* fix debug adapter unit test

* removed repeated options

* removed redundant requirements.txt

* made `Upload testing.results.log` always executable

* add adapter python reqs checking

Co-authored-by: Soumesh Banerjee <soumeshbanerjee@live.com>
Co-authored-by: Andrey Gramakov <mail@agramakov.me>

* fix merge issues

* log adapter output

Co-authored-by: Soumesh Banerjee <soumeshbanerjee@live.com>
Co-authored-by: Andrey Gramakov <mail@agramakov.me>

An dr/feature/debug adapter (espressif#5)

Fix Espressif master merge conflicts

debug_backend package: removed everything but pygdbmi from the Pipfile

update lock fix debug init

prettier ignore py files
brianignacio5 added a commit that referenced this issue Mar 26, 2020
* Added a custom Debug Adapter

* fix old configs remove build before debug

* fix debug adapter unit test

* DA python pkgs check (#3)

* read Cmakelists file for project name (VSC-248) (#43)

read build project_description json file for project name

* Feature/localization kv val (VSC-226) (VSC-246) (#41)

* add gulp i18n validation and src missing key log

* rm unused i18n field, add unknown field (#48)

* v0.1.4

* Added a custom Debug Adapter

* fix old configs remove build before debug

* removed outdated extension.test.ts

* fix debug adapter unit test

* removed repeated options

* removed redundant requirements.txt

* made `Upload testing.results.log` always executable

* add adapter python reqs checking

Co-authored-by: Soumesh Banerjee <soumeshbanerjee@live.com>
Co-authored-by: Andrey Gramakov <mail@agramakov.me>

* Fix/da merge (#4)

* read Cmakelists file for project name (VSC-248) (#43)

read build project_description json file for project name

* Feature/localization kv val (VSC-226) (VSC-246) (#41)

* add gulp i18n validation and src missing key log

* rm unused i18n field, add unknown field (#48)

* v0.1.4

* Added a custom Debug Adapter

* fix old configs remove build before debug

* fix debug adapter unit test

* DA python pkgs check (#3)

* read Cmakelists file for project name (VSC-248) (#43)

read build project_description json file for project name

* Feature/localization kv val (VSC-226) (VSC-246) (#41)

* add gulp i18n validation and src missing key log

* rm unused i18n field, add unknown field (#48)

* v0.1.4

* Added a custom Debug Adapter

* fix old configs remove build before debug

* removed outdated extension.test.ts

* fix debug adapter unit test

* removed repeated options

* removed redundant requirements.txt

* made `Upload testing.results.log` always executable

* add adapter python reqs checking

Co-authored-by: Soumesh Banerjee <soumeshbanerjee@live.com>
Co-authored-by: Andrey Gramakov <mail@agramakov.me>

* fix merge issues

* log adapter output

Co-authored-by: Soumesh Banerjee <soumeshbanerjee@live.com>
Co-authored-by: Andrey Gramakov <mail@agramakov.me>

* An dr/feature/debug adapter (#5)

Fix Espressif master merge conflicts

* debug_backend package: removed everything but pygdbmi from the Pipfile

* Fix/da conflict (#6)

* read Cmakelists file for project name (VSC-248) (#43)

read build project_description json file for project name

* Feature/localization kv val (VSC-226) (VSC-246) (#41)

* add gulp i18n validation and src missing key log

* rm unused i18n field, add unknown field (#48)

* v0.1.4

Co-authored-by: Soumesh Banerjee <soumeshbanerjee@live.com>

* Run prettier

* yarn audit fix

Co-authored-by: brian@espressif.com <brian@espressif.com>
Co-authored-by: Brian A. Ignacio <brianignacio5@gmail.com>
Co-authored-by: Soumesh Banerjee <soumeshbanerjee@live.com>
pwmb added a commit that referenced this issue May 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Stale PR or Issue vscode related problem This issue is related to the bug/ behaviours of the vscode and not the extension itself
Projects
None yet
Development

No branches or pull requests

5 participants