espressif / idf-eclipse-plugin

Espressif-IDE (based on Eclipse CDT) for ESP-IDF CMake based projects 4.x and above
Eclipse Public License 2.0
295 stars 115 forks source link

IEP-1226: added filter for python3 in dialog #947

Closed alirana01 closed 1 month ago

alirana01 commented 1 month ago

Description

Python selection dialog was not showing python3 due to missing filter

Fixes # (IEP-1226)

Type of change

Please delete options that are not relevant.

How has this been tested?

Use esp-idf manager view to add esp-idf and see if in the dialog the python3 filter is visible now

Test Configuration:

Checklist

Summary by CodeRabbit

coderabbitai[bot] commented 1 month ago

Walkthrough

The recent updates enhance the com.espressif.idf.core module by integrating Windows-specific file parsing and reparse tag functionalities. Dependencies on com.sun.jna and com.sun.jna.platform libraries have been added. New methods and classes have been introduced to handle reparse tags, file existence, and directory checks on Windows, improving the module's cross-platform capabilities.

Changes

File Path Change Summary
bundles/com.espressif.idf.core/META-INF/MANIFEST.MF Added com.sun.jna and com.sun.jna.platform to required bundles.
bundles/com.espressif.idf.core/src/com/espressif/idf/core/util/FileParseTag.java Introduced functionality for parsing Windows file attributes and reparse tags.
bundles/com.espressif.idf.core/src/com/espressif/idf/core/util/IDFUtil.java Added method isReparseTag(File file) to check for reparse tags on Windows.
bundles/com.espressif.idf.core/src/com/espressif/idf/core/util/WinNativeFileTagOperations.java Added methods for working with Windows reparse tags, checking file existence, and directories.
bundles/com.espressif.idf.core/src/com/espressif/idf/core/SystemExecutableFinder.java Updated isExecutable method to handle file existence checks based on the platform.
bundles/com.espressif.idf.ui/src/com/espressif/idf/ui/install/IDFDownloadPage.java Updated BrowseButtonSelectionAdapter to support Python file selection on all platforms.

🐰 In the realm of code, where bytes do dance, New methods arise, enhancing our stance. Windows files now reveal their tags, With JNA's help, no more lags. Dependencies grow, functionality blooms, In the world of bits, no more gloom. 🌟


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 - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `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 generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@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.` 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 as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger a review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configration 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](https://docs.coderabbit.ai/guides/configure-coderabbit) 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](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
AndriiFilippov commented 1 month ago

@alirana01 hi !

Tested under: OS - Windows 10 ESP-IDF: v5.2.1

Is it possible to combine both filters into 1 filter without any manual manipulations ? image

Because still, to display python3.exe I have to switch filter manually. The same works for PATH. I have to open "Browse" first -> then switch filter to python3.exe -> then close "Browse" -> and just then my path to python3 will be recognize by validator.

alirana01 commented 1 month ago

@alirana01 hi !

Tested under: OS - Windows 10 ESP-IDF: v5.2.1

Is it possible to combine both filters into 1 filter without any manual manipulations ? ![image](https://private-user-

I have pushed the changes but beware that now all python*.exe will be shown as the FileDialog can only use simple wildcards and does not support full regex

AndriiFilippov commented 1 month ago

@alirana01 hi !

Tested under: OS - Windows 10 ESP-IDF: v5.2.1 Python: 3.11 / 3.12 / python3

Filter works good now, able to see both python.exe / python3.exe without any manual filter switching 👍 On Windows 10 everything works like it was ✔️

LGTM 👍