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

Docs migration #1076

Merged
merged 21 commits into from
Nov 14, 2024
Merged

Docs migration #1076

merged 21 commits into from
Nov 14, 2024

Conversation

kolipakakondal
Copy link
Collaborator

@kolipakakondal kolipakakondal commented Nov 7, 2024

Description

Here is the preview docs link for this PR
https://preview-docs.espressif.com/projects/espressif-ide/en/1076-merge/index.html

Fixes # (IEP-1095)

Type of change

  • This change requires a documentation update

How has this been tested?

Verify the docs here https://preview-docs.espressif.com/projects/espressif-ide/en/1076-merge/index.html

Dependent components impacted by this PR:

NA

Checklist

  • PR Self Reviewed
  • Applied Code formatting
  • Added Documentation
  • Added Unit Test
  • Verified on all platforms - Windows,Linux and macOS

Summary by CodeRabbit

Release Notes

  • New Features

    • Enhanced documentation for Espressif-IDE, including links to Eclipse CDT and ESP-IDF resources.
    • Introduction of new sections for hardware and software prerequisites, installation guides, and additional features.
    • Added comprehensive guides for new functionalities like Application Level Tracing, Device Firmware Upgrade (DFU), and the NVS Table Editor.
    • New documentation on the Wokwi Simulator, Clang toolchain configuration, and the NVS Table Editor.
    • Added detailed instructions for using the ESP-IDF Serial Monitor and configuring environment variables.
  • Documentation Updates

    • Restructured installation and configuration documentation for clarity.
    • Expanded FAQ section with troubleshooting tips and installation guidance.
    • New guides for monitoring output, debugging projects, and using the ESP-IDF Serial Monitor.
    • Enhanced sections on building projects, connecting devices, and flashing applications.
  • Bug Fixes

    • Improved clarity on version compatibility and installation procedures across various platforms.

Copy link

coderabbitai bot commented Nov 7, 2024

Walkthrough

The pull request introduces several updates to the Espressif-IDE documentation. Key changes include the addition of compatibility notes for different versions of Espressif-IDE and ESP-IDF, an increase in the table of contents depth, and revisions to installation instructions across various operating systems. A new document detailing the Windows Offline Installer process has also been added, along with enhancements to the prerequisites documentation, specifying software and hardware requirements.

Changes

File Change Summary
docs/en/index.rst Added compatibility note for Espressif-IDE versions; increased table of contents max depth from 1 to 2.
docs/en/installation.rst Revised installation instructions for clarity; added note for Eclipse CDT users; updated Windows and macOS sections.
docs/en/prerequisites.rst Expanded introduction; added hardware prerequisites; updated Python version requirement to 3.12.
docs/en/windowsofflineinstaller.rst New document outlining the installation process for the Windows Offline Installer, detailing steps and components.
docs/en/additionalfeatures.rst Added multiple new entries related to IDE features, including LSP C/C++ Editor and CMake Editor.
docs/en/additionalfeatures/appleveltracing.rst New documentation for Application Level Tracing feature.
docs/en/additionalfeatures/application-size-analysis.rst Expanded documentation for Application Size Analysis editor.
docs/en/additionalfeatures/clangtoolchain.rst New documentation for configuring the Clang toolchain.
docs/en/additionalfeatures/cmakeeditor.rst New documentation for the CMake Editor Plug-in.
docs/en/additionalfeatures/configureenvvariables.rst New section on configuring environment variables.
docs/en/additionalfeatures/coredumpdebugging.rst New documentation for core dump debugging.
docs/en/additionalfeatures/dfu.rst New documentation for Device Firmware Upgrade (DFU) through USB.
docs/en/additionalfeatures/esp-terminal.rst Expanded documentation for the ESP-IDF Terminal.
docs/en/additionalfeatures/gdbstubdebugging.rst New documentation for GDBStub debugging feature.
docs/en/additionalfeatures/heaptracing.rst New documentation for heap tracing.
docs/en/additionalfeatures/install-esp-components.rst Expanded documentation for installing ESP-IDF components.
docs/en/additionalfeatures/lspeditor.rst New documentation for the LSP C/C++ Editor.
docs/en/additionalfeatures/nvspartitioneditor.rst New documentation for the NVS Table Editor.
docs/en/additionalfeatures/partitiontableeditor.rst New documentation for the Partition Table Editor.
docs/en/additionalfeatures/switchlanguage.rst New documentation for switching languages in the IDE.
docs/en/additionalfeatures/wokwisimulator.rst New documentation for the Wokwi Simulator.
docs/en/additionalfeatures/writebinarytoflash.rst New documentation for writing binary data to flash.
docs/en/buildproject.rst Added new section for building a project and custom build directory configuration.
docs/en/configureproject.rst Updated documentation for the sdkconfig file and its usage.
docs/en/connectdevice.rst Expanded instructions for connecting a device and selecting the ESP target.
docs/en/debugproject.rst Expanded documentation for debugging an ESP-IDF project.
docs/en/downloads.rst New section added for Espressif-IDE downloads with direct links.
docs/en/faqs.rst Restructured and enhanced FAQ document with new sections.
docs/en/flashdevice.rst Updated instructions for flashing applications, including JTAG options.
docs/en/marketplaceupdate.rst New document for installing and upgrading the Espressif-IDE Eclipse Plugin.
docs/en/monitoroutput.rst New section for configuring the ESP-IDF Serial Monitor.
docs/en/openocddebugging.rst New documentation for setting up OpenOCD debugging environment.
docs/en/startproject.rst New section for starting a project with step-by-step instructions.
docs/en/troubleshooting.rst New section for troubleshooting build errors and accessing logs.

Possibly related PRs

  • Documentation for ESP-IDF Manager view and some minor fixes #953: This PR includes updates to the installation instructions for ESP-IDF in the Espressif IDE, which relates to the changes made in the main PR regarding installation documentation enhancements.
  • Update docs #978: This PR updates the minimum Python version requirement and adjusts instructions for installing ESP-IDF in the Espressif IDE, which aligns with the main PR's focus on improving installation documentation.
  • IEP-1279 Verify clangd editor features and find the gaps #1069: This PR adds a new section about the LSP Editor in the README, which complements the main PR's updates to the documentation regarding features and functionalities of the Espressif-IDE.

Suggested labels

needs translation:CN

Suggested reviewers

  • AndriiFilippov
  • sigmaaa

Poem

🐇 In the garden of code, we hop with glee,
Updating our docs for all to see.
With notes and links, we pave the way,
For developers bright, to code and play!
So grab your tools, let’s start the fun,
With Espressif-IDE, the work is done! 🌼


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@kolipakakondal kolipakakondal marked this pull request as draft November 7, 2024 15:47
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Outside diff range and nitpick comments (12)
docs/en/installation.rst (4)

3-3: Add specific download location information.

The instruction should include the specific URL or location where users can download the Espressif-IDE. Consider adding a direct link or reference to the official download page.

-To begin, download the Espressif-IDE for your respective operating system. 
+To begin, download the Espressif-IDE for your respective operating system from the `official Espressif website <https://github.com/espressif/idf-eclipse-plugin/releases/latest>`_.

Line range hint 11-13: Restructure macOS section for clarity and correctness.

The current section has several issues:

  1. Duplicates the introduction text unnecessarily
  2. Contains a grammatical error (period breaking the prerequisites sentence)
  3. Has an unlinked reference to "here"

Suggested restructuring:

-To begin, download the Espressif-IDE for your respective operating system. Following this, launch the IDE and proceed to install the necessary ESP-IDF and related tools. Please note that prior to launching the IDE, you must ensure that Java, Python, and Git are installed as prerequisites. and available in the system path.
-If you plan to use Eclipse CDT and update it through the IDF Eclipse plugin, please ensure that you download the supported version for your operating system from here.
+Prerequisites
+^^^^^^^^^^^^
+Before launching the Espressif-IDE, ensure the following tools are installed and available in your system path:
+
+* Java
+* Python
+* Git
+
+Installation Steps
+^^^^^^^^^^^^
+1. Download the Espressif-IDE from the `official releases page <https://github.com/espressif/idf-eclipse-plugin/releases/latest>`_.
+2. Launch the IDE to install ESP-IDF and related tools.
+
+Alternative Installation (Eclipse CDT)
+^^^^^^^^^^^^
+If you prefer using Eclipse CDT with the IDF Eclipse plugin, download the supported Eclipse version from the `Eclipse downloads page <https://www.eclipse.org/downloads/packages/release>`_.

Line range hint 15-16: Add proper Linux installation instructions.

The Linux section lacks actual installation instructions. Consider adding:

  1. System requirements
  2. Step-by-step installation process
  3. Common troubleshooting steps

Would you like me to help draft a comprehensive Linux installation guide section?


Line range hint 1-16: Consider adding a consistent structure across all OS sections.

To improve the documentation's overall quality and maintainability, consider:

  1. Using consistent section hierarchy (Prerequisites, Installation Steps, Verification)
  2. Adding version compatibility information
  3. Including troubleshooting sections for common issues
  4. Adding a "What's Next" section to guide users after installation

This will help maintain consistency across the documentation and improve the user experience.

docs/en/prerequisites.rst (4)

3-4: LGTM! Consider adding version compatibility information.

The introduction clearly explains what Espressif-IDE is and its purpose. Consider adding the version compatibility information mentioned in the AI summary (Espressif-IDE v3.0+ supports ESP-IDF v5.x+) to help users ensure compatibility upfront.


14-15: Enhance PATH configuration guidance.

The note about PATH configuration could be more helpful by:

  1. Providing commands or links to verify the PATH setup
  2. Including basic troubleshooting steps

Consider expanding with:

 .. note:: 
     Ensure that Java, Python, and Git are correctly set up and available in the system's PATH environment variable.
+    You can verify the setup using these commands:
+    
+    .. code-block:: bash
+    
+        java --version
+        python --version
+        git --version

20-22: Enhance hardware specifications.

The hardware prerequisites could be more specific to help users make informed decisions:

  1. List supported ESP32 development board models
  2. Specify USB cable requirements (e.g., USB-A to Micro-B, USB-C)
  3. Add minimum computer specifications (RAM, disk space)

1-22: Consider adding a table of contents.

The document is well-structured but could benefit from a table of contents for better navigation, especially as it grows. RST supports this with the :local: directive.

Add this after the title:

 Prerequisites
 ===============================
+.. contents::
+   :local:
+   :depth: 1
docs/en/index.rst (1)

43-43: LGTM! Enhanced documentation structure with increased TOC depth.

The increased table of contents depth improves navigation by making subsections more visible. Consider adding a brief description before each major section in the TOC to provide context for readers.

Example enhancement:

.. toctree::
    :maxdepth: 2

    Prerequisites - Required software and hardware setup <prerequisites>
    Installation - Step-by-step installation guide <installation>
    Start a Project - Create your first ESP-IDF project <startproject>
    ...
docs/en/windowsofflineinstaller.rst (3)

18-18: Improve readability of the introduction paragraph.

The current paragraph is a run-on sentence with grammatical issues. Consider restructuring it for better clarity:

-As Installer bundles, all the required components and tools including stable esp-idf so people behind corporate firewalls can use the whole solution out-of-box. This also configures all the required build environment variables and tool paths as you launch the IDE. All you could do is to get started with your project directly without manually configuring anything. This will give you a big boost to your productivity!
+The installer bundles all required components and tools, including a stable ESP-IDF version, allowing users behind corporate firewalls to use the complete solution out-of-the-box. Upon launching the IDE, it automatically configures all necessary build environment variables and tool paths. You can start your project immediately without any manual configuration, significantly boosting your productivity!

126-126: Use relative documentation links instead of GitHub links.

The link to the "New Project" section points to GitHub README. Consider using a relative link to the corresponding documentation section for better maintainability.

-You can find more details for creating a project in the `New Project <https://github.com/espressif/idf-eclipse-plugin#create-a-new-project>`_ section of the documentation.
+You can find more details for creating a project in the :ref:`new-project` section of the documentation.

20-20: Consider adding essential documentation sections.

The documentation would benefit from additional sections:

  1. System Requirements: Specify minimum hardware and software requirements.
  2. Troubleshooting: Common installation issues and their solutions.
  3. Uninstallation Instructions: How to cleanly remove the software.

Would you like me to provide a template for these sections?

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 56fcb66 and 3a622cd.

