似乎此设置应存储在解决方案文件中,以便在所有用户和部分源代码控制中共享。由于我们不签入 suo 文件,每个用户都必须单独设置,这看起来很奇怪。
绝对有必要每个人都可以自己定义他们的 StartUp Project,如 Jon has already said。但是有一个专用的默认设置会很棒,而且我可以告诉你,这是可能的!
如果解决方案目录中没有 .suo 文件,Visual Studio 会选择 .sln 文件中的第一个项目作为默认启动项目。
关闭 Visual Studio 并在您喜欢的文本编辑器中打开 .sln 文件。从第 4 行开始,您会看到所有项目都封装在 Project – EndProject 行中。将所需的默认启动项目剪切并粘贴到顶部位置。删除您的 .suo 文件。在 Visual Studio 中打开您的解决方案。达达!
在大多数情况下,对此设置默认值确实有意义。
容纳默认启动项目并将其存储在 .sln 文件中会更好,但开发人员可以在他们的 .suo 文件中覆盖它。如果在 .suo 文件中找不到启动设置,则将使用 .sln 中的默认启动项目。
实际上,这是suggested on Visual Studio’s UserVoice。
为什么它应该是非用户特定的偏好?
如果我有一个包含 10 个文件的解决方案,并且一位开发人员主要测试/使用其中一种工具,那为什么会影响我的启动?
我认为 MS 在这一点上做出了正确的选择。我想开始的项目远非其他开发者想开始的项目。
我为 Windows 编写了一个名为 slnStartupProject
的小命令行实用程序来自动设置启动项目:
slnStartupProject slnFilename projectName
在使用 cmake 生成解决方案后,我个人使用它来设置启动项目,该解决方案始终将虚拟 ALL_BUILD
项目设置为解决方案中的第一个项目。
source 在 GitHub 上。欢迎分叉和反馈。
如果您使用的是 GIT,您可以提交默认的 SUO 文件,然后使用
git update-index --assume-unchanged YourSolution.suo
如果您想在默认启动组中拥有多个项目,它也可以使用。我知道的唯一缺点是该命令必须由不想提交 SUO 文件的每个人运行。