File Types UI Specification
Author: Ondrej Langr, xDesign Team
Table of Contents
This UI specification describes how to deal with non-standard file types in NetBeans IDE and how users can choose how these files will be opened. Previously, these settings were available from the advanced option dialog as File Types and Object Types panels.
However, there is a need for certain functionality described below in the Use Cases section and with removal of advanced options, this need has to be covered by a UI.
Additionally, with removal of the Advanced Options dialog, there is a need for placement of Ignored Files option. This panel suits this need well, so this proposal also suggests the appearance of this option.
Opening a new type of file not known by the IDE
User is opening file with unusual extension. The goal is to set a group of files so that they are always opened in particular editor. Assumption is that this group of files can be identified by extension. Any wildcard pattern has also been considered but this idea has been abandoned.
Changing the way particular group of files should be treated
This is assumed to be not very frequent use-case. It covers a situation in which user wants to change the way particular group of files is treated. This can mean changing the default behavior of the IDE or changing of what user has set in the previous use-case.
Eclipse is using two separate option panels, one for mime type to file extension mapping (content type panel) and the other for extension to editor mapping. Also, Open with... command from contextual menu can be used on each file to open it in an editor which is not configured for particular file type.
Idea is using object type to multiple file extensions mapping, but does not seem to allow change the editor each type is opened with.
From the usability standpoint, the solution currently used in NetBeans IDE is by far the worst of these three products.
Changes to File Contextual Menu
There is no change to the way files known by the IDE are opened. Nether, there there is a change to their contextual menu. How ever, when user attempts to open a file type of which is not known by the IDE, following dialog appears:
After that, given extension is automatically associated with given type of file and opened as such in the future.
initial appearance of the panel before any user's action:
appearance after user selects an extension from the dropdown:
This dialog suggests appearance of the pane after a filetype has been created or selected from the dropdown. By changing the value of Associated File Type (MIME) dropdown, the content of Open With label is changing to reflect the editors associated with given MIME type.
The Default button would be enabled for file types and associations which are part of NetBeans default settings and were tampered with. It's function is to restore default setting for given file pattern after user has messed up with it and it doesn't work as supposed to ;).
The New... dialog for creating a new file pattern:
Since association of a file with a MIME type can be seen as a file property (being used to operating system behavior can play a role here), it should be available from the file properties dialog, too. Clicking the "..." button should open the option dialog at given page, with the matching file dpattern selected.