⛔ Files ignored due to path filters (155)
  • media/.DS_Store is excluded by !**/.DS_Store
  • media/10_serial_terminal.png is excluded by !**/*.png
  • media/11_launch_configuration.png is excluded by !**/*.png
  • media/12_flashing.png is excluded by !**/*.png
  • media/13_sdkconfig_editor.png is excluded by !**/*.png
  • media/1_idffeature_install.png is excluded by !**/*.png
  • media/2_environment_pref.png is excluded by !**/*.png
  • media/3_new_project_default.png is excluded by !**/*.png
  • media/4_new_project_templates.png is excluded by !**/*.png
  • media/5_import_project.png is excluded by !**/*.png
  • media/6_core_build_toolchains.png is excluded by !**/*.png
  • media/7_cmake_toolchain.png is excluded by !**/*.png
  • media/8_launch_target.png is excluded by !**/*.png
  • media/9_cmake_build.png is excluded by !**/*.png
  • media/AppLvlTracing_1.png is excluded by !**/*.png
  • media/AppLvlTracing_2.png is excluded by !**/*.png
  • media/AppLvlTracing_3.png is excluded by !**/*.png
  • media/AppLvlTracing_4.png is excluded by !**/*.png
  • media/AppLvlTracing_5.png is excluded by !**/*.png
  • media/CDT_Build_Console.png is excluded by !**/*.png
  • media/CoreDumpDebugging/sdkconfig_editor.png is excluded by !**/*.png
  • media/ESP-IDF_Components/components_window.png is excluded by !**/*.png
  • media/ESP-IDF_Components/install_components.png is excluded by !**/*.png
  • media/GDBStubDebugging/code_example.png is excluded by !**/*.png
  • media/GDBStubDebugging/debug_panic_mode.png is excluded by !**/*.png
  • media/GDBStubDebugging/sdkconfig_editor.png is excluded by !**/*.png
  • media/GDBStubDebugging/sdkconfig_editor_panic_behavior.png is excluded by !**/*.png
  • media/HeapTracing/analysis_context_menu.png is excluded by !**/*.png
  • media/HeapTracing/breakpoint_properties_actions.png is excluded by !**/*.png
  • media/HeapTracing/breakpoint_properties_actions_start_attached.png is excluded by !**/*.png
  • media/HeapTracing/breakpoint_properties_actions_stop_attached.png is excluded by !**/*.png
  • media/HeapTracing/breakpoint_properties_popup.png is excluded by !**/*.png
  • media/HeapTracing/callers_view.png is excluded by !**/*.png
  • media/HeapTracing/details_tab_tracing.png is excluded by !**/*.png
  • media/HeapTracing/heap_tracing_action.png is excluded by !**/*.png
  • media/HeapTracing/overview_tab_tracing.png is excluded by !**/*.png
  • media/HeapTracing/overview_tab_tracing_contexts.png is excluded by !**/*.png
  • media/HeapTracing/show_callers_context_menu.png is excluded by !**/*.png
  • media/HeapTracing/sysview_heap_log_file.PNG is excluded by !**/*.png
  • media/IDF_tools_console.png is excluded by !**/*.png
  • media/JtagFlash_1.png is excluded by !**/*.png
  • media/JtagFlash_2.png is excluded by !**/*.png
  • media/JtagFlash_3.png is excluded by !**/*.png
  • media/OpenOCDDebug_1.png is excluded by !**/*.png
  • media/OpenOCDDebug_10.png is excluded by !**/*.png
  • media/OpenOCDDebug_11.png is excluded by !**/*.png
  • media/OpenOCDDebug_12.png is excluded by !**/*.png
  • media/OpenOCDDebug_13.png is excluded by !**/*.png
  • media/OpenOCDDebug_2.png is excluded by !**/*.png
  • media/OpenOCDDebug_3.png is excluded by !**/*.png
  • media/OpenOCDDebug_4.png is excluded by !**/*.png
  • media/OpenOCDDebug_5.png is excluded by !**/*.png
  • media/OpenOCDDebug_6.png is excluded by !**/*.png
  • media/OpenOCDDebug_7.png is excluded by !**/*.png
  • media/OpenOCDDebug_8.png is excluded by !**/*.png
  • media/OpenOCDDebug_9.png is excluded by !**/*.png
  • media/Preference_recorder.png is excluded by !**/*.png
  • media/ToolsManager/ESP-IDF_Configuration_Download_or_Use_ESP-IDF.png is excluded by !**/*.png
  • media/ToolsManager/ESP-IDF_Manager_Editor_Screen.png is excluded by !**/*.png
  • media/ToolsManager/ESP-IDF_Manager_Multiple_versions.png is excluded by !**/*.png
  • media/ToolsManager/Tool_installed_and_activated.png is excluded by !**/*.png
  • media/ToolsValidation/EnvSettings.png is excluded by !**/*.png
  • media/ToolsValidation/PathVarEdit.png is excluded by !**/*.png
  • media/ToolsValidation/PathVarEdited.png is excluded by !**/*.png
  • media/Update_plugins.png is excluded by !**/*.png
  • media/buildconfiguration_clang.png is excluded by !**/*.png
  • media/change_language.png is excluded by !**/*.png
  • media/cland_starting.png is excluded by !**/*.png
  • media/clangd/build_settings_clang.png is excluded by !**/*.png
  • media/clangd/cdt_indexer_disable.png is excluded by !**/*.png
  • media/clangd/cdtlsp_updatesite.png is excluded by !**/*.png
  • media/clangd/clang_compiler_config.png is excluded by !**/*.png
  • media/clangd/clangd_config.png is excluded by !**/*.png
  • media/clangd/clangd_context_help.png is excluded by !**/*.png
  • media/clangd/clangd_editor.png is excluded by !**/*.png
  • media/clangd/new_cmake_clang_toolchain_config.png is excluded by !**/*.png
  • media/clangd_consolelog_config.png is excluded by !**/*.png
  • media/clangd_generic_editor.png is excluded by !**/*.png
  • media/clangd_preference.png is excluded by !**/*.png
  • media/clangd_proposals.png is excluded by !**/*.png
  • media/clangd_updatesite.png is excluded by !**/*.png
  • media/cmake_editor_ca.png is excluded by !**/*.png
  • media/cmake_editor_preferences.png is excluded by !**/*.png
  • media/code_analysis_disable_symbols.png is excluded by !**/*.png
  • media/custombuilddir.png is excluded by !**/*.png
  • media/espressifide_splash.bmp is excluded by !**/*.bmp
  • media/export_log.png is excluded by !**/*.png
  • media/icons/build.png is excluded by !**/*.png
  • media/icons/debug.png is excluded by !**/*.png
  • media/icons/delete.png is excluded by !**/*.png
  • media/icons/run.png is excluded by !**/*.png
  • media/icons/terminate.png is excluded by !**/*.png
  • media/idf_terminal.png is excluded by !**/*.png
  • media/idf_update_site_install.png is excluded by !**/*.png
  • media/linux-logo.png is excluded by !**/*.png
  • media/macos-logo.png is excluded by !**/*.png
  • media/market_place.png is excluded by !**/*.png
  • media/sizeanalysis_details.png is excluded by !**/*.png
  • media/sizeanalysis_overview.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_0.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_1.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_10.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_11.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_12.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_13.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_14.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_2.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_3.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_4.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_5.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_6.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_7.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_8.png is excluded by !**/*.png
  • media/windows-installation/ide_windows_installer_9.png is excluded by !**/*.png
  • media/windows-logo.png is excluded by !**/*.png
  • media/zh/10_serial_terminal.png is excluded by !**/*.png
  • media/zh/11_launch_configuration.png is excluded by !**/*.png
  • media/zh/1_idffeature_install.png is excluded by !**/*.png
  • media/zh/2_environment_pref.png is excluded by !**/*.png
  • media/zh/3_new_project_default.png is excluded by !**/*.png
  • media/zh/4_new_project_templates.png is excluded by !**/*.png
  • media/zh/5_import_project.png is excluded by !**/*.png
  • media/zh/8_launch_target.png is excluded by !**/*.png
  • media/zh/ESP-IDF_Components/components_window.png is excluded by !**/*.png
  • media/zh/ESP-IDF_Components/install_components.png is excluded by !**/*.png
  • media/zh/GDBStubDebugging/code_example.png is excluded by !**/*.png
  • media/zh/GDBStubDebugging/debug_panic_mode.png is excluded by !**/*.png
  • media/zh/GDBStubDebugging/sdkconfig_editor.png is excluded by !**/*.png
  • media/zh/GDBStubDebugging/sdkconfig_editor_panic_behavior.png is excluded by !**/*.png
  • media/zh/HeapTracing/analysis_context_menu.png is excluded by !**/*.png
  • media/zh/HeapTracing/breakpoint_properties_actions.png is excluded by !**/*.png
  • media/zh/HeapTracing/breakpoint_properties_actions_start_attached.png is excluded by !**/*.png
  • media/zh/HeapTracing/breakpoint_properties_actions_stop_attached.png is excluded by !**/*.png
  • media/zh/HeapTracing/breakpoint_properties_popup.png is excluded by !**/*.png
  • media/zh/HeapTracing/callers_view.png is excluded by !**/*.png
  • media/zh/HeapTracing/details_tab_tracing.png is excluded by !**/*.png
  • media/zh/HeapTracing/heap_tracing_action.png is excluded by !**/*.png
  • media/zh/HeapTracing/overview_tab_tracing.png is excluded by !**/*.png
  • media/zh/HeapTracing/overview_tab_tracing_contexts.png is excluded by !**/*.png
  • media/zh/HeapTracing/show_callers_context_menu.png is excluded by !**/*.png
  • media/zh/HeapTracing/sysview_heap_log_file.PNG is excluded by !**/*.png
  • media/zh/IDF_tools_console.png is excluded by !**/*.png
  • media/zh/ToolsManager/git_python_selection.png is excluded by !**/*.png
  • media/zh/ToolsManager/install_tools_manager.png is excluded by !**/*.png
  • media/zh/ToolsManager/manage_tools_installation.png is excluded by !**/*.png
  • media/zh/ToolsManager/select_or_download_new_esp_idf.png is excluded by !**/*.png
  • media/zh/change_language.png is excluded by !**/*.png
  • media/zh/cmake_editor_preferences.png is excluded by !**/*.png
  • media/zh/esp_idf_dir.png is excluded by !**/*.png
  • media/zh/espidf_download.png is excluded by !**/*.png
  • media/zh/export_log.png is excluded by !**/*.png
  • media/zh/idf_terminal.png is excluded by !**/*.png
  • media/zh/idf_update_site_install.png is excluded by !**/*.png
  • media/zh/sizeanalysis_details.png is excluded by !**/*.png
  • media/zh/sizeanalysis_overview.png is excluded by !**/*.png
📒 Files selected for processing (4)
  • docs/en/index.rst (2 hunks)
  • docs/en/installation.rst (1 hunks)
  • docs/en/prerequisites.rst (1 hunks)
  • docs/en/windowsofflineinstaller.rst (1 hunks)
🔇 Additional comments (2)
docs/en/prerequisites.rst (1)

10-10: ⚠️ Potential issue

Verify Python version requirement.

Python 3.12 is a very recent version. This strict requirement might be unnecessarily restrictive and could cause adoption barriers. Consider if supporting Python 3.8+ (as mentioned in the AI summary) would be sufficient, as it's more widely available in stable OS distributions.

docs/en/index.rst (1)

9-11: LGTM! Clear and well-placed version compatibility note.

The version compatibility information is crucial for users and is appropriately placed after the introduction. The note follows proper RST formatting and provides clear guidance for version selection.


Windows
-------------------------
Download the Espressif-IDE with ESP-IDF Offline Windows Installer and follow the instructions provided here. This guide will walk you through the installation process for Java, Git, CMake, ESP-IDF, IDF Tools, Device Drivers, and Espressif-IDE to help you get started.
Download the `Espressif-IDE with ESP-IDF Offline Windows Installer <https://dl.espressif.com/dl/esp-idf/>`_ and follow the instructions provided :ref:`here <windowsofflineinstaller>`. This guide will walk you through the installation process for Java, Git, CMake, ESP-IDF, IDF Tools, Device Drivers, and Espressif-IDE to help you get started.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix incomplete download URL.

The download URL for the Windows Installer appears to be incomplete. Please update it with the correct full URL.

Additionally, consider adding version information to help users identify the appropriate installer version.

Comment on lines +43 to +44
.. image:: ../../media/windows-installation/ide_windows_installer_1.png
:alt: drawing
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Improve image accessibility and consistency.

Several images lack meaningful alt text, which is important for accessibility. Additionally, only the last image has a width specification.

For each image, add descriptive alt text and consider standardizing image widths. Example:

-   :alt: drawing
+   :alt: Language selection dialog showing available languages
+   :width: 400

Also applies to: 51-52, 57-58, 63-64, 71-72, 79-82, 87-90, 97-98, 105-106, 113-114, 118-119, 128-130

.. image:: ../../media/windows-installation/ide_windows_installer_7.png
:alt: drawing

Step 6: Finalize the installation
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix step numbering in installation steps.

There's a duplicate "Step 6" in the installation steps. This should be "Step 7", and subsequent steps should be renumbered accordingly.

-Step 6: Finalize the installation
+Step 7: Finalize the installation
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Step 6: Finalize the installation
Step 7: Finalize the installation

Download
--------

You can download the latest version of the installer from `this <https://dl.espressif.com/dl/esp-idf/>`_ and run the installer. You can find installer name with `espressif-ide-setup-2.10.0-with-esp-idf-5.0.1` or similar name based on the version of the installer and the version of the ESP-IDF.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Improve download section maintainability and clarity.

The current download instructions have several areas for improvement:

  1. The hardcoded version numbers (2.10.0 and 5.0.1) will become outdated.
  2. The download link could be more specific.
  3. The version selection guidance could be clearer.
-You can download the latest version of the installer from `this <https://dl.espressif.com/dl/esp-idf/>`_ and run the installer. You can find installer name with `espressif-ide-setup-2.10.0-with-esp-idf-5.0.1` or similar name based on the version of the installer and the version of the ESP-IDF.
+You can download the latest version of the installer from the `Espressif Download Center <https://dl.espressif.com/dl/esp-idf/>`_. Look for an installer named ``espressif-ide-setup-<IDE_VERSION>-with-esp-idf-<IDF_VERSION>`` (e.g., ``espressif-ide-setup-2.10.0-with-esp-idf-5.0.1``). Choose the version that matches your development requirements.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
You can download the latest version of the installer from `this <https://dl.espressif.com/dl/esp-idf/>`_ and run the installer. You can find installer name with `espressif-ide-setup-2.10.0-with-esp-idf-5.0.1` or similar name based on the version of the installer and the version of the ESP-IDF.
You can download the latest version of the installer from the `Espressif Download Center <https://dl.espressif.com/dl/esp-idf/>`_. Look for an installer named ``espressif-ide-setup-<IDE_VERSION>-with-esp-idf-<IDF_VERSION>`` (e.g., ``espressif-ide-setup-2.10.0-with-esp-idf-5.0.1``). Choose the version that matches your development requirements.

@kolipakakondal kolipakakondal marked this pull request as ready for review November 13, 2024 10:09
@kolipakakondal kolipakakondal changed the title WIP: Docs Updates Docs migration Nov 13, 2024
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 35

