Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>Gits StudioNew to Visual Studio Code? Get it now.
Gits Studio

Gits Studio

lupee

|
1 install
| (0) | Free
Manage multiple git repositories like SourceTree: clone, add local repos, commit, pull, fetch and push.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Gits Studio

一个类似 SourceTree 的 VSCode 插件原型:在一个侧边栏里集中管理多个 git 项目,支持克隆线上仓库、添加本地仓库,以及对每个项目执行提交 / 拉取 / 抓取 / 推送。

功能(最小原型)

  • 克隆远程仓库:输入远程地址 → 选择存放目录 → 确认项目名 → 自动 git clone 并加入列表
  • 添加本地仓库:选择文件夹(可以是仓库内任意子目录,会自动定位仓库根目录)→ 自动读取 origin 地址 → 加入列表
  • 项目卡片:每个项目以卡片展示——左侧是以项目名首字母生成的彩色图标,右侧多行显示 名称 / 当前分支 / 本地路径 / 远程地址;本地路径不存在时卡片置灰并提示
  • 三个统计值(卡片底部,每个前面有图标标明含义):✎ 未提交的更改文件数、↑ 待推送的提交数、↓ 待拉取的提交数(相对上游分支;没有上游时显示 –)。待拉取数以本地的远程跟踪分支为准,抓取之后才是最新的
  • 拖拽排序:按住卡片拖动即可调整顺序,顺序直接保存到配置文件
  • 双击卡片:在新窗口打开该项目
  • git 操作(卡片底部按钮):
    • 提交全部更改(git add -A + git commit -m);设置了提交模板时直接用模板文字提交,不再弹输入框
    • 拉取 git pull
    • 抓取 git fetch --all --prune
    • 推送 git push(当前分支无上游时会询问是否 push -u origin <branch>)
  • 进度条:拉取 / 抓取 / 推送期间卡片底部显示进度条,统计值处显示「正在拉取… 45%」;百分比来自 git --progress 输出的各阶段(Counting / Compressing / Receiving / Resolving deltas / Writing …)按权重折算,还没有百分比时显示滚动动画。操作期间该卡片的按钮禁用,通知栏也同步显示百分比
  • 卡片菜单(点卡片上的 ··· 按钮或在卡片上右键,页面内弹出):在新窗口打开、在集成终端打开、复制本地路径、从列表移除(不删除磁盘文件);本地路径不存在的卡片只留后两项
  • 顶部工具栏:克隆远程仓库、添加本地仓库(宽按钮,侧边栏过窄时自动只显示图标)、提交全部项目(✓✓:遍历列表,有未提交更改的项目按顺序依次 add -A + commit;设了提交模板就用模板,否则只问一次提交信息、所有项目共用;失败的项目汇总成一条错误提示)、推送全部项目(☁↑:有待推送提交的项目按顺序依次 push,没有上游分支的跳过;卡片上同样显示进度条)、刷新、设置(齿轮);同样的命令也在命令面板中(Gits Studio: …)
  • 齿轮菜单(点击齿轮弹出,做法与 File Studio 相同):
    • 界面语言(二级菜单):跟随 VS Code / 中文 / English / Deutsch / Français / 日本語 / 한국어,当前项打勾,点了立即切换(无需重启)。命令标题、菜单项等 package.json 里声明的文案仍跟随 VS Code 的显示语言
    • 提交模板…:弹输入框设置默认提交信息,行尾显示当前模板;留空则清除,恢复为每次询问
    • 打开配置文件

所有 git 命令与输出都记录在「输出」面板的 Gits Studio 通道中,便于调试。

配置文件

项目列表保存在 ~/.x1/git-studio/conf.yaml(projects 的数组顺序即卡片顺序),可手工编辑后点「刷新」:

version: 1
projects:
  - name: my-project
    path: /Users/me/code/my-project
    remote: git@github.com:me/my-project.git
language: auto
commitTemplate: 'chore: update'
字段 说明
projects[].name 列表中显示的项目名称
projects[].path 本地仓库的绝对路径
projects[].remote 远程地址(origin),可为空
language 界面语言:auto(跟随 VS Code)/ zh-cn / en / de / fr / ja / ko,由齿轮菜单维护
commitTemplate 提交模板;设置后点「提交」直接用它作为提交信息。由齿轮菜单维护,删掉这个键即恢复每次询问

写入采用读—合并—写,只改动认识的键,手工加的其他键原样保留。

开发与调试

npm install
npm run compile      # 或 npm run watch

在 VSCode 中打开本目录,按 F5 选择:

  • Run Extension:默认语言
  • Run Extension (zh-CN):VS Code 显示语言为中文(--locale=zh-cn,界面语言设为「跟随 VS Code」时生效)

校验翻译是否齐全(src 里每个 t('...') 在各语言包中都有译文、package.nls.*.json 键一致):

npm run check-l10n

打包(会先跑 check-l10n 与编译):

npm run package      # 生成 release/gits-studio-<version>.vsix

release/ 目录连同里面的 vsix 一起提交到仓库,安装时直接取该目录下的文件。

目录结构

src/
  extension.ts   # 入口:初始化语言、创建输出通道与卡片视图,注册命令
  i18n.ts        # 插件自己的界面语言(t()),独立于 VS Code 的显示语言,可运行时切换
  config.ts      # ~/.x1/git-studio/conf.yaml 读写(projects / language / commitTemplate)
  git.ts         # 基于 child_process 的 git 命令封装;解析 --progress 输出得到百分比
  projectsView.ts# 项目卡片视图(WebviewView):下发数据与文案、转发命令、进度消息、保存拖拽顺序
  commands.ts    # 所有命令的实现
media/
  main.css       # 卡片、进度条、齿轮菜单样式(全部使用 VSCode 主题变量)
  main.js        # 卡片渲染、统计值、进度条、齿轮菜单、按钮转发、HTML5 拖拽排序
l10n/            # 运行时文案:bundle.l10n.<lang>.json,英文原文作 key
scripts/
  check-l10n.js  # 校验翻译是否齐全
resources/
  icon.svg       # 市场图标源文件(128 网格,蓝色渐变背景)
  icon.png       # 市场图标(由 icon.svg 导出,128×128)
  icon-branch-badge-g.svg  # 活动栏 / 视图图标(单色,右下角 G 徽章)
package.nls*.json# package.json 贡献点文案

已知限制

  • 依赖系统已安装 git 并在 PATH 中
  • 执行 git 命令时禁用了终端交互(GIT_TERMINAL_PROMPT=0),HTTPS 仓库请配置凭据助手,SSH 仓库请使用 ssh-agent / 钥匙串
  • 进度百分比依赖 git 的 --progress 输出:仓库很小、瞬间完成时看不到中间百分比,只有滚动动画与最后的 100%
  • 原型阶段不支持选择性暂存、分支切换、查看历史等功能
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft