Ой ! Это я Деду Морозу под елкой заказывал, что бы в Новом году был Clarion 7.x без глюков ...Дед Пахом писал(а):Пошли навстречу Столярову - пойдите и мне ...
Неужели уже исполнилось ? Спасибо ! Побежал скачивать обновление ...

Модератор: Дед Пахом
Ой ! Это я Деду Морозу под елкой заказывал, что бы в Новом году был Clarion 7.x без глюков ...Дед Пахом писал(а):Пошли навстречу Столярову - пойдите и мне ...
Ну, цена данной опции только в дополнительном чекбоксе и нескольких строчках кода, т.к. все и так парсится и END знает, где его родитель сидит, иначе, как бы он форматировался?Дед Пахом писал(а):Терерь я пишу сверху IF 1=1, а снизу END и жму ентер - сдвигается только DO R2. Пошли навстречу Столярову - пойдите и мне, сделайте опцию, пусть оно парсит 1000 строк вверх, я подожду.
Вот так же видимо сделали все забугорные пользователи, никакого фидбека мы так и не дождались, соответственно smart режим никак не меняется/улучшается практически с момента его появления.Игорь Столяров писал(а):Да, действительно, для меня эта тема закрыта. ... Я отключил этот режим.
А можете по пунктам рассказать, где логика отсутствует, где нездравая, а где не соответствует стандартам?Игорь Столяров писал(а):Человек ждет от функционала программы (режим SMART), что его работа будет либо подчиняться здравой логике, либо соответсвовать некоторым общепринятым стандартам работы с исходным текстом ПРОГРАММЫ. Здесь отсутсвует и то и другое.
Если хотите, я могу заморочиться и написать человеческим языком алгоритмы работы форматтера, чтобы вы на них посмотрели, потому как я не вижу, как же его работа слабо связана с кодировкой программы. Если у вас в программе произвольные отступы в произвольных местах, то да, угадать, какой же вы хотите иметь отступ на текущей строке и на новой нереально. Если же ваш код отформатирован последовательно (не обязательно автоформаттером), то я был бы рад услышать, что же автоформаттер делает не так.Игорь Столяров писал(а):Режим SMART выполняет некие, заложенные в него функции форматирования текста, слабо связанные с кодировкой программы.
Угу, для Клариона не работает, это должно быть в хелпе. Связано это с тем, что даже если высчитать тип выражения, которое написано до запятой (что не просто), то с вольностями преобразования типов в Кларионе все равно нормально подобрать прототип не получится. Но вообще, конечно надо просто перепоказывать прототипы после нажатия запятой и убирать хотя бы те, которые не подходят по числу параметров.Дед Пахом писал(а):Недавно я писал, что тултип прототипа функции перестаёт показываться после первой же запятой (не могу найти свой пост, поэтому не цитирую). Оказывается, есть настройка, отвечающая за это: Re-open tooltip with better overload when pressing comma, но она, похоже, вообще не работает. То есть ввожу "MyFunc(a," и тултип исчезает, хотя прототип MyFunc(long a, long b). Теперь узнать, какие аргументы надо ввести после a, можно только наведя мышью на MyFunc и запоминая прототип функции, читая тултип.
Код: Выделить всё
CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME EQUATE(0)
CAPICOM_CERT_INFO_SUBJECT_EMAIL_NAME EQUATE(2)
CAPICOM_CERT_INFO_SUBJECT_UPN EQUATE(4)
CAPICOM_CERT_INFO_SUBJECT_DNS_NAME EQUATE(6)
Окно CC ресайзится, плюс можно поставить опцию запоминать размер СС окна. Когда константа выделена, то рядом с СС окном должен быть тултип, где имя показывается полностью.Дед Пахом писал(а):CC: если константа имеет достаточно длинное имя (CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME EQUATE(0)), то в окне CC слово CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME обрезается где-то на 22-м символе. Невозможно понять, что нужно выбрать, в случаеКороче говоря, все эти константы видны как CAPICOM_CERT_INFO_SUBКод: Выделить всё
CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME EQUATE(0) CAPICOM_CERT_INFO_SUBJECT_EMAIL_NAME EQUATE(2) CAPICOM_CERT_INFO_SUBJECT_UPN EQUATE(4) CAPICOM_CERT_INFO_SUBJECT_DNS_NAME EQUATE(6)
Тултип показывает полностью, это да. Только две маленьких проблемы:ORS писал(а): added: забыл, что ресайзится только колонка с текстом декларации, а с именем имеет постоянную ширину. Но тултип все равно должен быть и он показывает все полностью.
CC создано для того, чтобы помогать в наборе текста. Раз все перегруженные процедуры имеют одно и тоже имя, зачем его показывать в листе несколько раз? Результат-то не изменится никак, какое бы из этих имен вы не выбрали. То, что метод перегружен, показывается в тултипе около окна СС (+ n overloads), когда выбрано имя метода. Соответственно сами прототипы перегруженных методов показываются в method insight тултипе, когда вы открываете скобку.Дед Пахом писал(а):CC не показывает перегруженные методы, только один из них, неудобно. Можно хотя бы помечать их как-то.
Когда я набираю текст, я не могу точно помнить имя метода класса, нужного мне. То есть, после ввода имени переменной класса я нажимаю точку и смотрю в список CC, и не вижу там метода с ожидаемой сигнатурой. Тогда уж вообще оставьте только имена методов (без параметров, с одними скобками), всё равно (по вашему) это только для помощи в наборе текста.ORS писал(а):CC создано для того, чтобы помогать в наборе текста. Раз все перегруженные процедуры имеют одно и тоже имя, зачем его показывать в листе несколько раз? Результат-то не изменится никак, какое бы из этих имен вы не выбрали. То, что метод перегружен, показывается в тултипе около окна СС (+ n overloads), когда выбрано имя метода. Соответственно сами прототипы перегруженных методов показываются в method insight тултипе, когда вы открываете скобку.Дед Пахом писал(а):CC не показывает перегруженные методы, только один из них, неудобно. Можно хотя бы помечать их как-то.
Так уже так и естьДед Пахом писал(а):И потом, я всё-таки не предлагал их несколько раз повторять, а только "пометить", типа "overloaded 23 times".
В окне CC нет, по крайней мере в версии, что у меня (6849).ORS писал(а):Так уже так и естьДед Пахом писал(а):И потом, я всё-таки не предлагал их несколько раз повторять, а только "пометить", типа "overloaded 23 times".