2010-09-22 115 views
2

假設我在Visual Studio IDE中打開了30多個。無需滾動即可顯示太多內容,這使得人工計算費力。Visual Studio可以告訴我打開了多少個文件?

我可以做窗口 - > Windows在彈出窗口中列出它們,但它不顯示計數。

它顯示某處(如狀態欄中)我錯過了嗎?

編輯:爲什麼有人需要這個?那麼,我想在許多文件中找到/替換。我將這些文件拖到VS中,以在「所有打開的文檔」上找到替換,我只是想要一個完整的檢查,VS已經打開了我期待的相同數量的文件 - 並且它並沒有默默地排除我的任何文件。

+0

我想你可以編寫一個宏來完成它。 – 2010-09-22 19:19:52

+0

爲什麼你打開了30多個文件,需要計數的是什麼?只是好奇,因爲我不記得每次有超過10個左右開放。 – Chuck 2010-09-23 12:02:17

+0

@Chuck查看編輯 – hawbsl 2010-09-25 20:32:54

回答

1

不是一個計數,而是在文檔選項卡的右邊,是一個顛倒的「Eject」符號,它是Windows選項卡文檔列表區域的快捷方式。只需目測這一點,你就可以得到近似數。說真的,如果你不能統計所有的數據,你可能會一次打開太多。

3

將這個子貼到一個新的宏,它應該給你你想要的。

Public Sub GetFileCount() 

    Dim count = 0 
    Dim i As Integer 

    For i = 1 To DTE.Windows.Count 
     If DTE.Windows().Item(i).Kind = "Document" Then 
      count = count + 1 
     End If 

    Next 

    MsgBox("File Count = " & count) 

End Sub 

編輯:

根據意見,我跑在VS2010宏並沒有得到中提到的不正確計數。嘗試進行以下更改以查看DTE中實際上被計爲「文檔」的內容。Windows集合:

Public Sub GetFileCount() 

     Dim count = 0 
     Dim i As Integer 
     Dim msg = "" 
     For i = 1 To DTE.Windows.Count 
      If DTE.Windows().Item(i).Kind = "Document" Then 
       count = count + 1 
       msg = msg & DTE.Windows().Item(i).Document.Name & vbCrLf 
      End If 

     Next 

     MsgBox("File Count = " & count & vbCrLf & msg) 

    End Sub 
+0

當我在VS2010中試用時,計數似乎比我打開的文件數量大5。如果我打開了1個文件,宏將顯示6.不確定在VS2005和VS2010之間是否有任何變化會影響計數。 – 2010-09-22 19:54:40

+0

也許它包括其他標籤和浮動窗口,這些標籤和浮動窗口不是實際的文檔文檔,例如您的起始頁,輸出,單元測試會話等。 – KeithS 2010-09-22 20:10:27

+0

@Jonathan我在宏中添加了一個更改以包含文檔的名稱你可以看到什麼被計數。在VS2010中,返回給我的計數對我的測試是正確的。 – Chuck 2010-09-23 11:49:52

相關問題