Acabei de atualizar do Visual Studio 2012 para 2013. Anteriormente, se eu tivesse uma linha de código como esta:
void foo(const char *s) { ... }
Eu poderia selecionar " const char * " e digitar " std::string <space> " para terminar com:
void foo(std::string s) { ... }
Mas agora, quando pressiono a barra de espaço, o nome " s " desaparece:
void foo(std::string ) { ... }
Acho que isso está relacionado ao recurso de preenchimento automático, pois depois que o " std:: " estiver concluído, ele começa a me avisar com nomes no namespace std:: . Digitar " std::string <Esc> <space> " evita esse problema, mas esse é um pressionamento de tecla extra que não é habitual para mim. Não quero desabilitar totalmente o preenchimento automático, apenas faça com que pare de remover nomes de variáveis.