Solução EGit
Seria de esperar que a criação ou alteração de variáveis de modelo em uma base de projeto, espaço de trabalho ou ambiente seja um recurso padrão do Eclipse. Infelizmente, não é. Mais ainda, considerando que os plugins do Eclipse podem definir novas variáveis e modelos, deve haver plugins disponíveis para fornecer uma solução. Se forem, devem ser difíceis de encontrar. O mmm-TemplateVariable , disponível no Eclipse Marketplace, é uma etapa na direção certa para os usuários do Maven, permitindo incluir versão, artifactId etc. nos modelos.
Felizmente, o EGit , que é uma ferramenta Eclipse para o Git, fornece meios muito flexíveis para incluir muitas variáveis diferentes nos modelos de código. O único requisito é que seu projeto use o Git. Se você não usa o Git, mas fala sério sobre desenvolvimento de software, agora é a hora de aprender ( livro do Pro Git ). Se você for forçado a usar um sistema de controle de versão herdado, tente mudar algumas ideias.
Graças aos esforços do harmsk , o EGit 4.0 e superior incluem a capacidade de usar os valores das chaves de configuração do Git nos modelos. Isso permite definir valores de modelo com base nas configurações do repositório (projeto), configurações do usuário (conta) e / ou configurações globais (estação de trabalho).
O exemplo a seguir mostra como configurar o Eclipse e o Git para uma estação de trabalho de desenvolvimento multiusuário e usar uma chave de configuração personalizada do Git em vez de ${user}
fornecer mais flexibilidade. Embora o exemplo seja baseado em uma instalação do Windows 10 do Eclipse Mars e Git para Windows, o exemplo é aplicável ao Linux e OSX que executam o Eclipse e o Git usando suas respectivas ferramentas de linha de comando.
Para evitar possíveis confusões entre a user.name
chave de configuração do Git e a user.name
propriedade do sistema Java , uma chave de configuração personalizada do Git - user.author
- será usada para fornecer o nome e / ou credenciais de um autor.
Configurando modelos
O formato de uma variável de modelo Git é o seguinte
${<name>:git_config(<key>)}
onde <name>
é qualquer nome de variável arbitrário e <key>
é a chave de configuração do Git cujo valor deve ser usado. Dado isso, alterar o modelo Comentários → Tipos para
/**
* @author ${author:git_config(user.author)}
*
* ${tags}
*/
agora tentará resolver o nome do autor a partir da user.author
chave de configuração do Git . Sem nenhuma configuração adicional, quaisquer comentários recém-criados não incluirão um nome depois @author
, pois nenhum foi definido ainda.
Configurando o Git
Na linha de comando
Configuração do sistema Git - Esta etapa de configuração faz alterações na configuração do sistema do Git aplicáveis a todas as contas na estação de trabalho, a menos que sejam substituídas pelas configurações do usuário ou do repositório. Como as configurações em todo o sistema fazem parte do aplicativo Git subjacente (por exemplo, Git for Windows), as alterações exigirão privilégios de administrador. Execute o Git Bash, cmd ou PowerShell como administrador. O comando a seguir definirá o autor em todo o sistema.
git config --system user.author “SET ME IN GLOBAL(USER) or REPOSITORY(LOCAL) SETTINGS”
O objetivo deste "autor" é servir como um lembrete de que deve ser definido em outro lugar. Isso é particularmente útil quando novas contas de usuário estão sendo usadas na estação de trabalho.
Para verificar essa configuração, crie um projeto Java vazio que use Git ou abra um projeto baseado em Git existente. Crie uma classe e use Origem → Gerar comentário do elemento no menu de contexto, ALT-SHIFT-J , ou inicie um comentário JavaDoc. A @author
tag resultante deve ser seguida pelo aviso.
As demais alterações na configuração podem ser executadas sem privilégios de administrador.
Configuração global (usuário) do Git - configurações globais ou de usuário são aquelas associadas a um usuário específico e substituem as configurações de todo o sistema. Essas configurações se aplicam a todos os projetos baseados em Git, a menos que sejam substituídas pelas configurações do repositório. Se o nome do autor for diferente devido a vários tipos de projeto, como trabalho, contribuições de código aberto ou pessoal, defina o mais usado aqui.
git config --global user.author “Mr. John Smith”
Depois de configurar o valor global, retorne ao projeto de teste usado anteriormente e aplique um comentário da classe. A @author
tag agora deve mostrar a configuração global.
Configuração do repositório Git (local) - Por fim, um repositório ou configuração local pode ser usado para configurar um autor para um projeto específico. Diferente das configurações anteriores, uma configuração de repositório deve ser feita de dentro do repositório. Usando Git Bash, PowerShell, etc., navegue até o repositório do projeto de teste.
git config --local user.author “smithy”
Diante disso, novos comentários no projeto de teste usarão o nome do autor definido localmente. Outros projetos baseados em Git, ainda usarão o nome do autor global.
De Dentro do Eclipse
As mudanças na configuração acima também podem ser definidas no Eclipse através de suas Preferências: Equipe → Git-Configuration . O Eclipse deve ser executado como administrador para alterar as configurações do Git em todo o sistema.
Em suma
Embora este exemplo tenha lidado especificamente com o problema mais comum, o da mudança ${user}
, essa abordagem pode ser usada para mais. No entanto, deve-se ter cuidado para não usar chaves de configuração definidas pelo Git, a menos que se destine especificamente.