VSCode资源管理器设"explorer.sortOrder": "type"后,先按文件夹>文件>符号链接大类排序,同类再按内置类型(如javascript、json)字典序排;.ts与.js同属javascript类型故混排,无扩展名文件归unknown垫底。

VSCode 资源管理器按类型排序不是“按扩展名分组”
设 "explorer.sortOrder": "type" 后,文件不会按 .js、.ts、.json 拆成独立区块,而是先分大类(文件夹 > 文件 > 符号链接),再在“文件”类内部按 VSCode 内置类型排序。比如 .ts 和 .js 都映射到 javascript 类型,所以它们会挨着排;.json 属于 json 类型,排在后面;没扩展名的 README 或 Dockerfile 统一归为 unknown,永远垫底。
常见错误现象:settings.json 里写了 "type" 却还是字母序——大概率是 explorer.compactFolders 开着,或父文件夹没手动重新展开(改完必须点三角收起再点开才生效)。
想让 .env 显示齿轮图标?vscode-icons 的 extensions 字段不写点
装好 vscode-icons 后,要让 .env 文件显示齿轮图标,得在 settings.json 里加 "vsicons.associations.files" 映射:
{
"vsicons.associations.files": [
{
"icon": "gear",
"extensions": ["env"],
"format": "svg"
}
]
}
extensions 值必须是 ["env"],不是 [".env"];icon 名必须是插件支持的合法值(如 gear、config),查插件 README 最稳;.tsconfig.json 默认走 json 类型,图标不会自动变 TypeScript,得额外加一条映射把它指定为 typescript-config 类型。
files.associations 是让 VSCode “理解”文件,不是控制打开方式
files.associations 决定语法高亮和语言功能,比如:
-
"*.env": "ini"→ 把所有.env当 ini 文件处理,有 key=value 高亮 -
"Dockerfile": "dockerfile"→ 让无扩展名的Dockerfile正确识别为 Docker 语法 -
"*.conf": "nginx"→ 需要已安装支持nginx语言模式的扩展
它不控制用哪个编辑器打开——那是 workbench.editorAssociations 的事。如果配了 files.associations 却没效果,先检查对应语言 ID 是否拼对(比如 javascriptreact 不是 jsx),再确认有没有扩展提供该语言支持。
多根工作区下,书签侧栏不能跨工作区筛选
Bookmarks 插件的 Bookmarks: List from All Files 命令能汇总所有工作区的书签,但无法按工作区过滤。命名时加前缀(如 backend-api-auth、frontend-ui-header)是唯一可靠归类方式。未命名的书签在侧栏只显示为 Bookmark #1,大型项目中基本不可用;右键条目可重命名,但不能拖拽分组或手动创建文件夹——侧栏本质是只读索引,所有编辑仍需回到代码行或右键完成。


















