Skip to content

Commit cbf7222

Browse files
Update webviews to vscode style (#1554)
* menuconfig test new vscode tree * refactor checkbox * add select component * update checkbox smaller code * add int component * add string and hex components * update menu title style * add settings tree rm vscode elements dependency * update menuconfig search bar * add vscode style in new project wizard * update troubleshoot form * project config editor updates * update cmakelists editor ui * tracing * size changes * partition table * nvs partition table * update welcome page * rm examples * remove example panel * fix welcome panel replace description * fix sanitize html input * rm examples ui code * fix ui create project test * update extractPlainText * fix data config id in string input * add missing data-config-id tags * add open folder in create test component test * dismiss notifications test component * increase timeout * test using notification action * update ui workflow to see screenshots * update vscode extension tester * use specific vscode version * update advanced configured test * update advanced expect * use min version extension tester * test basename * dirname instead * update testWorkspace to minimal project * update idf installed msg logic * update msg installed logic * rm display none for espidf status * rm unnecesary changes * clean and check doc cmd output * add env vars in workflow * switch back from new project webview * update menuconfig string test element * fix tests * add warn message for reload nvs webview * fix lint * ui changes for menuconfig and welcome page * rm node modules codicon reference * fix settings tree this ref * rm create from templates cmd, add new project created page with open button * update docs remove show examples command * collapsed items menuconfig newProject update partitionTable errors * add error modal for nvs partition editor * fix close icon not shown in cmakelists editor * fix partition table unit tests update new project ui test * fix create blink example duplicated button click
1 parent 4bcb23e commit cbf7222

File tree

112 files changed

+7642
-3524
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+7642
-3524
lines changed

.github/workflows/ui-test.yml

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,36 @@ jobs:
1717
with:
1818
submodules: "recursive"
1919

20-
- name: Run ui test
21-
uses: ./.github/actions/idf
22-
id: idfuitest
20+
- name: Install ESP-IDF
21+
run: |
22+
ESP_IDF_VERSION="v5.3.2"
23+
sudo apt update
24+
sudo apt install -y python3-pip git wget flex bison gperf python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util
25+
wget https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/${ESP_IDF_VERSION}/esp-idf-${ESP_IDF_VERSION}.zip -O esp-idf.zip
26+
unzip esp-idf.zip -d ~/
27+
rm esp-idf.zip
28+
mv ~/esp-idf-${ESP_IDF_VERSION} ~/esp-idf
29+
~/esp-idf/install.sh
30+
31+
- name: Setup Node.js
32+
uses: actions/setup-node@v4
2333
with:
24-
run: /ui-entrypoint.sh
34+
node-version: '20'
2535

26-
- name: See if screenshots are generated
27-
if: failure()
28-
run: ls /github/workspace/test-resources/screenshots
36+
- name: Install Yarn dependencies
37+
run: |
38+
yarn
39+
yarn install
40+
41+
- name: Run Yarn script with xvfb
42+
run: |
43+
export IDF_TOOLS_PATH=~/.espressif
44+
export IDF_PATH=~/esp-idf
45+
source ~/esp-idf/export.sh && xvfb-run --auto-servernum yarn ci-test
2946
3047
- name: Upload screenshots
3148
uses: actions/upload-artifact@v4
3249
if: failure()
3350
with:
3451
name: screenshots
35-
path: /github/workspace/test-resources/screenshots
52+
path: /home/runner/work/vscode-esp-idf-extension/vscode-esp-idf-extension/test-resources/screenshots

README.md

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -165,13 +165,7 @@ Press <kbd>F1</kbd> or click menu `View` -> `Command Palette...` to show Visual
165165
<td></td>
166166
</tr>
167167
<tr>
168-
<td rowspan=11 align="center">Basic</td>
169-
<td>Show Example Projects</td>
170-
<td>Launch UI to show examples from selected framework and allow you to create a project from them. This command will show frameworks already configured in the extension, so to view ESP-Rainmaker examples, you need to run the <strong>Install ESP-Rainmaker</strong> first (or set the equivalent setting idf.espRainmakerPath), and then execute this command to see the examples.</td>
171-
<td></td>
172-
<td></td>
173-
</tr>
174-
<tr>
168+
<td rowspan=10 align="center">Basic</td>
175169
<td>Set Espressif Device Target</td>
176170
<td>This will set the target for the current project (IDF_TARGET). Similar to <strong>idf.py set-target</strong>. For example, if you want to use ESP32 or ESP32-C3, you need to execute this command.</td>
177171
<td></td>
@@ -233,19 +227,7 @@ Press <kbd>F1</kbd> or click menu `View` -> `Command Palette...` to show Visual
233227
<td><kbd>Ctrl</kbd> <kbd>E</kbd> <kbd>D</kbd></td>
234228
</tr>
235229
<tr>
236-
<td rowspan=5 align="center">Project creation</td>
237-
<td>Show Example Projects</td>
238-
<td>Launch UI to show examples from selected framework and allow you to create a project from them. This command will show frameworks already configured in the extension, so to view ESP-Rainmaker examples, you need to run the <strong>Install ESP-Rainmaker</strong> first (or set the equivalent setting idf.espRainmakerPath), and then execute this command to see the examples.</td>
239-
<td></td>
240-
<td></td>
241-
</tr>
242-
<tr>
243-
<td>Create Project from Extension Template</td>
244-
<td>Create an ESP-IDF project using one of the extension template projects.</td>
245-
<td><kbd>⌘</kbd> <kbd>I</kbd> <kbd>C</kbd></td>
246-
<td><kbd>Ctrl</kbd> <kbd>E</kbd> <kbd>C</kbd></td>
247-
</tr>
248-
<tr>
230+
<td rowspan=4 align="center">Project creation</td>
249231
<td>Create New ESP-IDF Component</td>
250232
<td>Create a new component in the current directory based on ESP-IDF component template.</td>
251233
<td></td>
@@ -563,7 +545,7 @@ See an example in the [debugging](https://docs.espressif.com/projects/vscode-esp
563545

564546
## Available Tasks in `tasks.json`
565547

566-
A template `tasks.json` is included when creating a project using **ESP-IDF: Create Project from Extension Template**. These tasks can be executed by pressing <kbd>F1</kbd>, writing `Tasks: Run task` and selecting one of the following:
548+
A template `tasks.json` is included when creating a project using **ESP-IDF: New Project**. These tasks can be executed by pressing <kbd>F1</kbd>, writing `Tasks: Run task` and selecting one of the following:
567549

568550
1. `Build` - Build Project
569551
2. `Set Target to esp32`

README_CN.md

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -165,13 +165,7 @@ ESP-IDF 扩展在 VS Code 底部蓝色窗口的状态栏中提供了一系列命
165165
<td></td>
166166
</tr>
167167
<tr>
168-
<td rowspan=11 align="center">基础命令</td>
169-
<td>展示示例项目</td>
170-
<td>启动 UI 以显示所选框架的示例,可从中创建新项目。此命令将显示扩展中已配置的框架,如果想查看 ESP-Rainmaker 示例,需要先运行 <strong>安装 ESP-Rainmaker</strong> 命令(或设置相应的 idf.espRainmakerPath),然后执行此命令以查看示例。</td>
171-
<td></td>
172-
<td></td>
173-
</tr>
174-
<tr>
168+
<td rowspan=10 align="center">基础命令</td>
175169
<td>设置乐鑫设备目标</td>
176170
<td>该命令为当前项目设置目标 (IDF_TARGET),效果等同于 <strong>idf.py set-target</strong>。例如,若想使用 ESP32 或 ESP32-C3,则需执行此命令。</td>
177171
<td></td>
@@ -233,13 +227,7 @@ ESP-IDF 扩展在 VS Code 底部蓝色窗口的状态栏中提供了一系列命
233227
<td><kbd>Ctrl</kbd> <kbd>E</kbd> <kbd>D</kbd></td>
234228
</tr>
235229
<tr>
236-
<td rowspan=5 align="center">创建项目</td>
237-
<td>展示示例项目</td>
238-
<td>启动 UI 以显示所选框架的示例,可从中创建新项目。此命令将显示扩展中已配置的框架,如果想查看 ESP-Rainmaker 示例,需要先运行 <strong>安装 ESP-Rainmaker</strong> 命令(或设置相应的 idf.espRainmakerPath),然后执行此命令以查看示例。</td>
239-
<td></td>
240-
<td></td>
241-
</tr>
242-
<tr>
230+
<td rowspan=4 align="center">创建项目</td>
243231
<td>基于模板创建新项目</td>
244232
<td>使用扩展中的项目模板来创建一个新的 ESP-IDF 项目。</td>
245233
<td><kbd>⌘</kbd> <kbd>I</kbd> <kbd>C</kbd></td>

docs/LANG_CONTRIBUTE.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ Each file has a key value structure such as:
1212

1313
```json
1414
{
15-
"espIdf.createFiles.title": "ESP-IDF: Create ESP-IDF Project from Extension Template",
1615
"englishTextOrTextId": "translationInNewLanguage"
1716
}
1817
```

docs_espressif/en/additionalfeatures/app-tracing.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ Let's open a ESP-IDF project. For this tutorial we will use the `system/app_trac
99

1010
- Navigate to **View** > **Command Palette**.
1111

12-
- Type **ESP-IDF: Show Examples Projects**, select the command and choose ``Use Current ESP-IDF (/path/to/esp-idf)``.
12+
- Type **ESP-IDF: New Project**, select the command and choose ESP-IDF version to use.
1313

1414
If you don't see the option, please review the setup in :ref:`Install ESP-IDF and Tools <installation>`.
1515

16-
- A window will be open with a list a projects, go the **system** section and choose the ``app_trace_to_host``. You will see a **Create Project Using Example app_trace_to_host** button in the top and a description of the project below. Click the button and the project will be opened in a new window.
16+
- A window will be open with settings to configure the project. Later you can choose from a list a ESP-IDF examples, go the **system** section and choose the ``app_trace_to_host``. You will see a **Create Project Using Example app_trace_to_host** button in the top and a description of the project below. Click the button and the project will be opened in a new window.
1717

1818
.. image:: ../../../media/tutorials/app_trace/app_tracing.png
1919

docs_espressif/en/additionalfeatures/coverage.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ Let's use the ESP-IDF `GCOV Example <https://github.com/espressif/esp-idf/tree/m
1414

1515
- Navigate to **View** > **Command Palette**.
1616

17-
- Type **ESP-IDF: Show Examples Projects** and choose ``Use Current ESP-IDF (/path/to/esp-idf)``.
17+
- Type **ESP-IDF: New Project** and choose ESP-IDF version to use.
1818

1919
If you don't see the option, please review the current ESP-IDF setup in :ref:`Installation <installation>`.
2020

21-
- A window will be open with a list a projects, go the **system** section and choose the ``gcov``. You will see a **Create Project Using Example gcov** button in the top and a description of the project below. Click **Create Project Using Example GCOV** button.
21+
- A window will be open with settings to configure the project. Later you can choose from a list a ESP-IDF examples, go the **system** section and choose the ``gcov``. You will see a **Create Project Using Example gcov** button in the top and a description of the project below. Click **Create Project Using Example GCOV** button.
2222

2323
.. image:: ../../../media/tutorials/coverage/gcov_example.png
2424

docs_espressif/en/additionalfeatures/heap-tracing.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ Let's open a ESP-IDF project. For this tutorial we will use the ``system/sysview
77

88
- Navigate to **View** > **Command Palette**.
99

10-
- Type **ESP-IDF: Show Examples Projects**, select the command and choose ``Use Current ESP-IDF (/path/to/esp-idf)``.
10+
- Type **ESP-IDF: New Project**, select the command and choose ESP-IDF version to use.
1111

1212
If you don't see the option, please review the setup in :ref:`Install ESP-IDF and Tools <installation>`.
1313

14-
- A window will be open with a list a projects, go the **system** section and choose the ``sysview_tracing_heap_log``. You will see a **Create Project Using Example sysview_tracing_heap_log** button in the top and a description of the project below. Click the button and the project will be opened in a new window.
14+
- A window will be open with settings to configure the project. Later you can choose from a list a ESP-IDF examples, go the **system** section and choose the ``sysview_tracing_heap_log``. You will see a **Create Project Using Example sysview_tracing_heap_log** button in the top and a description of the project below. Click the button and the project will be opened in a new window.
1515

1616
.. image:: ../../../media/tutorials/heap_trace/sysview_tracing_heap_log.png
1717

docs_espressif/en/additionalfeatures/install-esp-components.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ For more information, refer to `ESP Component Registry Documentation <https://do
2020
Install Arduino-ESP32 as Component
2121
----------------------------------
2222

23-
The ``ESP-IDF: Add Arduino-ESP32 as ESP-IDF Component`` command adds `Arduino-ESP32 <https://github.com/espressif/arduino-esp32>`_ as an ESP-IDF component in your current directory (``${CURRENT_DIRECTORY}/components/arduino``). You can also use the ``ESP-IDF: Create Project from Extension Template`` command with the ``arduino-as-component`` template to create a new project directory that includes Arduino-ESP32 as an ESP-IDF component.
23+
The ``ESP-IDF: Add Arduino-ESP32 as ESP-IDF Component`` command adds `Arduino-ESP32 <https://github.com/espressif/arduino-esp32>`_ as an ESP-IDF component in your current directory (``${CURRENT_DIRECTORY}/components/arduino``).
2424

2525
.. note::
2626

docs_espressif/en/additionalfeatures/qemu.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ESP-IDF setup can include a fork of `Espressif QEMU fork <https://github.com/esp
1313
Development steps:
1414

1515
1. Prepare a project folder in a container based on the dockerfile in the templates ``.devcontainer`` directory in this repository. For this you can:
16-
- Create a project using **ESP-IDF: New Project**, **ESP-IDF: Show Examples Projects** or **ESP-IDF: Create Project from Extension Template** command which will include the ``.devcontainer`` directory.
16+
- Create a project using **ESP-IDF: New Project** command which will include the ``.devcontainer`` directory.
1717
- Use the **ESP-IDF: Add Docker Container Configuration** command to add the ``.devcontainer`` files to the currently opened project directory.
1818
2. Use the **Remote Containers: Open Folder in Container..** command to open the folder within the container.
1919
3. The **Remote Containers** will build the container from the Dockerfile (if it has not been created before) and install this extension on the container.

docs_espressif/en/commands.rst

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ All commands start with ``ESP-IDF:``.
3434
- Set required values in your project SDKConfig to enable code coverage analysis.
3535
* - Configure project for ESP-Clang
3636
- Configure the current ESP-IDF project to use esp-clang as toolchain to use and configure LLVM Clang extension in settings.json.
37-
* - Create Project from Extension Template
38-
- Create an ESP-IDF project using one of the extension template projects.
3937
* - Create New ESP-IDF Component
4038
- Create a new component in the current directory based on ESP-IDF component template.
4139
* - Dispose of Current SDK Configuration Editor Server Process
@@ -126,8 +124,6 @@ All commands start with ``ESP-IDF:``.
126124
- This will set the target for the current project (IDF_TARGET). Similar to **idf.py set-target**. For example, if you want to use ESP32 or ESP32-C3, you need to execute this command.
127125
* - Set ESP-MATTER Device Path (ESP_MATTER_DEVICE_PATH)
128126
- The **ESP-IDF: Set ESP-MATTER Device Path (ESP_MATTER_DEVICE_PATH)** is used to define the device path for ESP-Matter. ESP-Matter is not supported in Windows.
129-
* - Show Example Projects
130-
- Launch UI to show examples from selected framework and allow you to create a project from them. This command will show frameworks already configured in the extension. To view ESP-Rainmaker examples, you need to run the **Install ESP-Rainmaker** first (or set the equivalent setting idf.espRainmakerPath), and then execute this command to see the examples.
131127
* - Show Ninja Build Summary
132128
- Execute the Chromium ninja-build-summary.py.
133129
* - Size Analysis of the Binaries

0 commit comments

Comments
 (0)