O sistema de Scripting do Altium Designer é composto por duas partes principais – o editor e o depurador. O editor oferece um conjunto de funcionalidades de ajuda e inspeção de código de scripting, e o depurador fornece acesso aos componentes do script e às funcionalidades de depuração.
Ferramentas de Scripting
O sistema de scripting disponibiliza um conjunto de ferramentas para o ajudar a escrever e depurar scripts. Juntamente com capacidades de conclusão automática e análise de código, o sistema de scripting permite percorrer interativamente os scripts linha a linha, inspecionar variáveis e objetos, e definir pontos de interrupção numa ou em várias linhas do script.
As Ferramentas do Editor de Scripting são um recurso fundamental ao depurar scripts.
Configuração da Linguagem
A partir da caixa de diálogo Language Setup , pode criar, editar e gerir uma lista de linguagens que podem ser associadas a documentos abertos numa variante do Editor de Texto com reconhecimento de código. Cada linguagem é constituída por um esquema de sintaxe, um conjunto de modelos de código e uma lista de associações de ficheiros. Para aceder à caixa de diálogo, clique em
na Text Utilities barra de ferramentas.

A caixa de diálogo Language Setup
A caixa de diálogo contém uma lista das linguagens atualmente definidas. Utilize-a para criar, duplicar, modificar e remover linguagens conforme necessário. Para qualquer linguagem, deve ser definido o seguinte:
- O mapeamento de uma extensão de ficheiro para uma linguagem é único; se adicionar a mesma extensão a outra linguagem, o mapeamento à linguagem anterior é automaticamente removido.
- Se um ficheiro com uma determinada extensão estiver associado a uma linguagem, o conteúdo do ficheiro é realçado de acordo com a sintaxe definida para essa linguagem.
- Quando duplica uma linguagem, copia também o respetivo esquema de sintaxe, bem como todos os modelos de código que ela contém.
Realce de Sintaxe
O realce de sintaxe é um método utilizado para tornar os documentos de texto mais legíveis, no qual diferentes elementos do documento são destacados com base na sua sintaxe. Isto é feito atribuindo uma cor única a diferentes palavras, símbolos e identificadores. Este conjunto de atribuições de cor é designado por sintaxe dessa linguagem.
O esquema de sintaxe da linguagem associada ao documento atual pode ser definido/editado na caixa de diálogo Syntax Editor , acedida a partir do Editor de Texto (ou de qualquer variante do Editor de Texto com reconhecimento de código), clicando no botão
na Text Utilities barra de ferramentas.

A caixa de diálogo Syntax Editor
Embora o comando esteja genericamente disponível na barra de ferramentas Text Utilities, tenha em atenção que nenhuma linguagem está associada a ficheiros de texto normais (*.txt) e, por isso, o acesso à caixa de diálogo não é permitido a partir de um documento deste tipo.
A caixa de diálogo Syntax Editor está dividida em cinco separadores, cada um representando uma área diferente da sintaxe da linguagem:
- Options - utilizado para definir várias opções gerais de sintaxe.
- Comments - utilizado para definir comentários. Os comentários são elementos no ficheiro de texto que pretende definir como comentários de código. Estes podem ser definidos como comentários de linha única, de linha completa ou de múltiplas linhas. Os comentários são definidos pelos seus delimitadores, ou seja, pelos caracteres que indicam que um bloco de texto é um comentário. Os comentários de linha única e de linha completa requerem apenas um delimitador esquerdo (a outra extremidade é definida por um caráter EOL). Os comentários de linha única podem começar em qualquer ponto de uma linha; os comentários de linha completa exigem que o delimitador de comentário seja o primeiro caráter da linha. Os comentários de múltiplas linhas requerem um delimitador esquerdo e um delimitador direito para definir onde começam e acabam.
- Strings - utilizado para definir cadeias de caracteres. As cadeias de caracteres são elementos no ficheiro de texto que pretende definir como strings no código, como por exemplo strings que aparecem como mensagem numa caixa de diálogo apresentada pelo seu programa. São suportadas strings de linha única e de múltiplas linhas, e ambos os tipos requerem delimitadores esquerdo e direito para definir o seu início e fim.
- Numbers - utilizado para definir números. Tal como os comentários e as strings, os números são outra classe de informação no documento que poderá querer destacar. Simple numbers são definidos como cadeias de dígitos numéricos, que podem ou não conter um ponto decimal, por exemplo, 45, 45.6 mas não 45.6.6. Os números simples também podem incluir um caráter E, indicando notação científica, como 53E3 ou 24e6. Special numbers são definidos como tendo um prefixo e/ou um sufixo e contêm dígitos numéricos, ou as letras A-F. Estes podem ser utilizados para indicar a um compilador que o número é hexadecimal ou octal, por exemplo. Exemplos destes números são 0xAF034AD, 88j, j8A8y, mas não 0xA.4. Cada tipo de número é especificado por um sufixo, um prefixo ou uma combinação de prefixo e sufixo. O comportamento básico dos prefixos e sufixos é que, sempre que é detetado um prefixo ou sufixo válido em combinação com um número, então o número e o prefixo (ou sufixo) são realçados de acordo com o estilo de número. Este comportamento básico pode ser modificado através de opções adicionais disponíveis.
- Keywords - utilizado para definir palavras-chave. As palavras-chave são um conjunto de palavras predefinidas que pretende destacar no seu documento. Normalmente, são palavras reservadas pela linguagem de programação para identificar uma função específica, procedimento, tipo de objeto, e assim por diante. As palavras-chave são definidas como parte de um ou mais conjuntos de palavras-chave, cada um com o seu próprio estilo (parâmetros de cor e tipo de letra), melhorando ainda mais a legibilidade do documento.
- Ative/desative o realce de sintaxe para cada um dos elementos de sintaxe nos respetivos separadores. Se a opção de realce para um elemento de sintaxe estiver desativada, qualquer ocorrência dessa sintaxe no documento deixará de estar realçada e voltará ao estilo do texto normal.
- Se a mesma palavra-chave aparecer em mais do que um conjunto de palavras-chave, será aplicado o estilo de realce do conjunto que aparecer primeiro na lista.
- As palavras-chave podem conter carateres alfabéticos e numéricos, bem como o caráter sublinhado. A palavra-chave não pode começar com um caráter numérico.
Conclusão de Código
O editor suporta uma funcionalidade de conclusão de código, que consiste numa janela pop-up automática que apresenta opções de código sensíveis ao contexto.
Quando escreve um ponto a seguir ao nome de uma interface de objeto, é apresentada numa janela pop-up de conclusão de código uma lista das propriedades e métodos disponíveis para esse objeto – continue a escrever para restringir ainda mais a lista. Ao selecionar uma opção da lista, o código será preenchido com esse procedimento/função ou propriedade.

