Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>MinIO StudioNew to Visual Studio Code? Get it now.
MinIO Studio

MinIO Studio

lupee

|
2 installs
| (0) | Free
MinIO and S3-compatible object storage client: browse buckets, upload, download and preview files, monitor the cluster with live Prometheus metrics, and manage users, policies, access keys and bucket settings. Brings back the admin features removed from the MinIO community console.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

MinIO Studio

A MinIO and S3-compatible object storage client for VS Code: browse buckets, preview files, monitor the cluster, and manage users, policies and access keys, all without leaving the editor.

English · 简体中文说明在后半部分

Starting with RELEASE.2025-05-24, the MinIO community console ships with only the object browser. User and policy management, monitoring and bucket settings moved to the mc admin command line. MinIO Studio calls the admin APIs the server still provides and brings those features back as a graphical UI inside VS Code.

Features

  • Object browser in the sidebar: connections → buckets → folders → objects, with paged loading for large folders. A path box jumps straight to bucket/path, s3://bucket/path or a full URL. You can bookmark buckets and folders.
  • File operations: upload files or whole folders (multipart for large files, with progress and cancel), download objects, folders or entire buckets, create folders, rename and move, copy to another bucket, delete recursively. Multi-select works for batch download and delete.
  • Share links: presigned download URLs valid from 1 hour to 7 days. You can also copy the path, S3 URI or direct URL.
  • Edit objects in place: open an object as an editable copy; saving it in VS Code uploads it back.
  • File preview: images with zoom and pan, audio and video, text and code with line numbers, formatted JSON, CSV/TSV as a table, Markdown and PDF. A details pane shows metadata, editable tags, versions (download, restore or delete a version), retention and legal hold.
  • Monitoring dashboard:
    • Cluster overview: servers, drives, capacity, erasure coding, and KMS, logging and notification target status.
    • Live metrics read directly from MinIO's Prometheus endpoint, with no Prometheus server to deploy: S3 request and error rates, traffic, CPU and memory per node, and calls per S3 API.
    • Bucket usage and object size distribution.
    • A real-time trace of S3 calls, server logs, and a live bucket event listener.
  • Identity & access: users, groups, policies (create from templates or edit the JSON, and see who a policy is attached to), and access keys (service accounts) with expiry and inline policies.
  • Bucket settings: versioning, tags, quota, default encryption (SSE-S3 / SSE-KMS), object lock retention, anonymous access and bucket policy, lifecycle rules and event notifications. Replication is shown read-only.
  • Three sign-in methods: username and password, LDAP / Active Directory (via STS, renewed automatically) or access keys. Self-signed TLS certificates are supported, and a Test connection button checks everything before you save.
  • English and Chinese UI, following VS Code's display language by default.

Getting started

  1. Click the MinIO Studio icon (a hexagon with an "M") in the Activity Bar.
  2. Click Add Connection. Enter the S3 API endpoint, such as https://minio.example.com:9000 (not the console port), choose a sign-in method and click Test connection.
  3. Expand the connection to browse buckets, and click an object to preview it. Hover over a connection for the Monitoring Dashboard and Identity & Access buttons, or over a bucket for Bucket Settings. The same actions are on the right-click menu.

Configuration

Settings live in ~/.x1/minio-studio/conf.yaml. Connections you add in the UI are written there, and you can also edit the file by hand: saving it in VS Code applies the change immediately. If you edit it in another program, click Refresh in the sidebar.

language: auto            # UI language: auto (follow VS Code) / en / zh-cn
connections:
  - id: a1b2c3d4e5f6      # generated; bookmarks refer to it
    name: Production MinIO
    endpoint: https://minio.example.com:9000   # S3 API address, not the console port
    authType: password    # password | ldap | keys (keys when omitted)
    username: admin       # for password / ldap
    password: "******"
    region: us-east-1     # optional
    pathStyle: true       # optional, default true
    insecure: false       # optional; true for self-signed certificates
  - id: 0f9e8d7c6b5a
    name: Archive cluster
    endpoint: http://10.0.0.8:9000
    accessKey: AKIAEXAMPLE    # for keys (or when authType is omitted)
    secretKey: "******"
