这个设置似乎应该存储在解决方案文件中,以便在所有用户和部分源代码控制中共享。因为我们没有检入 suo 文件,所以每个用户都必须分别设置它,这看起来很奇怪。
为什么它应该是一个非特定用户的首选项?
如果我有一个包含10个文件的解决方案,并且一个开发人员主要测试/使用其中一个工具,那么为什么这会影响我的启动呢?
我认为 MS 在这个问题上做出了正确的选择。我想要启动的项目远不一定是 其他开发人员想要启动的项目。
在大多数情况下,对此设置默认值是有意义的。
更好的做法是提供一个默认的启动项目,并将其存储在。文件,但是开发人员可以在其。索文件。中找不到启动设置。文件中的默认启动项目。将使用 sln。
事实上,这是 在 VisualStudio 的 UserVoice 上建议。
绝对有必要让每个人都可以自己定义他们的启动项目,例如 Jon 已经说过了。但是,有一个专用的默认一个将是伟大的,我可以告诉,这是可能的!
如果你没有。解决方案目录中的 suo 文件,VisualStudio 将选择解决方案目录中的第一个项目。作为默认启动项目的 sln 文件。
关闭 VisualStudio 并打开。最喜欢的文本编辑器中的 sln 文件。从第4行开始,您将看到封装在 Project-EndProject行中的所有项目。
Project
EndProject
剪切并粘贴所需的默认启动项目到顶部位置。
删除你的.suo 文件。
在 VisualStudio 中打开您的解决方案!
我为 Windows 编写了一个名为 slnStartupProject的小命令行实用程序来自动设置启动项目:
slnStartupProject
slnStartupProject slnFilename projectName
在使用 Cmake生成解决方案之后,我个人使用它来设置启动项目,该解决方案始终将一个虚拟的 ALL_BUILD项目设置为解决方案中的第一个项目。
ALL_BUILD
来源在 GitHub 上,欢迎分叉和反馈。
如果使用 GIT,可以提交默认的 SUO 文件,然后使用
git update-index --assume-unchanged YourSolution.suo
如果希望在默认启动组中包含多个项目,也可以使用它。我所知道的唯一缺点是,这个命令必须由不想提交 SUO 文件的每个人运行。