Парсер

parser.png

Парсер влияет на функции:

  • Автозавершение (выход списка ключевых слов при вводе символов)
  • Подсказки
  • Перейти на место декларации переменной
  • Отобразить тип переменной

Выключение парсера автоматически отключит перечисленные функции.

Автодополнение (при нажатии клавиши ENTER дополняет конечный блок для функций, циклов и т. д.) не зависит от парсера.

Опция +1строка создает дополнительные строчки при автодополнении.

+1строка - отключена:
for i as long = 0 to 10
     b +=i
next

+1строка - включена:
for i as long = 0 to 10

     b +=i

next

Опция: "Пробел между endif при автозавершении" дает возможность выбрать какое будет завершение кода для конструкции IF  (ENDIF или END IF)

Важно понимать , что чем больше файл , тем желательно больше нужно устанавливать тайминги для обновления парсера. Время подбирается индивидуально для каждого компьютера. У меня например на Linux 64-bit при размере файла 2500 строк , установлено значение в 50 мс для таймера , 700 мс для окна информации и для подсказок не выставлено ограничений - при таких настройках я не испытываю никаких неудобств в редактировании.  А например на Windows при таких же настройках , но при размере файла 3500 строк , уже есть тормоза при перемещении курсора.
Парсер автоматически считывает полную информацию с текущего редактируемого файла (поля типов и объеденений , декларации и тела функций , все объявления переменных , различая их области видимости ).  С других загруженных файлов (в неактивных вкладках) парсер считывает ограниченную информацию (глобальные переменные , поля типа и декларации функций). Парсер умеет читать многострочные линии (то есть различает переносы линий) , но не различает разделенные линии при помощи символа двоеточия (все что идет после двоеточия просто отбрасывается).
Подсказки для функций так же как и с парсером (они зависят от парсера) необходимо настраивать в зависимости от размера файла. В принципе лучше сразу выставить небольшую задержку для подсказок в 30-40 мс , при тайминге парсера 100мс , однако если вы не пишите больших проектов, можно задержку для подсказок не выставлять.