Pode utilizar as teclas de atalho Ctrl+Space para abrir a janela da lista de Conclusão de Código em qualquer altura.
A lista de Conclusão de Código incluirá também os procedimentos e funções globais disponíveis no projeto atualmente aberto, incluindo os do script atual.
A funcionalidade de Conclusão de Código é extremamente útil para selecionar a Interface de Objeto, o método e a propriedade corretos a aplicar num script.
Modelos de Instruções
Os modelos de código são blocos de código predefinidos que podem ser colocados automaticamente num ficheiro baseado em texto com reconhecimento de código, e constituem uma excelente ajuda de produtividade quando escreve código numa determinada linguagem. Cada modelo de código tem três propriedades: um nome, uma descrição e o código efetivo a inserir pelo modelo.
A funcionalidade de modelo de script gera automaticamente uma estrutura de código para a instrução selecionada na janela da lista pop-up.
A lista pop-up pode ser ativada em qualquer altura através das teclas de atalho Ctrl+J , do botão Show Code Templates (
na barra de ferramentas Text Utilities) ou do comando Tools » Show Code Templates nos menus principais. Se for ativada depois de escrever as primeiras letras de uma instrução de código, por exemplo, 'proc', o código da instrução correspondente preencherá automaticamente o código do documento com a estrutura Procedure . Em alternativa, se existirem várias instruções disponíveis para as letras de código previamente introduzidas (por exemplo, 'if'), a janela da lista de modelos apresentará uma lista filtrada de instruções.
Também pode colocar o cursor na localização pretendida no ficheiro e, em seguida, executar o comando. Será apresentada uma janela pop-up com a lista de todos os modelos de código disponíveis definidos para a linguagem associada. Escolha a entrada pretendida para inserir esse modelo.

Cada modelo de código é identificado pelo seu nome, conforme especificado na caixa de diálogo Code Templates Editor. O acesso a esta caixa de diálogo pode ser feito a partir da caixa de diálogo Language Setup (clique em
na Text Utilities barra de ferramentas), escolhendo o comando Templates em Menu.
Parâmetros de Método
A funcionalidade Parâmetros de Método do Script apresenta uma mensagem pop-up que mostra quais os parâmetros utilizados para um determinado método (função/procedimento, etc.) de uma interface de objeto.
Quando é escrito o parêntese curvo inicial a seguir a um método, como mostrado na imagem abaixo, a mensagem Parâmetros aparecerá automaticamente. As teclas Shift+Ctrl+Space podem ser utilizadas para apresentar manualmente a mensagem pop-up de Parâmetros, quando aplicável.

Para ver a definição de parâmetros de uma instrução de método concluída, coloque o cursor dentro dos parênteses dos parâmetros e utilize Shift+Ctrl+Space para chamar o pop-up. para chamar o pop-up.
A mensagem pop-up Parâmetros também mostra a localização de origem da definição do método (função/procedimento), quando aplicável. No exemplo acima, o método (ShowAParametricMessage) está definido no script HelloWorld.pas na linha 14 – passe o cursor sobre a imagem para ver o método tal como é utilizado no script HelloWorldDialog.
Navegação para Definições
A origem da definição de uma variável ou método de script pode ser localizada imediatamente utilizando a funcionalidade de Navegação do editor.
Para encontrar a origem da definição de uma variável, prima a tecla Ctrl enquanto clica na variável onde ela é utilizada no script. O cursor deslocar-se-á para a definição. Utilize o mesmo método (Ctrl+Click) para localizar a definição de origem de um procedimento. Se o procedimento estiver definido noutro script dentro do projeto, esse script será aberto com o cursor no procedimento.

