Сломался ctrl+G в метаэдиторе, как исправить?

 

Не знаю, что я сделал не так, но у меня перестала работать навигация по коду, а точнее "Перейти к определению". уже недели две мучаюсь и не знаю, что делать.


Надеялся, что с обновлением терминала всё вернётся как было, но обновление прошло, а  "Перейти к определению" не работает.

Переустанавливать терминал не охота, так как потом надо всё подстраивать под себя по новой и не факт, что это поможет.

Как исправить?


MetaTrader 5 x64 build 3020 started for MetaQuotes Software Corp.

Windows 10 build 19043, Intel Xeon  E5-2678 v3 @ 2.50GHz, 27 / 31 Gb memory, 134 / 237 Gb disk, IE 11, UAC, GMT+7
 

Подтверждаю, такое воспроизводится на:

Выпуск  Windows 11 Домашняя
Версия  21H2
Дата установки  ‎29.‎07.‎2021
Сборка ОС       22000.132
Взаимодействие  Windows Feature Experience Pack 1000.22000.132.0

2021.08.14 11:15:44.410 Terminal        MetaTrader 5 x64 build 3020 started for MetaQuotes Software Corp.
2021.08.14 11:15:44.410 Terminal        Windows 11 build 22000, Intel Core i7-9750H  @ 2.60GHz, 24 / 31 Gb memory, 815 / 947 Gb disk, IE 11, UAC, GMT+2
2021.08.14 11:15:44.410 Terminal        C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

кроме 'Alt+G' не работает также клик средней кнопкой мышки по имени пользовательской функции.

 
Aleksandr Slavskii:

Не знаю, что я сделал не так, но у меня перестала работать навигация по коду, а точнее "Перейти к определению". уже недели две мучаюсь и не знаю, что делать.


Надеялся, что с обновлением терминала всё вернётся как было, но обновление прошло, а  "Перейти к определению" не работает.

Переустанавливать терминал не охота, так как потом надо всё подстраивать под себя по новой и не факт, что это поможет.

Как исправить?

Вы ничего не перепутали? В заголовке темы пишете «ctrl+G» а должно быть «alt+G»

У меня b-3014 работает без проблем.
 
Alexey Viktorov:

Вы ничего не перепутали? В заголовке темы пишете «ctrl+G» а должно быть «alt+G»

У меня b-3014 работает без проблем.

дико извиняюсь, конечно alt+G


На переменных  alt+G работает нормально.

Из кода советника в класс или библиотеку переходит, а вот функции написанные в самом советнике  игнорит.

 

Сохранил папочки с индикаторами и советниками.

Удалил терминал, отовсюду. Точнее всё что нашёл с ним связанное.

Скачал с сайта новый. Установил. Настроил под себя. Перенёс папочки с индикаторами и советниками.

Открываю метаэдитор и  ....   О Чудо!!!  alt+G  работает!!!

Счастье, праздник!!!

Но не долго длился праздник. После нажатия кнопочки "Компилировать"  волшебные клавиши  alt+G опять сдохли.

Печаль, беда   :-(

Люди добрые, помогите кто чем может.

 

Это ошибка в бета-версии.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

"Перейти к определению" в MQL5 очень нестабильно

скептик23 , 2021.08.19 20:51

ОК, это очень просто. Это не имеет ничего общего с классами / общедоступными / частными / макросами или чем-то еще, кроме размещения объявления.

Если я объявлю общедоступную переменную над строкой кода, которая ссылается на нее (т.е. номер строки объявления <номер строки ссылки), все будет работать так, как я ожидал.

 1 #property strict
2 int iTst;
3 void OnStart ()
4   {
5    iTst= 0 ;
6   }

ALT-G на "iTst" в строке 5 переходит к строке 2 и выделяет ее.


Если я объявляю общедоступную переменную под строкой кода, которая ссылается на нее (т.е. номер строки объявления> номер строки ссылки), ALT-G бесполезен.

 1 #property strict
2 void OnStart ()
3   {
4    iTst= 0 ;
5   }
6
7 int iTst;

Доказательство того, что редактор знает, что iTst существует независимо от того, что его объявление находится в строке 7 (это после кодирования без попыток компиляции):

Хотя редактор знает   именно там, где он находится, даже если он компилируется и работает нормально.

Не круто.

Как сообщить об ошибке разработчикам?


 
Alain Verleyen:

Это ошибка в бета-версии.


Да появилось это после очередного обновления, но что интересно, у меня установлено два терминала, одним из них пользуюсь редко, поэтому обновляется редко.

Сейчас оба терминала обновлены до последней версии, в том которым пользуюсь часто, соответственно обновляется он регулярно  alt+G не  работает, а в том который обновляю редко  alt+G  работает.

Мистика.

 

build 3029 -> Alt+G и клик средней кнопкой мыши по пользовательской функции теперь снова работает. Спасибо.