bookmarks:
  - connection: a1b2c3d4e5f6
    bucket: logs
    prefix: 2026/11/
    name: This month's logs
pageSize: 500             # objects listed per folder page
previewMaxMB: 50          # media larger than this is not downloaded automatically
shareExpiry: 604800       # default share link lifetime in seconds (max 7 days)
refreshSeconds: 5         # dashboard sampling interval in seconds

The file contains secrets, so the directory is created with mode 0700 and the file with mode 0600. Writes only change the keys that changed and keep anything you added by hand.

Permissions

  • Browsing and managing objects needs ordinary S3 permissions.
  • Monitoring, identity & access and quotas use the MinIO admin API. They need the root user, or a user with an admin:* policy such as consoleAdmin. Without it, the affected pages show a notice, and the dashboard falls back to the buckets your account can see.
  • LDAP accounts:
    • MinIO only issues STS credentials to LDAP users or groups that have a policy attached (mc idp ldap policy attach).
    • MinIO's Prometheus endpoint rejects STS credentials. The dashboard therefore offers to create a metrics-only access key (limited to admin:Prometheus) for LDAP connections.

Limitations

  • Server configuration is not included: OpenID / LDAP setup, notification targets, tiers, site replication, KMS, server config and diagnostics. Use mc admin for these.
  • Replication rules are read-only; configure them with mc replicate.
  • Audio and video are downloaded to a local cache before playback, subject to the preview size limit.

Source and feedback

  • Source code: https://gitee.com/Lupeed/vscode-minio-plugin
  • Issues: https://gitee.com/Lupeed/vscode-minio-plugin/issues

MinIO Studio(简体中文)

VS Code 里的 MinIO / S3 兼容对象存储客户端:浏览存储桶、预览文件、监控集群,管理用户、策略和访问密钥,不用离开编辑器。

MinIO 社区版从 RELEASE.2025-05-24 起,控制台只剩对象浏览器,用户、策略、监控、桶设置都要改用 mc admin 命令行。这个插件直接调用服务端仍然保留的管理接口,把这些功能补回到图形界面上。

功能

侧边栏:连接 → 桶 → 目录 → 对象

  • 多个连接,三种登录方式:

    • 用户名 / 密码(默认):与 MinIO 控制台的登录相同,root 用户或内置用户都可以。
    • LDAP / AD 账号:通过 STS(AssumeRoleWithLDAPIdentity)换取临时凭据,有效期 12 小时,到期前自动续期;服务端判定令牌失效时也会自动重新登录。
    • 访问密钥:Access Key / Secret Key。

    每个连接还可以设置区域、路径风格访问、是否跳过 TLS 证书校验(自签名证书)。表单里有「测试连接」,会依次检查 LDAP 登录(如果选了)、S3 和管理接口。

  • 按需分页加载:每个目录一次列 500 条(可在设置里改),剩下的点「加载更多」。状态栏显示选中目录下已列出的文件夹数、对象数和总大小。

  • 定位框:粘贴 bucket/path、s3://bucket/path,或者带端点的完整 URL,按回车就在树里展开到它。

  • 书签:右键桶或目录选「添加书签」,书签显示在工具栏第二排。

  • 对象操作:

    • 上传文件或文件夹(保留目录结构,按扩展名设置 Content-Type)
    • 下载对象,或整个目录 / 桶
    • 新建文件夹(可以一次建多级)
    • 重命名 / 移动对象和目录
    • 复制到其他桶
    • 删除,目录会连同里面的内容一起删
    • 复制路径、S3 URI、直链
    • 分享链接:预签名下载链接,有效期 1 小时到 7 天
  • 可以多选(⌘/Ctrl 加选、⇧ 连选)后批量下载或删除。大文件自动分片上传,所有传输都有进度条,可以取消。

  • 在编辑器中打开:下载一份可编辑的副本,在 VS Code 里保存就自动上传回原处。

对象预览(编辑区)