Dica Insight
A funcionalidade Insight ToolTip mostra o tipo de variável quando o cursor do rato passa sobre a variável. De forma semelhante, ao passar o rato sobre um procedimento, é apresentada a sua definição e localização (script e número da linha).

Pontos de interrupção
Os pontos de interrupção são uma ferramenta principal de depuração que lhe permite pausar a execução de um script em pontos predefinidos. Uma utilização típica dos pontos de interrupção seria nos diferentes ramos de uma instrução condicional, em que é inserido um ponto de interrupção em cada ramo para verificar qual deles é executado.
A forma mais simples de definir um ponto de interrupção é clicar na margem do editor ao lado de uma linha de código, que ficará destacada a vermelho. O destaque da linha mudará para verde-claro quando um script em execução encontrar esse ponto de interrupção. O script pode ser executado até ao ponto de interrupção seguinte com o comando Run (atalho: F9) ou com os comandos de execução passo a passo.

Para alternar um ponto de interrupção para a linha atual, também pode utilizar o comando Run » Toggle Breakpoint nos menus principais (atalho: F5).
Em alternativa, utilize o comando Run » Add Breakpoint nos menus principais para abrir a caixa de diálogo Add New Breakpoint, a partir da qual pode definir um novo ponto de interrupção a adicionar a qualquer documento de script atualmente aberto. Utilize esta caixa de diálogo para definir em que número de linha, dentro do documento selecionado, o ponto de interrupção deve ser adicionado. O campo Condition da caixa de diálogo permite-lhe definir um ponto de interrupção condicional, em que a execução do script só será interrompida se a condição associada ao ponto de interrupção devolver verdadeiro; caso contrário, a execução prosseguirá sem interrupção.
Também pode escolher se o ponto de interrupção deve ser inicialmente colocado como ativado ou desativado. Um ponto de interrupção desativado mantém-se definido, mas não fará com que um script em execução pare quando o encontrar.
- Um ponto de interrupção ativado é indicado no código por um destaque a vermelho sobre a linha do ponto de interrupção e um círculo vermelho com uma cruz na margem (
). Um ponto de interrupção desativado é indicado no código por um destaque a verde sobre a linha do ponto de interrupção e um círculo verde com uma cruz na margem (
).
- Um ponto de interrupção desativado não pode ser removido diretamente do documento do script. No estado desativado, a eliminação só é possível a partir do painel Breakpoints.

A caixa de diálogo Add New Breakpoint
Tenha em atenção que um ponto de interrupção de script tem de estar numa linha de instrução. Quaisquer pontos de interrupção definidos em linhas em branco, linhas comentadas ou outras não instruções serão ignorados.
Os pontos de interrupção podem ser acedidos através do painel Breakpoints, para localizar e gerir facilmente todos os pontos de interrupção definidos, sem ter de percorrer um script para os encontrar. O painel fornece informação sobre todos os pontos de interrupção atualmente definidos em todos os ficheiros de script abertos (independentemente do projeto de script principal (*.PrjScr) a que pertencem), bem como comandos para adicionar, ativar, desativar e eliminar os pontos de interrupção selecionados, conforme necessário, a partir do menu de clique direito.

O painel Breakpoints
Faça duplo clique numa entrada de ponto de interrupção no painel (ou selecione o comando Edit Source no menu de clique direito) para tornar o documento de script associado o documento ativo no espaço de design, colocando o cursor de texto no início da linha do script à qual o ponto de interrupção se aplica.
Selecione o comando Properties no menu de clique direito para aceder à caixa de diálogo Breakpoint Properties da entrada de ponto de interrupção selecionada. Pode utilizar esta caixa de diálogo para alterar o estado do ponto de interrupção (ativá-lo/desativá-lo) e também adicionar/modificar uma condição para o ponto de interrupção, conforme necessário. Não é possível alterar o ficheiro em que o ponto de interrupção foi adicionado, nem o número específico da linha dentro desse ficheiro.

A caixa de diálogo Breakpoint Properties
Avaliação de Expressões
Quando um script é interrompido em resposta a um ponto de interrupção ou a um erro, o valor de qualquer expressão (uma instrução do script) pode ser determinado através de uma funcionalidade ToolTip ou da caixa de diálogo interativa Evaluate .
As ferramentas de Avaliação são principalmente ferramentas de depuração, utilizadas em conjunto com painéis de apoio à depuração, como os painéis Watch List e Call Stack.
ToolTip de Avaliação
A funcionalidade Expression Evaluation ToolTip apresenta o valor atual dos dados da variável sobre a qual o cursor está posicionado.

Funcionalidade Evaluate
Para utilizar a caixa de diálogo Evaluate do editor, clique numa variável da expressão no script e selecione o botão Run » Evaluate (atalho: Ctrl+F7). A caixa de diálogo será automaticamente preenchida com a expressão e o respetivo resultado atual.
Em alternativa, pode copiar uma expressão do script para o campo Expression da caixa de diálogo e clicar em Evaluate para ver o resultado. O nome de uma expressão também pode ser introduzido diretamente no campo Expression para avaliar o resultado.

Um script em modo de ponto de interrupção com a caixa de diálogo Evaluate ativada.
Expressões de Observação
As expressões de observação permitem-lhe acompanhar os valores de variáveis/expressões enquanto depura o documento de script atual passo a passo. Uma expressão de observação pode ser uma única variável ou uma expressão que contenha uma ou mais variáveis.
Para definir expressões de observação para o documento de script atual, utilize o comando Run » Add Watch nos menus principais (atalho: Ctrl+F5). Depois de executar o comando, surge a caixa de diálogo Add New Watch. Utilize esta caixa de diálogo para definir a expressão que pretende monitorizar. Por exemplo, a expressão pode ser uma variável específica utilizada no código (por exemplo, OUT, a, Remainder), ou uma expressão baseada em uma ou mais variáveis definidas (por exemplo, a+b, a*b, c+(b-a)).

A caixa de diálogo Add New Watch
Depois de clicar em OK, a expressão de observação aparecerá no painel Watch List. Utilize o painel para ver todas as expressões de observação definidas ao mesmo tempo. As observações podem ser adicionadas, editadas e eliminadas a partir do menu de contexto do painel, acessível com o botão direito do rato.

O painel Watch List
À medida que percorre as linhas de código no documento de script, as expressões de observação serão avaliadas e os respetivos valores atualizados, caso o script altere qualquer uma das variáveis utilizadas nessas expressões.
Quando a execução do script entra numa função ou procedimento, uma expressão de observação só será válida se a(s) variável(eis) na expressão estiver(em) definida(s) e for(em) utilizada(s) nessa função ou procedimento. Se uma variável não estiver disponível para a função ou procedimento (ou seja, não for global ou for local a outra parte do script), então o campo Value apresentará Undeclared identifier: VariableName.
Faça duplo clique numa entrada de observação no painel ou clique com o botão direito numa entrada e selecione o comando Edit Watch para aceder à caixa de diálogo Watch Properties, a partir da qual pode editar a expressão da observação selecionada, conforme necessário.
Marcadores
Os marcadores são utilizados em scripts para assinalar instruções e navegar rapidamente até elas. Podem ser definidos até 10 marcadores num script.
Um marcador é indicado por uma caixa verde na margem do editor com o número do marcador incluído. Para adicionar um marcador, selecione uma linha de código, clique com o botão direito, selecione Toggle Bookmarks no menu de contexto e, em seguida, um número de localização no submenu (Toggle Bookmarks » Set Location Mark n, em que 'n' é o número do marcador de 0 a 9).
Para ir para (saltar para) um marcador, clique com o botão direito e selecione Goto Bookmarks e a localização do marcador pretendida no submenu (Goto Bookmarks » Jump Location Mark n). Para remover um marcador, desative-o repetindo o processo de adicionar marcador para essa linha de código.
A localização armazenada só está disponível enquanto o documento permanecer aberto (ativo ou não). Se o documento for fechado e novamente aberto, o marcador de localização ficará vazio.

Utilize marcadores para saltar rapidamente para uma instrução no script.
- Utilize as teclas de atalho Ctrl+n para saltar para um marcador existente no script (em que n é o número do marcador de 0 a 9) — por exemplo, para ir para o marcador número 3, prima as teclas de atalho Ctrl+3.
- Utilize as teclas de atalho Ctrl+Shift+n para alternar um marcador (em que n é o número do marcador a alternar), ou mover um marcador atribuído para a linha atual.
Estruturação de Código
Para facilitar o seu trabalho com o código, os procedimentos/funções/sub-rotinas no documento estão organizados em blocos de estrutura de código. Os blocos de estrutura de código podem ser recolhidos ou expandidos para mostrar apenas o conteúdo do documento de que necessita naquele momento.
A utilização da estruturação de código, incluindo uma opção para apresentar as linhas de recolha — a extensão de um bloco de código individual —, é ativada/desativada na página
Text Editors - Display page da caixa de diálogo
Preferences.
Para expandir/recolher um bloco de código individual, clique no pequeno controlo
ou
, à esquerda da instrução superior do bloco. Quando recolhido, aparece um controlo
à direita da instrução superior de cada bloco de código. Passar o rato sobre este controlo revelará o código que foi recolhido. Fazer duplo clique neste controlo expandirá esse bloco de código individual.
Para expandir/recolher todos os blocos de estrutura de código no documento atual, clique com o botão direito e escolha Outlining » Collapse All ou Expand All no menu de contexto.
Ferramentas Gerais de Edição de Texto
Adicionar Itens To-Do
Um item To-Do, como o nome sugere, é basicamente utilizado como lembrete para uma tarefa que precisa de ser realizada em relação ao documento numa fase posterior.
Para adicionar um item To-Do no ponto do documento atual, coloque o cursor de texto nesse ponto, clique com o botão direito do rato e escolha Add To-Do Item no menu de contexto. Após executar o comando, é apresentada a caixa de diálogo Edit To-Do Item. Utilize esta caixa de diálogo para introduzir texto adequado relativo à tarefa que precisa de ser realizada nesse ponto do documento. Utilize os campos disponíveis na caixa de diálogo para definir uma Priority para a tarefa (de Lowest a Highest, com Normal selecionado por predefinição), o Owner da tarefa e também uma Category para a tarefa (por exemplo, Formatting pass, Code Review pass, etc).
Depois de definir o item To-Do conforme pretendido, clicar em OK fechará a caixa de diálogo e devolverá o foco ao documento atual. Surgirá uma entrada para o item To-Do no ponto assinalado pela posição atual do cursor de texto. A entrada aparecerá entre os delimitadores { e }, como ilustrado no exemplo abaixo:
{TODO Name=Check Spelling|Priority=3|State=1|Owner=Jase|Category=Proofing|UID=UIDYOGFS}
Em que:
- Name é o texto real da ação a executar.
- Priority é um valor que representa a prioridade atribuída (Lowest = 0, Low = 1, High = 3, Highest = 4). Se a Priority tiver sido definida como Normal, não será apresentada qualquer entrada.
- State reflete se o Item foi concluído ou não. Se não foi concluído, não será apresentada qualquer entrada. Se foi concluído, o valor de State será 1.
- Owner é o proprietário atribuído ao item.
- Category é a categoria atribuída ao item.
- UID é o identificador único desse item específico.
Todos os itens To-Do do projeto ativo são listados no
painel To-Do .
Alterar Maiúsculas/Minúsculas ou Capitalização do Texto
Os comandos do menu Tools » Change Case permitem-lhe alterar a capitalização ou as maiúsculas/minúsculas do texto selecionado ou da palavra sob o cursor.
- Selection To UpperCase – selecione o texto cujas maiúsculas/minúsculas pretende alterar de lower para UPPER e execute o comando. A seleção ficará em maiúsculas.
- Selection To LowerCase – selecione o texto cujas maiúsculas/minúsculas pretende alterar de UPPER para lower e execute o comando. A seleção ficará em minúsculas.
- Capitalize Selection – selecione o texto que pretende capitalizar e execute o comando. Cada palavra distinta na seleção que ainda não comece por uma letra maiúscula terá a sua letra inicial convertida em maiúscula.
- Word To UpperCase – posicione o cursor de texto no início, no fim ou em qualquer ponto da palavra cujas maiúsculas/minúsculas pretende alterar de lower para UPPER e execute o comando. A palavra ficará em maiúsculas.
- Word To LowerCase – posicione o cursor de texto no início, no fim ou em qualquer ponto da palavra cujas maiúsculas/minúsculas pretende alterar de UPPER para lower e execute o comando. A palavra ficará em minúsculas.
- Capitalize Word – posicione o cursor de texto no início, no fim ou em qualquer ponto da palavra que pretende capitalizar e execute o comando. A letra inicial da palavra será convertida em maiúscula.
Avanço do Texto
Para uma melhor legibilidade, pode aplicar avanço de texto no seu documento. Para avançar ou reduzir o avanço do texto selecionado no documento atual, escolha Tools » Indent ou Tools » Unindent nos menus principais ou clique no botão
/
na barra de ferramentas Text Utilities. A seleção será avançada/recuada pelo número de caracteres especificado no campo Block Indent, na página Text Editors - General da caixa de diálogo Preferences.
Se a opção Backspace unindents estiver ativada (na página Text Editors - General da caixa de diálogo Preferences ) pode reduzir o avanço utilizando a tecla Backspace . Coloque o cursor de texto antes do primeiro carácter não vazio na linha cujo avanço pretende reduzir e prima Backspace. O avanço da linha será reduzido, alinhando-a com o início das novas palavras na linha anterior.
Pesquisar e Substituir Texto
Para configurar uma pesquisa de texto específico localizado no documento atual, em todos os documentos baseados em texto do projeto ativo, em todos os documentos baseados em texto abertos, ou em todos os documentos baseados em texto num diretório especificado, utiliza-se a caixa de diálogo Find Text. Pode aceder a esta caixa de diálogo a partir do Editor de Texto (ou de qualquer variante do Editor de Texto com suporte para código) escolhendo o comando Edit » Find nos menus principais (atalho: Ctrl+F).

