Vì vậy, giải pháp được chấp nhận nói rằng "Bạn chỉ cần ánh xạ các giải pháp của mình đến thụt lề cần thiết", điều này thật tuyệt, ngoại trừ cách bạn thực hiện điều đó? Sau khi lãng phí rất nhiều thời gian để tìm ra điều đó, tôi đã tìm thấy một phương pháp tôi thích hơn ở đây . Phương pháp này tải bất kỳ số lượng cài đặt đã xuất nào có thể khác nhau cho mọi giải pháp. Cài đặt có thể bao gồm bất kỳ thứ gì, từ thụt lề đến màu sắc hoặc thậm chí là bố cục cửa sổ (tôi nghĩ vậy).
- Trong Visual Studio 2008, mở Công cụ> Macro> Trình khám phá Macro
- Nhấp đúp vào MyMacros> Module1 (nếu bạn không có Module1, hãy nhấp chuột phải vào MyMacros và chọn 'Mô-đun mới ...' để tạo).
- Trong cửa sổ trình khám phá macro, nhấp đúp vào 'EnvironmentEvents' ở bên trái.
- Trong menu thả xuống phía trên bên trái, chọn 'SolutionEvents'.
- Trong menu thả xuống phía trên bên phải, chọn 'Đã mở'.
Mã để xử lý sự kiện SolutionEvents.Opened được thêm tự động. Thay đổi mã đó thành như sau:
Private Sub SolutionEvents_Opened() Handles SolutionEvents.Opened
Dim item As ProjectItem = DTE.Solution.FindProjectItem("solution.vssettings")
If Not item Is Nothing Then
'MsgBox("Uncomment this to see a message when settings are loaded")
Dim name = item.FileNames(1)
DTE.ExecuteCommand("Tools.ImportandExportSettings", "/import:""" & name & """")
End If
End Sub
Lưu macro.
- Sử dụng Công cụ> Tùy chọn để thay đổi giao diện người dùng của bạn để có cài đặt tab và bất kỳ cài đặt nào khác mà bạn muốn đặt.
- Công cụ> Cài đặt Nhập và Xuất ...> Xuất cài đặt môi trường đã chọn> Tiếp theo
- Để chỉ xuất cài đặt tab, bỏ chọn 'Tất cả cài đặt' rồi chọn Tùy chọn> Trình chỉnh sửa văn bản> C / C ++
- Nhấp vào Tiếp theo, sau đó nhập 'solution.vssettings' là 'Bạn muốn đặt tên cho tệp cài đặt của mình là gì?' và lưu tệp vào bất kỳ nơi nào bạn có giải pháp mà bạn muốn sử dụng các cài đặt đó.
- Kéo solution.vssettings đến bất kỳ vị trí nào trong cửa sổ Solution Explorer.
- Thoát Visual Studio và lần tới khi bạn mở một giải pháp có chứa solution.vssettings, nó sẽ tải các cài đặt đó.
Nếu macro không chạy, có thể là do bản vá bảo mật MS. Dựa trên điều này , hãy thêm chuỗi sau:
<AllowDComReflection enabled="true"/>
Bên dưới thẻ <runtime> trong ba tệp sau:
"C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\vsmsvr.exe.config"
"C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\vsaenv.exe.config"
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe.config"
Đảm bảo khởi động trình chỉnh sửa bạn sử dụng để chỉnh sửa các tệp đó với đặc quyền Quản trị viên (tức là nhấp chuột phải vào Notepad và chọn 'Chạy với tư cách Quản trị viên').
Tôi cũng đã tìm thấy một trình cắm được cho là thực hiện điều tương tự như macro được đề xuất ở trên nhưng vì một số lý do mà nó không hoạt động gì sau khi tôi chạy trình cài đặt của nó.