當團隊或者公司的研發中心的代碼庫擴展到了必定程度,在代碼庫中查找一些須要的代碼會變的比較困難。好比敏捷模式下的項目小組但願可以找到並重用其餘小組開發的一些基礎性的功能代碼,咱們一般須要去找當事人去詢問,去描述需求,而後再有當事人去回憶去查找,也許一、2天的時間就過去了,也未必可以精確地找到想要的功能代碼。java
TFS2017中在原有的工做項搜索的基礎上添加了代碼搜索的功能。在功能上表現出來的僅僅是功能的擴充,可是在後臺實現搜索的功能機制確是徹底不同的。工做項的搜索是基於SQLServer的全文搜索和傳統的數據查詢來實現的。可是代碼庫的搜索倒是採用開源的ElasticSearch項目做爲基礎來實現的,搜索的速度的和精確度真是棒棒的,而且在用戶界面提供了許多常規搜索語法模型。這麼一些搜索功能爲團隊的協做挺供了不少的改進。框架
1, TFS代碼搜索後臺機制3d
安裝完TFS2017並配置完搜索功能後,在TFS的安裝目錄下面會自動下載ElasticSearch的基礎程序框架。excel
目前搜索功能只提供了類文本文件內容搜索功能,好比cs,js,xml,java等等文件,針對代碼庫中的其餘文件如word,excel等文件是不提供內容搜索的。xml
2, 代碼搜索功能blog
在Web Portal中,在團隊的首頁面或者代碼功能區頁面,頂行的搜索框會自動顯示「搜索代碼」的提示,當搜索框獲取到輸入焦點後,會自動彈出搜索模型和條件下拉框,可知足多數的用戶搜索代碼庫中。開發
3, 跨團隊代碼搜索ast
若是用戶具有足夠的權限,能夠針對以團隊項目爲界限的權限限制實現跨團隊的項目代碼搜索。效率
在開放性團隊文化和敏捷團隊項目中,不該把代碼庫按照項目或團隊小組設置過多的權限,軟件項目保密性管理的依賴於權限機制是不會有太好的結果,反而影響團隊士氣和應有的生成效率。後臺
下圖是個人環境中兩個實驗項目AgileLab和ScrumLab中實現跨項目搜索的結果。