2017-09-06 75 views
2

我已將大部分時間花在使用Eclipse或IntelliJ並將源代碼放在Git存儲庫中。我剛剛開始與Visual Studio一起使用TFS服務器的源代碼。每個版本2015年。Visual Studio - 如何總是顯示待處理的更改

我沒有調整到版本控制的差異,我正在尋求幫助。

Eclipe/IntelliJ在邊距中顯示更改標記。雖然這不能提供有關更改的足夠信息,但它會向您顯示已進行更改的位置,並且可以深入研究以查找更多差異信息。

VS/TFS在文件窗口中什麼也沒有顯示。我甚至不知道有任何改變。要知道任何事情,我必須打開Pending Changes窗口。在其中,我可以右鍵單擊並選擇「與......比較」。但是當我對不同的文件做同樣的事情時,如果我想再次看到它,最後一個文件顯示的變化消失了,促使我做同樣的事情。一遍又一遍......我覺得這個工作流程非常慢。我發現Set default action to Compare in Visual Studio 2013 Pending Changes window with TFS顯示您可以雙擊文件以轉到差異視圖。這節省了一些時間和精力。

有沒有一種方法來改善VS/TFS,以便對文件的更改始終可見?很像編輯器Track Changes https://www.codeproject.com/articles/109611/color-indicator-for-code-changes-track-changes-in - 但是在保存(直到提交)之後,它仍然存在。

Visual Studio Track Changes

我不得不通過https://marketplace.visualstudio.com/search?term=tfs&target=VS&category=All%20categories&vsVersion=&sortBy=Relevance一看,我什麼也看不見。也許有人知道什麼?


添加屏幕截圖以備註。我討論了我的工作方式,你可以看到內聯差異,有時你可以編輯它們。我發現你爲什麼不能編輯它們。因爲這些文件在/Temp。爲什麼VS會在文件位置創建一些差異以及其他位置,我不知道。

enter image description here

+0

您是否嘗試過註釋選項? – ds19

+0

Git說法中的'怪'。不,它有很多工作要打開它,而且你無法編輯文件。 – HankCa

回答

1

在VS Marketplace中有一個擴展名爲TFSPendingChangesMargin。我發現它非常有用,但它目前僅適用於VS 2013和2015。要使此擴展在Visual Studio 2015的發行版2和3中運行,您需要從here下載vsix。不幸的是,您需要禁用此擴展程序的自動更新,否則它將更新到市場中的版本。

我發現特別有用的功能是能夠回滾文件中的特定更改。我會愛如果有人會更新它與VS 2017一起工作。

+0

我使用VS 2015,它失敗了 - 啓動時出現異常。可惜,這將是一個完美的解決方案。 – HankCa

+0

@HankCa我編輯我的答案,包括一個工作vsix的鏈接。 – JapNolt

+0

非常感謝@JapNolt。它按照所述的方式工作 – HankCa

1

手動比較不同版本之間的文件是預期的行爲。

如果你的意思是你總是想爲每個改變後的文件顯示差異視圖,我認爲這沒有意義。如果一個巨大的項目中有很多文件發生變化,比較視圖將消耗更多的內存和其他硬件資源,這會影響性能。

對於你提到的editor Track Changes,你可以爲你的VS做相應的設置(勾選它在VS 2015中默認設置)。我們可以看到,它可以用標記的不同顏色識別文件本身的變化。從這個角度來看,實際上在檢入更改之前已經實現了「始終顯示待處理的更改」,然後在文件中將更改標記爲不同的顏色。

但是對於TFS差異視圖,它們用於比較不同版本。所以,他們是不同的。我認爲始終顯示待處理的更改不是必需的,我們只需要根據需要即時和定期比較以前的版本。

如果要將所有文件的變化放在一起比較,你可以嘗試獲取/下載不同版本的本地目錄/工作空間的源,然後使用比較等工具,BeyondCompareExamDiffPro比較目錄。目錄中的所有文件將在每個差異視圖中進行比較。


UPDATE1:

我們可以設置鍵盤快捷鍵CTRL + ], P快速定位到「掛起的更改」,然後在列表中選擇該文件與shift + double-click對它們進行比較。

要指定或定製VS鍵盤快捷鍵:

工具>選項>環境>鍵盤 ,然後在「顯示命令包含」文本框和期望的捷徑進入進入「View.TfsPendingChanges」按快捷鍵框(只需按想要映射的鍵),然後點擊分配。

enter image description here


UPDATE2:

您也可以參考這篇文章:Comparison keyboard shortcuts for Pending Changes in TFS設置快捷鍵下面的比較:

輸入下面的命令名稱爲展包含文本框的命令一次一個:

  • TeamFoundationContextMenus.SourceControlPendingChangesSourceFiles.Compare.TfsContextPendingCheckinsCompareWithLatestVersion
  • TeamFoundationContextMenus.SourceControlPendingChangesSourceFiles.Compare.TfsContextPendingCheckinsCompareWithWorkspaceVersion
  • TeamFoundationContextMenus.SourceControlPendingChangesSourceFiles.Compare.TfsContextPendingCheckinsCompareWithPreviousVersion

對於每個命令輸入所需的鍵盤快捷方式到按快捷鍵文本框,然後點擊分配按鈕。您可以設置快捷鍵下面爲他們每個人,那在我身邊的工作(基於其他操作的快捷方式設置,根本就沒有使用與他人重複的快捷方式):

  • Shift + `
  • 按Ctrl + Shift +`
  • 按Ctrl + Alt +`

此外,如下面HankCa的評論中提到,如果您更改爲嵌入差異,那麼你就可以看到差異和編輯文件。代碼執行時。要進行內聯比較,您可以添加比較文件工具欄並從其中一個下拉列表中選擇它。如果您單擊窗口選項卡上的'保持打開'圖標,它將保持在屏幕上,您可以打開多個差異/編輯窗口。

對於臨時差異文件,它是預期的行爲,當您更改文件時,系統將在「AppData \ Local \ Temp \ TFSTemp」中創建TFS臨時差異文件。這些文件的名稱都是「vctmp4316_370233.cs

+0

不,我的意思是在邊距中顯示標記,這樣當我查看文件時,我可以看到它已更改(以及位置) - 就像編輯器跟蹤更改功能一樣。完全喜歡它,但與當前的工作場所版本相比。我知道你可以與其他版本(例如服務器上的內容)進行比較,並簡化一些與當前版本相似的深層菜單。目前的工作場所版本是90%的時間你會關心的。 – HankCa

+0

編輯器跟蹤更改非常棒,但是當您關閉文件時(即使關閉然後立即重新打開),它也會消失。 – HankCa

+0

什麼可能是一個好的解決方案是使用一系列鍵盤快捷鍵來快速找到差異。 'CTRL + [,P'獲取掛起的更改,如果文件已被修改,它將在列表中。不幸的是,沒有比較...的鍵盤快捷鍵,但是如果這個解決方案是完整的。 – HankCa

相關問題