Formato de código JEDI O que ele faz O formatador pode padronizar todos os aspectos da formatação do código-fonte do Pascal de Delphi Object, incluindo indentação, espaçamento e capitalização. Se você ainda não está certo, veja os exemplos de entrada e saída do programa. Ele funciona na sintaxe Delphi e Delphi. Por que usar um formatador de código É útil se você está assumindo o código e não gosta da formatação original. É útil se você está tentando trazer o código de várias fontes para um padrão. Um humano sempre pode produzir uma melhor formatação do que um programa, mas em muitos casos eles não. Se você encontrar um pedaço de código de formatação irritante ou difícil de ler, este programa pode poupar muito tempo. Em seu próprio código, ele pode pegar seus erros e até mesmo automatizar algumas tarefas mundanas que podem ter irritado você, mas você não se incomodou com até agora (por exemplo, para transformar as abas em espaços, padronizar a indentação, espaçamento e capitalização, mudar globalmente uma variável ou procedimento Nome, remover globalmente a unidade redundante de todas as cláusulas de uso, ou mesmo inserir o comentário da licença MPL em todas as unidades). Como eu deveria formatar meus programas Delphi Você deve formatar seus programas Delphi conforme as configurações padrão deste programa, ou seja, como Borland sugere. Licença e aviso legal: este programa é gratuito e de código aberto. A partir da versão 2.37, o JCF está disponível sob uma licença dupla - Licença Pública Mozilla (MPL) 1.1 ou GPL 2.0 ou posterior. A licença original era a MPL - Escolhi a licença particular de MPL em particular com a sugestão do grupo Delphi-JEDI. A GPL foi adicionada a pedido dos membros do projeto Lararus. Que usam esta licença e gostaria de vincular o código JCF. Se você melhorar este programa de qualquer forma (correção de bugs, novo recurso, melhor algoritmo, o que quer que seja), eu apreciaria se você enviasse essas melhorias de volta para mim para possível inclusão em uma versão futura. Disclaimer: Este programa pode ter erros ou ainda não cumprir plenamente seus objetivos de design. Embora tenha sido bem testado e usado com algum sucesso, não posso fazer nenhuma garantia. Se você se preocupa com a qualidade desse programa, envie relatórios de erros. Eu recomendo usar um sistema de controle de origem, como o Subversion. Microsoft TFS. CVS. TeamSource ou similares. Lembre-se de controle de origem é como fio dental - você não tem que fazer fio dental todos os dentes - apenas aqueles que deseja manter. Se ainda não estiver usando essa ferramenta, faça backups antes de usar o formatador. Como instalar Esta versão pode ser descarregada como fonte ou como executável. Instale os executáveis da seguinte maneira: Baixe os programas executáveis. E descompacte para um diretório adequado. Coloque o arquivo JCF2Settings. cfg no seu diretório do Windows. Execute o gui JcfNotepad. exe para experimentar arquivos. Execute o programa GUI JcfGui. exe para formatar arquivos do gui - isso é bom quando você possui um diretório ou árvore de diretórios de arquivos Delphi que deseja formatar. Execute o programa de linha de comando jcf. exe se você estiver fazendo um arquivo em lote ou você é masoquista. Use o plugin IDE para formatar arquivos ou projetos enquanto estiver trabalhando no IDE Delphi. O plugin IDE Delphi pode ser instalado para o Delphi 7 da seguinte forma. Todos os pacotes podem ser instalados, selecionando os itens ComponentInstall do menu e clicando no botão Adicionar. Instale o pacote de tempo de design JCL no Delphi. Instale os controles de tempo de design JVCL no Delphi. Instale o JcfIde7.bpl Leia as Instruções para usar no plugin JCF IDE. Instale a fonte da seguinte maneira: Obtenha a biblioteca de código JCL. Instale os pacotes de tempo de design. Baixe, crie e instale os componentes JVCL. Para o arnês de teste, você também precisará DUnit. Faça o download da fonte. E descompacte para um diretório adequado. Inicie Delphi. Abra o grupo de programas de formatador de código em JediCodeFormat. bpg Compile e execute. Tome cuidado, divirta-se. Coisas que podem dar errado na compilação: o projeto TestProject. dpr é aberto por padrão e este projeto está cheio de advertências. Lembre-se que é apenas o código de teste para o formatador funcionar e não se destina a ser executado. Delphi abre o último projeto em um grupo automaticamente, e eu gostaria que o Borland mudasse isso. TestProject é o menos importante dos projetos. Use o item do menu Gerenciador ViewProject e abra o primeiro projeto, JediCodeFormat. dpr, em vez disso. Alguns arquivos não podem ser encontrados (você receberá um erro como Fatal Error JediCodeFormat. dpr (142): Arquivo não encontrado: JclStrings. dcu. Os arquivos JCF e JediComponents não estão incluídos neste arquivo zip. Você pode colocá-los em um Localização diferente no seu disco rígido. Altere os caminhos nos arquivos JediCodeFormat. dpr, Jcf. dpr e Jcfide. dpk. Os arquivos são marcados somente leitura. É assim que eles saem do sistema de controle de origem. Você pode Limpe essa configuração. O diretório de saída não é encontrado. Eu gosto de configurar o Delphi para gravar os arquivos. dcu e os executáveis em um diretório de saída. Naturalmente, ao distribuir a fonte, este diretório está vazio. O WinZip não armazena diretórios vazios, portanto, pode Não existe depois de descompactar. Às vezes eu me lembro de colocar um arquivo fofo chamado Delme. tmp neste diretório. Se você vir esse arquivo, ele já cumpriu sua finalidade e pode ser removido. Faça um diretório de saída no seu diretório CodeFormat ou desmarque (Ou alterar) esta configuração no Delphis ProjectOpti OnsDirectoriesCondições de configurações. Jdfide. dpk dá muitos avisos sobre unidades importadas implicitamente. Sim. Isso não é sério. Todos os projetos, exceto o primeiro, não serão compilados de acordo com os arquivos que não são encontrados, e os arquivos são parte da JCF. Certifique-se de que você tenha um diretório de saída e que contenha os arquivos DCU e que esteja no caminho de pesquisa de projetos. Ao compilar todos os projetos, faça um Build all not a Compile all, pois há um pouco de código por trás de macros IFDEF para tornar o plugin IDE diferente do executável GUI. A compilação sem reconstrução não é sensível ao fato de que essas unidades precisam ser recompiladas devido ao projeto alterado. Como relato um bug Informe o bug aqui. Envie um caso de teste e (opcionalmente) uma correção para a fonte e diga-me quais, se essas categorias, ordenadas por gravidade, que você acha que o erro entra: Erro do programa: o programa falha (violação de acesso, falha de afirmação, etc.) Ou interrompe quando recebe o seu caso de teste. Saída incorreta: o programa fornece saída que não compila quando é dada a sua caixa de teste. Formato péssimo: o resultado compila, mas parece ruim. Dê um exemplo de código de entrada mal formatado e, de preferência, uma correção. Formatação não padrão: a saída é legível, mas não está em conformidade com os padrões acordados. Dê um exemplo com o seu caso de teste do que você acha que a saída deve ser, e de preferência uma correção. Opção ausente: a formatação que deseja não é padrão, mas é como você faz isso e o formatador não o suporta. Se você não dá uma correção que adiciona sua opção favorita, dê um exemplo com seu caso de teste do que você acha que o resultado deve ser. O que fazer se você não gosta deste programa de respiração. Acalme-se. Lembre-se de que estou oferecendo este programa gratuitamente e sem garantias. Lembre-se de que não o forcei a usá-lo. Lembre-se de que eu sugeri fortemente que você faça backups. Sugestões construtivas, especialmente aquelas com código, serão tratadas gentilmente. As chamas serão excluídas. Ainda não tenho chamas para este programa, e eu gosto de manter assim. Onde está o programa está indo Este programa é principalmente no modo de manutenção agora - Eu consigo corrigir erros, rastrear mudanças em versões de Delphi e sintaxe de idioma, e liberar uma atualização a cada mês ou dois. O objetivo da Versão 2.0 é que o programa não deve ter erros e gerar saída compatível com os padrões oficiais de formatação de código (e ter opções para outros estilos). Deve permitir ao usuário configurar qualquer coisa que precise ser configurada e não deve sobrecarregar o usuário com opções inúteis. Também deve ter, por ordem de prioridade: fonte legível, uma arquitetura facilmente extensível e bem documentada, e deve ser executada com rapidez suficiente. Posso me envolver Sim, por favor. Reportar um erro. Solicite um recurso. Baixe a fonte, compile-a e corrija um erro ou adicione um recurso. Se a sua adição for sólida, ela será incluída na próxima versão e seu nome será listado. Se você quiser ser adicionado à lista de desenvolvedores do projeto Sourceforge, faça isso primeiro, então fale bem. Não estou interessado em adicionar pessoas a lista de desenvolvedores de projetos apenas porque eles querem o status de estar lá. Estou interessado em dar esse status a pessoas que provaram que podem e acrescentam algo de valor. Eu sou um pouco céptico de entusiasmos verbais selvagens. Para parafrasear Bruce Sterling, ele não adquire entusiasmo juvenil, é preciso uma persistente perseverança de meia-idade. No entanto, tenha em mente que este é um software de código aberto. Se quiser jogar com o código, avance na sua própria direção ou simplesmente ou role sua própria versão do JCF, vá em frente. O que existem outros formatadores de código Delphi Pascal indent é um formatador Pascal e Delphi escrito (em C) por Ladislav Sobr. Também pode gerar saída HTML ou TeX da fonte Pascal ou Delphi. O Free Pascal Compiler está disponível sob a licença GPL e inclui um formatador de código Object-Pascal chamado PTOP. DelForExp é um formatador de fonte gratuito gratuito (mas sem fonte) de Egbert van Nes O Source Normalizer custa 47. Eu não sei nada sobre isso, exceto o que está nas páginas da web O CocolCloak é um programa bastante equivocado que só pode ofuscar o código-fonte delphi. Quando a versão 1 for lançada, custará 150. É uma nova maneira de proteger seus produtos e o código-fonte do roubo e da engenharia reversa. Eu prefiro MPL a fonte. O FAQ parece implicar que isso irá mesmo ofuscar nomes de variáveis. Que desperdício de esforço sem sentido. SourceCoder é uma extensa ferramenta de código-fonte que faz a formatação de código como uma de suas funções. Custa 89, mas existe uma versão de avaliação gratuita que funciona por 50 dias. O que existem outras ferramentas de código Delphi Você pode procurar ferramentas de código Delphi no projeto de círculo interno. Você poderia procurar as traduções API, biblioteca de códigos e componentes no Joint Endeavor of Delphi Innovators (projeto JEDI). GExperts é ferramentas de programação de código aberto para o Criador de Delphi e C. Não só eles são boas ferramentas, a fonte é um bom exemplo sobre como fazer esse tipo de coisa. Existem vários sites que atuam como clearing-houses para shareware, componentes e código livre da Delphi. O JCF apenas trabalha no código Delphi Sim, ele é projetado apenas com Delphi. No entanto, pode funcionar em outros dialetos de Pascal. Eu não tenho como testar isso porque eu uso apenas o Delphi, mas se você tiver alguma sorte, avise-me. Se você quiser que o JCF suporte um elemento de sintaxe de outro dialecto do Pascal, envie-me um exemplo de código, por favor Para outras línguas, como C, Java e assim por diante - faça uma pesquisa na web e você provavelmente encontrará uma seleção de ferramentas. Marco Tech Blog Neste primeiro blog beta, discutirei um recurso IDE que não está coberto no primeiro vídeo beta, melhorias no formato de código. Neste primeiro blog beta, eu discutirei um recurso IDE que não está coberto no primeiro vídeo beta, ou seja, melhorias na formatação de código. Eu escolhi este tópico específico, não porque ele é a característica mais importante do produto, mas porque é uma pequena jóia que eu posso discutir facilmente em uma postagem de blog. Cobrir algo como a extensa integração de subversão em uma postagem de blog é bastante difícil, devo dizer. No caso de você não saber, os blogs beta do Delphi são postagens de blog autorizadas por blogueiros independentes que cobrem os recursos de uma versão beta do Delphi. Isso significa que me deram uma permissão específica para postar sobre esse tópico e estou discutindo um recurso de uma versão pré-lançamento. Observe também que a página oficial de visualização do RAD Studio XE está em embarcaderorad-studio-xe-preview. Uma vez que este é um pré-lançamento, não há garantia de que ele funcionará da mesma forma na versão final (ou será no produto). Formatação do código fonte A formatação do código-fonte foi introduzida no Delphi 2010, mas teve algumas fraquezas que limitaram sua utilidade. Primeiro, você pode formatar as linhas selecionadas de uma unidade ou uma unidade completa, mas não todas as unidades de um projeto ao mesmo tempo. Em segundo lugar, se você personalizou as configurações de formato, não havia nenhuma maneira óbvia de copiar as configurações para outro computador ou compartilhá-las com os outros membros da sua equipe, para manter o formato do código-fonte consistente. Novo: Formato Projeto O Delphi XE aborda ambos os problemas, adicionando algumas outras opções de formatação. A primeira e mais óbvia mudança é que agora você pode usar o item de menu Project Project Font sources ou a entrada correspondente do menu local do Project Manager (em um nó do projeto). Como o nome indica, isso aplica as configurações atuais do formato de origem a todas as unidades do projeto atual, depois de mostrar uma caixa de diálogo de confirmação. À medida que você reformata um projeto, você obtém algumas informações de status em uma caixa de diálogo que você mal consegue ver (mais ou menos, como quando compila), mas isso é tudo adicionado a uma guia específica do painel Mensagens, como no caso simples a seguir: Se você formatar uma unidade individual, em vez disso, a caixa de diálogo abaixo permitirá que você desabilite mais confirmações e não exiba seu status para o painel Mensagens: Perfis Formatador A página Perfis Formatadores e Status da caixa de diálogo Opções mencionada na caixa de mensagem acima contém o especificado Configurações e também a opção para desativar o formatador de código, removendo os itens de menu correspondentes. Seu principal objetivo, porém, é permitir que você gerencie as configurações ativas do formatador, escolhendo uma das opções predefinidas, atualizando-as e salvando as configurações atuais para um arquivo personalizado. Se você salvar os arquivos na pasta de roaming dos usuários do Delphi, como no meu caso: e nomeado com o padrão Formatter. config, ele será escolhido pelo IDE e listado na caixa de combinação no topo da página, se não, você ainda pode Localize-o com uma caixa de diálogo Abrir arquivo. O topo da página é mostrado abaixo: Curiosamente, um perfil de formatador é um arquivo XML bastante simples que você pode editar ou processar diretamente. No início, existem as configurações globais, seguidas pelas configurações específicas para cada idioma, agrupadas por categoria usando alguns comentários: é tudo para esta primeira publicação. Encontrará tempo para mais alguns nos próximos dias e semanas. PS. Antes de perguntar sobre os recursos gerais do Delphi XE e os recursos potencialmente perdidos. Bem, é preciso esperar pela atualização do mapa rodoviário que o Gerente de Produto Mike Rozlog disse estar perto de lançar esse tópico. Até que essa informação se torne pública, não há nada sobre o qual eu possa comentar.
No comments:
Post a Comment