Algumas vezes eu faço uns projetos de teste no Visual Studio e a lista "Recent Projects" fica cheia de nomes como "ConsoleApplication1", "WebSite1". Eu gostaria de limpar, mas o VS não tem nada para apagar os nomes da lista.
Então resolvi dar uma pesquisada e verifiquei que esta lista fica emHKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\ProjectMRUList para o VS2008 e em HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\ProjectMRUList, nos valores File1, File2, File3,....
Assim, resolvi criar um pequeno programa que permite excluir arquivos desta lista para mim. Basta criar uma aplicação WinForms e colocar uma ListView, com uma coluna, "Nome". No evento Load usamos a classe Registry para ler os arquivos desta chave:
Aqui, um pequeno truque: a lista é guardada com os nomes dos arquivos usando-se as variáveis de ambiente, como %USERPROFILE%, em chaves do tipo REG_EXPAND_SZ. Lemos as chaves sem expandi-las e adicionamos na lista, expandindo o nome usando ExpandEnvironmentVariables e guardamos o nome original no objeto Tag. Com isso, temos acesso ao nome expandido e não expandido.
Com a lista na janela, selecionamos os arquivos que queremos excluir e teclamos Del para exclui-los. No evento KeyDown da ListView excluimos os valores selecionados:
Aqui, uma observação: o Visual Studio não gosta de buracos na lista: se ele não encontrar o File2, ele despreza o restante da lista. Assim, o que fiz foi deletar toda a lista e só gravar os valores não selecionados, rearranjando-a. Com este pequeno programa, posso manipular a lista de projetos recentes do Visual Studio e deixá-la do jeito que quero.
Obrigado pela dica, cara!
Foi muito útil!
Boa !