🧹 Outside diff range and nitpick comments (62)
docs/en/additionalfeatures/install-esp-components.rst (3)

5-7: Consider enhancing the installation steps documentation.

While the current steps are clear, consider these improvements for better user experience:

  1. Use numbered steps instead of bullet points for sequential instructions
  2. Add information about prerequisites (if any)
  3. Include troubleshooting information for common installation issues

Example structure:

-* Right-click on the project in ``Project Explorer`` where you want to add the component, and select ``ESP-IDF > Install ESP-IDF Components``.
-* A new window will open, displaying all available components to be installed.
-* In the window, you can click on the ``Install`` button to add the selected component to the project. To access the README file for a component, click ``More Info``, which opens the README in your browser.
+Prerequisites
+------------
+- Ensure you have an active internet connection
+- Verify you have sufficient permissions to modify the project
+
+Installation Steps
+----------------
+1. Right-click on the project in ``Project Explorer`` where you want to add the component
+2. Select ``ESP-IDF > Install ESP-IDF Components``
+3. In the components window that opens:
+   - Click ``Install`` to add a component to your project
+   - Click ``More Info`` to view the component's README in your browser
+
+Troubleshooting
+-------------
+If the installation fails, verify:
+- Your internet connection
+- The component's compatibility with your ESP-IDF version

12-12: Consider restructuring the UI state information.

The information about already added components would be more visible as a note or tip block.

-Already added components are also shown, but the ``Install`` button text changes to ``Already Added`` and is disabled.
+.. note::
+   Components that are already added to your project will still be shown in the list, but their ``Install`` button will be disabled and display ``Already Added``.

1-12: Consider adding version compatibility information.

Given that version compatibility between Espressif-IDE and ESP-IDF is mentioned in the PR objectives, consider adding a compatibility note section to this document. This would help users understand any version-specific requirements or limitations when installing components.

Suggested addition:

Version Compatibility
-------------------
.. note::
   Component installation is supported in Espressif-IDE version X.Y and above, with ESP-IDF version A.B and above. Some components may have specific version requirements. Please check the component's documentation for details.
docs/en/configureproject.rst (2)

4-4: Consider adding technical details about the sdkconfig file format.

The introduction would benefit from mentioning that sdkconfig is a text-based configuration file that can be edited either through the SDK Configuration Editor or manually with a text editor.

-Project configuration is stored in a single file called ``sdkconfig`` located in the root directory of the project. This configuration file can be modified using the ``SDK Configuration Editor``.
+Project configuration is stored in a single text-based file called ``sdkconfig`` located in the root directory of the project. This configuration file can be modified using the ``SDK Configuration Editor`` or manually with any text editor.

16-17: Enhance image accessibility and path reference.

The image reference could be improved:

  1. Use a more descriptive alt text that explains what users can expect to see
  2. Consider using a more stable path reference instead of relative parent paths
-.. image:: ../../media/13_sdkconfig_editor.png
-   :alt: SDK Configuration Editor
+.. image:: /media/13_sdkconfig_editor.png
+   :alt: SDK Configuration Editor interface showing configuration options and search functionality
docs/en/additionalfeatures/coredumpdebugging.rst (2)

1-5: Consider adding TOC and version information.

To improve document navigation and clarity:

  1. Add a local table of contents (:local:)
  2. Include ESP-IDF version compatibility information
 .. _coredumpdebugging:

 Core Dump Debugging
 ====================
+
+.. contents:: Table of Contents
+    :local:
+    :depth: 1
+
+Compatibility
+------------
+
+This feature is available for ESP-IDF v4.x and later versions.

14-14: Add image caption and alt text for accessibility.

Enhance the image reference with proper caption and alt text.

-.. image:: ../../../media/CoreDumpDebugging/sdkconfig_editor.png
+.. figure:: ../../../media/CoreDumpDebugging/sdkconfig_editor.png
+    :alt: Core dump configuration in SDK Configuration Editor
+    :align: center
+
+    SDK Configuration Editor showing core dump settings
docs/en/connectdevice.rst (4)

3-4: Enhance UI navigation clarity

The instruction to click the "gear icon" needs more context about its location in the UI. Consider specifying where users can find this icon (e.g., in the toolbar, next to the launch target dropdown, etc.).

-Next, select the ESP target for your project (ignore this step if it was already set during project creation) and the serial port of your device by clicking on the gear icon. By default, the launch target dropdown will display all the supported targets provided by the plugin.
+Next, select the ESP target for your project (ignore this step if it was already set during project creation) and the serial port of your device. By default, the launch target dropdown will display all the supported targets provided by the plugin. To configure these settings, click the gear icon located in the toolbar next to the launch target dropdown.

7-8: Expand launch configuration dialog details

Consider adding more details about other important settings available in the launch configuration dialog to help users make informed choices.

-Clicking on the gear icon will open the launch configuration dialog. Here, you can select the serial port for your device.
+Clicking on the gear icon will open the launch configuration dialog. Here, you can configure various device settings:
+
+* Serial port selection for your device
+* Flash download mode
+* Flash frequency
+* Other device-specific parameters

13-19: Enhance custom target configuration details

The custom target section would benefit from:

  1. A complete list of available properties
  2. Example values for each property
  3. Common troubleshooting tips
 If you need to add a target that is not available in the launch target dropdown, please follow the instructions below:

 1. Click on the launch target dropdown.
 2. Select ``New Launch Target``.
 3. Select ``ESP Target``.
-4. Provide properties for the target where you would like to launch the application. Enter a ``Name`` for the target and select the ``Serial Port`` to which your ESP device is connected on your machine.
+4. Configure the following properties for your target:
+   * ``Name``: A unique identifier for your target (e.g., "ESP32_DevKit")
+   * ``Serial Port``: The port where your ESP device is connected (e.g., COM3 on Windows, /dev/ttyUSB0 on Linux)
+   * ``Flash Frequency``: The flash memory frequency (default: 40m)
+   * ``Flash Mode``: The flash download mode (default: dio)
+
+Common Issues:
+* If the serial port is not visible, ensure your device is properly connected and drivers are installed
+* If you encounter connection issues, try a different USB cable or port

20-20: Add next steps section

The document ends abruptly. Consider adding a "Next Steps" section to guide users to the next logical actions after connecting their device, such as building and flashing their first project.

-
+Next Steps
+----------------
+
+After successfully connecting your device, you can:
+
+* Build your project using the hammer icon in the toolbar
+* Flash your application using the "Flash" button
+* Monitor device output using the serial monitor
+
+For more details on building and flashing, see :ref:`build-and-flash`.
docs/en/prerequisites.rst (1)

7-12: Consider adding more specific hardware details

While the current hardware prerequisites are clear, consider adding:

  1. List of supported ESP32 development boards or a link to compatible hardware
  2. Minimum computer specifications (RAM, disk space, processor requirements)
  3. Specific USB Type C board models for better clarity
docs/en/additionalfeatures.rst (1)

6-25: Consider grouping related features together

The current ordering of features seems somewhat random. Consider reorganizing the entries into logical groups:

  1. Editor Features

    • LSP C/C++ Editor
    • CMake Editor
  2. Analysis & Debugging

    • ESP-IDF Application Size Analysis
    • Heap Tracing
    • ESP-IDF OpenOCD Debugging
    • GDB Stub Debugging
    • Core Dump Debugging
    • Application Level Tracing
  3. Tools & Utilities

    • ESP-IDF Terminal
    • Partition Table Editor
    • NVS Partition Editor
    • Write Binary to Flash
    • DFU Flashing
    • Wokwi Simulator
  4. Configuration & Installation

    • Install ESP-IDF Components
    • Switch Between Languages
    • Configure CDT Build Environment Variables
    • Configuring Clang Toolchain
    • Update Site Installation Guide
    • Windows Offline Installer

Would you like me to provide the reorganized structure in a diff format?

docs/en/debugproject.rst (2)

8-12: Consider adding version compatibility and hardware requirements

While the current prerequisites are clear, consider adding:

  1. ESP-IDF version compatibility information
  2. Required hardware components (e.g., specific debug probe models)
  3. Supported ESP chip families

13-14: Enhance driver installation note with specific device information

Consider specifying which USB devices (e.g., FTDI, CP210x) require Zadig drivers to help users identify their hardware setup correctly.

docs/en/additionalfeatures/partitiontableeditor.rst (2)

1-4: Enhance the introduction with more context and version information.

Consider expanding the introduction to include:

  • A brief explanation of what a partition table is and why it's important
  • Key benefits of using the UI editor compared to manual CSV editing
  • Supported ESP-IDF versions for this feature
 Partition Table Editor UI for ESP-IDF
 =====================================

-The Partition Table Editor command allows you to edit your `partition table <https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/partition-tables.html>`_ in a more convenient way, where you can see the supported types and subtypes and monitor the correctness of the entered data.
+The Partition Table Editor provides a graphical interface to edit your `partition table <https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/partition-tables.html>`_, which defines the organization of the SPI flash memory in your ESP32 device. This UI tool simplifies the partition management process by:
+
+* Providing a visual representation of flash memory layout
+* Offering dropdown menus for supported partition types and subtypes
+* Validating entries in real-time to prevent common errors
+* Eliminating the need for manual CSV file editing
+
+.. note::
+   This feature is supported in ESP-IDF version X.Y and later.

6-20: Expand the steps section with more detailed guidance.

The steps would be more helpful with:

  • Expected outcomes after each action
  • Common validation errors and their solutions
  • Next steps after saving (e.g., build process, flash command)
 Steps
 -----

 1. Go to *Project Explorer* and open any IDF Project where you want to create a customized partition table.
+   The project must be configured with ESP-IDF support.
+
 2. In *Project Explorer*, right-click on the project and select *ESP-IDF > Partition Table Editor*:

    .. image:: https://user-images.githubusercontent.com/24419842/216105408-ca2e73ce-5df3-4bdd-ac61-b7265deb9b44.png
       :alt: Partition Table Editor menu option

    When you open the partition table editor for the selected project, you will see the standard editable content. Errors, if any, will be highlighted. You can hover your mouse over them to get hints about the issues:

    .. image:: https://user-images.githubusercontent.com/24419842/216106804-703b2eb4-b141-48de-8559-0599f072219f.png
       :alt: Error hints in Partition Table Editor

+   Common validation errors include:
+   * Overlapping partition addresses
+   * Invalid partition sizes
+   * Missing required partition types
+
 3. Click *Save* or *Save and Quit* to save your changes.
+
+After saving:
+* The partition table will be validated
+* If valid, the project will automatically use the new partition layout
+* You may need to clean and rebuild your project for changes to take effect
docs/en/buildproject.rst (2)

13-17: Standardize quotation marks in UI element references

For consistency, use double backticks for all UI element references.

-1. Select a project from the ``Project Explorer``.
-2. Select ``Run`` from the first dropdown, which is called ``Launch Mode``.
-3. Select your application from the second dropdown, which is called ``Launch Configuration`` (Auto-detected).
-4. Select a target from the third dropdown, which is called ``Launch Target``.
+1. Select a project from the ``Project Explorer``.
+2. Select ``Run`` from the first dropdown, which is called ``Launch Mode``.
+3. Select your application from the second dropdown, which is called ``Launch Configuration`` (Auto-detected).
+4. Select a target from the third dropdown, which is called ``Launch Target``.

29-29: Add platform-specific path examples

Consider adding examples for Windows paths to improve cross-platform clarity.

-3. In the *Additional CMake Arguments* section, provide a custom build directory by adding arguments `-B <custom build path>` with an absolute path. The customized build directory path can be within the project or in any other location in the file system. For example: `-B /Users/myUser/esp/generated`.
+3. In the *Additional CMake Arguments* section, provide a custom build directory by adding arguments `-B <custom build path>` with an absolute path. The customized build directory path can be within the project or in any other location in the file system. For example:
+   * Unix/macOS: `-B /Users/myUser/esp/generated`
+   * Windows: `-B C:\Users\myUser\esp\generated`
docs/en/additionalfeatures/gdbstubdebugging.rst (3)

1-5: Enhance the introduction with more context

The introduction could be more comprehensive by explaining:

  • What GDBStub debugging is and its advantages
  • When to use it compared to other debugging methods
  • Prerequisites or limitations of this debugging approach
 GDBStub Debugging
 =================
-You can now use the GDBStub debugging inside our Eclipse plugin to help you diagnose and debug issues on chips via Eclipse when it is in panic mode.
+GDBStub debugging is a lightweight debugging mechanism that allows you to diagnose and debug issues on ESP chips when they enter panic mode. Unlike OpenOCD debugging, GDBStub doesn't require additional hardware and works directly through the serial port, making it particularly useful for:
+
+- Debugging crash dumps and panics
+- Investigating system failures in production environments
+- Debugging scenarios where JTAG/OpenOCD setup isn't possible
+
+This guide explains how to enable and use GDBStub debugging in the Eclipse plugin.

9-11: Add details about accessing sdkconfig file

The instruction should clarify:

  • Where to find the sdkconfig file if it doesn't exist
  • What to do if the configuration editor doesn't open
-1. Launch the `sdkconfig` in project root by double-clicking on it which will open the configuration editor.
+1. Launch the `sdkconfig` file in your project root directory by double-clicking on it. This will open the configuration editor.
+   
+   Note: If the sdkconfig file doesn't exist, build your project first using the ESP-IDF menu commands or run `idf.py menuconfig` in the terminal.
+   If the configuration editor doesn't open, right-click the file and select "Open With > SDKConfig Editor".

47-48: Add information about post-debugging steps

The documentation should explain what users should do after stopping the debug session.

-To exit the debug session simply press the `stop` button.
+To exit the debug session:
+
+1. Press the `stop` button in the debug toolbar
+2. Switch back to the C/C++ perspective if needed
+3. To resume normal operation, either:
+   - Use the IDF menu to restart the chip
+   - Stop and restart the serial monitor
docs/en/additionalfeatures/nvspartitioneditor.rst (3)

8-11: Enhance the CSV example with more comprehensive cases

While the current CSV example shows basic usage, it would be more helpful to demonstrate:

  • Different data types (u16, u32, i8, i16, i32, etc.)
  • String encoding variations
  • Multiple namespaces
  • Blob type usage

Consider expanding the example:

   key,type,encoding,value      <-- column header (must be the first line)
   namespace_name,namespace,,   <-- First entry must be of type "namespace"
   key1,data,u8,1
   key2,file,string,/path/to/file
+  key3,data,u16,12345
+  key4,data,i32,-42
+  key5,data,string,hello
+  second_ns,namespace,,
+  temp,data,u32,25
+  blob1,data,blob,0123456789abcdef

13-13: Add version compatibility information

Since this feature is based on ESP-IDF's NVS Partition Generator Utility, it would be helpful to specify which versions of ESP-IDF are supported.

Consider adding version information:

 .. note:: This is based on ESP-IDF `NVS Partition Generator Utility <https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/storage/nvs_partition_gen.html>`_.
+          Supported in ESP-IDF v4.x and later versions.

4-4: Add link to NVS architecture documentation

The introduction references the NVS architecture but doesn't provide enough context about what NVS is or its purpose.

Consider expanding the introduction:

-The NVS Table Editor helps create a binary file based on key-value pairs provided in a CSV file. The resulting binary file is compatible with the NVS architecture as defined in `ESP-IDF Non Volatile Storage <https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/storage/nvs_flash.html>`_. The expected CSV format is:
+The NVS (Non-Volatile Storage) Table Editor is a tool that helps create binary files for storing key-value pairs in ESP32's non-volatile storage. These key-value pairs are provided in a CSV file format, and the resulting binary file is compatible with the NVS architecture as defined in `ESP-IDF Non Volatile Storage <https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/storage/nvs_flash.html>`_. NVS is commonly used for storing calibration data, configuration settings, and other persistent application data. The expected CSV format is:
docs/en/startproject.rst (4)

12-26: Consider enhancing the project creation instructions.

While the basic steps are clear, consider adding:

  1. Information about where to specify the project location
  2. Any default settings or configurations users should be aware of
  3. Making the note about spaces more prominent, perhaps with a warning directive instead of a note
 Create a New Project
 ---------------------
 To create a new Project in the Espressif-IDE, follow the steps below:

 #. Go to ``File > New > Espressif IDF Project``.
 #. Provide the ``Project name``
+#. Choose the project location (avoid paths containing spaces)
+#. Review the default project settings
 #. Click ``Finish``.

-.. Note::
+.. Warning::
     The ESP-IDF build system does not support spaces in the paths to either ESP-IDF or to projects.

27-44: Enhance template-related documentation and build process explanation.

Consider adding:

  1. A brief overview of available templates and their purposes
  2. Steps to initiate the first build
  3. More context about why headers appear unresolved initially
 Create a New Project Using ESP-IDF Templates
 ---------------------------------------------
 Espressif-IDE also offers the ability to create a project using the ESP-IDF templates, which can be accessed by following the steps below:

+Common templates include:
+- ``hello_world``: A basic project to get started
+- ``peripherals``: Examples for various peripheral interfaces
+- ``protocols``: Examples for communication protocols
+
 #. Go to ``File > New > Espressif IDF Project``.
 #. Choose a target board from the ``Select Project Target`` dropdown.
 #. Click on ``Create a project using one of the templates`` from the Templates section.
 #. Select the template you want to use and that automatically fills the project name based on the template selected.
 #. Click Finish.
+#. To resolve the unresolved headers, right-click on the project and select ``Build Project``.

 .. note::
-    You may see numerous unresolved headers and symbols errors in the editor, and these will only be resolved after the build process.
+    Initially, you may see numerous unresolved headers and symbols errors in the editor. This is normal and occurs because the project's build system needs to generate necessary configuration files. These errors will be resolved automatically after the first successful build.

45-60: Add validation steps and troubleshooting information for project import.

The import instructions would benefit from:

  1. Steps to validate the imported project
  2. Common issues and their solutions
  3. Information about project configuration files
 Import an Existing Project
 ---------------------------
-To import an existing project into the Espressif-IDE, please make sure that is a CMake project. Follow the steps below:
+To import an existing project into the Espressif-IDE, ensure it meets these prerequisites:
+
+- The project must be a CMake-based ESP-IDF project
+- Contains a valid ``CMakeLists.txt`` file
+- Contains required ESP-IDF configuration files (``sdkconfig``)
+
+Follow the steps below:

 #. Right-click in the ``Project Explorer``.
 #. Select ``Import..`` Menu.
 #. Select ``Existing IDF Project`` from ``Espressif`` import wizard menu list.
 #. Click ``Next``.
 #. Click on ``Browse...`` to choose an existing project location directory.
 #. Provide ``Project name`` if you wish you have a different name.
 #. Click ``Finish`` to import the selected project into Eclipse workspace as a CMake project.
+
+After import, verify the project setup:
+
+#. Ensure the project appears in Project Explorer
+#. Verify the project target matches your development board
+#. Build the project to validate the configuration
+
+Common issues:
+
+- If the project fails to import, verify the CMakeLists.txt file
+- If build fails, check the ESP-IDF path and environment settings

1-62: Consider adding a troubleshooting section.

The documentation is well-structured, but would benefit from a dedicated troubleshooting section at the end to address common issues users might encounter during project creation or import.

Consider adding:

  1. A "Troubleshooting" section with common issues and solutions
  2. Links to related documentation (e.g., ESP-IDF CMake documentation)
  3. A "Next Steps" section guiding users to subsequent documentation pages
docs/en/downloads.rst (3)

1-6: LGTM! Consider adding version information.

The header structure and introduction are well-formatted. Consider adding a note about which IDE versions these download links correspond to (e.g., latest stable release, nightly builds, etc.).


8-18: Enhance security and usability of download links.

While the table structure is good, consider these improvements:

  1. Add SHA256/MD5 checksums for security verification
  2. Specify if these are stable or nightly build links
  3. Fix the inconsistent column alignment in the table

Here's a suggested improvement:

 +--------------+-------------------------------------------------------------------------------------------------------------------------------------------+
-| OS           | Download                                                                                                                                  |
+| OS           | Download                                                                                                                                    |
 +==============+===========================================================================================================================================+
-| Windows      | `Espressif-IDE-win32.win32.x86_64 <https://dl.espressif.com/dl/idf-eclipse-plugin/ide/Espressif-IDE-win32.win32.x86_64/latest>`_          |
+| Windows      | `Espressif-IDE-win32.win32.x86_64 <https://dl.espressif.com/dl/idf-eclipse-plugin/ide/Espressif-IDE-win32.win32.x86_64/latest>`_          |
+|              | SHA256: ``                                                                                                                                  |
 +--------------+-------------------------------------------------------------------------------------------------------------------------------------------+

21-33: Enhance macOS security notice clarity.

The security notice provides helpful information, but could be improved:

  1. Add a note about requiring Terminal access
  2. Clarify that download paths may vary
  3. Consider adding troubleshooting steps if commands fail

Add this content before the first command:

.. note::
   These commands must be run in Terminal.app, which requires administrator privileges. 
   Adjust the paths according to your actual download location.
.github/workflows/pr-comment.yml (2)

7-9: Consider adding explicit permissions declaration.

While the job configuration is correct, it's recommended to explicitly declare the required GitHub token permissions for better security and clarity.

Add the following permission configuration:

jobs:
  pr_comment:
+   permissions:
+     issues: write
+     pull-requests: write
    if: github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success'
    runs-on: ubuntu-latest

13-15: Enhance attribution comment for better documentation.

While the code origin is noted, it would be helpful to include the license type and version of the referenced code explicitly.

-          # This snippet is public-domain, taken from
-          # https://github.com/oprypin/nightly.link/blob/master/.github/workflows/pr-comment.yml
+          # This snippet is adapted from:
+          # Source: https://github.com/oprypin/nightly.link/blob/master/.github/workflows/pr-comment.yml
+          # License: Public Domain
+          # Version/Commit: <add commit hash or version>
docs/en/additionalfeatures/appleveltracing.rst (2)

4-4: Consider using version-independent links.

The example project links are hardcoded to specific ESP-IDF versions (v5.0 and v5.1). Consider using version-independent links or documenting the version compatibility matrix to make maintenance easier.


23-30: Add a practical example of the start command.

While the command syntax and arguments are well documented, adding a concrete example would help users understand the practical usage better. Consider adding something like:

  - ``skip_size``: Bytes to skip at the start. Default: 0.
+ 
+ Example:
+ ```
+ start file:///home/user/trace.txt 1 1000000 5 0 0
+ ```
+ This example starts tracing with:
+ - Output file: /home/user/trace.txt
+ - Poll period: 1ms
+ - Maximum trace size: 1MB
+ - Stop timeout: 5 seconds
+ - No wait for halt
+ - No skip size
docs/en/troubleshooting.rst (4)

18-18: Consider restructuring the prerequisites section for better clarity.

The prerequisites section contains important version compatibility information that could be more prominent. Consider restructuring it as follows:

-**Prerequisites:** The ``hints.yml`` file is available from ESP-IDF v5.0 and higher. If you are using an older version, you can manually download the ``hints.yml`` file from `here <https://github.com/espressif/esp-idf/blob/master/tools/idf_py_actions/hints.yml>`_ and save it to ``esp-idf/tools/idf_py_actions/``. To download the file, right-click the ``Raw`` button and select ``Save as...``.
+**Prerequisites:**
+
+* ESP-IDF v5.0 or higher: The ``hints.yml`` file is included by default
+* ESP-IDF versions below v5.0:
+   1. Download ``hints.yml`` from `ESP-IDF GitHub repository <https://github.com/espressif/esp-idf/blob/master/tools/idf_py_actions/hints.yml>`_ (use "Raw" button > "Save as...")
+   2. Save the file to ``esp-idf/tools/idf_py_actions/`` directory

41-42: Consider adding more context about error logs.

The section could benefit from additional information about:

  1. Log retention policy (how long logs are kept, max file size)
  2. Common scenarios where error logs are particularly useful

59-61: Enhance Console View documentation with additional details.

Consider adding information about:

  1. Different types of messages that appear in the console (build output, debug messages, etc.)
  2. How to filter console output for specific types of messages
  3. How to clear the console

77-79: Add common troubleshooting scenarios for IDF tools installation.

Consider enhancing this section with:

  1. Common error patterns during installation and their solutions
  2. Information about log persistence (whether logs are preserved between sessions)
  3. Steps to take when installation fails
docs/en/marketplaceupdate.rst (1)

38-52: Consider adding a marketplace screenshot

For consistency with other sections and better user guidance, consider adding a screenshot of the Eclipse Marketplace search results showing the ESP-IDF Eclipse Plugin.

docs/en/installation.rst (2)

25-27: Consider separating macOS and Linux instructions.

While the instructions are similar, each platform might have specific requirements or steps. Consider:

  1. Separating into distinct sections
  2. Specifying minimum versions for prerequisites (Java, Python, Git)
  3. Adding platform-specific installation commands or package names

47-49: Consider making the Python note more prominent.

This is a crucial note about Python virtual environments that could prevent installation issues. Consider:

  1. Moving it earlier in the document
  2. Making it a warning instead of a note
  3. Adding it to the prerequisites section
docs/en/flashdevice.rst (5)

10-13: Enhance image accessibility with a more descriptive alt text

The current alt text "flash" is too generic. Consider providing a more descriptive alt text that explains what the image shows.

-   :alt: flash
+   :alt: Flash operation launch configuration interface

8-8: Add UI location details for the launch button

The instruction could be more specific about where to find the launch button in the IDE interface.

-Flash operation can be initiated with just a click of a launch button |run_icon| and it's auto-configured to flash the application with the default flash command, i.e., ``idf.py -p PORT flash``.
+Flash operation can be initiated with just a click of the launch button |run_icon| in the Eclipse toolbar. The button is auto-configured to flash the application using the default flash command: ``idf.py -p PORT flash``.

30-30: Use platform-agnostic paths in examples

The example path is macOS-specific. Consider providing examples for different operating systems or using a more generic path format.

-#. The flash command looks like this: ``/Users/user-name/esp/esp-idf/tools/idf.py -p /dev/cu.SLAB_USBtoUART flash``.
+#. The flash command looks like this:
+   * Windows: ``%userprofile%\esp\esp-idf\tools\idf.py -p COM1 flash``
+   * Linux/macOS: ``$HOME/esp/esp-idf/tools/idf.py -p /dev/ttyUSB0 flash``

69-71: Avoid hardcoding version numbers in multiple places

The OpenOCD version is repeated multiple times. Consider using a variable or note to make version updates easier to maintain.

-* Download the required `v0.10.0-esp32-20201202 <https://github.com/espressif/openocd-esp32/releases/tag/v0.10.0-esp32-20201202>`_ version or a higher one for JTAG Flashing.
-* Go to `.../.espressif/tools/openocd-esp32/`, create a new folder named ``v0.10.0-esp32-20201202``, and extract OpenOCD there.
-* The resulting path to OpenOCD might look like: ``.../.espressif/tools/openocd-esp32/v0.10.0-esp32-20201202/openocd-esp32/...``
+.. |openocd_version| replace:: v0.10.0-esp32-20201202
+
+* Download the required |openocd_version| or a higher version from the `releases page <https://github.com/espressif/openocd-esp32/releases/tag/|openocd_version|>`_ for JTAG Flashing.
+* Go to the `.espressif/tools/openocd-esp32/` directory in your home folder, create a new folder with the version number (e.g., |openocd_version|), and extract OpenOCD there.
+* The resulting path to OpenOCD will be relative to your home directory: `.espressif/tools/openocd-esp32/|openocd_version|/openocd-esp32/`