在树里点一个对象就会打开预览,用方向键在树里移动,预览跟着切换。

  • 图片:可缩放、平移,透明部分用棋盘格底显示。
  • 音频、视频:用 VS Code 内置的播放器。H.264/AAC 这类解码器 VS Code 没带,播放不了时可以一键在浏览器里打开。
  • 文本 / 代码:等宽显示,带行号。只读前 2 MB;可切换折行。
  • JSON:格式化并着色。
  • CSV / TSV:画成表格。
  • Markdown:一键用 VS Code 的 Markdown 预览打开。
  • PDF:在浏览器里打开(webview 渲染不了 PDF)。
  • 右侧详情:
    • 元数据
    • 标签(可以修改)
    • 版本列表:查看或下载某个版本、恢复为最新版本、永久删除某个版本
    • 保留期
    • 法律保留:桶开了对象锁时可以开关
  • 超过「预览大小上限」(默认 50 MB)的媒体文件不会自动下载,需要手动点「仍然预览」。

监控面板(每个连接一个)

  • 概览:服务器和磁盘的在线数、桶与对象数、已用容量、运行时长、纠删码配置、原始容量与可用容量。每台服务器显示一张磁盘表(路径、状态、用量、池 / 集 / 盘编号),另有 KMS、日志、审计、通知目标的状态。
  • 实时指标:直接读取 MinIO 的 Prometheus 指标接口,不需要另外部署 Prometheus。插件用当前连接的密钥现签令牌,与 mc admin prometheus generate 生成的相同。
    • 图表:S3 请求与错误速率、收发流量、各节点 CPU 与内存、处理中与排队的请求、节点间流量。
    • 表格:MinIO 进程、磁盘活动、各 S3 API 的调用速率。
    • 另有原始指标搜索。
    • 服务端大约每 10 秒更新一次这些指标,速率按两次数值变化之间的间隔计算。
  • 桶用量:由后台扫描器统计,显示各桶的大小、对象数、版本数、删除标记数和对象大小分布。点桶名可以进入桶设置。
  • 追踪:每个 S3 调用一行,显示耗时、首字节时间、状态码、流量和客户端。可以按类型(S3 / 内部 / 存储 / OS)、只看错误、耗时阈值过滤,点一行查看完整 JSON。
  • 日志:服务端的控制台日志,可以按类型、节点过滤。
  • 事件监听:选一个桶,按前缀、后缀和事件类型(PUT / GET / DELETE)实时查看对象的增删。

身份与访问(每个连接一个)

  • 用户:创建(同时分配策略和组)、启用 / 停用、修改 Secret Key、管理所属的组、挂载策略、删除。
  • 组:创建、管理成员和策略、启用 / 停用、删除。删除时会先把成员移出,用户本身保留。
  • 策略:列表带语句摘要;可以从模板新建(单桶只读、读写、只写,或完全管理员),也可以直接编辑 JSON;能查看谁挂了某个策略。内置策略不能删除。
  • 访问密钥(服务账号):按所属用户列出,可以创建。创建时可以指定名称、描述、过期时间,以及用来收窄权限的内联策略;Access Key 和 Secret Key 可以自定义,不填就自动生成。之后可以修改、启用 / 停用、删除。

桶设置(每个桶一个)

  • 概览:

    • 用量与配额占用
    • 版本控制:开启 / 暂停,以及 MinIO 扩展的排除前缀、排除文件夹
    • 标签
    • 硬配额
    • 默认加密:SSE-S3 / SSE-KMS
    • 对象锁的默认保留:Governance / Compliance,按天或年
  • 访问:一键设为私有或公开只读;也可以按前缀设置匿名访问规则(readonly / writeonly / readwrite),生成的策略语句与 mc anonymous 相同;还可以直接编辑桶策略的 JSON。

  • 生命周期:可以用表单配置:

    • 当前版本过期、非当前版本过期
    • 转储到存储层
    • 清理未完成的分片上传
    • 清理过期的删除标记
    • 按前缀或标签过滤

    也可以按 JSON 整体编辑。

  • 事件:订阅事件通知。目标 ARN 从服务器上已配置的通知目标里选,可以按前缀和后缀过滤。

  • 复制:只读显示复制规则和远端目标。

