65.9K
CodeProject 正在变化。 阅读更多。
Home

Team Foundation Power Tools 包装器

starIconstarIconstarIconemptyStarIconemptyStarIcon

3.00/5 (1投票)

2007 年 12 月 7 日

CPOL

3分钟阅读

viewsIcon

30231

downloadIcon

447

Team Foundation Power Tools 提供的常用命令行工具的包装器

Screenshot -

引言

此实用程序调用 Microsoft 网站上提供的一些非常方便的命令行工具,用于访问 Team Foundation Server。

背景

目前,我在 TFS 中维护三个不同的项目。我使用 Microsoft 网站上提供的Team Foundation Server Power Tools。由于我经常使用它们,所以我考虑为最常用的工具创建一个 UI。我需要一些能够捕获命令行输出的内容,以便在执行命令时,捕获命令行输出并将其返回到 UI。我在 Code Project 上搜索了这样的 .NET 实用程序,并找到了CommandLineHelper 类来启动控制台应用程序并捕获其输出,该类由Andrew Tweddle编写。感谢 Andrew 提供此实用程序。

Power Tools

TfptWrapper 本身非常简单。以下是TfptWrapper中包含的 Power Tools

  1. 查看更改 (tfpt review)
  2. 清理树 (tfpt treeclean)
  3. 撤消未更改的项 (tfpt uu)
  4. 历史记录 (tfpt history)

除了 Power Tools 之外,我还包含了 Visual Studio Team Foundation 安装程序附带的命令行tf.exe中常用的checkoutcheckin命令。

  1. 批量签出 (tf checkout)
  2. 批量签入 (tf checkin)

以下命令仅列出具有特定通配符输入的文件。

  1. 搜索 (dir /s/b *.*)

使用“执行”按钮执行这些命令中的任何一个时,都会创建一个批处理文件,然后将其与所需参数一起传递到CommandLineHelper类中,并在异步进程中执行。CommandLineHelper类返回批处理文件的输出。此输出将定向到“输出”文本框。

工作区历史记录功能

由于我必须处理三个不同的项目,因此我需要处理三个工作区。因此,我在工作区位置旁边提供了“历史记录”按钮,用于跟踪我访问的工作区。因此,下次我不必导航到这些文件夹。我只是单击“历史记录”按钮打开一个对话框并选择我想要的一个。

添加新工具

如果需要向此实用程序添加更多工具,则需要执行以下步骤。

  1. 打开Command.cs文件,并将枚举成员添加到对应于您要添加的工具的Command enum
  2. 在设计模式下打开TfptWrapperDialog.cs
  3. 向 Tab 控件添加一个新的选项卡页。为其命名。
  4. 在选项卡页的tag属性中,输入与Command enum中完全相同的枚举成员名称。
  5. 添加用于收集命令参数的控件。
  6. 打开TfptWrapperDialog的源代码。
  7. ExecuteCommand方法中,使用Command enum中的枚举成员添加一个case语句。
  8. 打开TfptWrapperController.cs并添加方法InvokeXYZ,其中XYZ是您的命令。
  9. 添加相应的源代码。
  10. TfptWrapperDialog.csExecuteCommand方法中,在您的命令的case语句中调用此方法。
  11. 进行测试。

注意事项

“中止”功能实际上并没有中止当前正在运行的命令。它只是返回到主应用程序,而无需从CommandLineHelper类收集输出。我仍然没有找到如何中止通过CommandLineHelper类运行的命令的方法。如果您知道,请告诉我,以便我可以将其合并到此实用程序中。

特别说明

感谢Andrew Tweddle提供CommandLineHelper类。

历史

  • 2007年12月7日 -- 这是第一个 1.0.0.0 版本
© . All rights reserved.