A caixa de diálogo Find Text
A caixa de diálogo funciona essencialmente em dois modos, com a funcionalidade disponibilizada através de dois separadores:
- Find - utilize as opções deste separador para configurar uma pesquisa apenas no documento atual. Depois de clicar em OK, a primeira ocorrência de texto correspondente encontrada será realçada no documento.
- Find in Files - utilize as opções deste separador para configurar uma pesquisa em todos os documentos baseados em texto do projeto ativo, em todos os documentos baseados em texto abertos, ou em todos os documentos baseados em texto num diretório especificado. Depois de clicar em OK, todas as ocorrências de texto correspondente encontradas nos ficheiros abrangidos pelo âmbito da pesquisa serão listadas como entradas no painel Messages. Cada mensagem indicará o ficheiro de origem, a linha em que o texto procurado foi encontrado, o texto completo dessa linha e a posição do carácter nessa linha em que a cadeia de texto procurada começa.
- Cada mensagem no painel Messages tem a forma (x, y): <LineText>, em que x é a posição do carácter na linha y do documento.
- Os ficheiros não precisam de estar abertos para poder pesquisar texto usando o modo Find in Files.
- Ao utilizar o modo Find in Files, o texto encontrado pode ser acedido por cross-probing a partir da entrada no painel Messages - basta fazer duplo clique na mensagem.
Para encontrar a ocorrência seguinte da última pesquisa de texto especificada através da caixa de diálogo Find Text, utilize o comando Edit » Find Next nos menus principais (atalho: F3). Depois de executar o comando, a ocorrência seguinte do texto especificado no campo Text to find da caixa de diálogo Find Text será localizada e realçada. Utilize o comando repetidamente para percorrer todas as outras ocorrências. Esta funcionalidade aplica todas as opções de critérios de pesquisa que foram especificadas ao realizar a pesquisa de texto original.
Ative a opção Find selected text on Find Next, na página Text Editors - General da caixa de diálogo Preferences, para utilizar este comando de modo a encontrar rapidamente ocorrências subsequentes do texto atualmente selecionado, em vez do texto utilizado na ação original de procura de texto.
Também pode encontrar a ocorrência seguinte do texto atualmente selecionado no documento ativo utilizando o comando Edit » Find Next Selected nos menus principais (atalho: Ctrl+Shift+F). Depois de executar o comando, a ocorrência seguinte do texto selecionado ficará selecionada. Utilize o comando repetidamente para percorrer todas as outras ocorrências. Esta funcionalidade executa essencialmente uma pesquisa de texto utilizando a caixa de diálogo Find Text, com o texto selecionado usado como entrada para o campo Text to find . Todas as opções de critérios de pesquisa que foram especificadas pela última vez ao realizar uma pesquisa de texto com a caixa de diálogo Find Text serão aplicadas ao utilizar esta funcionalidade.
Para configurar uma pesquisa para localizar e substituir texto específico localizado no documento atual, em todos os documentos baseados em texto do projeto ativo, em todos os documentos baseados em texto abertos, ou em todos os documentos baseados em texto num diretório especificado, utiliza-se a caixa de diálogo Replace Text. Pode aceder a esta caixa de diálogo a partir do Editor de Texto (ou de qualquer variante do Editor de Texto com suporte para código) escolhendo o comando Edit » Replace nos menus principais (atalho: Ctrl+H).

A caixa de diálogo Replace Text
A caixa de diálogo funciona essencialmente em dois modos, com a funcionalidade disponibilizada através de dois separadores:
- Replace Text - utilize as opções deste separador para configurar a substituição de texto apenas no documento atual. Para substituir apenas a primeira ocorrência de texto correspondente, clique em OK. Se a opção Prompt on replace estiver ativada, o texto será realçado e surgirá uma caixa de diálogo para confirmar a substituição. Clique em Yes para substituir apenas esta ocorrência. Terá a possibilidade de substituir todas as ocorrências correspondentes a partir desta caixa de diálogo. Em alternativa, para substituir todas desde o início, clique em Replace All, em vez de OK. Mais uma vez, todas as ocorrências correspondentes do texto pesquisado serão substituídas diretamente, ou mediante confirmação individual, dependendo do estado da opção Prompt on replace .
- Replace in Files - utilize as opções neste separador para configurar uma substituição de texto em todos os documentos baseados em texto do projeto ativo, em todos os documentos baseados em texto abertos, ou em todos os documentos baseados em texto de uma diretoria especificada. Depois de clicar em OK, todas as ocorrências de texto correspondente encontradas nos ficheiros abrangidos pelo âmbito da pesquisa serão substituídas. Mais uma vez, pode optar por ser solicitado antes da substituição, definindo previamente a opção Prompt on replace. A caixa de diálogo Replacing será apresentada para mostrar o progresso da substituição. Cada substituição efetuada será listada como uma entrada no painel Messages. Cada mensagem refletirá o ficheiro de origem, a linha em que o texto pesquisado foi encontrado, o texto completo dessa linha e a posição do caráter nessa linha onde a cadeia de texto pesquisada começa.
Em cada caso, será apresentada uma caixa de diálogo informativa, resumindo o número de substituições efetuadas.
- Cada mensagem no painel Messages tem o formato (x, y): <OriginalLineText>, em que x é a posição do caráter na linha y do documento. O texto mostra o texto original, antes da substituição.
- Os ficheiros não têm de estar abertos para que o texto seja substituído usando o modo Replace in Files. Esses ficheiros podem, opcionalmente, ser abertos após a substituição ativando a opção Open changed files in editor, antes de executar a substituição.
- Ao utilizar o modo Replace in Files, é possível fazer cross-probing para o texto substituído resultante a partir da entrada do painel Messages - basta fazer duplo clique na mensagem.
Para a pesquisa e substituição de texto, consulte as opções relacionadas na região Find, na página Text Editors - General page da caixa de diálogo Preferences.
Options and Controls of the Find-Replace Text Dialog
Separador Find/Replace Text
- Text to find - introduza a cadeia de texto a localizar no documento ou utilize a lista pendente para selecionar a cadeia a partir de pesquisas anteriores.
- Replace with - introduza a cadeia de texto pela qual substituir o texto encontrado ou utilize a lista pendente para selecionar a cadeia de substituição a partir de substituições anteriores. Este comando só está disponível na caixa de diálogo Replace Text.
- Options
- Case sensitive - assinale para executar a pesquisa com distinção entre maiúsculas e minúsculas.
- Whole words only - assinale para localizar apenas palavras completas.
- Regular expressions - assinale para pesquisar utilizando expressões regulares.
- ^ - corresponde apenas quando a cadeia está no início de uma linha.
- $ - corresponde apenas quando a cadeia está no fim de uma linha.
- . - indica qualquer caráter único (por exemplo, "te.t" corresponde a "test", "text" e "tent", mas não a "tet").
- * - indica qualquer conjunto de carateres, incluindo nenhum caráter (por exemplo, "te*" corresponde a "text", "tent" e "te", mas não a "t").
- + - indica qualquer conjunto de carateres, exceto nenhum caráter (por exemplo, "te+" corresponde a "text" e "tent", mas não a "te").
- [ ] - localiza qualquer um dos carateres entre parênteses retos.
- [^] - um acento circunflexo no início de uma cadeia entre parênteses retos significa NOT (por exemplo, "[^tes]" corresponde a quaisquer carateres exceto t, e ou s).
- [-] - um hífen dentro de uma cadeia entre parênteses retos indica um intervalo de carateres (por exemplo, "[l-o]" corresponde aos carateres l, m, n e o).
- { } - utilizado para agrupar carateres ou expressões. Os grupos podem ser aninhados, com um máximo de 10 grupos num único padrão.
- \ - uma barra invertida antes de um caráter wildcard indica ao Text Editor para tratar esse caráter literalmente, e não como um wildcard (por exemplo, "\^test" não procura a cadeia test no início de uma linha; procura a cadeia "^test").
- Prompt on replace - assinale para ser solicitado antes de a substituição ocorrer. Este comando só está disponível na caixa de diálogo Replace Text.
- Search hidden text - assinale para incluir texto oculto na pesquisa.
- Wrap search - assinale para fazer o retorno da pesquisa ao início/fim. Este comando só está disponível na caixa de diálogo Find Text.
- Direction - utilize estas seleções em conjunto com as opções Origin para determinar de onde e como o texto é pesquisado..
- Forward - selecione para executar a pesquisa para a frente a partir do cursor.
- Backward - selecione para executar a pesquisa para trás a partir do cursor.
- Scope
- Global - selecione para pesquisar todo o documento.
- Selected text - selecione para pesquisar apenas o texto atualmente selecionado.
- Origin - utilize estas seleções em conjunto com as opções Direction para determinar de onde e como o texto é pesquisado.
- From cursor - selecione para iniciar a pesquisa a partir da localização do cursor.
- Entire scope - selecione para executar a pesquisa em todo o documento.
Separador Find in Files/Replace in Files
- Text to find - introduza a cadeia de texto a localizar no documento ou utilize a lista pendente para selecionar a cadeia a partir de pesquisas anteriores.
- Replace with - introduza a cadeia de texto pela qual substituir o texto encontrado ou utilize a lista pendente para selecionar a cadeia de substituição a partir de substituições anteriores. Este comando só está disponível na caixa de diálogo Replace Text.
- Options
- Case sensitive - assinale para executar a pesquisa com distinção entre maiúsculas e minúsculas.
- Whole words only - assinale para localizar apenas palavras completas.
- Regular expressions - assinale para pesquisar utilizando expressões regulares. As expressões regulares válidas incluem o seguinte:
- ^ - corresponde apenas quando a cadeia está no início de uma linha.
- $ - corresponde apenas quando a cadeia está no fim de uma linha.
- . - indica qualquer caráter único (por exemplo, "te.t" corresponde a "test", "text" e "tent", mas não a "tet").
- * - indica qualquer conjunto de carateres, incluindo nenhum caráter (por exemplo, "te*" corresponde a "text", "tent" e "te", mas não a "t").
- + - indica qualquer conjunto de carateres, exceto nenhum caráter (por exemplo, "te+" corresponde a "text" e "tent", mas não a "te").
- [ ] - localiza qualquer um dos carateres entre parênteses retos.
- [^] - um acento circunflexo no início de uma cadeia entre parênteses retos significa NOT (por exemplo, "[^tes]" corresponde a quaisquer carateres exceto t, e ou s).
- [-] - um hífen dentro de uma cadeia entre parênteses retos indica um intervalo de carateres (por exemplo, "[l-o]" corresponde aos carateres l, m, n e o).
- { } - utilizado para agrupar carateres ou expressões. Os grupos podem ser aninhados, com um máximo de 10 grupos num único padrão.
- \ - uma barra invertida antes de um caráter wildcard indica ao Text Editor para tratar esse caráter literalmente, e não como um wildcard (por exemplo, "\^test" não procura a cadeia "test" no início de uma linha; procura a cadeia "^test").
- Prompt on replace - assinale para ser solicitado antes de a substituição ocorrer. Este comando só está disponível na caixa de diálogo Replace Text.
- Search hidden text - assinale para incluir texto oculto na pesquisa.
- Where
- Search all files in project - selecione para pesquisar em todos os ficheiros do projeto atual.
- Search all open files - selecione para pesquisar em todos os ficheiros abertos.
- Search in directories - selecione para pesquisar em diretorias.
- Open changed files in editor - selecione para abrir os ficheiros alterados.
- Search Directory Options
- File Mask - clique no botão Browse para abrir uma caixa de diálogo e selecionar a pasta pretendida para pesquisa.
- Include subdirectories - assinale para incluir subdiretorias na pesquisa.
Controlo adicional
- Replace All - clique para substituir todas as cadeias encontradas pelo texto introduzido na caixa de texto Replace with. Este comando só está disponível na caixa de diálogo Replace Text.
Saltar para uma linha específica
Para saltar para uma linha específica no documento atual, escolha Edit » Goto Line Number nos menus principais. Depois de iniciar o comando, será apresentada a caixa de diálogo Go to Line Number.