快速开始

  1. 点活动栏里的 MinIO Studio 图标(六边形里一个 M)。
  2. 点「添加连接」,填 S3 API 地址(如 https://minio.example.com:9000,不是控制台端口),选登录方式,点「测试连接」。
  3. 展开连接即可浏览桶,点对象打开预览。鼠标移到连接上,行尾有「监控面板」「身份与访问」按钮;移到桶上有「桶设置」。右键菜单里也有这些操作。

配置文件

全部配置保存在 ~/.x1/minio-studio/conf.yaml。在界面上新建或编辑连接都会写到这里,也可以手工编辑:在 VS Code 里保存这个文件后会立即生效;在别处改的,到侧边栏点「刷新」后生效。

language: auto            # 界面语言:auto 跟随 VS Code / zh-cn / en
connections:
  - id: a1b2c3d4e5f6      # 自动生成,书签靠它对应连接
    name: 生产环境 MinIO
    endpoint: https://minio.example.com:9000   # S3 API 地址,不是控制台端口
    authType: password    # password 用户名/密码 | ldap LDAP/AD 账号 | keys 访问密钥(省略时就是 keys)
    username: admin       # authType 为 password / ldap 时
    password: "******"
    region: us-east-1     # 可选
    pathStyle: true       # 可选,默认 true
    insecure: false       # 可选,自签名证书时设为 true
  - id: 0f9e8d7c6b5a
    name: 归档集群
    endpoint: http://10.0.0.8:9000
    accessKey: AKIAEXAMPLE    # authType 为 keys(或省略)时
    secretKey: "******"
  - id: 1a2b3c4d5e6f
    name: 公司 LDAP
    endpoint: https://s3.corp.example:9000
    authType: ldap
    username: zhangsan
    password: "******"
    metricsAccessKey: …   # 可选:读指标专用的访问密钥,由监控面板一键创建
    metricsSecretKey: …
bookmarks:
  - connection: a1b2c3d4e5f6
    bucket: logs
    prefix: 2026/11/
    name: 本月日志
pageSize: 500             # 每个目录一次列多少条
previewMaxMB: 50          # 预览自动下载的大小上限
shareExpiry: 604800       # 分享链接默认有效期(秒),最长 7 天
refreshSeconds: 5         # 监控面板的采样间隔(秒)

文件里保存着 Secret Key,所以目录权限是 0700,文件是 0600。写入方式是读—合并—写:只改动发生变化的键,手工加的键原样保留;先写临时文件再改名,中途崩溃也不会留下半个文件。

权限

  • 浏览和管理对象只需要普通的 S3 权限。
  • 监控、身份与访问、配额这几类功能要调用管理接口,需要 root 用户,或者挂了 consoleAdmin 这类带 admin:* 权限策略的用户。权限不够时,对应页面会显示提示,监控面板会退回只显示当前账号能看到的桶。
  • LDAP 账号:
    • MinIO 要求先给 LDAP 用户或其所在的组挂上策略(mc idp ldap policy attach),否则 STS 会拒绝登录,错误信息会原样显示在「测试连接」里。
    • MinIO 的 Prometheus 指标接口不接受 STS 临时凭据。监控面板的「实时指标」页会提示,点一下就能为这个账号创建一个只能读指标的访问密钥(策略收窄到 admin:Prometheus),保存在这条连接里。
    • 开启 LDAP 后,MinIO 的内置用户就停用了,身份与访问面板里的「用户」「组」只管内置身份;LDAP 用户与组的策略挂载请用 mc idp ldap policy。

已知限制

  • 没有实现服务器配置类功能:OpenID / LDAP、通知目标、存储层、站点复制、KMS、服务器配置、诊断工具。这些请用 mc admin。
  • 复制规则只能查看,配置请用 mc replicate。
  • 视频和音频要先完整下载到本机缓存才能播放,受「预览大小上限」限制。

源码与反馈

  • 源码:https://gitee.com/Lupeed/vscode-minio-plugin
  • 问题反馈:https://gitee.com/Lupeed/vscode-minio-plugin/issues
  • 调研记录(官方控制台功能演变与功能对照):https://gitee.com/Lupeed/vscode-minio-plugin/blob/master/docs/research.md
  • 开发说明与代码结构:https://gitee.com/Lupeed/vscode-minio-plugin/blob/master/docs/development.md
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft