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

Feature/hints viewer #1031

Closed
wants to merge 17 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@ Click <kbd>F1</kbd> to show Visual studio code actions, then type **ESP-IDF** to
| Show ninja build summary | | |
| Size analysis of the binaries | <kbd>⌘</kbd> <kbd>I</kbd> <kbd>S</kbd> | <kbd>Ctrl</kbd> <kbd>E</kbd> <kbd>S</kbd> |
| Remove Editor coverage | | |
| Search Error Hint | | |

# About commands

Expand Down
26 changes: 26 additions & 0 deletions docs/tutorial/hints_viewer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Hints Viewer

This feature enhances your development experience by providing helpful hints for errors detected in your code.

## Features


### Hover Over Errors for Hints
When you hover over errors in the text editor, if the error matches one listed in our hints.yml file, a hint is displayed.
<p>
<img src="../../media/tutorials/hints_viewer/hover.gif" alt="Gif of hovering feature">
</p>

### Bottom Panel for Hints
1. **Automatic Updates:** The ESP-IDF bottom panel automatically updates to display hints based on the errors in your currently opened file.
<br>
<p>
<img src="../../media/tutorials/hints_viewer/bottom_panel.png" alt="Screenshot of bottom panel">
</p>

2. **Manual Search:** You can manually search for hints by copy pasting errors.
<br>
<p>
<img src="../../media/tutorials/hints_viewer/manual_search.gif" alt="Gif of manual search">
</p>

