In context menu of tab
Open in
File View there are 2 options:
- Show Names Only
- Sort By Extension
With second option not enabled, the first option determines if the list of open files is sorted alphabetically according to
- path + file name
- file name only
For sorting the
File Tabs there is the setting
Sort tabs on file open at
Advanced - Configuration - Application Layout - File Tabs. The file tabs are sorted with this setting enabled according to their names only, i.e. without path.
The menu item
Sort File Tabs in submenu
File Tabs of context menu of the file tabs is a command to sort the file tabs now on clicking it. It does not toggle the configuration setting.
I could see that with
Sort tabs on file open enabled and the opened files have all the same name like
index.html, modifying a file results in moving the tab of this file to end of the list.
It looks like this is caused by appending
* to end of file name on file tab to indicate that this file is modified. This additional character (invalid for a file name) is taken into account on sorting the file tabs according to string displayed in file tab. That is definitely an unexpected behavior, especially if setting
Display status icons is enabled resulting in not displaying
* on file tab.
And this unexpected behavior makes it also clear that sorting the file tabs does not occur only on opening a file. In real the sort of the file tabs is done always if a change is made on string list of the file tabs, i.e. a
* is appended to a file name because of first modification since load/last save, or a modified file is saved, or a file is renamed, or a file is closed.
I suggest to report this issue by email to IDM support. On sorting the file tabs according to list of file names the
* appended at end of the file name on modifying a file or removed on saving of a modified file should be always ignored.
In other words instead of sorting the file tabs according to list of displayed strings after a modification of the file tabs list, it is necessary to create a copy of this list, remove all
* from all strings in the copied list, sort the copied list and check if sort order has changed at all. If this is the case, the same sort order must be applied to list of file tabs containing one or more file names with
* at end and then update the file tabs bar. Of course it would be most likely more efficient to code a special sort function for file tabs list which ignores
* on sorting instead of using standard sort list library function which I suppose is used in code of UE/UES for sorting the file tabs list. Even more efficient would be to trigger sorting the file tabs list only if a file is opened, closed or renamed and not on any change in file tabs strings list.
In your case it would be even necessary to sort file tabs with identical file name taking file path also into account to determine the sort order. But file path should be only taken into account if two file tabs have without
* identical strings. If path of file would be always taken into account on sorting the file tabs, the sort order would be very confusing for files with different names in different folders for the users.