With this folder https://github.com/lunapaint/imagetestsuite/tree/main/png , it starts off alphabetical but gives up shortly after. It looks like the it's sorting by the number first such that 3, 20, 100 appear in the "correct" order. I suggest making one of the following changes:
- Only use that rule when the file name excluding the extension is a number (not sure what cases are being covered)
- Add a setting for actual alphabetical sorting
- My preference: Sort alphabetical if the file name looks like a hash (/[0-9a-f]{7,32}/)
Have been hitting this a decent amount recently, instead of a quick find via visual check I need to type out the first part of the hash to filter the explorer.
7条答案
按热度按时间ztigrdn81#
我已经找到了一个适合这个的:
这对你有用吗?
f3temu5u2#
如果我理解正确,那么这个设置不会将
a
和A
视为相同。所以不,这不起作用,因为我不希望根据我正在做的事情不断切换我的资源管理器的排序选项。f0brbegy3#
我们正在使用
Intl.Collator
's 进行很多操作:vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.ts
第684行到第701行的代码
| | switch(lexicographicOptions){ |
| | case'upper': |
| | compareFileNames=compareFileNamesUpper; |
| | compareFileExtensions=compareFileExtensionsUpper; |
| | break; |
| | case'lower': |
| | compareFileNames=compareFileNamesLower; |
| | compareFileExtensions=compareFileExtensionsLower; |
| | break; |
| | case'unicode': |
| | compareFileNames=compareFileNamesUnicode; |
| | compareFileExtensions=compareFileExtensionsUnicode; |
| | break; |
| | default: |
| | // 'default' |
| | compareFileNames=compareFileNamesDefault; |
| | compareFileExtensions=compareFileExtensionsDefault; |
| | } |
但是
unicode
只是内置的<
运算符,不确定是否有 Collator 配置可以满足你的需求,我不想硬编码一些仅在英语中有效的东西。这可能只是不传递numeric: true
的问题,但那样会破坏a.1.txt
、a.2.txt
、...a.10.txt
。j8ag8udp4#
可能在某个时候被 #27286 / #27759 覆盖。
x8goxv8g5#
它与#27759类似,并在一条评论中被提及(#27759(评论))。但我认为这个问题是独特的,因为它特别涉及到文件开头的特殊数字处理,而不是像那里提到的主要情况那样:
一个名为foo.ts的文件在foo_test.ts之前排序,但我们反过来排序
#27759更多地关注具有相同前缀的文件如何相对于彼此进行排序。
3pmvbmvn6#
我可以添加一个不区分大小写的
unicode
变体。我认为这比为数字前缀设计自定义功能更可取。此外,值得探讨一下非
numeric
排序器是否能在这里提供帮助。bihw5rsg7#
@JacksonKearl不确定我是否想要一个不区分大小写的Unicode变体,我想要两者兼得;今天按照#27759中描述的修复进行排序,并对哈希值进行逻辑排序。我不熟悉这段代码,但似乎可以实现。