2 changes: 2 additions & 0 deletions i18n/en/package.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@
"param.enableStatusBar.title": "Enable ESP-IDF extension status bar items",
"param.enableSizeTaskAfterBuildTask.title": "Enable IDF Size task after build task",
"param.sdkconfigFilePath.title": "sdkconfig file absolute path",
"param.hintsViewer.title": "Path to the hints file.",
"espIdf.searchError.title": "ESP-IDF: Search Error Hint",
"view.components.name": "Project Components",
"configuration.title": "ESP-IDF",
"espIdf.apptrace.archive.refresh.title": "Refresh Trace Archive List",
Expand Down
2 changes: 2 additions & 0 deletions i18n/es/package.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@
"param.notificationSilentMode": "Deshabilitar las notificaciones de la extensión ESP-IDF (excluyendo notficaciones de errores)",
"param.saveScope": "Dónde se almacena las configuraciones para comandos ESP-IDF usando enum vscode.ConfigurationTarget. Global = 1, Workspace= 2, WorkspaceFolder=3",
"param.rainmaker.api.server_url": "URL del servidor ESP-Rainmaker API",
"param.hintsViewer.title": "Ruta al archivo de sugerencias.",
"espIdf.searchError.title": "ESP-IDF: Sugerencia de error de búsqueda",
"esp.rainmaker.backend.sync.title": "Sincronizar con el servidor ESP-Rainmaker",
"esp.rainmaker.backend.connect.title": "Conéctese con el servidor ESP-Rainmaker",
"esp.rainmaker.backend.logout.title": "Desvincular cuenta ESP-Rainmaker",
Expand Down
2 changes: 2 additions & 0 deletions i18n/ru/package.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@
"param.rainmaker.api.server_url": "URL облачного сервера ESP-Rainmaker",
"param.customTerminalExecutable.title": "Пользовательский исполняемый файл для задач расширения",
"param.customTerminalExecutableArgs.title": "Список аргументов для пользовательского исполняемого файла для задач расширения",
"param.hintsViewer.title": "Путь к файлу подсказок",
"espIdf.searchError.title": "ESP-IDF: Подсказка об ошибке поиска",
"esp.rainmaker.backend.sync.title": "Синхронизация с облачным сервером ESP-Rainmaker",
"esp.rainmaker.backend.connect.title": "Подключится к облачному серверу ESP-Rainmaker",
"esp.rainmaker.backend.logout.title": "Отвязать аккаунт Rainmaker",
Expand Down
2 changes: 2 additions & 0 deletions i18n/zh-CN/package.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@
"param.rainmaker.api.server_url": "ESP-Rainmaker 云服务器地址",
"param.customTerminalExecutable.title": "用于扩展任务的自定义可执行文件",
"param.customTerminalExecutableArgs.title": "扩展任务的自定义可执行文件的参数列表",
"param.hintsViewer.title": "提示文件的路径",
"espIdf.searchError.title": "ESP-IDF: 搜索错误提示",
"esp.rainmaker.backend.sync.title": "同步到 ESP-Rainmaker 云服务器",
"esp.rainmaker.backend.connect.title": "连接到 ESP-Rainmaker 云服务器",
"esp.rainmaker.backend.logout.title": "取消关联 ESP-Rainmaker 帐户",
Expand Down
Binary file added media/tutorials/hints_viewer/bottom_panel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/tutorials/hints_viewer/hover.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/tutorials/hints_viewer/manual_search.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 35 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,13 @@
}
],
"viewsContainers": {
"panel": [
{
"id": "espIdfHints",
"title": "ESP-IDF",
"icon": "media/dep.svg"
}
],
"activitybar": [
{
"id": "idfViewController",
Expand All @@ -145,6 +152,13 @@
]
},
"views": {
"espIdfHints": [
{
"id": "errorHints",
"name": "Error Hints",
"title": "Error Hints ($errorHints.count$)"
}
],
"debug": [
{
"name": "ESP Peripheral View",
Expand Down Expand Up @@ -199,7 +213,18 @@
}
],
"menus": {
"editor/title": [
{
"command": "espIdf.searchError",
"group": "navigation"
}
],
"view/title": [
{
"command": "espIdf.searchError",
"group": "navigation",
"when": "view == errorHints"
},
{
"command": "espIdf.partition.table.refresh",
"group": "navigation",
Expand Down Expand Up @@ -263,6 +288,9 @@
}
],
"editor/context": [
{
"command": "espIdf.searchError"
},
{
"command": "espIdf.searchInEspIdfDocs",
"group": "navigation",
Expand Down Expand Up @@ -906,6 +934,10 @@
}
],
"commands": [
{
"command": "espIdf.searchError",
"title": "%espIdf.searchError.title%"
},
{
"command": "espIdf.createFiles",
"title": "%espIdf.createFiles.title%"
Expand Down Expand Up @@ -1449,6 +1481,7 @@
"gulp-typescript": "^5.0.0-alpha.3",
"html-webpack-plugin": "^4.0.0",
"husky": "^6.0.0",
"js-yaml": "^4.1.0",
"jsonic": "^1.0.1",
"mocha": "^9.2.0",
"mocha-junit-reporter": "^1.23.3",
Expand Down Expand Up @@ -1482,6 +1515,7 @@
"webpack-cli": "^4.9.2"
},
"dependencies": {
"@types/js-yaml": "^4.0.5",
"ansi-to-html": "^0.6.11",
"axios": "^0.21.2",
"bignumber.js": "^9.0.1",
Expand Down Expand Up @@ -1510,6 +1544,7 @@
"winston": "^2.3.1",
"ws": "^7.4.6",
"xml2js": "^0.5.0",
"yarn": "^1.22.19",
"yauzl": "^2.10.0"
},
"alias": {
Expand Down
2 changes: 2 additions & 0 deletions package.nls.json
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@
"param.enableCCache.title": "Enable CCache in build task",
"param.enableSizeTaskAfterBuildTask.title": "Enable IDF Size task after build task",
"param.sdkconfigFilePath.title": "sdkconfig file absolute path",
"param.hintsViewer.title": "Path to the hints file.",
"espIdf.searchError.title": "ESP-IDF: Search Error Hint",
"esp.rainmaker.backend.sync.title": "Sync with ESP-Rainmaker Cloud Server",
"esp.rainmaker.backend.connect.title": "Connect with ESP-Rainmaker Cloud Server",
"esp.rainmaker.backend.logout.title": "Unlink Rainmaker Account",
Expand Down
1 change: 0 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
gcovr
idf-component-manager
websocket_client
3 changes: 2 additions & 1 deletion schema.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@
"param.deleteComponentsOnFullClean",
"param.enableStatusBar.title",
"param.enableSizeTaskAfterBuildTask.title",
"param.sdkconfigFilePath.title"
"param.sdkconfigFilePath.title",
"espIdf.searchError.title"
]
}
Loading