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

引言
此实用程序调用 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
- 查看更改 (
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 *.*
)
使用“执行”按钮执行这些命令中的任何一个时,都会创建一个批处理文件,然后将其与所需参数一起传递到CommandLineHelper
类中,并在异步进程中执行。CommandLineHelper
类返回批处理文件的输出。此输出将定向到“输出”文本框。
工作区历史记录功能
由于我必须处理三个不同的项目,因此我需要处理三个工作区。因此,我在工作区位置旁边提供了“历史记录”按钮,用于跟踪我访问的工作区。因此,下次我不必导航到这些文件夹。我只是单击“历史记录”按钮打开一个对话框并选择我想要的一个。
添加新工具
如果需要向此实用程序添加更多工具,则需要执行以下步骤。
- 打开Command.cs文件,并将枚举成员添加到对应于您要添加的工具的
Command enum
。 - 在设计模式下打开TfptWrapperDialog.cs。
- 向 Tab 控件添加一个新的选项卡页。为其命名。
- 在选项卡页的
tag
属性中,输入与Command enum
中完全相同的枚举成员名称。 - 添加用于收集命令参数的控件。
- 打开
TfptWrapperDialog
的源代码。 - 在
ExecuteCommand
方法中,使用Command enum
中的枚举成员添加一个case
语句。 - 打开TfptWrapperController.cs并添加方法
InvokeXYZ
,其中XYZ
是您的命令。 - 添加相应的源代码。
- 在TfptWrapperDialog.cs的
ExecuteCommand
方法中,在您的命令的case
语句中调用此方法。 - 进行测试。
注意事项
“中止”功能实际上并没有中止当前正在运行的命令。它只是返回到主应用程序,而无需从CommandLineHelper
类收集输出。我仍然没有找到如何中止通过CommandLineHelper
类运行的命令的方法。如果您知道,请告诉我,以便我可以将其合并到此实用程序中。
特别说明
感谢Andrew Tweddle提供CommandLineHelper
类。
历史
- 2007年12月7日 -- 这是第一个 1.0.0.0 版本