Почему до сих пор не могу перейти редактор ИБ 10 :(

пользователь
Регистрация: 17.06.2015

Благодарю за те изменения, связанные с подсветкой в редакторе ИБ10.
Я с энтузиазмом взялся за его использование, но пришлось вернуться к ИБ 8.

Причины:

  1. Первая и которая была последней каплей - символы белорусского алфавита "і" и "І" (коды 178 и 179) превращаются в "?" при сохранении. В редакторе ИБ8 это много лет, как устранено. Использую их в комментах, а их у меня 20-25% листинга.

2. Отсутствует блочное выделение (Ctrl+Б), как в ИБ8.

3. В наклонных шрифтах не виден знак "_". Стандартный шрифт Courier New.
Например, "СТР_ФРАГ" отображается, как "СТР ФРАГ". Похоже из-за междустрочного интервала. В ИБ 10 он меньше.  

4. Подсветка функций, определений, реквизитов и пр. не работает в строковых выражениях, что не позволяет быть уверенным в правильном синтаксисе. А их немало и в ВЫРАЖЕНИЕ(), и запросах через СПИСОК. Возникает больше ошибок и приходиться чаще лазить в хэлп.  В редакторе ИБ 8 это есть.

5. Курсор в позиции 1 практически сливается с левой границей окна. В связи с этим постоянно пропадает из виду. В редакторе ИБ 8 между границей и курсором есть отступ и он толще.

6. Концевые пробелы строк, которые в ИБ 8 игнорируются. Двигаешь курсор стрелками вниз/вверх, а он куда-то исчезает из виду вправо. Пришлось написать процедуру их удаления из листингов. А может проще было бы их удалять при сохранении?

Чего не хватает, но давно хотелось бы:

1. Подсветка общих переменных и констант. Он как зарезервированные слова. Может для них использовать подсветки "Пользовательский 4,5". А для чего они вообще?

2. Использование в идентификаторах белорусских "і" и "І".  В "Соглашении об именованиях":
"В идентификаторах допускается использование как русских, так и латинских букв."
Приходится каждый раз менять белорусское "і" на латинское "i". Использую строки в качестве индекса для всех сообщений в программе для переключения на другой язык и постоянно натыкаюсь ошибки. Да и в ТИП_ОПЕР название не задашь по-белорусски. А еще добавить русскую букву "ё" и белорусскую "ў", и листинги читались бы, как романы :)

P.S. Может для этого всего раздел о программировании открыть? Не всем может быть интересно.

модератор
Регистрация: 06.09.2007

1. Первая и которая была последней каплей - символы белорусского алфавита "і" и "І" (коды 178 и 179) превращаются в "?" при сохранении. В редакторе ИБ 8 это много лет, как устранено. Использую их в комментах, а их у меня 20-25% листинга.

В редакторе ИБ 10 используется юникод, что позволяет вводить любые символы.
Чтобы сохранение в файл происходило без потерь, надо чтобы файл был в кодировке UTF-8.
Но сама программа ИБ 8 не поддерживает юникод для файлов исходных текстов.

2. Отсутствует блочное выделение (Ctrl+Б), как в ИБ 8.

Это не планируется в среднесрочной перспективе.
Как я понимаю, блочное выделение полезно при редактировании визуальной части бланка.
А там всегда используется редактор ИБ8, где блочное выделение есть.

3. В наклонных шрифтах не виден знак "_". Стандартный шрифт Courier New. Например "СТР_ФРАГ" отображается, как "СТР ФРАГ". Похоже из-за междустрочного интервала. В ИБ 10 он меньше.

Не воспроизводится. Все подчеркивания видны для наклонных шрифтов.
Даже в примере подсветки можно убедиться на ключевом слове КОНЕЦ_ЕСЛИ.

4. Подсветка функций, определений, реквизитов и пр. не работает в строковых выражениях, что не позволяет быть уверенным в правильном синтаксисе. А их немало и в ВЫРАЖЕНИЕ(), и запросах через СПИСОК. Возникает больше ошибок и приходиться чаще лазить в хэлп.  В редакторе ИБ 8 это есть.

В редакторе ИБ 8 более тупенькая подсветка. Там просто слово обрабатывается, даже если внутри строкового литерала. Есть специальная категория "Ключевые слова в строках", где сейчас забиты ключевые слова SQL. Туда можно встроенные функции скопировать.

