Câu trả lời:
Tại sao nó phải là một sở thích không dành riêng cho người dùng?
Nếu tôi có một giải pháp với 10 tệp và một nhà phát triển chủ yếu thử nghiệm / sử dụng một trong những công cụ đó, tại sao điều đó lại ảnh hưởng đến những gì tôi khởi động?
Tôi nghĩ rằng MS đã lựa chọn đúng về điều này. Dự án tôi muốn bắt đầu khác xa với dự án mà các nhà phát triển khác muốn bắt đầu.
Điều hoàn toàn cần thiết là mọi người đều có thể tự xác định Dự án StartUp của mình, như Jon đã nói . Nhưng để có một mặc định chuyên dụng sẽ là tuyệt vời, và như tôi có thể nói, điều đó là có thể!
Nếu bạn không có tệp .suo trong thư mục giải pháp của mình, Visual Studio sẽ chọn dự án đầu tiên trong tệp .sln của bạn làm dự án khởi động mặc định.
Đóng Visual Studio của bạn và mở tệp .sln trong trình soạn thảo văn bản yêu thích của bạn. Bắt đầu từ dòng 4, bạn sẽ thấy tất cả các dự án của bạn được gói gọn trong Project
- EndProject
dòng.
Cắt và dán dự án khởi động mặc định mong muốn vào vị trí trên cùng.
Xóa tập tin .suo của bạn.
Mở giải pháp của bạn trong Visual Studio. Ta daa!
Có giải thưởng đặc biệt nào không nếu bạn biết điều gì đó mà Jon không biết? ;-)
Trong hầu hết các trường hợp, nó có ý nghĩa để có một mặc định về điều này.
Sẽ tốt hơn nhiều nếu chứa một dự án khởi động mặc định và lưu trữ tệp này trong tệp .sln, nhưng có thể bị nhà phát triển ghi đè trong tệp .suo của họ. Nếu không tìm thấy cài đặt khởi động trong tệp .suo, dự án khởi động mặc định trong .sln sẽ được sử dụng.
Trên thực tế, điều này đã được đề xuất trên UserVoice của Visual Studio .
Tôi đã viết một tiện ích dòng lệnh nhỏ cho Windows được gọi slnStartupProject
để tự động thiết lập Dự án khởi động:
slnStartupProject slnFilename projectName
Cá nhân tôi sử dụng nó để thiết lập dự án khởi động sau khi tạo giải pháp với cmake luôn đặt ALL_BUILD
dự án giả là dự án đầu tiên trong giải pháp.
Các nguồn là trên GitHub. Dĩa và phản hồi đều được chào đón.
Nếu bạn đang sử dụng GIT, bạn có thể cam kết tệp SUO mặc định và sau đó đánh dấu nó là không thay đổi bằng cách sử dụng
git update-index --assume-unchanged YourSolution.suo
Nó cũng hoạt động nếu bạn muốn có nhiều dự án trong nhóm bắt đầu mặc định của mình. Nhược điểm duy nhất mà tôi biết là lệnh này phải được chạy bởi tất cả những người không muốn thực hiện tệp SUO.