Yeni sürüm, bence, güzellikler resmi sürümlerden daha ilginç ))
1. Ön işlemciyi clang'dan µl'ye çevirdim. Artık herhangi bir önişlemci hilesini uygulayabilirsiniz, bu http://jhnet.co.uk/articles/cpp_magic bile. Tüm süreç şöyle görünür: F7->clang önişlemcisi->mql önişlemcisi/derleyicisi. Belirli yapıların µl'sini derleyiciye iletmek için (peki, çıldırtmamak ve clang'ı her türlü çöple karıştırmamak için gerçekten sevmiyor) bunu yapın
#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
mqlcpp__'yi önişlemciye yönergelerden önce ekleriz, aksi takdirde ilk önişlemci onu işlemeye başlar. std kitaplığındaki başlıklar aşağıdakileri içerir
#ifndef VIM mqlcpp_ #include <Arrays/ArrayObj.mqh> #endif
Niye ya? Korumaları dahil değil. Varsa (her dosyada üç ek satır), normal şekilde dahil edilebilir.
2. Artık işaretçileri MK'de istediğiniz şekilde değil, normal bir şekilde kaldırabilirsiniz.
this ->member;
pntr->field;
3. Dizileri işlevlere geçirmeye benzer - şimdi bunu normal, genel kabul görmüş bir şekilde yapabilirsiniz
void fn( int ar[]); // в топку &
4. utf-16 kodlamalı kaynaklar çalışmayacaktır (kaynaklarda Kiril varsa olacaktır). Ancak utf-8'e dönüştürmek kolaydır
$ dos2unix file1 ...
Sözdiziminin olumlu olduğu ortaya çıktı, denilebilir. µl + 'ya / 'den taşıma için uygun, clang'dan iyi destek (otomatik tamamlama, vb.) anlamına gelir.
not: çünkü forumda arama genelde yanıyor (forumda arama motoru aracılığıyla arama da buz değil), profilimin ana sayfasındaki en son sürüme bağlantı vereceğim.
#vim_as_mql_ide_1
artı. Aynı zamanda konuyu en üstte tutacağım, belki geliştiriciler okur.
Mesele şu ki, editörünüz gerçekten perişan durumda (bir değişkenin tüm oluşumlarını vurgulama, tüm projede bir değişkenin / fonksiyonun adını otomatik olarak düzeltme, bir değişkene tüm referansları arama vb. " IDE ve karşılaştırın). Önişlemci orada görünüyor, ama aslında bir güdük. Şablonlar için aynı şey: tür olmayan şablon parametresi yoktur, şablon uzmanlaşması olasılığı yoktur. Bu yönde bir gelişme planlayabilir misiniz?
artı. Aynı zamanda konuyu en üstte tutacağım, belki geliştiriciler okur.
Mesele şu ki, editörünüz gerçekten perişan durumda (bir değişkenin tüm oluşumlarını vurgulamak, tüm projede bir değişkenin / fonksiyonun adını otomatik olarak düzeltmek, bir değişkene tüm referansları aramak vb.), genel olarak, herhangi bir "yetişkin" e bakarız " IDE ve karşılaştırın). Önişlemci orada görünüyor, ama aslında bir güdük. Şablonlar için aynı şey: tür olmayan şablon parametresi yoktur, şablon uzmanlaşması olasılığı yoktur. Bu yönde bir gelişme planlayabilir misiniz?
Bana zavallı demeden önce, lütfen editörün işlevlerinin tam listesini yazın.
Aynı zamanda ifadelerinizin ya güncelliğini yitirdiğini ya da tamamen hatalı olduğunu göreceksiniz.
Bana zavallı demeden önce, lütfen editörün işlevlerinin tam listesini yazın.
Aynı zamanda ifadelerinizin ya güncelliğini yitirdiğini ya da tamamen hatalı olduğunu göreceksiniz.
Editör:
Bir değişkenin tüm oluşumlarını vurgulama (biri bana bunu editörde nasıl yapacağımı söyleyebilir mi?):
Bir değişken/fonksiyon adının otomatik olarak değiştirilmesi - Bundan bahsediyorum:
Bir değişkene giden tüm bağlantıları ara - Yalnızca bu dosyaya veya dizindeki tüm dosyalara ihtiyacım yok, tüm bağlantıları göstermem gerekiyor (MVS'de Shift+F12'ye benzer)
Bu sadece benim yorumlarım.
Bana zavallı demeden önce, lütfen editörün işlevlerinin tam listesini yazın.
Aynı zamanda ifadelerinizin ya güncelliğini yitirdiğini ya da tamamen hatalı olduğunu göreceksiniz.
Ciddi misin? Evet, basit bir şablon editörünüzün gücünün ötesinde
template < typename T> class Qwerty { public : void func1() {} }; ... Qwerty< int > qwerty; qwerty.
Ve gerçekten, bunca yıldan sonra, renk şemaları eklemek imkansızdı (karanlık olanla ilgileniyorum, açık olana dayanamıyorum)? Ve Wim'deki makrolar, onlarsız yaşayamam, ...
Ama burada editörün geliştirilmesini savunmuyorum, etrafta çok fazla hazır olan var, neden yeniden icat edeyim.
Beyler, meta editörü gerçekten zorlamayın.
Şahsen ben beğendim.
Eh, bu seçenek de harika.
Editör:
Bir değişkenin tüm oluşumlarını vurgulama (biri bana bunu editörde nasıl yapacağımı söyleyebilir mi?):
Bir değişken/fonksiyon adının otomatik olarak değiştirilmesi - Bundan bahsediyorum:
Bir değişkene giden tüm bağlantıları ara - Yalnızca bu dosyaya veya dizindeki tüm dosyalara ihtiyacım yok, tüm bağlantıları göstermem gerekiyor (MVS'de Shift+F12'ye benzer)
Bu sadece benim yorumlarım.
Kısayol tuşlarıyla "onu" çağırmak mümkün mü??? Bence varsa ctrl+h olur. Ve annem mql düzenleyicide ctrl + h tuşlarına basılmasına izin vermiyor mu? Bir talepte bulunmadan önce yardımda açıklanmayan seçenekleri deneyin.
Burada tüm değişkenlerin vurgulanması ile aynı fikirdeyim. Acıtmayacak, ama onsuz ölümcül değil. Kodun bir kısmını katlamadan da acı çekmiyorum.
Size küçük bir ipucu vereceğim: "İleri\Geri" fare tuşları mql düzenleyicide ve diğer uygulamalarda çalışır.
Kısayol tuşlarıyla "onu" çağırmak mümkün mü??? Bence varsa ctrl+h olur. Ve annem mql düzenleyicide ctrl + h tuşlarına basılmasına izin vermiyor mu? Bir talepte bulunmadan önce yardımda açıklanmayan seçenekleri deneyin.
Burada tüm değişkenlerin vurgulanması ile aynı fikirdeyim. Acıtmayacak, ama onsuz ölümcül değil. Kodun bir kısmını katlamadan da acı çekmiyorum.
Size küçük bir ipucu vereyim: "İleri\Geri" fare tuşları mql düzenleyicide ve diğer uygulamalarda çalışır.
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Genel olarak, metaeditörün reddedilmesi arzu edilir. Çok iyi oldu, paylaşmak istiyorum.
Gereksinimler: 1. OS - linux (Windows için mümkündür, ancak benim için değil); 2 - yüklü dos2unix yardımcı programı; 3 - kurulu clangd(LSP sunucusu); 4 - vim için paket yöneticisi vim-plug https://github.com/junegunn/vim-plug. 5 - terminal dizini "~/.wine/drive_c/Program Files/MetaTrader 5"; 6 - Konsol vim kullanıyorum, bir erkekle nasıl olacak - kontrol etmedim.
Fragman gerekli dosyaları içerir. Talimat:
1. ~ .vimrc'yi atıyoruz (peki, ya da kendinize kopyalayın). Vim'i başlatın, çalıştırın: PlugInstall
2. Vim'i yeniden başlatın, yürütün: CocConfig, oraya kopyalayın
3. coc.nvim_vimrc dosyasını ~/.vim/plugged/ dizinine kopyalayın
4. compile_mql dosyasını PATH yollarından birine kopyalayın (gerekirse sahibi/grubu değiştirin, yürütme izinleri verin).
5. mql derleyicisi, yollarda boşluk olduğunda derlemeyi reddediyor, bir bağlantı oluşturun
6. ~/.wine/MQL5/Include içinde içerikle birlikte compile_flags.txt oluşturun ( YOUR_HOME_DIR yerine ana dizininizi girin, ${HOME} çalışmıyor):
7. vim.mqh dosyasını Include alt dizinine atın (Include/myincl bende var) (her script/uzmana dahil edilmelidir).
8. Komut dosyalarının/uzmanların bulunduğu dizinde, içerikle birlikte compile_flags.txt oluşturun:
Bak bu kadar. Artık metaeditöre hiç dokunamazsınız, bir dosya oluşturduk, wim'de düzenledik, orada derliyoruz. Belirtilmelidir:
1. Bu, otomatik tamamlamadan çok daha gelişmiş bir araçtır ve meta düzenleyicide bitişiktir, clangd zor makroları veya şablonları karıştırmaz (şablonlardaki düzenleyici basit durumlarda bile çalışmaz). Eh, vim'in kendisi daha hızlıdır (en azından asma aracılığıyla editör).
2. Vim'de F7 aracılığıyla derleyin, sonuçları :copen veya :clist/:cnext/... yoluyla görüntüleyin, bir hataya/uyarıya atlama yeteneği, ör. her şey ciddi.
3. Her türden kodlayıcının kombinasyonları için bkz. coc.nvim_vimrc (tanım/... bölümüne gidin), ana:
4. Dizileri işlevlere geçirirken & yerine ref ile değiştiririz, aksi takdirde bu işlev için yapay yardımı göstermez (void Examp_fn(int ref ar[]).Clang'ın işaretçileri referanstan çıkarırken noktalarla ilgili şikayetleri kritik değildir.
5. Her başlık dosyasında aşağıdaki gibi bir içerme koruması yaparız:
6. clang #propert katılığını sevmez
7. Dosyaların yeni bir sürümünü içeren her gönderi, olası sel arasında kolay arama için #vim_as_mql_ide_X hashtag'i ile çerçevelenecektir, burada X sürümdür.
8. vim.mqh, işlev/sabit bildirimleri içerir. Doğal olarak, her şeyi kopyala-yapıştır yapmadım, biri sürece bağlanıp orada bildirimler atsa iyi olurdu (ancak mevcut biçimlendirmeyi değiştirmeyin - girintiler, yorumlar; kolayca fark yaratabilmek için). Güncellenen vim.mqh'yi bana gönderebilirsiniz, onu bir araya getirip yayınlayacağım.
9. Vim için bir hile sayfası olarak https://www.linux.org.ru/forum/general/15373588 adresini alabilirsiniz.
#vim_as_mql_ide_0