You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio Code workspaceStorage文件夹定位及ID外部脚本查询方法

VS Code工作区ID与workspaceStorage匹配逻辑

一、VS Code如何关联工作区与workspaceStorage文件夹

  • 工作区ID生成规则:VS Code会对工作区的标准URI生成SHA-256哈希值,取哈希值的前12位十六进制字符作为该工作区的唯一ID,也就是workspaceStorage下对应文件夹的名称。
    • 文件夹型工作区:URI是文件夹路径转换为的标准file://格式(比如macOS/Linux下file:///home/user/my-project,Windows下file:///C:/Users/user/my-project)。
    • .code-workspace文件型工作区:URI就是该工作区文件的file://格式路径。
  • 匹配机制:每个workspaceStorage文件夹内都有一个workspace.json文件,其中folder或configPath字段记录了对应的工作区路径/URI。VS Code启动时,会读取这些文件快速关联当前打开的工作区与对应存储文件夹,无需扫描所有目录。

二、外部脚本高效获取工作区ID的方法

不用遍历workspaceStorage目录,直接通过计算工作区路径的哈希值得到ID,步骤如下:

  1. 将目标工作区的路径转换为标准file://格式的URI:
    • macOS/Linux:路径开头加file:///(比如/home/user/my-project → file:///home/user/my-project)
    • Windows:将盘符路径的反斜杠换成正斜杠,再添加file:///前缀(比如C:\Users\user\my-project → file:///C:/Users/user/my-project)
  2. 对该URI字符串进行SHA-256哈希计算,取结果的前12位十六进制字符,就是对应的工作区ID。

示例脚本(Python)

import hashlib

def get_vscode_workspace_id(workspace_path):
    # 转换为标准file URI
    if workspace_path.startswith('/'):
        # macOS/Linux 路径处理
        uri = f'file://{workspace_path}'
    else:
        # Windows 路径处理:替换反斜杠,添加前缀
        windows_path = workspace_path.replace('\\', '/')
        uri = f'file:///{windows_path}'
    
    # 计算SHA256哈希并取前12位
    hash_result = hashlib.sha256(uri.encode('utf-8')).hexdigest()
    return hash_result[:12]

# 使用示例
print(get_vscode_workspace_id('/home/user/my-project'))

补充说明

如果修改了VS Code的workspaceStorage默认路径(比如通过配置或环境变量调整),只需将计算出的ID与新路径下的文件夹匹配即可,核心的ID生成逻辑保持不变。

内容的提问来源于stack exchange,提问作者itzjackyscode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 21:50:41