Respostas:
Por que deveria ser uma preferência não específica do usuário?
Se eu tenho uma solução com 10 arquivos e um desenvolvedor está testando / usando principalmente uma dessas ferramentas, por que isso afeta o que eu inicio?
Eu acho que a MS fez a escolha certa nesse caso. O projeto que quero iniciar está longe de ser necessariamente o projeto que outros desenvolvedores desejam iniciar.
É absolutamente necessário que todos possam definir eles mesmos o seu Projeto de Inicialização, como Jon já disse . Mas ter um padrão dedicado seria ótimo e, como posso dizer, é possível!
Se você não tiver um arquivo .suo no diretório da solução, o Visual Studio selecionará o primeiro projeto no arquivo .sln como o projeto de inicialização padrão.
Feche o Visual Studio e abra o arquivo .sln no seu editor de texto favorito. Começando na linha 4, você vê todos os seus projetos encapsulados em Project
- EndProject
linhas.
Recorte e cole o projeto de inicialização padrão desejado na posição superior.
Exclua seu arquivo .suo.
Abra sua solução no Visual Studio. Ta daa!
Existe um prêmio especial se você souber algo que Jon não sabe? ;-)
Na maioria dos casos, faz sentido ter um padrão nisso.
Seria muito melhor acomodar um projeto de inicialização padrão e armazená-lo no arquivo .sln, mas que pode ser substituído por um desenvolvedor em seu arquivo .suo. Se a configuração de inicialização não for encontrada no arquivo .suo, o projeto de inicialização padrão no .sln será usado.
Na verdade, isso foi sugerido no UserVoice do Visual Studio .
Eu escrevi um pequeno utilitário de linha de comando para o Windows chamado slnStartupProject
para definir o Projeto de Inicialização automaticamente:
slnStartupProject slnFilename projectName
Eu pessoalmente o uso para definir o projeto de inicialização após gerar a solução com o cmake, que sempre define um ALL_BUILD
projeto fictício como o primeiro projeto na solução.
A fonte está no GitHub. Garfos e feedback são bem-vindos.
Se você estiver usando GIT, poderá confirmar o arquivo SUO padrão e marcá-lo como inalterado usando
git update-index --assume-unchanged YourSolution.suo
Também funciona se você deseja ter mais de um projeto no seu grupo inicial padrão. A única desvantagem que conheço é que esse comando deve ser executado por todos que não desejam confirmar o arquivo SUO.