78-78: Consider adding a troubleshooting section

The documentation would benefit from a troubleshooting section that covers common issues users might encounter during the flashing process, such as:

  • Port access permission issues
  • Common JTAG connection problems
  • Flash verification failures

Would you like me to help draft a troubleshooting section?

docs/en/additionalfeatures/heaptracing.rst (5)

1-6: Add ESP-IDF version compatibility information.

Consider adding information about which ESP-IDF versions support this feature and any version-specific considerations. This helps users understand compatibility requirements upfront.


41-41: Add context for line number reference.

The reference to "line 102" is arbitrary without context. Consider:

  • Removing the specific line number reference
  • Or explaining the significance of this location
  • Or using a more descriptive way to identify the stopping point

55-55: Expand on symbols file requirements.

The note about symbols file needs more details:

  • Explain what a symbols file is
  • Specify how to ensure the project is built with symbols
  • Add any relevant build configuration steps

74-74: Clarify memory leak detection explanation.

The description of potential memory leaks could be more precise. Consider:

  • Explaining what constitutes a "potential" memory leak
  • Describing the conditions that trigger the orange highlighting
  • Adding best practices for confirming actual leaks

1-87: Documentation is comprehensive and well-structured.

The documentation provides a thorough guide to heap tracing functionality with clear instructions and helpful screenshots. While some minor clarifications would be beneficial, the overall quality is good.

Consider enhancing with:

  • A troubleshooting section for common issues
  • Example scenarios or use cases
  • Performance impact considerations
docs/en/openocddebugging.rst (6)

6-6: Remove extra blank line

There's an unnecessary extra blank line that should be removed for consistency.


16-16: Add blank line after sentence

In RST, sentences ending with periods should be followed by a blank line for proper formatting.

-Please navigate through each tab and configure project specific settings. 
+Please navigate through each tab and configure project specific settings.
+

28-28: Enhance "Config options" explanation

The reference to "Config options" needs more context. Consider adding:

  1. A brief explanation of what these options are
  2. A link to the section where these options are detailed

89-89: Use consistent terminology

The document switches between "application" and "project". Stick to one term throughout the documentation for clarity.


112-118: Consider adding keyboard shortcuts

The customization section could be enhanced by adding common debugging keyboard shortcuts (e.g., step over, step into, continue, etc.) which are essential for efficient debugging.


120-126: Enhance troubleshooting section

Consider adding common version compatibility issues and their solutions, as mentioned in the PR objectives about compatibility notes for different versions of Espressif-IDE and ESP-IDF.

docs/en/faqs.rst (3)

131-140: Enhance launch targets section with platform-specific details.

Consider adding:

  1. Platform-specific workspace locations
  2. Warning about manually editing preference files
  3. Instructions for backing up preferences before editing
 How to delete Launch Targets from the Eclipse
 ---------------------------------------------
 There is no UI option to delete launch targets directly from Eclipse, however, this can be achieved by following the below instructions:
-Go to the Eclipse workspace directory. For example: In my case `/Users/myName/myTesteclipseWorkspace`.
+Go to the Eclipse workspace directory:
+- Windows: `%USERPROFILE%\eclipse-workspace`
+- Linux: `~/eclipse-workspace`
+- macOS: `~/Eclipse`
+
+Note: Back up your workspace settings before proceeding.

141-147: Add log file location and retention details.

Please add:

  1. Default log file location for each platform
  2. Log rotation/cleanup policy
  3. Maximum log file size

1-153: Overall documentation quality review.

While the FAQ content is comprehensive, consider:

  1. Adding a table of contents for better navigation
  2. Including version information in the header
  3. Adding cross-references to related documentation
  4. Implementing a consistent format for command examples
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 3a622cd and 4413040.

