AtomMaterialUI / a-file-icon-idea

Atom Material Icons for JetBrains - Replace File and UI Icons for better visual grepping.
http://www.material-theme.com/docs/configuration/icons-settings/#atom-material-icons-plugin
MIT License
224 stars 28 forks source link

Per-project file/folder associations #463

Open deakjahn opened 2 months ago

deakjahn commented 2 months ago

Is it possible to get per-project associations? VS Code makes it easy with its settings structure but in Android Studio and other related IDEs? Even if it would require manual editing of XML settings files... I often have specific needs in different projects that I don't want to pollute a global settings table with, or can even contradict each other in different projects.

mallowigi commented 2 months ago

I have it in mind, it will come in a future release, but I don't know when.

deakjahn commented 2 months ago

@mallowigi I might be tempted to look into the source but you can be much quicker to answer than discovering the whole structure there (especially as I never worked on AS plugins before, VS and VS Code and some others, yes): are the associations read once when the IDE starts? I have the suspicion that reading a per-project file wouldn't be that hard but those associations should be unloaded when a new project is read.

mallowigi commented 2 months ago

The bundled associations are loaded from a XML file, then loads the user's settings. Loading from the Project Settings requires to develop a PersistedStateComponent project based, it's not that easy to implement.

Besides I also need to develop the UI pages to define such a thing.

deakjahn commented 2 months ago

Yep, that's why I said that something as simple as an .atom_icons source file, if present, with a somewhat documented XML format (could be as simple as a single example file) could be just as good. All your users are programmers, by definition, after all.. :-)

mallowigi commented 2 months ago

Yes but you'd still need to create the PersistentStateComponent either way.

Anyway if you want to tackle this, be my guest, I am already in the middle of another feature and I don't have a lot of time for side-projects...