La nueva versión, en mi opinión, tiene peluches más interesantes que las versiones oficiales ))
1. Preprocesador clang atornillado a µl. Ahora puede implementar cualquier truco de preprocesador, incluso tal http://jhnet.co.uk/articles/cpp_magic. Todo el proceso es así: F7->preprocesador clang->preprocesador/compilador mql. Para pasar mql a construcciones específicas del compilador mql (bueno, para no molestar y confundir a clang con cualquier basura, no le gusta mucho) haz lo siguiente
#ifndef VIM input int MA_Period=13; // Ну или INPUT макрос input int MA_Shift=0; #else int MA_Period=13; int MA_Shift=0; #endif #ifndef VIM mqlcpp_#import "user32.dll" #endif int GetCursorPos(int ref point[]); int GetWindowRect(HWND hWnd, int ref rect[]); #ifndef VIM mqlcpp_#import #endif
añadir mqlcpp__ antes de las directivas al preprocesador μl, de lo contrario será manejado por el primer preprocesador. Incluya las cabeceras de la biblioteca std de la siguiente manera
#ifndef VIM mqlcpp_#include <Arrays/ArrayObj.mqh> #endif
¿Por qué? No tienen guardias incluidos. Si lo son (tres líneas adicionales en cada archivo), puede incluirlas como de costumbre.
2. Ahora puedes hacer referencia a los punteros de forma normal, no de la forma en que quieres que el MC los haga.
this->member;
pntr->field;
3. Lo mismo ocurre con el paso de arrays a funciones: ahora se puede hacer de forma normal y generalmente aceptada
void fn(int ar[]); // в топку &
4) El código fuente con codificación utf-16 no funcionará (sí lo hará si el código fuente contiene cirílico). Pero la recodificación en utf-8 es sencilla.
$ dos2unix file1 ...
La sintaxis es un plus, se nota. Práctico para portar a/desde µl + significa un buen soporte por parte de clang (autocompletar, etc.).
ZS: como la búsqueda en el foro en general es fuego (la búsqueda en el foro a través del motor de búsqueda tampoco es as), hará un enlace a la última versión en la página principal de mi perfil.
#vim_as_mql_ide_1
Además. Al mismo tiempo, mantendré el tema en la parte superior, tal vez los desarrolladores lo lean.
La cuestión es que tu editor es realmente penoso (resaltado de todas las apariciones de una variable, cambio automático del nombre de la variable/función en todo el proyecto, búsqueda de todas las referencias a una variable, etc... bueno, mira cualquier IDE "adulto" y compara). El preprocesador parece estar ahí, pero en realidad es un muñón. En cuanto a las plantillas, lo mismo: ausencia de parámetros de plantillas de tipo, sin posibilidad de especializar las plantillas. ¿Tal vez pueda planear un desarrollo en esta dirección en algún momento?
Además. Yo también mantendré el tema arriba, quizás los desarrolladores lo lean.
La cuestión es que tu editor es realmente cursi (resaltado de todas las apariciones de una variable, sustitución automática de nombres de variables/funciones en todo el proyecto, búsqueda de todas las referencias a una variable, etc., bueno, mira cualquier IDE "adulto" y compara). El preprocesador parece estar ahí, pero en realidad es un muñón. En cuanto a las plantillas, lo mismo: ausencia de parámetros de plantillas de tipo, sin posibilidad de especializar las plantillas. ¿Quizás pueda planear un desarrollo en esta dirección alguna vez?
Antes de llamarlo cursi, tenga la amabilidad de escribir una lista de todas las funcionalidades del editor.
También verá que sus afirmaciones están desfasadas o son completamente erróneas.
Antes de llamarlo cursi, ¿sería tan amable de escribir una lista completa de la funcionalidad del editor?
Al mismo tiempo, verá que sus afirmaciones están desfasadas o son completamente erróneas.
Editor:
Resaltar todas las apariciones de una variable (¿alguien puede decirme cómo hacer esto en el editor?):
Sustitución automática de nombres de variables/funciones: a eso me refiero:
Buscar todas las referencias a una variable - No necesito sólo este archivo o todos los archivos del directorio en general, necesito mostrar todas las referencias (análogo a Shift+F12 en MVS)
Esto es sólo por mis observaciones.
Antes de llamarlo cursi, tenga la amabilidad de escribir la lista completa de la funcionalidad del editor.
Y verás que tus afirmaciones están desfasadas o son completamente erróneas.
¿Hablas en serio? Una simple plantilla está más allá de las capacidades de su editor.
template <typename T> class Qwerty { public: void func1() {} }; ... Qwerty<int> qwerty; qwerty.
¿Y no sería posible añadir esquemas de color para tantos años (me interesa el oscuro, no soporto el claro)? Y las macros en vime, no puedo vivir sin ellas...
Pero no estoy aquí por el desarrollo del editor, hay tantos ya hechos por ahí, para qué reinventar.
Editor:
Resaltar todas las apariciones de una variable (¿alguien puede decirme cómo hacer esto en el editor?):
Sustitución automática de nombres de variables/funciones: a eso me refiero:
Buscar todas las referencias a una variable - No necesito sólo este archivo o todos los archivos del directorio en general, necesito mostrar todas las referencias (análogo a Shift+F12 en MVS)
Esto es sólo por mis observaciones.
¿Es posible llamar a "eso" mediante teclas de acceso rápido? Creo que es ctrl+h si acaso. ¿Y tu madre no permite pulsar ctrl+h en el editor de mql? Antes de presentar una reclamación, pruebe variantes no descritas en la ayuda.
Pero al destacar todas las variables, estoy de acuerdo. No es un problema, pero tampoco es fatal sin él. Al igual que no sufro sin colapsar parte del código.
Aquí hay otro pequeño detalle: las teclas del ratón "Adelante/Atrás" funcionan en el editor mql como lo hacen en otras aplicaciones.
¿Existe una tecla de acceso directo para llamarlo? Creo que es ctrl+h si es que existe. ¿No te permite tu madre pulsar ctrl+h en el editor de mql? Antes de presentar una reclamación, pruebe variantes no descritas en la ayuda.
Pero al destacar todas las variables, estoy de acuerdo. No es un problema, pero tampoco es fatal sin él. Y no sufro sin colapsar parte del código también.
Un pequeño consejo más: los botones del ratón "Adelante/Atrás" funcionan tanto en el editor mql como en otras aplicaciones.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
De todos modos, quería dejar el metaeditor. Ha quedado muy bien, quiero compartirlo con vosotros.
Requisitos: 1. SO - linux (apto para Windows, pero no para mí); 2 - utilidad dos2unix instalada; 3 - clangd instalado (servidor LSP); 4 - gestor de paquetes vim-plug para vimhttps://github.com/junegunn/vim-plug. 5- directorio de terminal "~/.wine/drive_c/Archivos de programa/MetaTrader 5"; 6 - uso vim de consola, no he probado cómo funciona con goo.
Se adjuntan los archivos necesarios. Instrucciones:
1. Ponga en ~ .vimrc (o copie en el suyo propio). Ejecute vim, ejecute :PlugInstall
2. Reiniciar vim, ejecutar :CocConfig, copiar
3. Copie coc.nvim_vimrc en ~/.vim/plugged/.
4. Copiar a una de las rutas PATH de compile_mql (cambiar el propietario/grupo si es necesario, dar permisos de ejecución).
5. el compilador mql se niega a compilar cuando hay espacios en las rutas, crea un enlace
6. En ~/.wine/MQL5/Include crear compile_flags.txt con el contenido (en lugar de YOUR_HOME_DIR escribir su directorio de casa, ${HOME} no funciona):
7. Poner vim.mqh en el subdirectorio Include (el mío es Include/myincl) (debe ser incluido en cada script/experto).
8. En el directorio con scripts/expertos crear compile_flags.txt con el contenido:
Eso es todo. Ahora no necesitamos tocar el meta-editor en absoluto, crear el archivo, editar en vime, compilar allí también. Hay que tener en cuenta:
1. es una herramienta mucho más avanzada que el autocompletado y relacionada en el meta-editor, clangd no puede ser confundido ni por macrosnoy astuto ni por plantillas (el editor en las plantillas no funciona incluso en casos simples). Y el propio vim es más rápido (al menos el editor vía vin).
2. Compilar en vime con F7, ver los resultados con :copen o :clist/:cnext/... Con posibilidad de saltar a error/advertencia, es decir, todo es grave.
3. Combinaciones en todo tipo de trucos de codificador (ir a definición/...) buscar en coc.nvim_vimrc, básico:
4. Cuando pases arrays a una función, sustituye & por ref, de lo contrario no mostrará la ayuda de la sinatura para esa función (void examp_fn(int ref ar[]). Ignoremos las quejas de clang sobre los puntos al desreferenciar punteros, no es crítico.
5. En cada archivo de cabecera se incluye la guardia, así:
6. a clang no le gusta #propert strict
7. Cada post con una nueva versión de los archivos será etiquetado con el hashtag #vim_as_mql_ide_X para facilitar la búsqueda entre las posibles inundaciones, donde X es la versión.
8. vim.mqh contiene declaraciones de funciones/constantes. Por supuesto, no copié todo, sería bueno si alguien pudiera conectarse al proceso y lanzar declaraciones (pero no cambiar el formato de los existentes - sangrías, comentarios; para poder hacer fácilmente un diff). Puedes enviarme el vim.mqh actualizado y lo fusionaré en uno solo y lo publicaré.
9. Como hoja de trucos para vim puedes usar https://www.linux.org.ru/forum/general/15373588
#vim_as_mql_ide_0.