⛔ Files ignored due to path filters (3)
  • media/3_new_project_default.png is excluded by !**/*.png
  • media/espressif-ide.png is excluded by !**/*.png
  • media/newproject_menu.png is excluded by !**/*.png
📒 Files selected for processing (35)
  • .github/workflows/pr-comment.yml (1 hunks)
  • docs/en/additionalfeatures.rst (1 hunks)
  • docs/en/additionalfeatures/appleveltracing.rst (1 hunks)
  • docs/en/additionalfeatures/application-size-analysis.rst (1 hunks)
  • docs/en/additionalfeatures/clangtoolchain.rst (1 hunks)
  • docs/en/additionalfeatures/cmakeeditor.rst (1 hunks)
  • docs/en/additionalfeatures/configureenvvariables.rst (1 hunks)
  • docs/en/additionalfeatures/coredumpdebugging.rst (1 hunks)
  • docs/en/additionalfeatures/dfu.rst (1 hunks)
  • docs/en/additionalfeatures/esp-terminal.rst (1 hunks)
  • docs/en/additionalfeatures/gdbstubdebugging.rst (1 hunks)
  • docs/en/additionalfeatures/heaptracing.rst (1 hunks)
  • docs/en/additionalfeatures/install-esp-components.rst (1 hunks)
  • docs/en/additionalfeatures/lspeditor.rst (1 hunks)
  • docs/en/additionalfeatures/nvspartitioneditor.rst (1 hunks)
  • docs/en/additionalfeatures/partitiontableeditor.rst (1 hunks)
  • docs/en/additionalfeatures/switchlanguage.rst (1 hunks)
  • docs/en/additionalfeatures/wokwisimulator.rst (1 hunks)
  • docs/en/additionalfeatures/writebinarytoflash.rst (1 hunks)
  • docs/en/buildproject.rst (1 hunks)
  • docs/en/configureproject.rst (1 hunks)
  • docs/en/connectdevice.rst (1 hunks)
  • docs/en/debugproject.rst (1 hunks)
  • docs/en/downloads.rst (1 hunks)
  • docs/en/faqs.rst (1 hunks)
  • docs/en/flashdevice.rst (1 hunks)
  • docs/en/index.rst (2 hunks)
  • docs/en/installation.rst (1 hunks)
  • docs/en/marketplaceupdate.rst (1 hunks)
  • docs/en/monitoroutput.rst (1 hunks)
  • docs/en/openocddebugging.rst (1 hunks)
  • docs/en/prerequisites.rst (1 hunks)
  • docs/en/startproject.rst (1 hunks)
  • docs/en/troubleshooting.rst (1 hunks)
  • docs/en/windowsofflineinstaller.rst (1 hunks)
✅ Files skipped from review due to trivial changes (11)
  • docs/en/additionalfeatures/application-size-analysis.rst
  • docs/en/additionalfeatures/clangtoolchain.rst
  • docs/en/additionalfeatures/cmakeeditor.rst
  • docs/en/additionalfeatures/configureenvvariables.rst
  • docs/en/additionalfeatures/dfu.rst
  • docs/en/additionalfeatures/esp-terminal.rst
  • docs/en/additionalfeatures/lspeditor.rst
  • docs/en/additionalfeatures/switchlanguage.rst
  • docs/en/additionalfeatures/wokwisimulator.rst
  • docs/en/additionalfeatures/writebinarytoflash.rst
  • docs/en/monitoroutput.rst
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/en/index.rst
  • docs/en/windowsofflineinstaller.rst
🧰 Additional context used
🪛 yamllint
.github/workflows/pr-comment.yml

[error] 62-62: no new line character at the end of file

(new-line-at-end-of-file)

🔇 Additional comments (23)
docs/en/additionalfeatures/install-esp-components.rst (2)

3-4: LGTM! Clear introduction with proper link formatting.

The introduction effectively explains the purpose and includes a well-formatted link to the ESP-IDF Component Registry.


9-11: Verify the image file and its accessibility.

Let's ensure the image file exists and follows documentation standards.

✅ Verification successful

Image file and reference verified successfully.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify image file existence and path
# Expected result: Image file should exist and be accessible

# Check if the image file exists
if fd -p "media/ESP-IDF_Components/components_window.png"; then
    echo "✓ Image file exists"
else
    echo "✗ Image file not found"
fi

# Check if there are any broken image references
rg -l "\.\.\/\.\.\/\.\.\/media\/ESP-IDF_Components\/components_window\.png" | while read -r file; do
    echo "Found reference in: $file"
done

Length of output: 381


Script:

#!/bin/bash
# Description: Verify broken image references by searching for the image path
# Expected result: List of files referencing the image or confirmation that none are found

# Corrected rg command with proper pattern
rg -l '../../media/ESP-IDF_Components/components_window.png' || echo "No broken image references found."

Length of output: 114

docs/en/configureproject.rst (1)

9-14: Verify menu items and add platform-specific details.

The instructions need verification and could be enhanced:

  1. Verify if "Load sdkconfig" is the exact menu item text across all supported IDE versions
  2. Add what happens if sdkconfig is missing when opened
  3. Consider adding platform-specific notes (Windows/Linux/macOS differences)
✅ Verification successful

Load sdkconfig menu item verified.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for references to the "Load sdkconfig" menu item in source code
rg -i "load.?sdkconfig" --type java --type xml

Length of output: 1323

docs/en/prerequisites.rst (1)

3-3: LGTM: Clear and concise introduction

The introduction effectively communicates the document's purpose and scope.

docs/en/additionalfeatures.rst (1)

6-25: Verify the existence of all referenced documentation files

Let's ensure all the newly added documentation files exist in their respective locations.

✅ Verification successful

All referenced documentation files exist.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check if all referenced documentation files exist

# Extract the file paths and check their existence
echo "Checking for missing documentation files..."
for path in \
    "docs/en/additionalfeatures/lspeditor.rst" \
    "docs/en/additionalfeatures/cmakeeditor.rst" \
    "docs/en/additionalfeatures/heaptracing.rst" \
    "docs/en/openocddebugging.rst" \
    "docs/en/additionalfeatures/gdbstubdebugging.rst" \
    "docs/en/additionalfeatures/coredumpdebugging.rst" \
    "docs/en/additionalfeatures/appleveltracing.rst" \
    "docs/en/additionalfeatures/partitiontableeditor.rst" \
    "docs/en/additionalfeatures/nvspartitioneditor.rst" \
    "docs/en/additionalfeatures/writebinarytoflash.rst" \
    "docs/en/additionalfeatures/dfu.rst" \
    "docs/en/additionalfeatures/wokwisimulator.rst" \
    "docs/en/additionalfeatures/switchlanguage.rst" \
    "docs/en/additionalfeatures/configureenvvariables.rst" \
    "docs/en/additionalfeatures/clangtoolchain.rst" \
    "docs/en/marketplaceupdate.rst" \
    "docs/en/windowsofflineinstaller.rst"; do
    if [ ! -f "$path" ]; then
        echo "Missing: $path"
    fi
done

Length of output: 14593

docs/en/debugproject.rst (3)

4-7: LGTM: Image directive is properly configured

The debug icon image directive is well-structured with appropriate height and alignment settings.


32-32: LGTM: Cross-reference is properly formatted

The reference to additional debugging documentation is well-structured.


1-32: Verify cross-reference validity

Let's ensure the referenced section exists and is properly linked.

✅ Verification successful

Cross-reference is valid

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the referenced OpenOCDDebugging section exists in other RST files
rg -t rst "^\.\. _OpenOCDDebugging:" docs/

Length of output: 95

docs/en/buildproject.rst (4)

1-36: Documentation structure and content look good!

The documentation is well-organized, providing clear instructions for both basic build setup and advanced configurations. The inclusion of visual aids and step-by-step instructions makes it user-friendly.


35-36: Verify the custom build directory screenshot

Let's ensure the referenced screenshot exists at the specified path.

#!/bin/bash
# Description: Verify the existence of the custom build directory screenshot
# Expected: Image file should exist at the specified path

fd --type f "custombuilddir.png" media/

20-20: Verify the build process screenshot

Let's ensure the referenced screenshot exists at the specified path.

#!/bin/bash
# Description: Verify the existence of the build process screenshot
# Expected: Image file should exist at the specified path

fd --type f "9_cmake_build.png" media/

4-7: Verify the build icon image path

Let's ensure the referenced build icon image exists at the specified path.

✅ Verification successful

Build icon image path verified

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the existence of the build icon image
# Expected: Image file should exist at the specified path

fd --type f "build.png" media/icons/

Length of output: 156


Script:

#!/bin/bash
# Description: Search for build.png in the entire repository
# Expected: Image file build.png should exist somewhere in the repository

fd --type f "build.png"

Length of output: 141

docs/en/startproject.rst (1)

1-10: LGTM! Well-structured introduction and navigation.

The section is properly organized with clear navigation and well-formatted references.

docs/en/downloads.rst (1)

1-33: Verify documentation coverage for dependent components.

The PR mentions Component 1 and Component 2 as dependent components, but this documentation doesn't address their specific requirements or compatibility.

Consider adding a "Requirements" or "Compatibility" section that addresses:

  • Dependencies on Component 1 and Component 2
  • Version compatibility matrix
  • Platform-specific requirements
.github/workflows/pr-comment.yml (1)

1-5: LGTM: Workflow trigger configuration is appropriate.

The workflow is correctly configured to trigger upon completion of the CI workflow.

docs/en/additionalfeatures/appleveltracing.rst (1)

1-4: LGTM! Clear title and introduction.

The section follows RST documentation standards and provides appropriate external references.

docs/en/troubleshooting.rst (1)

1-11: LGTM! Well-structured TOC with proper RST syntax.

The document structure follows RST best practices with proper section references and clear hierarchy.

docs/en/marketplaceupdate.rst (2)

1-12: LGTM! Well-structured document header and TOC

The document structure follows RST best practices with proper reference labels and a clear table of contents.


24-24: ⚠️ Potential issue

Fix RST URL syntax and verify accessibility

The URLs are using incorrect RST syntax with angle brackets. Additionally, we should verify these URLs are accessible.

Fix the URL syntax:

-    * For the stable release: `<https://dl.espressif.com/dl/idf-eclipse-plugin/updates/latest/>`_.
+    * For the stable release: `https://dl.espressif.com/dl/idf-eclipse-plugin/updates/latest/`_
-   * For Beta version: `<https://dl.espressif.com/dl/idf-eclipse-plugin/updates/beta/>`_.
+   * For Beta version: `https://dl.espressif.com/dl/idf-eclipse-plugin/updates/beta/`_
-   * For Nightly build: `<https://dl.espressif.com/dl/idf-eclipse-plugin/updates/nightly/>`_.
+   * For Nightly build: `https://dl.espressif.com/dl/idf-eclipse-plugin/updates/nightly/`_

Also applies to: 29-29, 30-30

✅ Verification successful

RST URL syntax fixed and URLs are accessible

All URLs are correctly formatted and return HTTP status 200.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify URL accessibility
for url in \
  "https://dl.espressif.com/dl/idf-eclipse-plugin/updates/latest/" \
  "https://dl.espressif.com/dl/idf-eclipse-plugin/updates/beta/" \
  "https://dl.espressif.com/dl/idf-eclipse-plugin/updates/nightly/"; do
  curl -s -I "$url" | head -n 1
done

Length of output: 921

docs/en/installation.rst (2)

4-10: LGTM! Well-structured introduction.

The two-step process is clearly outlined with proper cross-references, and the note for Eclipse CDT users provides helpful alternative installation guidance.


19-23: LGTM! Clear Windows installation guidance.

The section properly references the offline installer guide and clearly lists all included components.

Note: Previous comment about incomplete download URL is no longer applicable as the section now uses proper cross-referencing.

docs/en/additionalfeatures/heaptracing.rst (1)

12-12: Clarify the location of the system templates project.

The reference to "system templates project" needs more context. Consider adding:

  • Where to find this project
  • How to create/obtain it if not present
  • Prerequisites for accessing this file
docs/en/faqs.rst (1)

1-3: LGTM! Document structure follows RST conventions.

Comment on lines +6 to +7
.. note::
sdkconfig file is generated only after the build. Hence, it is recommended to build the project once before configuring the project.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Add a reference to build instructions.

The note should include a link to the build instructions or specify the build command to help users, especially those new to the platform.

 .. note::
-    sdkconfig file is generated only after the build. Hence, it is recommended to build the project once before configuring the project.
+    The sdkconfig file is generated only after the build process. It is recommended to build the project once before configuring it. See :ref:`building-project` for build instructions.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
.. note::
sdkconfig file is generated only after the build. Hence, it is recommended to build the project once before configuring the project.
.. note::
The sdkconfig file is generated only after the build process. It is recommended to build the project once before configuring it. See :ref:`building-project` for build instructions.

Core Dump Debugging
====================

The IDF-Eclipse plugin allows you to debug the core dump if any crash occurs on the chip and the configurations are set. Currently, only the UART core dump capture and debugging is supported.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Enhance the introduction with more context.

The introduction should provide more context about core dumps and prerequisites.

-The IDF-Eclipse plugin allows you to debug the core dump if any crash occurs on the chip and the configurations are set. Currently, only the UART core dump capture and debugging is supported.
+A core dump is a snapshot of the CPU registers and memory at the time of a crash, which can be invaluable for post-mortem debugging. The IDF-Eclipse plugin provides integrated support for analyzing core dumps captured when your ESP device crashes. Currently, only UART-based core dump capture and debugging is supported.
+
+Prerequisites:
+* ESP-IDF v4.x or later
+* Serial connection to your ESP device
+* Sufficient storage space for core dump files
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
The IDF-Eclipse plugin allows you to debug the core dump if any crash occurs on the chip and the configurations are set. Currently, only the UART core dump capture and debugging is supported.
A core dump is a snapshot of the CPU registers and memory at the time of a crash, which can be invaluable for post-mortem debugging. The IDF-Eclipse plugin provides integrated support for analyzing core dumps captured when your ESP device crashes. Currently, only UART-based core dump capture and debugging is supported.
Prerequisites:
* ESP-IDF v4.x or later
* Serial connection to your ESP device
* Sufficient storage space for core dump files

Comment on lines +8 to +13
To enable core dump debugging for a project:

1. You need to enable it first in `sdkconfig`. Launch the `sdkconfig` in the project root by double-clicking on it which will open the configuration editor.

2. Click on the `Core Dump` from the settings on the left and select `Data Destination` as `UART`.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Provide more detailed configuration instructions.

The configuration steps should be more comprehensive and include all necessary menuconfig options.

 To enable core dump debugging for a project:

-1. You need to enable it first in `sdkconfig`. Launch the `sdkconfig` in the project root by double-clicking on it which will open the configuration editor.
+1. Open the project configuration:
+   * Right-click on your project in Project Explorer
+   * Select "ESP-IDF: Launch SDK Configuration Editor"
+   * Alternatively, double-click `sdkconfig` in your project root
-2. Click on the `Core Dump` from the settings on the left and select `Data Destination` as `UART`.
+2. Configure core dump settings:
+   * Navigate to "Component config → Core dump"
+   * Enable "Core dump on crash"
+   * Set "Data destination" to "UART"
+   * Configure other options as needed:
+     * "Logging level" (recommended: Info)
+     * "Core dump data compression" (optional)
+
+3. Save the configuration and exit the editor
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
To enable core dump debugging for a project:
1. You need to enable it first in `sdkconfig`. Launch the `sdkconfig` in the project root by double-clicking on it which will open the configuration editor.
2. Click on the `Core Dump` from the settings on the left and select `Data Destination` as `UART`.
To enable core dump debugging for a project:
1. Open the project configuration:
* Right-click on your project in Project Explorer
* Select "ESP-IDF: Launch SDK Configuration Editor"
* Alternatively, double-click `sdkconfig` in your project root
2. Configure core dump settings:
* Navigate to "Component config → Core dump"
* Enable "Core dump on crash"
* Set "Data destination" to "UART"
* Configure other options as needed:
* "Logging level" (recommended: Info)
* "Core dump data compression" (optional)
3. Save the configuration and exit the editor

Comment on lines +16 to +20
This will enable the core dump debugging, and whenever you connect a serial monitor for that project, if any crash occurs, it will load the dump and open a debug perspective in Eclipse to let you diagnose the dump where you can view all the information in the core dump.

You can view the registers stack trace and even view the value of variables in the stack frame.

To exit the debug session: simply press the `stop` button.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Expand usage instructions and add troubleshooting section.

The usage section should include more detailed information about interpreting debug data and common troubleshooting scenarios.

 This will enable the core dump debugging, and whenever you connect a serial monitor for that project, if any crash occurs, it will load the dump and open a debug perspective in Eclipse to let you diagnose the dump where you can view all the information in the core dump.

-You can view the registers stack trace and even view the value of variables in the stack frame.
+Debug Information Available:
+* Register values at the time of crash
+* Stack trace showing the call hierarchy
+* Variable values in each stack frame
+* Memory contents around the crash location
+
+Interpreting Debug Information:
+1. The stack trace shows the sequence of function calls leading to the crash
+2. Register values can indicate the CPU state at crash time
+3. Variable values help understand the program state
+
+Common Troubleshooting Scenarios:
+* If the core dump fails to load, verify your serial connection
+* If variable values are optimized out, rebuild with debug symbols
+* For memory corruption crashes, examine nearby memory contents

 To exit the debug session: simply press the `stop` button.
+
+.. note::
+    For more examples and troubleshooting tips, refer to the ESP-IDF Programming Guide's Core Dump section.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
This will enable the core dump debugging, and whenever you connect a serial monitor for that project, if any crash occurs, it will load the dump and open a debug perspective in Eclipse to let you diagnose the dump where you can view all the information in the core dump.
You can view the registers stack trace and even view the value of variables in the stack frame.
To exit the debug session: simply press the `stop` button.
This will enable the core dump debugging, and whenever you connect a serial monitor for that project, if any crash occurs, it will load the dump and open a debug perspective in Eclipse to let you diagnose the dump where you can view all the information in the core dump.
Debug Information Available:
* Register values at the time of crash
* Stack trace showing the call hierarchy
* Variable values in each stack frame
* Memory contents around the crash location
Interpreting Debug Information:
1. The stack trace shows the sequence of function calls leading to the crash
2. Register values can indicate the CPU state at crash time
3. Variable values help understand the program state
Common Troubleshooting Scenarios:
* If the core dump fails to load, verify your serial connection
* If variable values are optimized out, rebuild with debug symbols
* For memory corruption crashes, examine nearby memory contents
To exit the debug session: simply press the `stop` button.
.. note::
For more examples and troubleshooting tips, refer to the ESP-IDF Programming Guide's Core Dump section.

Comment on lines +9 to +10
.. image:: ../../media/8_launch_target.png

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Add alt text for accessibility

The image reference should include descriptive alt text for accessibility.

-.. image:: ../../media/8_launch_target.png
+.. image:: ../../media/8_launch_target.png
+   :alt: Launch Configuration Dialog showing serial port selection options
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
.. image:: ../../media/8_launch_target.png
.. image:: ../../media/8_launch_target.png
:alt: Launch Configuration Dialog showing serial port selection options

Let's take a look at some other options, that you need to check if they auto configured correctly for you:

4. The "Executable path" for OpenOCD is based on eclipse preferences, which are configured after tools installation. Check if the "Actual executable" is correct and if it's not, then likely the tools installation went wrong, so you need to check if tools installed correctly to avoid possible problems. If it's still not correct after tools installation, click on "Browse" and select the path to `openocd.exe` manually.
5. In the next step, please make sure that the GDB port is 3333 if you want to use an internal gdb client and the Tcl port is 6666 if you want to use [Application Level Tracing](https://github.com/espressif/idf-eclipse-plugin#application-level-tracing). Also, check `Config options` as described above.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Make documentation platform-agnostic

The reference to 'openocd.exe' is Windows-specific. Consider:

  1. Using 'openocd' without the extension
  2. Adding a note about platform-specific executable names (e.g., .exe on Windows)

You can customize the `Debug perspective` in your own way, for example, move some tabs, add additional views that you might find useful, or remove them. To add a view, follow these steps:

* On the top panel of the Eclipse click on `Window`
* `Short View`
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix typo in menu item name

"Short View" should be "Show View"

-* `Short View`
+* `Show View`
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* `Short View`
* `Show View`


Troubleshooting
---------------
* Please make sure you always have the latest `<https://github.com/espressif/idf-eclipse-plugin/releases/>`_ ESP-IDF Eclipse Plugin/Espressif-IDE.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix malformed URL in RST format

The URL syntax is incorrect. In RST, external links should use proper formatting:

-* Please make sure you always have the latest `<https://github.com/espressif/idf-eclipse-plugin/releases/>`_ ESP-IDF Eclipse Plugin/Espressif-IDE.
+* Please make sure you always have the latest `ESP-IDF Eclipse Plugin/Espressif-IDE <https://github.com/espressif/idf-eclipse-plugin/releases/>`_.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* Please make sure you always have the latest `<https://github.com/espressif/idf-eclipse-plugin/releases/>`_ ESP-IDF Eclipse Plugin/Espressif-IDE.
* Please make sure you always have the latest `ESP-IDF Eclipse Plugin/Espressif-IDE <https://github.com/espressif/idf-eclipse-plugin/releases/>`_.

Comment on lines +148 to +153
How do I enable verbose debug output to my project build?
----------------------------------------------------------
IDF Eclipse plugin uses CMake commands to build the project, so it's possible to pass CMake arguments from the build configuration wizard. To configure this:
- Click on the editor configuration wizard.
- Navigate to `Build Settings` tab.
- Add `--debug-output` or other
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Complete the verbose debug output section.

The section ends abruptly and is missing crucial information about:

  1. Available debug flags
  2. Impact on build performance
  3. Example debug output

Please complete the section with the missing information.

Comment on lines +111 to +130
------------------------------------------------------------------------------
This would have been caused by the Java version or Java certificates. Please make sure you've installed `Java 11 and later` to fix this error.
Check below links:
- https://esp32.com/viewtopic.php?f=13&t=12327&start=10#p50137
- https://stackoverflow.com/questions/6908948/java-sun-security-provider-certpath-suncertpathbuilderexception-unable-to-find

Why Java 11 recommended for IDF Eclipse Plugin?
-----------------------------------------------
We recommend using Java 11 (that's the latest LTS version from Oracle) and above while working with IDF Eclipse Plugin considering Eclipse 2020-06 has a requirement for Java 11 to work with the CDT. Here are some important pointers from Eclipse.

### Installing CDT 9.11 on Eclipse 2020-06 and later requires a workaround when using Java 8
Check this - https://wiki.eclipse.org/CDT/User/NewIn911#Release

CDT 9.11 only requires Java 8 to run. However, a new feature in Eclipse 2020-06 and later means that the install wizard may prevent installation. The workaround is to disable "Verify provisioning operation is compatible with the currently running JRE" in Windows -> Preferences -> Install/Update. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=564407#c1.

### CDT 10.0 required Java 11 or later
Check this - https://wiki.eclipse.org/CDT/User/NewIn100

Starting with CDT 10.0, Java 11 or later is required to run CDT. This aligns with the requirements of Eclipse IDE which also requires Java 11 to run starting in 2020-09.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Update Java version requirements and references.

The Java version information needs updating:

  1. Consider mentioning current LTS versions (Java 17, Java 21)
  2. Update Eclipse version references (2020-06 is outdated)
  3. Add version compatibility matrix
  4. Consider replacing direct URLs with permanent documentation links
-We recommend using Java 11 (that's the latest LTS version from Oracle)
+We recommend using Java 17 or later (current LTS versions) while working with IDF Eclipse Plugin.

Committable suggestion skipped: line range outside the PR's diff.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (2)
docs/en/faqs.rst (2)

131-140: Consider adding safety warnings for manual workspace editing.

The instructions for deleting launch targets involve manual editing of workspace preference files, which could be risky. Consider:

  1. Adding warning notes about backing up the workspace
  2. Mentioning potential risks of manual editing
  3. Adding steps to verify Eclipse is not running during the edit

1-153: Consider improving document structure and navigation.

The FAQ document could benefit from the following improvements:

  1. Group related FAQs into categories (e.g., Installation, Java/Eclipse, Build System)
  2. Add a table of contents for easier navigation
  3. Use consistent formatting for external links (consider using RST reference links)
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 4413040 and 2b13a9c.

📒 Files selected for processing (3)
  • docs/en/additionalfeatures.rst (1 hunks)
  • docs/en/additionalfeatures/nvspartitioneditor.rst (1 hunks)
  • docs/en/faqs.rst (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/en/additionalfeatures.rst
  • docs/en/additionalfeatures/nvspartitioneditor.rst
🔇 Additional comments (2)
docs/en/faqs.rst (2)

1-3: LGTM! Document structure follows RST conventions.

The title change and section formatting are consistent with documentation best practices.


141-147: LGTM! Clear instructions for build logging.

The section provides complete information about enabling logging and explains the console buffer limitation.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (2)
docs/en/openocddebugging.rst (2)

5-6: Remove extra blank line

There's an unnecessary extra blank line after the heading.

ESP-IDF GDB OpenOCD Debugging
=============================
-

11-14: Standardize bullet point formatting

Make the bullet point formatting consistent throughout the document. Some use * while others don't follow the same indentation pattern.

-* Right-click on the project
-* `Debug As > Debug Configurations...` This will launch a debug configuration window
-* On the left Panel, choose `ESP-IDF GDB OpenOCD Debugging`
-* Right Click and create `New Configuration` This will create a new debug configuration for your project
+* Right-click on the project
+* Select `Debug As > Debug Configurations...` to launch a debug configuration window
+* On the left panel, choose `ESP-IDF GDB OpenOCD Debugging`
+* Right-click and create `New Configuration` to create a new debug configuration for your project

-* Expand list with launch/debug configurations 
-* Click on `New Launch Configuration...`
-* Select `ESP-IDF GDB OpenOCD Debugging` and double click on it or on `Next >` button
+* Expand the list of launch/debug configurations 
+* Click on `New Launch Configuration...`
+* Select `ESP-IDF GDB OpenOCD Debugging` and either double-click it or click the `Next >` button

Also applies to: 25-29

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 2b13a9c and 1539e0c.

📒 Files selected for processing (2)
  • FAQ.md (0 hunks)
  • docs/en/openocddebugging.rst (1 hunks)
💤 Files with no reviewable changes (1)
  • FAQ.md
🔇 Additional comments (1)
docs/en/openocddebugging.rst (1)

1-126: Well-structured and comprehensive documentation

The documentation provides clear instructions for setting up and using ESP-IDF GDB OpenOCD debugging. The content is well-organized, includes helpful images, and covers all necessary aspects from configuration to troubleshooting.

Comment on lines +122 to +124
* Please make sure you always have the latest `Espressif-IDE <https://github.com/espressif/idf-eclipse-plugin/releases/>`_ .
* Please check `this <https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/jtag-debugging/index.html#selecting-jtag-adapter>`_ if the board has JTAG enabled.
* If there is any OpenOCD timeout issue, please increase the GDB server timeout value `<https://www.esp32.com/viewtopic.php?f=40&t=36164#p122701>`_ from the preferences. Usually, this happens while working with large-size applications.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Improve link formatting in RST

The links should follow consistent RST formatting conventions.

-* Please make sure you always have the latest `Espressif-IDE <https://github.com/espressif/idf-eclipse-plugin/releases/>`_ .
+* Please make sure you always have the latest `Espressif-IDE <https://github.com/espressif/idf-eclipse-plugin/releases/>`_.
-* If there is any OpenOCD timeout issue, please increase the GDB server timeout value `<https://www.esp32.com/viewtopic.php?f=40&t=36164#p122701>`_ from the preferences. Usually, this happens while working with large-size applications.
+* If there is any OpenOCD timeout issue, please increase the `GDB server timeout value <https://www.esp32.com/viewtopic.php?f=40&t=36164#p122701>`_ from the preferences. Usually, this happens while working with large-size applications.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* Please make sure you always have the latest `Espressif-IDE <https://github.com/espressif/idf-eclipse-plugin/releases/>`_ .
* Please check `this <https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/jtag-debugging/index.html#selecting-jtag-adapter>`_ if the board has JTAG enabled.
* If there is any OpenOCD timeout issue, please increase the GDB server timeout value `<https://www.esp32.com/viewtopic.php?f=40&t=36164#p122701>`_ from the preferences. Usually, this happens while working with large-size applications.
* Please make sure you always have the latest `Espressif-IDE <https://github.com/espressif/idf-eclipse-plugin/releases/>`_.
* Please check `this <https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/jtag-debugging/index.html#selecting-jtag-adapter>`_ if the board has JTAG enabled.
* If there is any OpenOCD timeout issue, please increase the `GDB server timeout value <https://www.esp32.com/viewtopic.php?f=40&t=36164#p122701>`_ from the preferences. Usually, this happens while working with large-size applications.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Outside diff range and nitpick comments (7)
docs/en/buildproject.rst (4)

3-10: Consider enhancing the toolbar location description and icon visibility.

While the build icon integration is good, consider:

  1. Specifying the toolbar's location (e.g., "in the main toolbar at the top of the IDE")
  2. Increasing the icon size for better visibility on high-DPI displays
-   :height: 16px
+   :height: 24px

11-21: Enhance step descriptions with additional context.

The steps are clear but would benefit from additional explanations:

  1. Clarify what "Run" means in the Launch Mode context
  2. Explain the auto-detection mechanism for Launch Configuration
  3. Add a note about what users should expect during and after the build process

Consider adding a note section like:

.. note::
   The build process will compile your code and generate binary files. You can monitor the build progress in the Console view at the bottom of the IDE. A successful build will show "Build Finished" message.

38-43: Consider adding more relevant references.

The references section could be expanded to include:

  1. Troubleshooting build issues
  2. CMake configuration documentation
  3. ESP-IDF build system documentation

Consider adding these entries to the toctree:

    Build System Troubleshooting <troubleshooting/build>
    Advanced CMake Configuration <cmake/advanced>
    ESP-IDF Build System <https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html>

9-9: Add keyboard shortcuts for building.

Consider adding keyboard shortcuts for building the project (e.g., Ctrl+B or Cmd+B) to help users work more efficiently.

-Once you have created a project and configured the esp target and serial port, you can build the project by clicking on |build_icon| in the toolbar.
+Once you have created a project and configured the esp target and serial port, you can build the project by clicking on |build_icon| in the toolbar or using the keyboard shortcut :kbd:`Ctrl+B` (Windows/Linux) / :kbd:`Cmd+B` (macOS).
docs/en/additionalfeatures/clangd_cdt_support.rst (3)

33-34: Clarify path format for different operating systems

The paths shown might confuse Windows users. Consider adding a note about path format differences.

Add a note like:

+Note: On Windows, use forward slashes (/) or escaped backslashes (\\) in the paths.

51-53: Add information about disabling CDT Indexer

Consider adding important details about disabling the indexer:

  1. Whether the setting persists across IDE restarts
  2. Potential impact on existing projects
  3. How to verify the LSP indexer is working correctly

58-58: Consider adding a Troubleshooting section

To improve user experience, consider adding a "Troubleshooting" section that covers:

  1. Common configuration issues
  2. Known limitations
  3. Error messages and their solutions
  4. Steps to verify correct LSP setup
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 1539e0c and af86d40.

📒 Files selected for processing (5)
  • docs/en/additionalfeatures.rst (1 hunks)
  • docs/en/additionalfeatures/clangd_cdt_support.rst (1 hunks)
  • docs/en/additionalfeatures/lspeditor.rst (1 hunks)
  • docs/en/buildproject.rst (1 hunks)
  • docs/en/installation.rst (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (3)
  • docs/en/additionalfeatures.rst
  • docs/en/additionalfeatures/lspeditor.rst
  • docs/en/installation.rst
🔇 Additional comments (1)
docs/en/additionalfeatures/clangd_cdt_support.rst (1)

17-19: Enhance update process documentation

The update process could be more detailed to help users avoid common issues.

Consider adding:

  1. Steps to access the update site
  2. Specific dependencies that need to be selected
  3. Troubleshooting tips for common update issues

Also, let's verify the image path exists:

✅ Verification successful

Image path is correct

The referenced image media/clangd/cdtlsp_updatesite.png exists.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify the referenced image exists
fd "cdtlsp_updatesite.png" --type f

Length of output: 118

Comment on lines 25 to 33
The IDE allows configuring a custom build directory for the project:

1. Select a project and click on the *Edit* button for the launch configuration in the top toolbar to open the *Edit Configuration* window.
2. Navigate to the *Build Settings* tab.
3. In the *Additional CMake Arguments* section, provide a custom build directory by adding arguments `-B <custom build path>` with an absolute path. The customized build directory path can be within the project or in any other location in the file system. For example: `-B /Users/myUser/esp/generated`.
4. Click on *Ok* and build the project.

.. note::
This configuration changes where all the project build artifacts will be generated.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Add important path-related considerations.

The custom build directory section should include warnings about:

  1. Path restrictions (spaces, special characters)
  2. Platform-specific path formats
  3. Required permissions

Consider adding these warnings:

.. warning::
   - Avoid using spaces or special characters in the build path
   - On Windows, use either forward slashes (/) or escaped backslashes (\\)
   - Ensure you have write permissions for the custom build directory
   - The build path must be an absolute path

Examples:
- Windows: `-B C:/esp/build` or `-B C:\\esp\\build`
- Linux/macOS: `-B /home/user/esp/build`

Comment on lines +44 to +46
CompileFlags:
CompilationDatabase: build
Remove: [-m*, -f*]
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Document .clangd configuration options

The .clangd configuration file options need explanation for users to understand their purpose.

Add explanatory comments:

 CompileFlags:
   CompilationDatabase: build    # Directory containing compile_commands.json
   Remove: [-m*, -f*]           # Remove machine-specific and format-specific compiler flags
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
CompileFlags:
CompilationDatabase: build
Remove: [-m*, -f*]
CompileFlags:
CompilationDatabase: build # Directory containing compile_commands.json
Remove: [-m*, -f*] # Remove machine-specific and format-specific compiler flags

@espressif espressif deleted a comment from coderabbitai bot Nov 13, 2024
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (5)
.github/workflows/docs_production.yml (1)

Line range hint 15-54: Security considerations for production deployment

While the workflow structure is solid, consider these security enhancements:

  1. Add hash verification for downloaded dependencies
  2. Consider using dependency scanning for Python packages
  3. Add timeouts to limit potential abuse

Consider adding these security improvements:

 jobs:
   deploy-prod-docs:
     name: Deploy Documentation on Production
     runs-on: ubuntu-22.04
+    timeout-minutes: 30
     defaults:
       run:
         shell: bash
     steps:
     - uses: actions/checkout@v4
       with:
         submodules: true
+    - name: Security Scan Dependencies
+      uses: snyk/actions/python@master
+      env:
+        SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
+      with:
+        args: --file=docs/requirements.txt
🧰 Tools
🪛 actionlint

40-40: shellcheck reported issue in this script: SC2086:info:4:25: Double quote to prevent globbing and word splitting

(shellcheck)


40-40: shellcheck reported issue in this script: SC2086:info:4:49: Double quote to prevent globbing and word splitting

(shellcheck)


40-40: shellcheck reported issue in this script: SC2086:info:4:69: Double quote to prevent globbing and word splitting

(shellcheck)


40-40: shellcheck reported issue in this script: SC2155:warning:5:8: Declare and assign separately to avoid masking return values

(shellcheck)


40-40: shellcheck reported issue in this script: SC2086:info:12:4: Double quote to prevent globbing and word splitting

(shellcheck)

.github/workflows/docs_build.yml (4)

Line range hint 15-24: Consider adding timeout and concurrency controls

While the basic setup is good, consider adding these configurations to improve workflow reliability and resource usage:

jobs:
  build-docs:
    name: Build Espressif-IDE Docs
    runs-on: ubuntu-22.04
+   timeout-minutes: 30
+   concurrency:
+     group: ${{ github.workflow }}-${{ github.ref }}
+     cancel-in-progress: true
    defaults:
      run:
        shell: bash

Line range hint 25-39: Improve build step reliability

Consider these improvements to make the build process more robust:

    - name: Build
      run: |
-       sudo apt update
-       sudo apt install python3-pip python3-setuptools
-       # GitHub CI installs pip3 and setuptools outside the path.
-       # Update the path to include them and run.
+       sudo apt-get update
+       sudo apt-get install -y --no-install-recommends \
+         python3-pip=20.3.4-4 \
+         python3-setuptools=52.0.0-4
        cd ./docs
-       PATH=/home/runner/.local/bin:$PATH pip3 install -r requirements.txt --prefer-binary
-       PATH=/home/runner/.local/bin:$PATH SPHINXOPTS="-W" build-docs -l en
+       pip3 install --user -r requirements.txt --prefer-binary
+       export PATH="/home/runner/.local/bin:$PATH"
+       SPHINXOPTS="${{ github.event_name == 'push' && '-W' || '' }}" build-docs -l en

Changes:

  1. Pin apt package versions for reproducibility
  2. Use --no-install-recommends to minimize installation
  3. Set PATH once using export
  4. Make strict warnings (-W) conditional on push events only

Line range hint 40-64: Improve deployment security and reliability

Several issues need attention in the deployment configuration:

  1. Remove duplicate pip installation
  2. Add error handling for secrets
  3. Remove commented production configuration
  4. Add SSH key cleanup

Apply these changes:

    - name: Deploy Documentation to preview server
      env:
-       # Deploy to production server
-       # DOCS_BUILD_DIR: "./docs/_build/"
        DOCS_DEPLOY_PRIVATEKEY: ${{ secrets.DOCS_PREVIEW_PRIVATEKEY }}
        DOCS_DEPLOY_PATH: ${{ secrets.DOCS_PREVIEW_PATH }}
        DOCS_DEPLOY_SERVER: ${{ secrets.DOCS_PREVIEW_SERVER }}
        DOCS_DEPLOY_SERVER_USER: ${{ secrets.DOCS_PREVIEW_USER }}
        DOCS_DEPLOY_URL_BASE: ${{ secrets.DOCS_PREVIEW_URL_BASE }}
      run: |
-       sudo apt update
-       sudo apt install python3-pip python3-setuptools
+       # Verify required secrets are available
+       if [ -z "$DOCS_DEPLOY_PRIVATEKEY" ] || [ -z "$DOCS_DEPLOY_SERVER" ]; then
+         echo "Required secrets are missing"
+         exit 1
+       fi
        source ./docs/utils.sh
        add_doc_server_ssh_keys $DOCS_DEPLOY_PRIVATEKEY $DOCS_DEPLOY_SERVER $DOCS_DEPLOY_SERVER_USER
+       trap 'rm -f ~/.ssh/id_rsa*' EXIT
        export GIT_VER=$(git describe --always)
-       echo "PIP install requirements..."
-       pip3 install --user -r ./docs/requirements.txt
        echo "Building the Docs..."
        cd ./docs && build-docs -l en
        echo "Deploy the Docs..."
        export DOCS_BUILD_DIR=$GITHUB_WORKSPACE/docs/
        cd $GITHUB_WORKSPACE/docs
        deploy-docs

PR comment workflow does not integrate with Documentation Build workflow
The pr-comment.yml workflow is configured to run on the CI workflow, not on the docs_build.yml workflow as expected.

🔗 Analysis chain

Line range hint 1-64: Verify integration with PR comment workflow

The workflow should integrate with the PR comment workflow mentioned in the summary.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if pr-comment workflow exists and properly references this workflow
if [ -f ".github/workflows/pr-comment.yml" ]; then
  echo "Checking PR comment workflow integration..."
  grep -A 5 "workflow_run:" .github/workflows/pr-comment.yml
else
  echo "Warning: pr-comment.yml workflow not found"
fi

Length of output: 391

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between af86d40 and 4316a0f.

📒 Files selected for processing (2)
  • .github/workflows/docs_build.yml (1 hunks)
  • .github/workflows/docs_production.yml (1 hunks)
🔇 Additional comments (3)
.github/workflows/docs_production.yml (2)

Line range hint 3-11: LGTM: Workflow triggers are well-configured

The workflow triggers are appropriately set up for a production documentation deployment:

  • Triggers on releases ensure documentation stays in sync with product releases
  • Branch restrictions provide security by limiting to master and release branches
  • Path filters optimize workflow execution by running only on relevant changes
🧰 Tools
🪛 actionlint

40-40: shellcheck reported issue in this script: SC2086:info:4:25: Double quote to prevent globbing and word splitting

(shellcheck)


40-40: shellcheck reported issue in this script: SC2086:info:4:49: Double quote to prevent globbing and word splitting

(shellcheck)


40-40: shellcheck reported issue in this script: SC2086:info:4:69: Double quote to prevent globbing and word splitting

(shellcheck)


40-40: shellcheck reported issue in this script: SC2155:warning:5:8: Declare and assign separately to avoid masking return values

(shellcheck)


40-40: shellcheck reported issue in this script: SC2086:info:12:4: Double quote to prevent globbing and word splitting

(shellcheck)


35-39: Verify production secrets configuration

The transition to production secrets looks complete. However, please ensure:

  1. All required production secrets are configured in the repository settings
  2. No preview secrets are accidentally mixed with production ones
.github/workflows/docs_build.yml (1)

Line range hint 1-13: LGTM! Well-structured workflow triggers

The workflow triggers and path filters are properly configured to run only when documentation-related files are modified.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (9)
docs/en/buildproject.rst (3)

4-7: Add alt text for accessibility and consider using a more maintainable image path.

Consider these improvements:

  1. Add alt text for accessibility
  2. Use a more maintainable image path through substitutions or variables
-.. |build_icon| image:: ../../media/icons/build.png
+.. |build_icon| image:: ../../media/icons/build.png
+   :alt: Build button icon
    :height: 16px
    :align: middle

20-21: Add alt text for the build process screenshot.

The screenshot should include descriptive alt text for accessibility.

-.. image:: ../../media/9_cmake_build.png
+.. image:: ../../media/9_cmake_build.png
+   :alt: ESP-IDF build process showing the toolbar configuration and build button

40-43: Consider adding more related topics to the References section.

The References section could be enhanced by including links to:

  • Troubleshooting build issues
  • ESP-IDF build system documentation
  • Project configuration guide
docs/en/startproject.rst (4)

1-11: Fix inconsistent line numbering in heading section

There appears to be a gap in line numbering between lines 2 and 5. While this doesn't affect the rendered output, consistent line numbering helps with maintenance and debugging.


18-20: Enhance project creation instructions

Consider adding details about:

  • Where to set the project location
  • Recommended workspace settings
  • Any default configurations that will be applied

49-49: Fix grammatical error and enhance CMake requirements

There's a grammatical error in the sentence and the CMake requirement needs more context.

-To import an existing project into the Espressif-IDE, please make sure that is a CMake project. Follow the steps below:
+To import an existing project into the Espressif-IDE, please make sure that it is a CMake-based project with a valid CMakeLists.txt file. Follow the steps below:

61-62: Remove excessive newlines

There are multiple trailing newlines at the end of the file. One newline at the end of the file is sufficient.

docs/en/marketplaceupdate.rst (2)

28-30: Add version information for different update sites

Consider adding brief explanations about when users should choose each version:

 For adding beta and nightly builds, you can use the following update site URLs:
-   * For Beta version: `<https://dl.espressif.com/dl/idf-eclipse-plugin/updates/beta/>`_.
-   * For Nightly build: `<https://dl.espressif.com/dl/idf-eclipse-plugin/updates/nightly/>`_.
+   * For Beta version: `<https://dl.espressif.com/dl/idf-eclipse-plugin/updates/beta/>`_. Use this for testing new features before they are officially released.
+   * For Nightly build: `<https://dl.espressif.com/dl/idf-eclipse-plugin/updates/nightly/>`_. Contains the latest development changes, may be unstable.

87-92: Clarify the upgrade scenarios

The distinction between when to use each upgrade path could be clearer.

-If you have already installed the IDF Eclipse Plugin using the update site URL, you can upgrade to the latest version with the following steps:
+If you have previously installed the IDF Eclipse Plugin using any of the installation methods (Update Site URL, Marketplace, or Local Archive), follow these steps to upgrade to the latest version:
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 4316a0f and f56fbf6.

📒 Files selected for processing (9)
  • docs/en/additionalfeatures/lspeditor.rst (1 hunks)
  • docs/en/buildproject.rst (1 hunks)
  • docs/en/connectdevice.rst (1 hunks)
  • docs/en/debugproject.rst (1 hunks)
  • docs/en/index.rst (2 hunks)
  • docs/en/marketplaceupdate.rst (1 hunks)
  • docs/en/monitoroutput.rst (1 hunks)
  • docs/en/openocddebugging.rst (1 hunks)
  • docs/en/startproject.rst (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (6)
  • docs/en/additionalfeatures/lspeditor.rst
  • docs/en/connectdevice.rst
  • docs/en/debugproject.rst
  • docs/en/index.rst
  • docs/en/monitoroutput.rst
  • docs/en/openocddebugging.rst
🔇 Additional comments (7)
docs/en/buildproject.rst (1)

29-29: Enhance path examples and add important path-related considerations.

The current example only shows a Unix-style path. Additionally, important path-related warnings are missing.

The previous review comment about adding path-related considerations is still valid. Please refer to the existing comment for the detailed warning section that should be added.

docs/en/startproject.rst (1)

25-25: Verify image paths and existence

The documentation references several images using relative paths. Let's verify these images exist and are correctly referenced.

Also applies to: 39-39, 59-59

✅ Verification successful

Image Paths Verified Successfully

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the existence of referenced images

# Check if the referenced images exist
for img in "newproject_menu.png" "3_new_project_default.png" "5_import_project.png"; do
    if [ -f "media/$img" ]; then
        echo "✓ Found: $img"
    else
        echo "✗ Missing: $img"
    fi
done

Length of output: 596

docs/en/marketplaceupdate.rst (5)

1-12: LGTM! Well-structured document header

The document header and table of contents are properly formatted using RST conventions.


38-52: LGTM! Clear marketplace installation instructions

The Eclipse Marketplace installation steps are well-documented and include all necessary information, including the important restart step.


61-61: Previous review comments are still applicable

The issues regarding link syntax and version format noted in previous review comments remain unaddressed.

Also applies to: 67-67


80-86: Previous review comments about section organization are still applicable

The concerns about first-time installation steps placement remain valid.


35-35: Verify image files exist

Ensure the referenced images are present in the repository.

Also applies to: 93-93

✅ Verification successful

Image files exist

Both idf_update_site_install.png and Update_plugins.png are present in the media/ directory.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the referenced images exist
fd -t f "idf_update_site_install.png" "Update_plugins.png" --base-directory media/

Length of output: 186


Script:

#!/bin/bash
# Check if the referenced images exist in the media directory
if [ -f media/idf_update_site_install.png ] && [ -f media/Update_plugins.png ]; then
  echo "Both image files exist."
else
  echo "One or both image files are missing."
fi

Length of output: 141

Comment on lines +42 to +43
.. note::
You may see numerous unresolved headers and symbols errors in the editor, and these will only be resolved after the build process.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Clarify the note about unresolved headers

The current note might cause unnecessary concern. Consider expanding it to explain:

  • Why these errors appear initially
  • How long they typically persist
  • Whether any user action is needed
-    You may see numerous unresolved headers and symbols errors in the editor, and these will only be resolved after the build process.
+    You may see numerous unresolved headers and symbols errors in the editor initially. This is expected behavior as the project needs to be built first to generate necessary files and configure paths. These errors will be automatically resolved after the first successful build process completes.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
.. note::
You may see numerous unresolved headers and symbols errors in the editor, and these will only be resolved after the build process.
.. note::
You may see numerous unresolved headers and symbols errors in the editor initially. This is expected behavior as the project needs to be built first to generate necessary files and configure paths. These errors will be automatically resolved after the first successful build process completes.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (4)
docs/en/monitoroutput.rst (4)

1-5: Remove unnecessary blank line

Remove the extra blank line at line 5 to maintain consistent spacing in the document.

.. _serialMonitor:

Monitor the Output
===============================
-

8-9: Fix image path formatting

The image path contains double forward slashes which should be simplified.

-.. image:: ../../media//monitor.png
+.. image:: ../../media/monitor.png

15-17: Enhance clarity of steps 3 and 5

Consider providing more context for port selection and monitor output:

-3. Select the ``Serial Port`` for your board if it's not detected.
+3. Select the ``Serial Port`` for your board if it's not automatically detected. The port name varies by operating system (e.g., COM* on Windows, /dev/ttyUSB* on Linux).
-5. Click on ``OK`` to launch the monitor, which will listen to the USB port.
+5. Click on ``OK`` to launch the monitor. You should see the application output in the terminal window.

24-28: Add more details about monitor settings

Consider enhancing this section with more specific information:

-ESP-IDF Serial Monitor will allow you to configure the default settings of the serial monitor character limit and number of lines.
+ESP-IDF Serial Monitor allows you to configure the output display settings:

1. Navigate to ``Espressif`` from the Eclipse ``Preferences``.
2. Click on ``ESP-IDF Serial Monitor Settings``.
-3. Provide ``Console Line Width`` and ``Limit Console Output``.
+3. Configure the following settings:
+   * ``Console Line Width``: Maximum characters per line (default: 120)
+   * ``Limit Console Output``: Maximum number of lines to retain (default: 1000)
+
+.. note::
+   * Smaller values for Console Line Width may wrap long debug messages
+   * Lower Console Output limits help manage memory usage but may lose older log entries
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between f56fbf6 and 7a9b6dc.

⛔ Files ignored due to path filters (3)
  • media/8_launch_target.png is excluded by !**/*.png
  • media/monitor.png is excluded by !**/*.png
  • media/target_selection.png is excluded by !**/*.png
📒 Files selected for processing (2)
  • docs/en/connectdevice.rst (1 hunks)
  • docs/en/monitoroutput.rst (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/en/connectdevice.rst

Comment on lines +19 to +20
.. image:: ../../media//10_serial_terminal.png

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Fix image formatting and add alt text

The image reference needs two improvements:

  1. Remove double forward slash in path
  2. Add alt text for accessibility
-.. image:: ../../media//10_serial_terminal.png
+.. image:: ../../media/10_serial_terminal.png
+   :alt: Serial Terminal Configuration
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
.. image:: ../../media//10_serial_terminal.png
.. image:: ../../media/10_serial_terminal.png
:alt: Serial Terminal Configuration

Copy link
Collaborator

@alirana01 alirana01 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but I guess final verification can be done when they are live since its difficult to review all the files like this

@kolipakakondal kolipakakondal merged commit ed9e5d1 into master Nov 14, 2024
3 of 5 checks passed
@kolipakakondal kolipakakondal deleted the IEP-1095 branch November 14, 2024 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants