Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TFS TFVC Chinese

Visual Studio Code 扩展,在编辑器内集成 Team Foundation Server (TFVC) 版本控制。管理挂起更改、撤销编辑、比较文件、切换工作区,无需离开 IDE。


📦 用户指南

功能特性

  • 添加 文件:直接在源代码管理中生效。
  • 重命名 文件:直接在源代码管理中生效。
  • 删除 文件:直接在源代码管理中生效。
  • 移动 文件 到其他目录:直接在源代码管理中生效。
  • 移动 目录:直接在源代码管理中生效。
  • 挂起更改视图: 跟踪和管理工作区中所有挂起的更改。
  • 快速文件操作: 右键点击文件或文件夹,可以:
    • 撤销挂起的更改。
    • 与 TFS 最新版本比较文件。
  • 状态栏集成: 直接从状态栏快速设置或切换活动工作区。

安装

Visual Studio Marketplace 安装此扩展。

配置

文件首选项设置 中搜索 tfs 进行配置。

配置键 说明 默认值
tfs.location tf.exe 路径
tfs.promptToCheckOut 编辑前是否弹窗确认签出
tfs.blame.enabled 启用/禁用标注功能 true
tfs.blame.cacheSize 标注信息缓存的最大文件数 50
tfs.tfptLocation TFS Power Tools (tfpt.exe) 路径

要查找 tf.exe 路径,打开 Visual Studio 开发者命令提示符,运行:

where tf.exe

使用方法

  1. 打开挂起更改视图 打开 挂起更改 视图,查看所有未提交的更改。

  2. 右键操作 右键点击文件或文件夹,可执行撤销更改、与最新版本比较等操作。

  3. 设置活动工作区 使用屏幕底部的状态栏,为项目设置活动工作区。

预览

挂起更改视图

切换工作区

点击状态栏左侧的「工作区」按钮后,会弹出快速选择面板。

工作区选择面板


🛠️ 开发者指南

获取代码

git clone https://github.com/Keysqiu/svetlyotfs.git
cd svetlyotfs/vscode-tfs

环境要求

依赖 版本要求 说明
Node.js >= 12.x 运行环境
TypeScript 4.5.5 编译(项目自带)
Yarn >= 1.x 包管理
tf.exe TFS 命令行客户端,需 Visual Studio 或 Team Explorer 提供
VSCode ^1.86.0 引擎要求

安装依赖

yarn install

编译

# 编译 TypeScript
yarn compile

# 监听模式(增量编译)
yarn watch

运行测试

# 运行所有测试
yarn test

# 按名称筛选测试
yarn test -- --grep "测试名称"

代码检查与格式化

# ESLint 检查
yarn lint

# Prettier 格式化
yarn fix

打包

# 安装 vsce(全局)
npm install -g @vscode/vsce

# 打包为 .vsix 文件
vsce package

生成的 .vsix 文件可通过 VSCode 的 扩展 → ... → 从 VSIX 安装... 加载。

调试

在 VSCode 中按 F5,使用预配置的 Debug Extension launch 配置,会自动编译并启动扩展开发宿主窗口。

项目结构

vscode-tfs/
├── src/
│   ├── extension.ts                  # 入口:activate/deactivate
│   ├── TFS/
│   │   ├── Commands.ts               # tf.exe 命令封装
│   │   ├── Spawn.ts                  # 底层子进程调用
│   │   ├── Types.ts                  # 数据类型定义
│   │   ├── OperationQueue.ts         # 串行化操作队列
│   │   └── BlameManager.ts           # Blame 缓存
│   ├── vscode/
│   │   ├── PendingChangesTreeView.ts # 挂起更改树视图
│   │   ├── FileHistoryTreeView.ts    # 文件历史树视图
│   │   ├── PendingChangesViewDecoration.ts # 文件装饰器
│   │   ├── WorkspaceStatusBarItem.ts # 状态栏工作区切换
│   │   ├── ActionHandlers.ts         # 命令处理器
│   │   └── BlameDecorationsProvider.ts # Blame 内联装饰
│   ├── common/
│   │   ├── Settings.ts               # 配置管理
│   │   ├── Utilities.ts              # 工具函数
│   │   └── LocalCache.ts             # 缓存实现
│   └── test/                         # 测试文件
├── out/                              # 编译输出
├── res/                              # 资源文件
└── package.json                      # 扩展配置

💡 反馈与贡献

您的反馈对改进此扩展至关重要!

  • 报告问题或建议功能: 在 GitHub 上提交 Issue
  • 参与开发: Fork 本仓库并提交 Pull Request,帮助增强此扩展。

📂 源代码

源代码托管在 GitHub。 欢迎探索、贡献,共同完善此扩展。

📜 许可证

本项目基于 MIT 许可证 授权。 自由使用、修改和分享。

⭐ 支持

如果此扩展改善了您的工作流程,欢迎在此处留下评价。

About

Rich feature VSCode extension integrating with TFS(Team Foundation Server) with git-like user interface.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages