CS Coder
CS.Coder · Unit Styler BETA

Seus uses
em ordem.

Uma extensão para a IDE do Delphi 11, 12 e 13.

VERSÃO BETA

O Unit Styler ainda está em teste e pode ter defeitos. Mantenha o projeto em controle de versão ou deixe a cópia de segurança ligada, e confira a prévia antes de aplicar alterações em um projeto inteiro. Se encontrar algum problema, avise abrindo uma issue no GitHub.

O Unit Styler organiza as cláusulas uses das units do projeto aberto: uma unit por linha ou várias, em ordem, com indentação, prioridades e grupos definidos por você. Ele só roda quando você pede, mostra o antes e depois e pede confirmação antes de alterar qualquer coisa.

Versão beta · Delphi 11, 12 e 13 · Código aberto, licença MIT · Sem conta

Janela de comparação do Unit Styler com a unit de um formulário de pedido de venda. À esquerda, o uses da interface tem 26 units misturadas em sete linhas e o da implementation tem oito em três linhas. À direita, a mesma unit com uma unit por linha, em ordem alfabética e separadas em grupos: Winapi, System, Data, Vcl, FireDAC e as units da aplicação.
A prévia do antes e depois de uma unit com 34 units no uses, organizada em grupos. O resultado é o que o Unit Styler produz com essas regras; a unit e os nomes são exemplos.
Dentro da IDEMenu, atalho e botão direito
Antes de aplicarPrévia e confirmação
Seu códigoCópia de segurança
Sem custoGratuito e de código aberto
Principais funcionalidades

Do seu jeito.
Com o seu aval.

Você define as regras uma vez e aplica quando quiser: em uma unit, nas que estão abertas ou no projeto inteiro.

01

Uma por linha ou várias

Cada unit na sua linha, ou linhas preenchidas até um limite de colunas que você escolhe (de 40 a 500, padrão 100). A indentação também é sua.

02

Ordem de A a Z

A ordenação compara a parte do nome antes do primeiro ponto, e units com a mesma primeira parte mantêm a ordem que tinham. Uma subopção ordena também pela segunda parte do nome.

03

Prioridades e grupos

Priorizar units leva as units da sua lista para o início. Organizar por grupos reúne as units por nome exato ou por prefixo, como System.*, com linha em branco opcional entre os grupos.

04

Três escopos

A unit atual, as units abertas no editor ou todas as units do projeto. Só entram units que pertencem ao projeto aberto.

05

Prévia e confirmação

Prévia abre a comparação do antes e depois sem alterar nada. Aplicar analisa o escopo, informa quantas units vão mudar e pergunta Sim ou Não. Nada roda sozinho ao abrir, salvar ou compilar.

06

Units abertas ficam com você

Units abertas no editor são alteradas ali e nunca são salvas pela ferramenta: você pode desfazer com Ctrl+Z e decide quando salvar. Units que estavam fechadas são regravadas no disco, na codificação original, quando Salvar automaticamente units fechadas está marcada.

07

Cinco idiomas

Português, inglês, espanhol, alemão e francês. A ferramenta segue o idioma do Windows, e você pode escolher outro nas Configurações.

No dia a dia

Como usar

Abra um projeto e abra a janela Organizar uses pelo caminho que preferir.

  • Menu CS.Coder > Unit Styler > Organizar uses...
  • Atalho Ctrl+Alt+U, com o editor de código em foco. Dá para trocar nas Configurações.
  • Botão direito no editor de código, Unit Styler: Organizar uses...

Escolha onde aplicar, veja a prévia se quiser e confirme. Uma unit que não pode ser lida ou gravada não interrompe as outras: o relatório ao final lista cada uma com o motivo.

Configurações de cada projeto

Não organizar uses da interface / da implementationDeixa essa cláusula como está em todas as units do projeto
Preservar units...Units que mantêm a posição; as outras são organizadas em volta delas
Ignorar pastas...Pastas e arquivos que nunca são analisados nem alterados, por exemplo código de terceiros incluído no projeto
Limpar backups...Mostra as cópias de segurança do projeto e apaga quando você confirma
Segurança do seu trabalho

Cuidado com
o seu código.

A ordem do uses importa para o compilador, e o seu fonte tem detalhes que precisam continuar onde estão. O Unit Styler foi feito levando isso em conta.

Units protegidas

Quando duas units declaram o mesmo nome, vale a que vem por último no uses. Mudar a ordem das bibliotecas do Delphi pode, portanto, mudar o que o seu código chama. Por isso o Unit Styler vem com uma lista de units protegidas, que nunca mudam de lugar: Winapi.*, System.*, Vcl.*, FMX.*, Data.* e os nomes antigos sem prefixo. As outras units são organizadas em volta delas. A lista pode ser editada em Units protegidas..., que tem um botão para restaurar o padrão.

O mesmo vale para as suas units: se duas delas declaram o mesmo nome, confira a prévia antes de aplicar uma ordenação naquele projeto, ou inclua essas units em Preservar units....

O que é preservado

  • Comentários. Comentários no início da cláusula ficam no início. Comentário no fim da linha de uma unit vai junto com ela. Cláusula com comentário em linha própria no meio fica como está, e a prévia avisa.
  • Diretivas de compilação. Um bloco como {$IFDEF X} UnitA, {$ENDIF} fica intacto e no lugar; as units antes e depois dele são organizadas sem atravessá-lo.
  • Caminhos. Declarações com in '...' são mantidas.
  • Codificação e quebras de linha. Arquivos ANSI, UTF-8 com ou sem BOM e UTF-16 são regravados na mesma codificação, com o mesmo tipo de quebra de linha.

Cópia de segurança

Com Fazer cópia de segurança das units antes de alterar marcada, que é o padrão, cada arquivo que vai mudar é antes copiado, como está no disco, para:

<pasta do projeto>\.backup\<aaaa-mm-dd_hh-nn-ss>\

Há uma subpasta por execução, repetindo a estrutura de pastas do projeto. Se a cópia falhar, a unit não é alterada.

O que o Unit Styler é, em detalhe

Especificações

TipoPacote de design para a IDE do Delphi
SituaçãoVersão beta
Versões do Delphi11 Alexandria, 12 Athens e 13 Florence
IDE32 bits (11, 12 e 13) e 64 bits (12 e 13)
EscopoUnits do projeto aberto: atual, abertas ou todas
TemaAcompanha o tema da IDE, claro ou escuro
IdiomasPortuguês, inglês, espanhol, alemão e francês, pelo idioma do Windows ou escolhido nas Configurações
ConfiguraçõesArquivos JSON em %LOCALAPPDATA%\CSCoder\UnitStyler: as regras, por versão do Delphi; as de cada projeto, iguais em qualquer versão
Registro do WindowsNão é usado para configurações. O instalador só inclui o pacote na lista de pacotes que a IDE carrega
RedeNão usa. Nenhum dado é coletado nem enviado
InstalaçãoPor usuário do Windows, sem pedir administrador
LicençaMIT, gratuito e de código aberto
Comece por aqui

Instalação

Um único download atende ao Delphi 11, 12 e 13, incluindo as IDEs de 64 bits do 12 e do 13. Os pacotes são compilados com o Delphi 11.3, 12.3 e 13.1.

Delphi 11 AlexandriaIDE de 32 bits
Delphi 12 AthensIDE de 32 bits e de 64 bits
Delphi 13 FlorenceIDE de 32 bits e de 64 bits
  1. 1

    Baixe

    Abra a página de Releases no GitHub, escolha a versão mais recente e, em Assets, baixe o arquivo CSCoderUnitStyler-<versão>.zip. Não escolha “Source code”: esse não traz o instalador.

  2. 2

    Extraia

    Descompacte o arquivo inteiro em uma pasta à sua escolha. O Install.bat precisa dos outros arquivos que vêm com ele.

  3. 3

    Feche o Delphi

    Feche todas as janelas do Delphi. O instalador para com um aviso se o Delphi estiver aberto.

  4. 4

    Execute o Install.bat

    Dê um duplo clique. Ele não pede administrador e instala para o usuário atual do Windows, em todos os Delphi compatíveis que encontrar.

  5. 5

    Abra o Delphi

    Os comandos ficam no menu principal da IDE, em CS.Coder > Unit Styler.

Como conferir

Em Component > Install Packages, o pacote aparece marcado como “CS.Coder - Unit Styler”. O menu CS.Coder passa a existir no menu principal da IDE.

Atualização

Baixe o zip mais novo, feche o Delphi e execute o Install.bat dele. As suas configurações são mantidas.

Quando quiser sair

Desinstalação

Feche o Delphi antes. Nenhum dos dois comandos mexe nos seus projetos.

Remover a extensão e manter as configurações

Uninstall.bat

Remove o Unit Styler de todas as versões do Delphi e apaga os pacotes instalados. As configurações são mantidas, então instalar de novo traz tudo de volta.

Remover a extensão e as configurações

Uninstall.bat /data
Atenção: não há como desfazer.

Este comando apaga também as regras de todas as versões do Delphi e as configurações de cada projeto. As pastas .backup dos seus projetos não são tocadas.

Um recurso CS.Coder para sua rotina

Seu projeto.
Seus uses.
Sua ordem.

O pacote de instalação e o código-fonte estão no GitHub, onde o projeto se chama CS.Coder Unit Styler.

BETA · GRATUITO · CÓDIGO ABERTO

Unit Styler para Delphi

Versão beta 0.26.10.12d · Release no GitHub

Baixar no GitHub

Windows · Delphi 11, 12 e 13
Uso pessoal e comercial.

Versão beta, de código aberto sob a licença MIT, disponibilizada “como está” (as is).

Você pode usar, modificar e redistribuir, mantendo o aviso de copyright. Sem garantias, conforme a licença.

Resumo em portuguêsLicença completaCódigo-fonte no GitHub
Antes de começar

Dúvidas frequentes

O que significa ser uma versão beta?

O Unit Styler está completo no que se propõe, mas ainda está em teste e pode ter defeitos. Use com o projeto em controle de versão ou com a cópia de segurança ligada, e avise o que encontrar em uma issue no GitHub.

Ele altera meu código sem eu pedir?

Não. Ele nunca roda ao abrir, salvar ou compilar. Você abre a janela, escolhe o escopo e confirma. Cancelar deixa tudo como está.

Ele remove units que não são usadas?

Não. O Unit Styler organiza a ordem e a apresentação do uses. Nenhuma unit é acrescentada nem retirada.

Posso desfazer?

Nas units abertas no editor, com Ctrl+Z, porque a alteração é feita no editor e não é salva pela ferramenta. Para as units regravadas no disco, há a cópia de segurança na pasta .backup do projeto.

E o código de terceiros que está dentro do meu projeto?

Use Ignorar pastas..., nas Configurações. As pastas e os arquivos da lista nunca são analisados nem alterados, em nenhum escopo.

Posso usar no trabalho?

Sim. O Unit Styler é gratuito para uso pessoal e comercial, conforme a licença MIT.

Encontrei um problema ou tenho uma sugestão. Onde aviso?

Abra uma issue no GitHub. Contribuições por pull request são bem-vindas.

Desenvolvido por Claudio Santos · CS.Coder. Delphi e RAD Studio são marcas da Embarcadero Technologies, Inc. O Unit Styler é um projeto independente: não tem vínculo com a Embarcadero, não é mantido por ela nem conta com o seu endosso.