Ajuda para o MetaEditor

Controle Inteligente

Ferramentas diferentes, desde a substituição automática de nomes e dicas de funções até os marcadores e os atalhos, são implementadas no MetaEditor para o desenvolvimento conveniente de programas. Estes meios permitem acelerar o processo de escrita do código-fonte, navegar convenientemente através dele e evitar erros.

As seguintes funções são descritas nesta seção:

Quaisquer alterações feitas no código-fonte podem ser revertidas com o comando "Desfazer Desfazer" do menu "Editar" ou da barra de ferramentas "Padrão" ou pressionando "Ctrl+Z".

Substituição Automática de Nomes de Funções

É a possibilidade de ver a lista de variações de nomes de funções do usuário ou do sistema, constantes, variáveis​​, membros de classes, palavras-chave, etc. As variações são determinadas pelos primeiros caracteres digitados. A abertura desta lista é feita automaticamente quando se escreve o código-fonte. A fim de abrir manualmente esta lista, deve-se usar o comando "Listar Nomes Listar Nomes" do menu "Editar" ou da barra de ferramentas "Padrão" ou pressionando "Ctrl+Space" após os primeiros caracteres do nome serem digitados:

Lista de Nomes

Depois disso, é só escolher a variação desejada usando as teclas "seta para cima" e "seta para baixo" e pressionar a tecla "Enter". A escolha também pode ser feita usando o mouse. Se continuar a digitar as letras do nome da função, a lista de possíveis variações para substituição será mais curta.

Informações sobre Parâmetros

Este recurso permite visualizar os parâmetros da função escolhida e seus tipos. A fim de abrir esta informação, deve-se executar o comando "Parâmetro Info Parâmetro Info" do menu "Editar" ou da barra de ferramentas "Padrão" ou pressionando "Ctrl+Shift+Space". Os comandos devem ser executados quando o cursor do mouse estiver dentro dos colchetes, onde os seus parâmetros estão especificados. A linha de ajuda pop-up, contendo os parâmetros, aparecerá abaixo da função assim que fizer isso:

Informações sobre Parâmetros

Vamos considerar as informações exibidas no exemplo mostrado na imagem acima:

  • [1 of 2] – isto significa que existem duas variações de especificação de parâmetros para a função. Para alternar entre elas, deve-se utilizar a "seta para cima", a "seta para baixo" ou clicar com o botão esquerdo do mouse na linha de dicas;
  • bool – ele indica o tipo do valor devolvido pela função;
  • ObjectSetInteger – o nome da função;
  • (long chart_id, ... ) – a enumeração dos possíveis parâmetros da função; o tipo do parâmetro é especificado antes de cada um deles ("long", neste caso). O parâmetro onde o cursor do mouse está atualmente é exibido em negrito.

Ir para Definição

Esta função permite mover automaticamente para a declaração ou para a definição da função ou variável selecionada. Se a definição ou a declaração está em outro arquivo, então este arquivo será aberto e o cursor do mouse será movido para a posição correspondente. Esta função também permite mover para os arquivos inclusos (#include).

A fim de ir para definição, deve-se colocar o cursor em um parâmetro e executar o comando "Ir para Definição Ir para Definição" do menu "Editar" ou da barra de ferramentas "Padrão" ou pressionando "Alt+G". A fim de ir para um arquivo incluso, deve-se colocar o cursor na linha onde ele está declarado e executar um dos comandos mencionados acima.

Lista de Funções

Este recurso permite abrir a lista de todas as funções declaradas no arquivo atual. A fim de abrir esta lista, deve-se executar o comando "Listar Funções Listar Funções" do menu "Editar" ou da barra de ferramentas "Padrão" ou pressionando "Alt+M".

Lista de Funções

Os parâmetros que foram especificados para as funções são mostrados entre parênteses. Ao clicar com o botão esquerdo do mouse ou usando o "Enter", pode-se ir para a definição da função selecionada no arquivo. Cada tipo de função possui o seu próprio ícone na lista:

  • Função– função;
  • Função de Manipulação de Eventos– função de manipulação de eventos (On*);
  • Método Público de Classe– método público de classe;
  • Método Protegido de Classe– método protegido de classe;
  • Método Privado de Classe– método privado de classe;

Inserir Comentários

Diferentes comandos para se trabalhar com comentários no código-fonte estão implementados no menu "Editar" e na barra de ferramentas "Padrão":

  • Função Cabeçalho Função Cabeçalho – insere um campo para um comentário em uma função;
  • Bloco de Comentário Bloco de Comentário – insere caracteres de um comentário de uma única linha;
  • Linhas de Comentário Linhas de comentário – Insere o "//" dos comentários no início de cada linha selecionada;
  • Linhas Não Comentadas Linhas Não Comentadas – remove o "//" dos comentários no início de cada linha selecionada.

A execução do "Bloco de ComentárioBloco de Comentário" ou o uso do "Ctrl+/" insere os caracteres de um comentário de uma única linha na posição indicada:

//---

Se a "Função CabeçalhoFunção Cabeçalho" ou a combinação "Ctrl+." é utilizada, então a parte do comentário da função será inserida na posição indicada:

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+

Usando Marcadores

Os marcadores são usados para marcar linhas no código-fonte para a uma navegação mais conveniente através deles. Os comandos para se trabalhar com os marcadores estão localizados no submenu "Marcadores" do menu "Editar", na barra de ferramentas "Padrão" ou no menu contextual do texto. Existem os seguintes comandos para se trabalhar com eles no MetaEditor:

  • Alternar Marcadores Alternar Marcadores – ativa ou desativa um marcador na linha atual do arquivo editado dependendo de seu estado atual. A mesma ação pode ser realizada utilizando a combinação "Ctrl+F2";
  • Seguinte Marcador Marcador Seguinte – move para o próximo marcador no código-fonte atual. A mesma ação pode ser realizada utilizando "F2";
  • Anterior Marcador Marcador Anterior – move para o marcador anterior no código-fonte. A mesma ação pode ser realizada utilizando a combinação "Shift+F2";
  • Remover todos os Marcadores Remover todos os Marcadores – remove todos os marcadores do arquivo atual. A mesma ação pode ser realizada utilizando a combinação "Ctrl+Shift+F2".

O MetaEditor inclui um recurso para se trabalhar com indicadores com nomes - marcadores que possuem um identificador atribuído de um dígito. Para se definir tal marcador, pressione um dígito entre 0 e 9 segurando a tecla "Ctrl". Para ir para uma tecla definida anteriormente, pressione a tecla numérica correspondente, mantendo a tecla "Alt". Os marcadores nomeados tornam a navegação através do código-fonte muito mais fácil.

Ir para a Linha

Para ir rapidamente para uma linha no código do arquivo atual, pode-se usar o comando "Ir para a Linha Ir para a Linha" do menu "Editar" ou da barra de ferramentas "Padrão". A seguinte janela é aberta logo que este botão é pressionado:

Ir para a Linha

O intervalo de linhas contendo o código no arquivo é especificado na janela. Para ir para uma linha, deve-se indicar o número e pressionar o botão "OK".

Snippets

Para tornar a tarefa de se escrever um código mais fácil, o MetaEditor inclui a possibilidade de inserção de snippets - fragmentos de modelos pequenos de código que descrevem um elemento da estrutura da linguagem MQL4/MQL5. Para inserir um snippet, você deve digitar uma palavra-chave especial. Assim que você fizer isso, o cursor vai mudar para Um snippet pode ser inserido, o que significa que um snippet pode ser inserido. O próximo passo é pressionar a tecla "Tab".

Por exemplo, para inserir uma declaração de classe, digite a palavra-chave "class" e pressione a tecla "Tab":

Exemplo de snippet

Assim que você fizer isso, a palavra-chave será substituída por uma declaração de classe. Para alternar entre os campos ativos de um snippet (neste caso eles são o construtor e destruidor de uma classe), use a tecla "Tab" e "Shift+Tab".

Se você alterar um campo ativo, os outros campos do snippet serão alterados automaticamente. Por exemplo, se você alterar o nome da classe, os nomes do construtor e do destruidor serão alterados automaticamente; se você alterar o nome de uma variável em uma das expressões de um operador "for", os nomes das variáveis ​​nas suas outras expressões também serão alteradas.

O sistema de se trabalhar com snippets reconhece estruturas, classes, enumerações, métodos e funções se você pressionar a combinação de teclas "Ctrl+Enter". Com isso, o cursor tem de estar dentro da descrição do elemento estrutural correspondente. Assim que essa combinação for pressionada, o usuário será capaz de se mover entre os membros (por classes, estruturas e enumerações) e argumentos (para os métodos e funções) usando as teclas "Tab" e "Shift+Tab", bem como editá-los em conjunto, como descrito antes.

Neste momento, os snippets a seguir são suportados:

Palavra Chave

Valor

#import

Declaração de uma importação.

OnBookEvent

Manipulação do evento OnBookEvent.

OnCalculate

Manipulação do evento OnCalculate.

case

O seletor "case".

OnChartEvent

Manipulação do evento OnChartEvent.

class

Declaração de uma classe.

OnDeinit

Manipulação do evento OnDeinit.

do

Declaração do loop "do while".

enum

Declaração de uma enumeração.

for

Declaração do loop "for".

if

Declaração do loop "if".

else

Declaração da condição "else".

OnInit

Manipulação do evento OnInit.

OnStart

Manipulação do evento OnStart.

struct

Declaração de uma estrutura.

switch

O seletor "switch".

OnTester

Manipulação do evento OnTester.

OnTesterInit

Manipulação do evento OnTesterInit.

OnTesterPass

Manipulação do evento OnTesterPass.

OnTesterDeinit

Manipulação do evento OnTesterDeinit.

OnTick

Manipulação do evento OnTick.

OnTimer

Manipulação do evento OnTimer.

OnTrade

Manipulação do evento OnTrade.

OnTradeTransation

Manipulação do evento OnTradeTransation.

while

Declaração do loop "while".

Inserir Recursos

Para tornar o uso de arquivos no desenvolvimento de aplicativos mais fácil, o comando "Inserir Recursos Inserir Recursos" está implementado no menu "Ferramentas". Este comando permite declarar arquivos a partir de uma pasta selecionada no arquivo atual usando a diretiva #resource.

Uma vez que este comando é executado, a janela de diálogo padrão de seu sistema operacional irá aparecer. Nela você deve selecionar um ou vários arquivos para serem declarados no arquivo.

  • Estes arquivos devem estar localizados apenas dentro do diretório /MQL5 (ou /MQL4) do terminal cliente. Arquivos fora desse diretório não podem ser usados.
  • Apenas arquivos *.wav e *.bmp podem ser usados.

Uma vez que as medidas acima forem feitas, as diretivas correspondentes serão adicionadas no início do arquivo. Por exemplo:

#resource "\Images\examplo.bmp"
ou
#resource "resources\examplo.bmp"

O caminho para estes arquivos podem ser especificados de duas maneiras:

  • Relativo ao arquivo atual (sem o símbolo "\" no início do caminho)
    Esta forma é usada no caso dos arquivos estarem localizados no mesmo diretório do arquivo atual ou em uma de suas subpastas.
  • Relativo ao diretório /MQL5 (ou /MQL4) do terminal cliente (o símbolo "\" é especificado no início do caminho)
    Esta forma é utilizada em todos os outros casos.