31

Có thể mở một dự án trong Visual Studio 2008 mà không cần mở tất cả các tệp đã được mở trước đó khi tôi mở dự án. Tôi có một thói quen giữ nhiều tập tin mở khi tôi đang làm việc với họ, vì vậy lần sau tôi mở dự án, nó (rất chậm) tải lên một loạt các tập tin vào trình soạn thảo mà tôi thậm chí không cần mở. Tôi đã tìm kiếm thông qua các thiết lập và không thể tìm thấy bất cứ điều gì để ngăn chặn hành vi này.Visual Studio mở tập tin câu hỏi

Trả lời

27

Chỉ cần xóa tệp .suo. Nó chứa danh sách các tệp đang mở.

+1

có vẻ như trong năm 2017, suo không phải là tập tin bên cạnh tệp giải pháp của bạn mà là trong thư mục .vs đặc biệt ở gốc. xóa cái mới này đã sửa nó cho tôi, cảm ơn! – SelAromDotNet

3

Chỉnh sửa: Hoàn toàn đọc câu hỏi sai lúc đầu - bỏ qua câu trả lời đầu tiên (hiện đã mất) của tôi. :)

Tôi đã thay đổi ánh xạ bàn phím cho CTRL-SHIFT-C khi đưa lên Chế độ xem lớp để đóng tất cả cửa sổ tài liệu - thứ tôi thường sử dụng nhiều đơn hàng hơn - và sau đó tôi chỉ xóa không gian làm việc của mình trước khi đóng giải pháp .

0

Hoặc bạn có thể đóng tất cả tài liệu đang mở từ menu Cửa sổ trước khi đóng VS.

2

Tôi đã hy vọng điều gì đó tự động hơn một chút. VS sẽ tạo một tệp .suo mới mỗi khi dự án được lưu. Vì vậy, tôi sẽ phải xóa tập tin đó mỗi khi tôi mở dự án. Tôi cũng không muốn phải nhớ đóng tất cả các tệp trước khi đóng VS.

Các IDE khác mà tôi đã sử dụng có chức năng tương tự, nhưng cũng khiến việc bật/tắt khá đơn giản.

Cảm ơn sự giúp đỡ của bạn.

5

Tôi chưa bao giờ nhận ra điều đó làm tôi khó chịu đến mức nào! Tôi chưa thể tìm thấy cài đặt, nhưng trong Options > Environment > Keyboard bạn có thể liên kết lối tắt đến Window.CloseAllDocuments. ALT+X không bị ràng buộc bởi tôi vì vậy tôi chỉ sử dụng điều đó. Tôi quan tâm nếu có một số thiết lập ẩn để tự động làm điều này trên lối ra giải pháp mặc dù (hoặc tải).

26

Một chút nghiên cứu lần lượt lên thực tế là bạn có thể làm điều đó với một macro:

  • Tạo macro mới (hoặc sử dụng hiện có). Bạn sẽ thấy một mô-đun có tên là EnvironmentEvents trong Macro Explorer. (Để biết chi tiết, xem here.)
  • Mở mô-đun EnvironmentEvents.
  • Đặt trong mã này:

    Public Sub CloseDocsOnExit() Handles SolutionEvents.BeforeClosing 
        DTE.ExecuteCommand("Window.CloseAllDocuments") 
    End Sub 
    
  • Lưu và Xây dựng vĩ mô.
  • Mở toàn bộ một loạt tài liệu trong giải pháp của bạn, sau đó đóng Visual Studio.
  • Yay! Không còn tài liệu mở nào nữa!
  • (Lưu ý: Mặc dù vậy nó nói SolutionEvents, nó cũng hoạt động nếu bạn đang làm việc trên một dự án mà không có một giải pháp.)
+0

Mẹo tuyệt vời !! – eidylon

+0

Điều này cũng phù hợp với tôi! Tuy nhiên, lệnh trong Visual Studio 2005 là: DTE.Documents.CloseAll (vsSaveChanges.vsSaveChangesPrompt) – John

+0

+1 Cảm ơn bạn vì điều này. –

3

Hãy thử như sau:

  1. Đóng chương trình sau khi đóng tất cả các tệp.
  2. Tạo bản sao của [bất kỳ] .suo
  3. Mở lại giải pháp, mở một số tệp và thoát.
  4. Sao chép (không di chuyển) tệp .suo cũ trên tệp vừa được tạo.
  5. Tạo tệp .suo chỉ đọc.

Nếu bạn có một kho lưu trữ, bạn có thể muốn kiểm tra tập tin đó trong.

Tôi đề nghị này bởi vì tôi đã gặp vấn đề ngược lại, nơi nó được không mở tập tin cũ của tôi tự động, và nguyên nhân là tệp .suo đã được kiểm tra vào kho lưu trữ và (vì một số lý do) không bị ghi đè bởi Studio. Các tập tin thậm chí không được ghi bảo vệ.

-1

Cách duy nhất phù hợp với tôi là: thay đổi vị trí dự án và mở lại các giải pháp ở đó. :)

0

Trong Visual Studio 6.0 (VC++), quy trình này hơi khác.

Xóa tệp .ncb (thường nằm ở cùng vị trí với tệp .dsp hoặc .dsw của bạn).

Các vấn đề liên quan