TFS Power Tools UI 封装和使用指南

在当前的软件开发环境中,版本控制系统扮演着至关重要的角色。Microsoft的Team Foundation Server (TFS) 是一个强大的版本控制和项目管理平台。为了更高效地使用TFS,开发者们经常需要使用到TFS的Power Tools。这些工具提供了命令行界面,用于执行各种版本控制操作。然而,频繁地使用命令行工具可能会降低工作效率。因此,创建一个用户界面(UI)来封装这些命令行工具,使其更加易于使用,是一个值得考虑的解决方案。

本文将介绍如何创建一个简单的UI来封装TFS的Power Tools,并展示如何使用这些工具来执行常见的版本控制操作。此外,还将探讨如何为这个UI添加新的工具,以及在使用过程中需要注意的一些要点。

作者目前维护着三个不同的项目,都在使用TFS。为了提高工作效率,作者决定使用Microsoft网站上提供的Team Foundation Server Power Tools。由于这些工具的使用频率很高,作者考虑创建一个UI,以便更直观地使用这些工具。这个UI需要能够捕获命令行输出,以便在执行命令时,能够将输出返回给UI。在The Code Project上,作者找到了一个名为CommandLineHelper的.NET工具,它可以启动控制台应用程序并捕获它们的输出。这个工具是由Andrew Tweddle开发的,作者对此表示感谢。

封装的Power Tools

封装的TfptWrapper工具非常简单直观。以下是作者封装的一些Power Tools:

  • 审查变更(tfpt review)
  • 清理树(tfpt treeclean)
  • 撤销未更改的项目(tfpt uu)
  • 历史记录(tfpt history)
除了这些Power Tools,作者还包含了Visual Studio Team Foundation安装包中的tf.exe命令行工具中的常用命令checkout和checkin。
  • 批量检出(tf checkout)
  • 批量签入(tf checkin)
此外,还有一个简单的命令用于列出具有特定通配符输入的文件:
  • 搜索(dir /s/b *.*)
当使用Execute按钮执行这些命令时,会创建一个批处理文件,然后将该文件和所需的参数一起传递给CommandLineHelper类,并在一个异步进程中执行。CommandLineHelper类返回批处理文件的输出,该输出被定向到输出文本框。

由于作者需要在三个不同的项目中工作,因此有三个工作区需要处理。因此,作者在工作区位置旁边提供了一个History按钮,用于跟踪作者访问过的工作区。这样,下次作者就不必导航到这些文件夹了。作者只需点击History按钮,打开一个对话框并选择所需的工作区。

添加新工具

如果需要向这个工具添加更多的工具,请按照以下步骤操作:

  1. 打开Command.cs文件,并向Command枚举中添加一个对应于正在添加的工具的枚举成员。
  2. 以设计模式打开TfptWrapperDialog.cs。
  3. 向Tab控件中添加一个新的标签页,并适当命名。
  4. 在标签页的tag属性中,精确输入Command枚举中的枚举成员名称。
  5. 添加用于收集命令参数的控件。
  6. 打开TfptWrapperDialog的源代码。
  7. 在ExecuteCommand方法中,使用Command枚举中的枚举成员添加一个case语句。
  8. 打开TfptWrapperController.cs,并添加一个名为InvokeXYZ的方法,其中XYZ是命令。
  9. 添加适当的源代码。
  10. 在TfptWrapperDialog.cs的ExecuteCommand方法中,在对应于命令的case语句中调用这个方法。
  11. 测试它。

注意事项

需要注意的是,Abort功能实际上并不会终止当前正在运行的命令。它只是返回到主应用程序,而不收集CommandLineHelper类的输出。作者还没有弄清楚如何通过CommandLineHelper类来终止一个命令。如果知道,请告诉作者,以便将其整合到这个工具中。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485