Skip to content

Enhancement: Improvement of Icons #7

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

Open
Yuyu378 opened this issue Feb 22, 2025 · 1 comment
Open

Enhancement: Improvement of Icons #7

Yuyu378 opened this issue Feb 22, 2025 · 1 comment

Comments

@Yuyu378
Copy link

Yuyu378 commented Feb 22, 2025

🎨 Issue Type: Enhancement

Description:

The style of the icon does not fit well with VS Code's default icon style (seti-icons).

Image

As you can see, the Fortran extension adds icon display to the pre-release version.
Prior to the pre-release version, the icons were the same as in *.exe and *.txt.
This is good, but the style is not that consistent.

If I want the style of the icons to be consistent, I have to install other icon extensions and apply them.

vscode-icons Material Icon Theme
Image Image

Most importantly, we all know that Fortran has two different formats, “Fix Form” and “Free Form”, but all of the above themes use the same icons to represent the different formats, even though they are the same language.

Suggested Improvements

  • Fixed icon styles to match default icon styles
  • Added more icons representing different formats

Why is it necessary?

  • Fixed icon styles to match default icon styles

    Inconsistent icon styles may result in developers expecting to keep the same behavior as the original release version, using the same icon as *.exe and *.txt (I'm one of them), or switching to a different theme, which would be tantamount to the team doing a useless job of improving the “Adds icon display” feature. This is because the other theme will overwrite the original settings.

  • Added more icons representing different formats

    There has been a lot of discussion about the suffix of different formats, but unfortunately I have not found a methodology or a discourse that mentions a perfect solution for these historical legacies at this point in time. (See Reference). I think it would be good for developers, or newcomers to Fortran, to recognize the different formats. Not much help, but it would be a good start.

Expected Behavior

I've tried to add this feature in the release version, the following picture shows the effect.

Before After
Image Image

The icons used are modified from the Fortran Logo of this assets repository.

Assets

Image Image Image Image Image Image Image
Image Image Image Image Image Image Image
Logo No Bg (Light Mode) No Bg (Dark Mode) Smaller No Bg (Light) Smaller No Bg (Dark) Icon (Light) Icon (Dark)

Bg: Background

After testing, Icon (Light) and Icon (Dark) have the best results in the artwork above.

Additional Content

Since there is no technical difficulty in changing vscode icons, the focus is on Assets, and I want the artwork to be usable by others so I'm starting the Issue in this repository instead of vscode-fortran-support.


In %userprofile%\.vscode\extensions\fortran-lang.linter-gfortran-<#version>\package.json, add the icon section under "contributes" > "languages"

"languages": [
    {
        "id": "FortranFreeForm",
        ...
        "icon": {
            "light": "light-mode-icon-path",
            "dark": "dark-mode-icon-path"
        }
    },
    {
        "id": "FortranFixedForm",
        ...
        "icon": {
            "light": "light-mode-icon-path",
            "dark": "dark-mode-icon-path"
        }
    }
],

Reference

Environment

OS VS Code ver.
Windows 11 1.97.2
@gnikit
Copy link
Member

gnikit commented Mar 4, 2025

Thanks for the suggestion and the well formed issue, I really appreciate it.

There's quite a few bits to answer so I'll do my best to answer individually

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

No branches or pull requests

2 participants