[update 2017.2.11]

最新版本的TFS 2017已经增加了代码搜索功能,可以参考这个链接 https://blogs.msdn.microsoft.com/visualstudioalm/2016/11/16/announcing-code-search-on-team-foundation-server-2017

--

很多用户在使用TFS的过程中,都抱怨一个问题,不能在TFS的代码库中查找文件!虽然TFS的所有数据都存储在数据库中(SQL Server),但是由于代码文件存储的特殊性,你不能通过全文搜索的功能直接在数据库里查询。当前最新版本TFS 2013 update 4和TFS Online,也没法在界面上找到与代码有关的搜索功能。

但是通过调研,发现TFS代码库中的查询功能,有以下几中方法:

1. 利用TFS代码的命令行工具TF.exe查询代码库中文件

TFS代码的命令行工具TF.exe几乎可以完成在UI界面下的所有操作。通过使用“dir”命令可以在远程代码库里按照文件名或者正则表达式查询文件。

下表是tf dir的帮助信息:

C:\Users\danzhang>tf dir /?
Microsoft (R) TF - Team Foundation Version Control Tool, Version 12.0.30501.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Displays all or a part of the contents of a Team Foundation version control
server.

tf dir itemspec [/version:versionspec] [/recursive]
       [/folders] [/deleted] [/login:username,[password]]
       [/collection:TeamProjectCollectionUrl]

Versionspec:
    Date/Time         D"any .Net Framework-supported format"
                      or any of the date formats of the local machine
    Changeset number  Cnnnnnn
    Label             Llabelname
    Latest version    T
    Workspace         Wworkspacename;workspaceowner

下面用一个例子来说明如何使用这个dir命令。例如“需要在代码库的$/目录下查询所有的word文件,并将查询结果输出到SearchResult.txt中”,那么可以使用下面的命令:

C:\DataDanZhang>tf dir "$/*.doc" /recursive /collection:http://tfsserver:8080/tfs/DefaultCollection > SearchResult.txt

Figure 1 - 查询结果

2. 利用TFS插件查询代码库中的文件或代码

上面提到了利用TFS自身的工具实现文件查询,我们还可以利用第三方的插件查询文件,甚至代码。这里介绍有名的工具TFS Administrators Toolkit for VS 2013。你可以通过下面的链接下载安装文件:

https://visualstudiogallery.msdn.microsoft.com/33713c5d-31a3-44b3-ae94-3c413e6b21c7

在安装了TFSAdmin插件的团队资源管理器中,我们会发现在代码库中右击,会多出一个菜单“TFSadminToolkit – Find in files”(如下图)

Figure 2 - 查询菜单

Figure 3 - 查询窗口

可以在这个窗口中输入文件名、正则表达式查询文件,也可以在窗口中输入代码,查找包含源代码字符的文件。

http://www.cnblogs.com/danzhang 张洪君

在Team Foundation Server (TFS)的代码库或配置库中查找文件或代码的更多相关文章

  1. PLSQL(PL/SQL)集成Team Foundation Server (TFS),实现数据库代码的版本管理

    PL/SQL是面向Oralcle数据库的集成开发环境,是众多Oracle数据库开发人员的主要工具.由于PL/SQL(百度百科)不仅是一种SQL语言,更是一种过程编程语言,在项目实施过程中,会积累大量除 ...

  2. Visual Studio 6 (VC6)连接Team Foundation Server (TFS 2018),实现源代码的版本管理

    1. 概述 Visual Studio 6(VB6, VC6, Foxpro-)是微软公司在1998年推出的一款基于Windows平台的软件开发工具,也是微软推出.NET开发框架之前的最后一个IDE工 ...

  3. 在域信任环境中使用 Team Foundation Server (TFS 2013)

    原文:在域信任环境中使用 Team Foundation Server (TFS 2013) 1. 用户情景和方案: XX公司的大部分软件产品通过软件外包的方式由开发商完成.为加强对软件开发的进度和质 ...

  4. Team Foundation Server (TFS)与Project Server集成,使用DNS(友好地址)地址注册PWA

    问题描述: 当Team Foundation Server(TFS 2010/2012/2013)与Project Server高可用性的环境集成时,必然会使用Project Server (PWA) ...

  5. 自定义Team Foundation Server (TFS) 与Project Professional的集成字段

    用户可以象使用Office Excel一样,使用Project Professional连接TFS,将数据下载到本地修改,并且发布到TFS服务器上,如果你习惯使用Project来计划你的项目,那么Pr ...

  6. 在Sublime中集成Team Foundation Server (TFS),实现版本管理

    Sublime是一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,由于它开发的技术架构.丰富的插件,和轻盈而快速的编程响应,Sublime广受程序员的爱好.在C, C++, Javascri ...

  7. 让Team Foundation Server/TFS自动记住用户名密码解决方案

    在使用Team Foundation Server(以下简称TFS) 的时候,在每次打开Visual Studio TFS时候,需要输入用户名和秘密,比较麻烦.现提供一种方法可以解决这个问题: 依次执 ...

  8. 版本管控---Visual Source Safe(VSS)和Team Foundation Server(TFS)

    Visual Source Safe 是用于软件专业开发人员的源代码管理工具 Team Foundation Server是为开发团队提供集成源代码管理.问题跟踪和进程管理的更改管理系统 相同点 1. ...

  9. In-Place upgrade to Team Foundation Server (TFS) 2015 from TFS 2013Team Foundation Server TFS TFS 2015 TFS upgrade TFS with Sharepoint

    This upgrade document gives detailed step by step procedure for the In-Place upgrade from TFS 2013 t ...

随机推荐

  1. Java之dom4j的简单解析和生成xml的应用

    一.dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,它的性能超过sun公 ...

  2. JQuery input file 上传图片

    表单元素file设置隐藏,通过其他元素打开: .imgfile为input file $(".ul").click(function () {return $(".img ...

  3. [saiku] 简介、下载、安装和教程

    一.简介 Saiku成立于2008年,由Tom Barber和Paul Stoellberger研发. 最初叫做Pentaho分析工具,起初是基于OLAP4J库用GWT包装的一个前端分析工具. 经过多 ...

  4. python requests 爬取数据

    import requests from lxml import etree import time import pymysql import json headers={ 'User-Agent' ...

  5. TabIndex 属性 Tabindex="-1" 与Tabindex="0"、任意数字 (收录)

    TabIndex 属性 Tabindex="-1" 与Tabindex="0".任意数字 html中的tabIndex属性可以设置键盘中的TAB键在控件中的移动 ...

  6. java中回调函数的使用

    package com.huawei.common; import java.sql.ResultSet;import java.sql.SQLException; /** * 回调函数 * @aut ...

  7. Xpath解析xml

    Xpath解析xml其实最主要的是查找xml文档中信息,而且不需要了解xml文档结构 package com.huawei.xml; import java.io.InputStream;import ...

  8. context和aop

    context可以看作是模切关注点,通过给join point(即被织入的业务)标记自定义属性(point cut,继承自ContextAttribute),可以得到context,然后advice具 ...

  9. JS如何判断浏览器类型,如何模拟浏览器类型(模拟微信浏览器)

    一.前言 在编写前端代码时,为了页面兼容性,我们往往需要考虑不同的浏览器类型 而这就需要在前端代码中进行识别和区分 接下来就来谈谈对浏览器类型的识别 二.正文 (一).查看浏览器类型的核心代码 var ...

  10. for 续5

    -------siwuxie095                 (五)usebackq 主要用于路径或文件名有空格时的情况 (说白了,就是对 in 后面的括号内集合进行转义)     单靠看帮助文 ...