A caixa de diálogo Go to Line Number
Inicialmente, a caixa de diálogo mostrará a linha em que o cursor de texto se encontra atualmente posicionado. Introduza no campo New Line Number o número da linha para a qual pretende mover o cursor. Se o número da linha for superior ao número de linhas do documento, a caixa de diálogo voltará a aparecer, pronta para que introduza um número de linha válido. Depois de clicar em OK, o cursor saltará para a mesma posição na linha especificada.
Pode ser muito útil ativar a apresentação dos números de linha. Isto pode ser feito através da opção
Show line numbers (e respetivas subopções), na página
Text Editors - Display page da caixa de diálogo
Preferences.
Abrir documento sob o cursor
Um documento sobre o qual o cursor está atualmente posicionado pode ser aberto automaticamente a partir do editor de texto. Posicione o cursor de texto dentro do texto que descreve o documento a abrir, clique com o botão direito e escolha Open Document Under Cursor no menu de contexto (atalho: Ctrl+Enter). O documento será aberto e tornar-se-á o documento ativo.
Por exemplo, para abrir um documento chamado Example_Schematic.SchDoc, certifique-se primeiro de que o texto Example_Schematic.SchDoc está escrito algures no documento de texto atual. Depois coloque o cursor de texto em qualquer ponto dentro dessa cadeia e execute o comando - Example_Schematic.SchDoc será aberto como documento ativo.
- A funcionalidade não é sensível a maiúsculas/minúsculas, pelo que a capitalização do texto introduzido no documento de texto não tem de ser idêntica à do ficheiro real a abrir.
- A funcionalidade só abrirá documentos que não tenham espaços nos respetivos nomes de ficheiro. Por exemplo, Example_Design_File.SchDoc e ExampleDesignFile.SchDoc serão ambos abertos com esta funcionalidade, mas Example Design File.SchDoc não será.
- A funcionalidade só abrirá documentos armazenados na mesma localização do disco rígido que o documento de texto que faz a chamada. Se o documento não estiver nessa pasta, será apresentada uma caixa de diálogo Open, a partir da qual poderá procurar e abrir o documento pretendido.
- Se um documento já estiver aberto quando for feita uma chamada, esse documento passará a ser o documento ativo.
Quebra de linha
Se o seu documento incluir linhas de texto longas, pode torná-lo mais legível manualmente, inserindo quebras de linha, ou ativando a quebra de linha automática. Para gerir a quebra de linha, utilize os comandos do menu principal Tools » Word Wrap:
- None – desativa o modo de quebra de linha no documento atual. Depois de executar o comando, o texto introduzido deixará de ser quebrado quer na margem direita, quer na extremidade direita da janela da área de visualização.
- At Margin (ou o botão
na barra de ferramentas Text Utilities) – as linhas de texto serão quebradas na margem no documento atual. Depois de executar o comando, o texto introduzido será quebrado na margem direita, conforme definido pelo valor introduzido no campo Margin width, na página Text Editors - Display page da caixa de diálogo Preferences.
- At Window (ou o botão
na barra de ferramentas Text Utilities) – as linhas de texto serão quebradas na extremidade da janela de visualização no documento atual. Depois de executar o comando, o texto introduzido será quebrado na extremidade direita da janela da área de visualização.
- Pode alternar entre os modos de quebra de linha em qualquer altura – o texto no documento será reformatado para cumprir o modo escolhido.
- A quebra de linha também pode ser configurada através da opção Word wrap (e respetivas subopções) na página Text Editors - Display page da caixa de diálogo Preferences.
Divisão da visualização do documento
Pode «dividir» a visualização do documento atual em duas secções horizontais ou verticais distintas, permitindo-lhe navegar e editar duas áreas diferentes do mesmo documento. Para dividir a janela do documento em duas secções iguais, escolha um dos seguintes comandos:
- Window » Split Horizontally – a metade superior mostrará uma área a partir do início (topo) do documento. A metade inferior mostrará uma área a partir do ponto do documento que estava originalmente no topo da janela de visualização antes da execução do comando.
- Window » Split Vertically – a metade esquerda mostrará uma área a partir do início (topo) do documento, com a barra de deslocamento horizontal totalmente à esquerda. A metade direita mostrará uma área a partir do ponto do documento que estava originalmente no topo da janela de visualização antes da execução do comando.
Pode agora navegar e editar livremente diferentes áreas do (único) documento atual.
Uma «barra divisória» separa as duas secções. Clique e arraste esta barra divisória para alterar a área do documento visível em cada secção.
Para voltar a uma única janela para o documento, utilize o comando Remove Split, acedido a partir do menu Window. A área do documento que será apresentada quando a divisão for removida será a que estiver atualmente visível na secção inferior (para divisão horizontal) ou na secção direita (para divisão vertical).
Se pretender alterar o modo de divisão de horizontal para vertical ou de vertical para horizontal, utilize o comando Split Vertically ou Split Horizontally, respetivamente, também acedido a partir do menu Window.