Если пользователь ввел символ "двойная кавычка" и не сработала штатная подсказка, то предлагаю вызывать событие Т9, т.к. ИР адаптер часто знает с большой вероятностью список возможных вариантов (имена колонок, методов, свойств, ролей, типов и т.д.).
При этом в событие нужно передавать признак "Автовызов", чтобы обработчик мог понять, можно ли ему возвращать низковероятные слова (когда контекст ему не понятен). Обработчик с этим признаком должен отрабатывать очень быстро.
И кстати по строковому литералу в первом параметре функций Сообщить/НСтр ты можешь на своей стороне принимать решение не делать вызов Т9. Это заметно сократит число заведомо бесполезных вызовов.
По сути тут близкая аналогия с вводом символа ".". Поэтому можно поведение привязать к той же настройке пользователя.
#1, ред. 05 октября 2023 09:00
Вот условие автовызова оригнального автодополнения ИР, т.е. условие в котором есть явная польза автовызова
ЯзыкПрограммы: 0 - встроенный язык, 1 - язык запросов
#2, 10 ноября 2023 07:49
Грустно что до сих пор нет этой возможности в Турбоконфе. В ИР она очень помогает писать код.
#3, 10 ноября 2023 07:53
Только если реализация будет выполняться, просьба не забыть сделать её опциональной, поскольку "Что русскому хорошо, то немцу смерть". Я к тому, что не всем эта опция будет полезна, а кому-то может и вообще мешать.
#4, 05 декабря 2023 21:56
Вспоминаем как удобно работает подобная возможность в штатной подсказке
GEAyv9pRsm.mp4
tormozit изменил статус на Открыто
#5, ред. 14 декабря 2023 09:08
Список частых ситуаций, в которых для ускорения можно сразу блокировать вызов такой подсказки:
Вместе с передачей признака "Автовызов" в обработчик Т9 получим достаточно низкий процент бесполезных вычислений.
#6, 31 марта 2024 20:38
Дубль https://turboconf.ru/Tasks/9300
Дублей было бы меньше, если бы был поиск по тексту сообщений.
#7, 31 марта 2024 20:43
(6) tormozit, даже без поиска по комментариям ищется
#8, 31 марта 2024 20:44
Добавление комментариев в индекс сделаю.
#9, 20 апреля 2024 13:28
В ИР сделан очередной большой шаг по подсказкам в текстовых литералах.
А большинство пользователей ИР адаптера так и не узнают что они там есть, т.к. не догадаются нажать CTRL+Space. А даже если и узнают, то будут забывать нажимать.
#10, 22 апреля 2024 00:18
После того как стабилизируем и выпустим 6.1, будем добавлять новые фичи.
#11, 22 апреля 2024 00:23
Понял. У меня на 6.1 существенных жалоб уже давно нет. Нагрузка на процессор только один день несколько раз вылезала. Пока больше не проявлялась.
#12, 09 мая 2024 09:22
Добавляю старый вариант этого предложения для истории https://turboconf.ru/Tasks/8429
#13, ред. 16 мая 2024 09:22
Еще хорошо бы учесть и сценарий автовызова события после ввода пробела, включая его вставку из списка Т9, https://www.hostedredmine.com/issues/985575
В итоге получается нужно событие после ввода
#14, ред. 21 мая 2024 16:18
Учитывая очень сложную логику штатного автовызова, скорее всего для корректной работы автовызова TurboConf придется отключать все эти опции.
#15, ред. 21 мая 2024 16:20
Да. Все будет по аналогии с первым флажком, управление переключением которого уже имеет высокий уровень автоматизации в ИР адаптере. Буду добавлять в ту же функцию переключения и соседние флажки по мере их покрытия.
#16, ред. 21 мая 2024 16:51
Первая проблема.
При автовызове после = и некоторых других символов я хочу ввести пробел, т.к. всегда отделяю их пробелами.
Вместо этого вызывается подсказка и после нажатия пробела скрывается.
У тебя в списке значится "пробел", т.е. после пробела обработчики подсказки вызываются всегда (это может вызывать замедление ввода) или при пробеле только после этих спецсимволов?
#17, ред. 21 мая 2024 16:59
Пробел очень нужен пока только при вводе вплотную справа от слова "Новый". Еще тут рядом есть отдельная комплексная заявка по этому сценарию https://turboconf.ru/Tasks/9423. Возможно стоит отложить вопрос с пробелом и рассматривать все моменты, связанные с ним, в комплексе.
#18, 21 мая 2024 17:00
Тогда большинство случаев вызова будет бесполезно, т.к. например я буду всегда нажимать пробел после = и др. символов и подсказка будет закрываться.
Как вариант попробовать после =<пробел> тоже вызывать. Но только в случаях если пробел идет сразу после =, <> и т.д.
#19, 21 мая 2024 17:02
Это касается символов = <> запятая
#20, 21 мая 2024 17:03
Вообще в ТК есть настройка предпочитаемого стиля оформления кода, с пробелами или без. Можно использовать этот флаг. Если у пользователя включены пробелы то вызывать только после =<пробел>.
#21, ред. 21 мая 2024 17:05
Штатная подсказка всегда сразу после ввода =<> показывается. А при выборе слова из списка она вставляет пробел перед словом, если он стоит слева от =<>.
#22, 21 мая 2024 17:07
(20) bolsun, Это будет менее удобно чем штатное поведение (21), т.к. придется ставить пробел всегда вручную - лишнее действие. Но к такому удобному поведению штатной подсказки конечно нужно привыкать. Я тоже первое время пробелом ее закрывал.
#23, 21 мая 2024 17:08
(21) tormozit, я например уже просто привык на автомате сразу добавлять пробел после = и т.д.
Получается у меня не будет срабатывать. Но пробую с пробелом после = вроде вызывается нормально.
#24, 21 мая 2024 17:11
(23) bolsun, но я бы предпочел конечно настройку (вызывать только после =<пробел>, чтобы не моргала подсказка лишний раз.
#25, ред. 21 мая 2024 17:13
Вот Rider не вызывает подсказку в этом случае
а вызовет только после пробела

Очень удобно и не нужно переучиваться.
#26, 21 мая 2024 17:15
Тогда проверяй пробел перед =<>. Если он есть, то вызывай только после первого пробела после. А если его перед нет, то вызывай сразу после =<>.
#27, 21 мая 2024 17:18
(26) tormozit, с запятой так не получится.
Кстати Visual Studio тоже не вызывает в таких случаях подсказку.
#28, ред. 21 мая 2024 17:25
Но я почти уверен, что за необходимость ручной установки пробела после =<> для вызова подсказки нас будут ругать, т.к. многие уже привыкли к штатному поведению конфигуратора. Странно что ты до сих пор не привык к нему (21).
#29, 21 мая 2024 17:32
(28) tormozit, я 90% времени работаю в других IDE, где поведение другое. Так что сложно привыкнуть.
#30, 21 мая 2024 17:33
(28) tormozit, это будет опционально, по умолчанию будет поведение как в штатном конфигураторе. Для недовольных (типа меня) будет опция.
#31, ред. 21 мая 2024 18:26
(13) tormozit, сделал в первом приближении. Поддержка всех запрашиваемых символов + пробел после = <> ,
https://disk.yandex.ru/d/XKCz9ijzgtoO1w
#32, ред. 21 мая 2024 19:31
Вроде работает. Но местами без пользы появляется подсказка. Поэтому еще бы параметр "Автовызов" в событие прокинуть.
И нужен способ отказаться от открытия списка. Вроде пустой список не открывается, да?
#33, 21 мая 2024 20:24
Для символов "(" и "," прошу отключить автовызов подсказки Т9. Для них нужен другой тип подсказки, который мы надеюсь сделаем в будущем https://turboconf.ru/Tasks/8882 . И хотя штатная подсказка по параметрам метода далеко не всегда появляется после ввода этих символов, но лучше пока оставить ее.
#34, 21 мая 2024 21:03
(32) tormozit, флаг Отказ = Истина?
#35, 21 мая 2024 21:27
(33) tormozit, https://disk.yandex.ru/d/XKCz9ijzgtoO1w
Отключено для ( и ,
#36, 21 мая 2024 23:22
Вижу в параметрах события появилось свойство Автовызов. Но оно почему то всегда содержит Истина, даже если вызываю подсказку через CTRL+Space. Нужно чтобы при вызове через CTRL+Space оно содержало Ложь.
#37, 21 мая 2024 23:26
(36) tormozit, оно уже давно есть, но не работает пока.
#38, ред. 22 мая 2024 06:45
Еще в коде нередко вводят длинные последовательности одинаковых спецсимволов. Чтобы событие не вызывалось в таком случае на каждом символе, прошу отфильтровать их на стороне Турбоконфа, т.е. срабатывать этот автовызов должен только на первом символе среди серии таких же подряд идущих символов.
Также прошу не вызывать событие при вводе закрывающей кавычки.
Вот готовый код из ИР условия автовызова подсказки
где мТекущаяСтрокаНачала - часть текста от начала строки до каретки
#39, ред. 22 мая 2024 08:04
Еще автовызов подсказки нужен после точки внутри
Но обязательно нужно корректное заполнение флага Автовызов.
#40, 22 мая 2024 07:59
Обнаружил ошибку платформы.
Настройка "Автоматическая подсказка при наборе кавычки" не полностью отключается.
https://www.hostedredmine.com/issues/985943
#41, ред. 22 мая 2024 08:55
(40) tormozit, Заметил ошибку в поведении Турбоконфа - он показывает свою автоподсказку вместо моей в некоторых функциях в текстовом литерале и при этом он окно некорректно позиционирует окно. Например

РольДоступна("
yQ3jPZ2K73.mp4
Ссылка скрыта
#42, 22 мая 2024 17:50
РольДоступна - теперь не вызывается при флаге "Всегда показывать T9"
Проверку на повтор символов добавил
https://disk.yandex.ru/d/XKCz9ijzgtoO1w
#43, 22 мая 2024 18:32
(42) bolsun, проверил. Эти изменения подтверждаю.
#44, ред. 23 мая 2024 07:16
(34) bolsun, способ отказаться от открытия списка нашел - просто не вызывать УстановитьДанныеT9()
#45, ред. 23 мая 2024 08:33
(39) tormozit, из-за отсутствия такого автовызова подсказка адаптера все еще местами проигрывает по числу нажатий клавиш штатной подсказке. Например при вводе имени формы в
ПолучитьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаСпискаУправляемая")
Приходится делать 2 лишних нажатия клавиш (после 2-х последних точек).
#46, ред. 23 мая 2024 07:46
(17) tormozit, прошу добавить автовызов подсказки при вводе первого пробела после слова (новый|new). Например
#47, 23 мая 2024 16:39
Добавил автовызов после новый и new
Добавил автовызов после точки в комментариях и строках
Свойство Автовызов теперь должно содержать корректное значение
https://disk.yandex.ru/d/XKCz9ijzgtoO1w
#48, ред. 23 мая 2024 16:56
(47) bolsun, указанные функции работают. Но слишком часто всплывает отладочное уведомление

Прошу заменить его на служебное сообщение.
#49, 23 мая 2024 17:38
(48) tormozit, заменил
https://disk.yandex.ru/d/XKCz9ijzgtoO1w
#50, 24 мая 2024 08:33
Еще бы подлить в эту ветку правки с разблокировкой ввода из 6.1. Они бы мне очень пригодились.
#51, 24 мая 2024 12:45
(50) tormozit, перенес правки из 6.1
6.2.8910.26450
https://disk.yandex.ru/d/XKCz9ijzgtoO1w
#52, ред. 25 мая 2024 08:32
Иногда при перемещении каретки путем клика тоже стала вызываться подсказка. Ранее с таким поведением сталкивался никогда.
Ссылка скрыта
#53, ред. 25 мая 2024 11:02
При запрещенном приложении ИР - Турбоконф теперь и штатную подсказку вызывает после ввода "=" и первого пробела после "=". Думаю это будет раздражать пользователя. ИР адаптер получив в этом случае событие сначала выполняет анализ выражения слева от "=" и показывает подсказку только, если есть высоко вероятно подходящее слово. Если Турбоконф не делает такой анализ, то и штатную/свою подсказку в этом случае ему кажется лучше не открывать. Аналогично и с кавычкой.
Kwum0iAdKV.mp4
#54, ред. 25 мая 2024 11:47
(40) tormozit, заметил что такое происходит только если открыта штатная подсказка по параметрам метода. Если сначала ее закрыть (нажатием ESC), то ввод кавычки не открывает штатный список подсказки.
@bolsun, Поэтому прошу при флаге "Всегда показывать T9" (или при отключенном флаге конфигуратора QuoteAutoAssist) перехватывать ввод кавычки в поле документа встроенного языка и в случае, если она является открывающей, то перед ее вставкой в редактор отправлять нажатие ESC.
#55, 25 мая 2024 14:10
(53) tormozit, я не знаю запрещен ли ИР или нет в текущем конфигураторе, подсказка вызывается только в случае включенной опции "Всегда показывать подсказку T9"
#56, 26 мая 2024 07:46
(55) bolsun, Я про этот флаг
ТурбоКонф.СохранитьЗначениеСеанса(Строка(Конфигуратор.ГлавноеОкно)+"_"+"T9AlwaysShowOnCtrlSpace", НовоеЗначение);
Его вполне достаточно чтобы понять, что скрипт сам управляет подсказками.
#57, 26 мая 2024 18:40
https://disk.yandex.ru/d/XKCz9ijzgtoO1w
#58, ред. 26 мая 2024 19:02
(57) bolsun, проверил отправку нажатия Esc. Не сработало. Проверял ввод символа "двойная кавычка" в тексте

Тип(
#59, 26 мая 2024 19:03
(58) tormozit, нужен лог
#60, 26 мая 2024 19:06
Ссылка скрыта
ejB7xEeLC5.mp4
#61, ред. 26 мая 2024 19:28
(60) tormozit, понятно, видимо проблему я понял изначально неверно.
Думал, что нужно просто закрывать тултип, чтобы появлялась штатная подсказка.
Перехватывать кавычки с проверкой текста и с отправкой Esc задача не простая, т.к. могут быть нестандартные раскладки клавиатуры и прочие побочные эффекты.
Чем кстати штатная не угодила в этих случаях, что нужно городить такие сложности? Вроде не особо отличается содержание?
#62, 26 мая 2024 19:30
(61) кстати, ActiveX почему то нет в подсказке адаптера
#63, ред. 26 мая 2024 19:46
(61) bolsun, мой список
#64, 26 мая 2024 19:50
(62) bolsun, Потому что в синтакс-помощнике он не описан. Добавлю.
#65, ред. 26 мая 2024 20:04
(61) bolsun, если сложно, то подожду исправления этого в платформе. А пока буду продолжать CTRL+Space нажимать, когда появляется штатный список.
#66, ред. 30 мая 2024 07:12
Хорошо бы еще добавить вызов события внутри комментария после
Эти фрагменты используются для задания типов выражений и указателей
#67, ред. 01 июня 2024 18:51
(17) tormozit, Сделал вставку оператора "Новый" всегда с пробелом на конце через заполнение свойства "ТекстШаблона". Прошу сделать автовызов подсказки в этой ситуации, т.е.
#68, ред. 01 июня 2024 19:16
Используй специальные команды для шаблона
<!> - переместить в позицию
<?> - переместить в позицию и вызвать подсказку.
Новый <?>
#69, 01 июня 2024 19:27
(68) bolsun, проверил. Да. Этого достаточно для решения задачи.
#70, ред. 29 июня 2024 16:04
(68) bolsun, макрос <?> не устанавливает флаг "Автовызов". Прошу сделать его установку. Перенес в отдельную заявку https://turboconf.ru/Tasks/9574
#71, 29 июня 2024 16:04
tormozit изменил статус на Закрыто