Implementando geradores de arquivo único
Uma ferramenta personalizada — às vezes chamada de gerador de arquivo único — pode ser usada para estender os sistemas de projeto Visual Basic e Visual C# no Visual Studio. Uma ferramenta personalizada é um componente COM que implementa a IVsSingleFileGenerator interface. Usando essa interface, uma ferramenta personalizada transforma um único arquivo de entrada em um único arquivo de saída. O resultado da transformação pode ser o código-fonte ou qualquer outra saída que seja útil. Dois exemplos de arquivos de código gerados por ferramentas personalizadas são o código gerado em resposta a alterações em um designer visual e os arquivos gerados usando WSDL (Web Services Description Language).
Quando uma ferramenta personalizada é carregada ou o arquivo de entrada é salvo, o sistema do projeto chama o Generate método e passa uma referência para uma interface de retorno de IVsGeneratorProgress chamada, pela qual a ferramenta pode relatar seu progresso ao usuário.
O arquivo de saída que a ferramenta personalizada gera é adicionado ao projeto com uma dependência do arquivo de entrada. O sistema de projeto determina automaticamente o nome do arquivo de saída, com base na cadeia de caracteres retornada pela implementação do DefaultExtension.
Uma ferramenta personalizada deve implementar a IVsSingleFileGenerator interface. Opcionalmente, as IObjectWithSite ferramentas personalizadas oferecem suporte à interface para recuperar informações de fontes diferentes do arquivo de entrada. Em qualquer caso, antes de usar uma ferramenta personalizada, você deve registrá-la com o sistema ou no registro local do Visual Studio. Para obter mais informações sobre como registrar ferramentas personalizadas, consulte Registrando geradores de arquivo único.