Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>文件云上传 - Cloud UploaderNew to Visual Studio Code? Get it now.
文件云上传 - Cloud Uploader

文件云上传 - Cloud Uploader

novlan1

|
2 installs
| (0) | Free
Upload files to Tencent COS or custom API. History, multi-view, and profile-based credential management.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Cloud Uploader

VS Code 扩展 — 点选文件上传到腾讯云 COS 或自定义接口,支持上传历史管理与多视图浏览。

功能

功能 说明
📤 双后端上传 COS 直传(腾讯云) / 自定义 API,一键切换
📋 列表模式 VSCode TreeView 原生列表,行内复制/删除
🖼 网格模式 Webview 卡片网格,悬停放大、标签筛选
🔍 筛选搜索 文件名关键词搜索、上传模式/标签筛选
📋 右键上传 编辑器中右键图片 → 上传
📎 自动复制 上传成功后自动复制 URL,直接粘贴使用

安装

从 VSIX 安装

1. 下载 .vsix 文件
2. VS Code 扩展面板 → `...` → 从 VSIX 安装

从源码构建

git clone git@github.com:novlan1/vscode-file-uploader.git
cd vscode-file-uploader
pnpm i
pnpm build && pnpm package

配置

密钥等敏感信息用环境变量,不要写进 settings.json(会推到 git)。

配置方式

有两种方式让扩展读到密钥。推荐方式一(.env 文件),最稳。

方式一:.env 文件(推荐)

VS Code 从 Finder / Dock / Spotlight 启动时不会加载 ~/.zshrc,所以终端 export 的变量进不来。用 .env 文件可以避免这个问题。

全局配置(所有项目共用)~/.file-uploader.env:

# 个人
COS_SECRET_ID=AKIDxxxxxxxx
COS_SECRET_KEY=xxxxxxxx
COS_BUCKET=my-blog-1250000000
COS_REGION=ap-guangzhou
COS_CDN_DOMAIN=

# 工作(profile=work 时使用)
COS_SECRET_ID_WORK=AKIDyyyy
COS_SECRET_KEY_WORK=yyyy
COS_BUCKET_WORK=company-cdn-1250000000
COS_REGION_WORK=ap-shanghai
COS_CDN_DOMAIN_WORK=https://cdn.company.com

项目级配置 <workspace>/.file-uploader.env(覆盖全局同名键):

COS_BUCKET=this-project-bucket
COS_CDN_DOMAIN=https://cdn.this.com

加载顺序(高优先级覆盖低优先级):项目级 → 全局 → ~/.zshrc → process.env

方式二:终端 export(开发/调试场景)

如果从终端启动 VS Code(code 命令),~/.zshrc 里的 export 会进 VS Code 进程:

export COS_SECRET_ID=xxx
export COS_SECRET_KEY=xxx
# 然后从该终端启动
code /path/to/project

这种方式重启终端或重启 VS Code 都要重新加载。

多 Profile 支持

如果工作和个人用的是不同账号,可以设 profile 区分。环境变量命名规则:{KEY}_{PROFILE大写}。 不配 profile 则用无后缀的默认变量。

示例:工作和个人两套 COS 账号

~/.zshrc 或 ~/.bashrc:

# 默认(不用配 profile,或 profile 留空)
export COS_SECRET_ID="个人账号SecretId"
export COS_SECRET_KEY="个人账号SecretKey"
export COS_BUCKET="my-blog-1250000000"
export COS_REGION="ap-guangzhou"

# 工作(profile = work)
export COS_SECRET_ID_WORK="工作账号SecretId"
export COS_SECRET_KEY_WORK="工作账号SecretKey"
export COS_BUCKET_WORK="company-cdn-1250000000"
export COS_REGION_WORK="ap-shanghai"
export COS_CDN_DOMAIN_WORK="https://cdn.company.com"

VS Code settings.json 里只需配 profile 和 uploadMode:

{
  "fileUploader.uploadMode": "cos",
  "fileUploader.profile": "work"
}

把 "work" 改成 "" 或删掉这行就切回个人账号,不用改其他配置。

COS 模式

在 腾讯云控制台 - 访问密钥 创建密钥,在 对象存储 - 存储桶列表 创建 Bucket。

.zshrc 示例(profile 留空时用无后缀版本):

export COS_SECRET_ID="AKIDxxxxxxxx"
export COS_SECRET_KEY="xxxxxxxx"
export COS_BUCKET="my-bucket-1250000000"
export COS_REGION="ap-guangzhou"
export COS_UPLOAD_PATH="images/"
# 可选
export COS_CDN_DOMAIN="https://cdn.example.com"

路径说明:uploadPath=blog/images/ + 文件 photo.png → key 为 blog/images/photo_abc123.png。填了 cdnDomain 则返回 https://cdn.example.com/...,留空返回 COS 原始地址。

API 模式

export API_UPLOAD_URL="https://api.example.com/upload"
export API_UPLOAD_HEADERS='{"Authorization":"Bearer eyJ..."}'
# 可选
export API_UPLOAD_FIELD_NAME="file"
export API_UPLOAD_RESPONSE_URL_PATH="data.url"
export API_UPLOAD_EXTRA_FIELDS='{"folder":"blog"}'

Response Url Path:接口返回 { "data": { "url": "https://..." } } → 填 data.url。多级路径 result.file.url 也支持。

环境变量对照表

VS Code 配置 环境变量 Profile 前缀版本
cos.secretId COS_SECRET_ID COS_SECRET_ID_WORK
cos.secretKey COS_SECRET_KEY COS_SECRET_KEY_WORK
cos.bucket COS_BUCKET COS_BUCKET_WORK
cos.region COS_REGION COS_REGION_WORK
cos.uploadPath COS_UPLOAD_PATH COS_UPLOAD_PATH_WORK
cos.cdnDomain COS_CDN_DOMAIN COS_CDN_DOMAIN_WORK
api.url API_UPLOAD_URL API_UPLOAD_URL_WORK
api.headers API_UPLOAD_HEADERS API_UPLOAD_HEADERS_WORK
api.fieldName API_UPLOAD_FIELD_NAME API_UPLOAD_FIELD_NAME_WORK
api.responseUrlPath API_UPLOAD_RESPONSE_URL_PATH API_UPLOAD_RESPONSE_URL_PATH_WORK
api.extraFields API_UPLOAD_EXTRA_FIELDS API_UPLOAD_EXTRA_FIELDS_WORK

通用配置

配置项 默认值 说明
Default View grid 面板默认视图:网格 / 列表
Rename Rule {timestamp}-{random} 文件重命名模板
Max History Size 500 最大保留历史记录数

重命名规则

变量 说明 示例输入 → 输出
{name} 原文件名(不含扩展名) photo
{ext} 扩展名(含 .) .png
{timestamp} 36 进制时间戳 lm84c1g
{random} 6 位随机十六进制 a3f2c1

常用模板:

{timestamp}-{random}          → lm84c1g-a3f2c1.png
{name}-{timestamp}            → photo-lm84c1g.png
images/{timestamp}/{name}     → images/lm84c1g/photo.png

使用

操作 方式
上传文件 侧边栏点击 📤 / 命令面板搜索 上传文件
右键上传 编辑器右键文件 → 上传文件
切换视图 侧边栏标题栏 🔄 按钮 / 命令面板 切换列表/网格视图
复制 URL 列表中 📋 按钮 / 网格中 复制URL
删除记录 列表中 🗑 按钮 / 网格中 删除
筛选 命令面板 筛选图片 / 网格模式关键字搜索
设置 命令面板 打开设置

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft