Aide MetaEditor

Contrôle Intelligent

Différents outils, de la substitution automatique de noms, aux marque-pages des fonctions et aux raccourcis-clavier, sont implémentés dans MetaEditor pour aider au développement des programmes. Ces moyens permettent d'accélérer le processus d'écriture du code source, de naviguer facilement dans le fichier et d'éviter les erreurs.

Les fonctions suivantes sont décrites dans cette fonction :

Tout changement apporté au code source peut être annulé en utilisant la commande "Annuler Annuler" du menu "Edition" , ou de la barre d'outils "Standard", ou encore en utilisant la combinaison de touches "Ctrl+Z".

Substitution Automatique des Noms de Fonctions

C'est la possibilité de voir la liste de toutes les variantes des noms des fonctions intégrées et des fonctions utilisateurs, des constantes, des variables, des membres de classes, des mots clés, etc. Les variantes possibles de substitution sont déterminées par les premiers caractères saisis. L'ouverture de cette liste est effectuée automatiquement lors de l'écriture du code source. Pour ouvrir cette liste manuellement, utilisez la commande "Liste des Noms Liste des Noms" du menu "Edition" ou de la barre d'outils "Standard" ; vous pouvez également utiliser le raccourci clavier "Ctrl+Espace" après la saisie des premiers caractères du nom :

Liste des Noms

Il reste ensuite uniquement à choisir la variante désirée en utilisant les touches "Flèche Haut" et "Flèche Bas" et de valider ensuite avec la touche "Entrée". Le choix peut également être fait à la souris. Si vous continuez à taper des lettres du nom d'une fonction, la liste des variantes possibles de substitution est affinée.

Informations concernant les Paramètres

Cette fonctionnalité permet de voir les paramètres d'une fonction et leurs types de données. Pour obtenir cette information, il faut exécuter la commande "Paramètre Info Paramètre Info" du menu "Edition" ou de la barre d'outils "Standard" ; vous pouvez également utiliser le raccourci clavier "Ctrl+Shift+Espace". Ces commandes ne peuvent être exécutées que si le curseur se trouve entre les parenthèses contenant les paramètres. La bulle d'aide contenant les paramètres s'affichera sous la fonction :

Informations concernant les Paramètres

Considérons les informations affichées dans l'exemple ci-dessous :

  • [1 sur 2] – signifie que deux variantes sont possibles pour spécifier les paramètres de la fonction. Pour basculer entre elles, utilisez les touches "Flèche Haut" et "Flèche Bas" ou cliquez avec le bouton gauche de la souris sur la bulle d'aide ;
  • bool – correspond au type de la valeur retournée par la fonction ;
  • ObjectSetInteger – nom de la fonction ;
  • (long chart_id, ... ) – énumération des paramètres possibles pour la fonction, le type des paramètres est spécifié avant chacun d'eux ("long" dans ce cas). Le paramètre où est actuellement situé le curseur est affiché en gras.

Aller à la Définition

Cette fonction permet de se rendre automatiquement à la déclaration ou à la définition de la fonction ou de la variable sélectionnée. Si la définition ou la déclaration est située dans un autre fichier, celui-ci sera alors ouvert et le curseur sera placé à la position correspondante. Cette fonction permet également de se rendre dans les fichiers "Include" (#include).

Afin de se rendre à la définition, il faut placer le curseur sur un paramètre et exécuter la commande "Aller à la Définition Aller à la Définition" du menu "Edition" ou de la barre d'outils "Standard" ; vous pouvez également utiliser le raccourci clavier "Alt+G". Pour pouvoir se rendre dans un fichier "Include", vous devez placer le curseur sur la ligne de sa déclaration et exécuter l'une des commandes mentionnées ci-dessus.

Liste des Fonctions

Cette fonctionnalité permet d'ouvrir la liste de toutes les fonctions déclarées dans le fichier actuel. Pour ouvrir la liste, vous devez exécuter la commande "Liste des Fonctions Liste des Fonctions" du menu "Edition" ou de la barre d'outils "Standard" ; vous pouvez également utiliser le raccourci clavier "Alt+M".

Liste des Fonctions

Les paramètres qui sont spécifiés dans les fonctions sont affichés entre parenthèses. En cliquant avec le bouton gauche de la souris ou en utilisant la touche "Entrée", vous pouvez vous rendre à la définition de la fonction sélectionnée dans le fichier. Chaque type de fonction possède sa propre icone dans la liste :

  • Fonction – fonction ;
  • Fonction de Gestion d'Evènements – fonction de gestion d'évènements (On*) ;
  • Méthode Publique de Classe – méthode publique de classe ;
  • Méthode Protégée de Classe – méthode protégée de classe ;
  • Méthode Privée de Classe – méthode privée de classe ;

Insertion de Commentaires

Différentes commandes pour travailler avec les commentaires dans le code source sont disponibles dans le menu "Edition" et dans la barre d'outils "Standard" :

  • En-tête de la fonction En-tête de la fonction – insère un bloc de commentaires pour une fonction ;
  • Bloc de commentaires Bloquer commentaire – insère les symboles pour commenter une ligne ;
  • Commenter les lignes Commenter les lignes – insère les commentaires "//" au début de chaque ligne sélectionnée ;
  • Décommenter les lignes Décommenter les lignes – supprime les commentaires "//" au début de chaque ligne sélectionnée.

L'exécution de la commande "Bloc de commentaires Bloc de commentaires" ou l'utilisation du raccourci clavier "Ctrl+/" insère les symboles de commentaires d'une ligne à la position indiquée :

//---

Si la commande "En-tête de la fonction En-tête de la fonction" ou le raccourci clavier "Ctrl+." sont utilisés, le bloc de commentaires de fonction sera alors inséré à la position indiquée :

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

Fonctions Supplémentaires pour l'Édition du Code

Le sous-menu "Advanced" du menu "Edition" contient plusieurs commandes facilitant l'édition du code source :

  • Increase Line Indent (Augmenter l'Indentation de la Ligne) Increase Line Indent – cette commande permet d'insérer trois espaces (ou une tabulation) au début des lignes sélectionnées. Pour insérer des espaces sur une ligne, placez le curseur au début de la ligne et exécutez cette commande (ou appuyez sur la touche "Tab"). Pour insérer des espaces sur plusieurs lignes, sélectionnez les lignes entièrement.
  • Decrease Line Indent (Diminuer l'Indentation de la Ligne) Decrease Line Indent – cette commande supprime trois espaces (ou une tabulation) au début des lignes sélectionnées. . La même action peut être effectuée en utilisant le raccourci clavier "Tab+Shift".
  • Mettre en Majuscules Mettre en Majuscules – cette commande transforme en majuscules toutes les lettres de la phrase sélectionnée. La même action peut être effectuée en utilisant le raccourci clavier "Ctrl+Shift+U".
  • Mettre en Minuscules Mettre en Minuscule – cette commande transforme en minuscules toutes les lettres de la phrase sélectionnée. La même action peut être effectuée en utilisant le raccourci clavier "Ctrl+U".

Travailler avec les Marque-pages

Les marque-pages permettent de marquer des lignes de code désirées pour permettre une navigation plus facile dans un fichier. Les commandes permettant de travailler avec les marque-pages sont situées dans le sous-menu "Marque-pages" du menu "Edition", dans la barre d'outils "Standard" et dans le menu contextuel du texte. Les commandes suivantes sont disponibles pour travailler avec les marque-pages dans MetaEditor :

  • Marque-page Marque-page – active ou désactive un marque-page sur la ligne courante du fichier édité, suivant son état actuel. La même action peut être effectuée en utilisant le raccourci clavier "Ctrl+F2" ;
  • Marque-page suivant Marque-page suivant – déplace le curseur jusqu'au prochain marque-page dans le fichier de code source actuel. La même action peut être effectuée en utilisant le raccourci clavier "F2" ;
  • Marque-page précédent Marque-page précédent – déplace le curseur au niveau du marque-page précédent dans le fichier de code source actuel. La même action peut être effectuée en utilisant le raccourci clavier "Shift+F2" ;
  • Effacer tous les marque-pages Effacer tous les marque-pages – supprime tous les marque-pages du fichier courant. La même action peut être effectuée en utilisant le raccourci clavier "Ctrl+Shift+F2".

MetaEditor inclut la possibilité de travailler des marque-pages nommés - ce sont les marque-pages ayant un identifiant composé d'un chiffre. Pour définir ce genre de marque-pages, appuyez sur une touche de 0 à 9 en maintenant la touche "Ctrl" enfoncée. Pour se rendre à une marque-page nommé précédemment, appuyez sur la touche du chiffre correspondant en maintenant la touche "Alt' enfoncée. Les marque-pages nommés améliorent encore la navigation au travers du code source.

Passer à la Ligne

Pour se rendre rapidement à une ligne de code du fichier actuel, vous pouvez utiliser la commande "Passer à la Ligne Passer à la ligne" du menu "Edition" ou de la barre d'outils "Standard". La fenêtre suivante s'ouvre alors dès que cette commande est exécutée :

Passer à la Ligne

L'intervalle de lignes contenant le code du fichier est spécifié dans la fenêtre. Pour vous rendre à une ligne, vous devez indiquer son numéro et appuyer sur le bouton "OK".

Snippets

Pour faciliter l'écriture de code, MetaEditor inclut la possibilité d'insérer des extraits de code (snippet) – des fragments de code décrivant un élément de structure du langage MQL4/MQL5. Pour insérer un snippet, vous devez utiliser un mot-clé spécial. Le curseur changera alors en Un snippet peut être inséré, ce qui signifie qu'un snippet peut être inséré. L'étape suivante est d'appuyer sur la touche "Tabulation".

Par exemple, pour insérer une déclaration de classe, tapez le mot-clé "class" et appuyez sur la touche "Tabulation" :

Exemple de snippet

Le mot-clé sera alors remplacé avec une déclaration de classe. Pour se déplacer parmi les champs actifs d'un snippet (dans ce cas, ce sont le nom, le constructeur et le destructeur d'une classe), utilisez les touches "Tabulation" et "Shift+Tabulation".

Si vous modifiez un champ actif, les autres champs du snippet seront également changés automatiquement. Par exemple, si vous modifiez le nom de la classe, les noms du destructeur et du constructeur seront changés automatiquement ; si vous changez le nom d'une variable dans l'une des expressions d'un opérateur "for", les noms des variables dans les autres expressions seront également changés.

Le système des snippets reconnaît les structures, les classes, les énumérations, les méthodes et les fonctions si vous utilisez le raccourci clavier "Ctrl+Enter". Pour cela, le curseur doit être placé dans la description de l'élément de structure correspondant. Dès que ce raccourci-clavier est utilisé, l'utilisateur sera capable de se déplacer parmi les membres (pour les classes, les structures et les énumérations) et les arguments (pour les méthodes et les fonctions) en utilisant les touches "Tabulation" et "Shift+Tabulation" ; il sera également capable de les modifier ensemble tel que décrit ci-dessus.

Les snippets suivants sont actuellement supportés :

Mot-clé

Valeur

#import

Déclaration d'un import.

OnBookEvent

Gestion de l'évènement OnBookEvent.

OnCalculate

Gestion de l'évènement OnCalculate.

case

Le sélecteur "case".

OnChartEvent

Gestion de l'évènement OnChartEvent.

class

Déclaration d'une classe.

OnDeinit

Gestion de l'évènement OnDeinit.

do

Déclaration d'une boucle "do while".

enum

Déclaration d'une énumération.

for

Déclaration d'une boucle "for".

if

Déclaration d'une condition "if".

else

Déclaration d'une condition "else".

OnInit

Gestion de l'évènement OnInit.

OnStart

Gestion de l'évènement OnStart.

struct

Déclaration d'une structure.

switch

Le sélecteur "switch".

OnTester

Gestion de l'évènement OnTester.

OnTesterInit

Gestion de l'évènement OnTesterInit.

OnTesterPass

Gestion de l'évènement OnTesterPass.

OnTesterDeinit

Gestion de l'évènement OnTesterDeinit.

OnTick

Gestion de l'évènement OnTick.

OnTimer

Gestion de l'évènement OnTimer.

OnTrade

Gestion de l'évènement OnTrade.

OnTradeTransation

Gestion de l'évènement OnTradeTransation.

while

Déclaration d'une boucle "while".

Insertion de Ressources

Pour faciliter l'utilisation de fichiers de ressources dans les applications développées, la commande "Insérer une ressource Insérer Resources" est disponible dans le menu "Outils". Cette commande permet de déclarer des fichiers de ressource depuis un répertoire sélectionné, dans le fichier actuel en utilisant la directive #resource.

Lorsque cette commande est exécutée, la boîte de dialogue standard de votre système d'exploitation apparaît. Vous devez alors sélectionner un ou plusieurs fichiers de ressources à déclarer dans le fichier.

  • Les fichiers de ressources ne peuvent être situés que dans le répertoire /MQL5 (/MQL4) du terminal client. Les fichiers situés en dehors de ce répertoire ne peuvent pas être utilisés.
  • Seuls les fichiers *.wav et *.bmp files peuvent être utilisés comme fichiers de ressources.

Lorsque l'une des actions ci-dessus est effectuée, les directives correspondantes sont ajoutées au début du fichier. Par exemple :

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

Le chemin jusqu'aux fichiers de ressources peuvent être spécifiés de deux façons :

  • Relativement au fichier actuel (sans le symbole "\" au début du chemin)
    Cette façon est utilisée dans le cas où les fichiers de ressources sont situés dans le même répertoire que le fichier courant ou dans l'un de ses sous-dossiers.
  • Relativement au répertoire /MQL5 (/MQL4) du terminal client (le symbole "\" est spécifié au début du chemin)
    Cette façon est utilisée dans tous les autres cas.