5. Курсор в позиции 1 практически сливается с левой границей окна. В связи с этим постоянно пропадает из виду. В редакторе ИБ 8 между границей и курсором есть отступ и он толще.

У меня не сливается, все прекрасно видно.

6. Концевые пробелы строк, которые в ИБ 8 игнорируются. Двигаешь курсор стрелками вниз/вверх, а он куда-то исчезает из виду вправо. Пришлось написать процедуру их удаления из листингов. А может проще было бы их удалять при сохранении?

Спорная штука.
Например, notepad++ работает с пробелами также, как редактор ИБ10.

1. Подсветка общих переменных и констант. Он как зарезервированные слова. Может для них использовать подсветки "Пользовательский 4,5". А для чего они вообще?

Это нельзя сделать, т.к. подсветка работает вне контекста компилятора/интерпретатора.
Нет никакой "базы данных" идентификаторов, по которой можно было бы проверять, что есть что.

P.S. Может для этого всего раздел о программировании открыть? Не всем может быть интересно.

Есть раздел "Программирование" на дилерском форуме:
https://www.ib.ru/forums/221

пользователь
Регистрация: 17.06.2015

В редакторе ИБ 10 используется юникод,...
Чтобы сохранение в файл происходило без потерь, надо чтобы файл был в кодировке UTF-8.

В бланках, я так понимаю редактор ИБ8 использует ANSI, все сохраняется без потерь, а из юникода в ANSI почему-то нельзя?) В типовых операциях DOS-кодировки эти символы редактор ИБ8 преобразует в латинские, что визуально приемлемо, но бывает приводит к путанице в названия т/о. Но, спасибо, можно использовать в т/о  ANSI.
блочное выделение полезно при редактировании визуальной части бланка.
50/50. Кстати и в notepad++ им часто пользуюсь.
Не воспроизводится. Все подчеркивания видны для наклонных шрифтов.
См. Рис.1 Win10, разрешение 1920х1080, масштаб 150%. Шрифт Courier New, 10.
тупенькая подсветка. Там просто слово обрабатывается, даже если внутри строкового литерала.
Хоть и тупенькая, однако очень удобная именно внутри строкового литерала для функций мной упомянутых и не только.
У меня не сливается, все прекрасно видно.
Демонстрирую в 5-тикратном увеличении. См. Рис.2. Может настройки винды влияют?
Спорная штука.
Например, notepad++ работает с пробелами также

Я так понимаю, что концевые пробелы - это наследство редактора ИБ8. Поудаляю их, когда перейду на ИБ10). Но все же почему их не удалять при сохранение? Ведь никакой функциональности в них нет.

А все же, как использовать подсветки "Пользовательский"?

Есть раздел "Программирование" на дилерском форуме:
К сожалению, не имею аккредитации ))) Сделайте, если можно.

Вложения
Рис. 16.71 КБ
Рис. 211.7 КБ
модератор
Регистрация: 06.09.2007

символы белорусского алфавита "і" и "І" (коды 178 и 179) превращаются в "?" при сохранении.

При сохранении в OEM.
Для ИБ 8 я давно делал костыли, чтобы эти буквы при конвертации превращались в английскую "i".
Сейчас все файлы исходников можно хранить в кодировке ANSI.
Для типовых это задается в ini, а для ibl и src в опциях файла (метаданные в xml формате).

См. Рис.1 Win10, разрешение 1920х1080, масштаб 150%. Шрифт Courier New, 10.

С масштаба надо было и начинать.
При некратных 100 масштабах - 125%, 150% и т.п. неизбежны округления в пределах пикселя.
На картинке и в редакторе ИБ 8 наклонные буковки "подрезаны".
Согласен, тут есть что улучшить в редакторе ИБ 10.

Я так понимаю, что концевые пробелы - это наследство редактора ИБ8. Поудаляю их, когда перейду на ИБ10). Но все же почему их не удалять при сохранение? Ведь никакой функциональности в них нет.

Вы, вероятно, системой контроля версий для своих файлов не пользуетесь.
Это адова каша бывает, если какой-то редактор решит удалять молча пробелы или переносы строк.

А все же, как использовать подсветки "Пользовательский"?

Собственно в программе ИБ 10 пользователь может указать свои слова для каждой из 5 категорий.
В ИБ 8:
1 - определения и реквизиты
2 - поля объектов
3 - встр. функции (опционально)
4 и 5 - не используются