Proposed File Browser Icon Feature

I’ve never been a fan of seeing a unique icon for each distinct file type in a code editor’s file browser; it feels distracting, cluttered, and (usually) necessarily means breaking the bounds of an otherwise consistent design language to accommodate the large number of common file types a user might edit.

I’ve personally been content with using just a binary pair of distinguishing plain folder v. file icons in the past. Though I do like the benefit of slight variations on those two base icons for certain things (e.g. md/txt/img file variants or src/dist/build/assets/etc. folder variants ).

While exposing complete control over this to users can be chaotic and have other dev pitfalls, i think a nice feature request would be to allow users to swap one built-in icon with any other built-in icon for certain file type(s)… in a similar way that it’s currently possible to match custom file types to a default syntax.

Perhaps this feature could be extended further with an extension/theme api to allow adding non-built-in, custom icons to the selection of choices when matching to certain file types.


1 Like

I find the icons introduced in Nova 9 to be particularly ugly, hard to read, and quite distracting (especially the bright yellow JavaScript ones). Would love to be able to use the ones from the Finder or to customize them through an extension.


Yeah and also the JSON and YAML icons look ugly and look out of place to me.

I’d be happy with just a base “script” icon applied to all script types (i.e. same icon for .js, .sh, etc.) and a base “data store” icon (i.e. same icon for .json, .yaml, .ini, etc.)

Speaking of, another related design gripe is the color tab highlight thing where certain file types get a specific color that’s applied to the tab when when active and with the “unsaved changes” indicator dot. That was really confusing at first and, even though I’ve since figured out what those different colors are supposed to indicate, it still feel cluttered, IMO.

1 Like

I am always here for customization – you have my full support for your request to be able to customize icons.

On the other hand, I’ll go ahead and voice my support for the Nova 9 icons – I like them a lot. They make scanning easier for me, and make me happier than Finder icons. I only wish there were Rust-specific ones. We all have our idiosyncrasies.

One thing I wanted to toss out there is that you can hide the sidebar if you find it distracting (Cmd-Ctrl-B), and lean more heavily on the ‘Open Quickly’ command (Cmd-Shift-O) and other Command Palette commands. I’m trying to get better about using Open Quickly myself.


Hello all! Thank you for your feedback. While we currently have no plans in this area, we will consider the request for an extension API to contribute icons a feature request.

1 Like

As you noticed, they’re not just in the sidebar, but also appear in the tabs.

FWIW I am also quite happy with the current set of icons and the use of color throughout. But I am also an avid supporter of customizations in these areas :smiley:

1 Like

Here I described a little bit “hacky” way to customize the file icons:

The quintessence is editing the DefaultIcons.json file found under Nova.appContentsResources. Here you could also delete entries and map multiple file endings to the same icon.


As a side-note, the marketing website states: “You can make Nova look exactly the way you want”. Allowing for custom icons would support that.

Yeah, also it’s pretty frustrating that extensions can offer theoretically good support/integration for any programming or template language, but you still need to look at unsatisfying and confusing blank file icons leaving you back with a feel of bad user experience in a highly graphically polished environment.

We are still having discussions from time to time as to how allowing extensions to contribute icons would be allowed, in a way that allows us to composite them with our standard design to match the built-in icons (likely by the extension providing the “logo” image and color which we then composite into our standard script icon container). While we haven’t had time to fully plan out this feature, it is still something on our minds.

1 Like