ИР Адаптер. Подсказка не появляется если текст модуля пуст

bolsun Закрыто

Не срабатывает ни автовызов ни принудительный вызов.

Если в модуль добавить хотя бы комментарий
//
то подсказка начинает работать.

Версии адаптера и расширения актуальные.

Комментарии

tormozit
#1, ред. 27 июля 2024 16:41

Проблема была изначально. Она возникла в рамках устранения неоднозначности между текстовым макетом и модулем.
Для частных случаев, когда заголовок окна содержит ": Модуль", можно достаточно надежно предположить этот текстовый документ является модулем. Добавлю это улучшение в следующей версии адаптера. Но в остальных случаях (например для модулей форм) проблема останется.
tormozit изменил статус на Открыто


bolsun
#2, 27 июля 2024 16:44

(1) tormozit, предлагаю тогда в случае пустого модуля выводить разовое предупреждение, о том что подсказка отключена, т.к. невозможно определить тип окна. Даже мне пришлось потратить время, чтобы понять что ТурбоКонф все еще работает корректно, а у пользователя может быть еще больше недоумения, почему перестала работать программа.


bolsun
#3, 27 июля 2024 16:49

(2) а также можно в уведомление добавить действие, принудительно включающее подсказку для этого пустого документа


tormozit
#4, ред. 27 июля 2024 16:52

(3) bolsun, это будет уже избыточно с учетом того, что достаточно одну инструкцию написать и анализатор поймет что это модуль. Вот эта проверка

			Если Истина
				И Найти(ТекстМодуля, "//") = 0
				И Найти(ТекстМодуля, "КонецЕсли") = 0
				И Найти(ТекстМодуля, "EndIf") = 0
				И Найти(ТекстМодуля, "=") = 0
				И Найти(ТекстМодуля, ");") = 0
				И Найти(ТекстМодуля, "()") = 0
				И Найти(ТекстМодуля, "Перем ") = 0
				И Найти(ТекстМодуля, "|") = 0
				И Найти(ТекстМодуля, "&НаКлиенте") = 0
				И Найти(ТекстМодуля, "&НаСервере") = 0
				И Найти(ЗаголовокДокумента, ": Модуль") = 0 // Добавлю
			Тогда
				ЯзыкПрограммы = Неопределено;


bolsun
#5, ред. 27 июля 2024 16:57

(4) tormozit, ну как минимум тогда уведомление, т.к. уверен многие пользователи будут как я набирать несколько раз например слово "проц", нажимать Ctrl+Space несколько раз и недоумевать что происходит, почему нет подсказки.


bolsun
#6, ред. 27 июля 2024 16:59

(4) tormozit, кстати как видно на моем скриншоте, слово : Модуль есть в заголовке, а подсказки нет.

Update. Вижу, что ты добавишь эту проверку в новых версиях


tormozit
#7, 27 июля 2024 17:36

(5) bolsun, добавлю такое уведомление

Если Не ЛиАвтовызов И СтрДлина(ТекстМодуля) < 100 Тогда
	ТурбоКонф.ПоказатьВсплывающееУведомление(НазваниеСкрипта(), "Недостаточно текста для определения его языка");
КонецЕсли;


bolsun
#8, 27 июля 2024 21:00

(7) tormozit, почему для Автовызова не показывать тоже? Меня как раз в первую очередь смутило что не срабатывает при автовызове, потом уже начал проверять и явный вызов. Перед этим несколько раз стирал набранное слово и заново вводил.


bolsun
#9, ред. 27 июля 2024 21:09

"Недостаточно текста для определения его языка" - наверное непонятно будет для простого одинесника, который работает только с 1С. Что за язык и зачем его определять.

Но любое сообщение конечно лучше чем совсем без него.


tormozit
#10, 28 июля 2024 22:14

Исправлено в адаптере 1.65


tormozit
#11, 31 июля 2024 07:39

tormozit изменил статус на Закрыто


Для вставки изображения или файла, перетащите его в поле редактора или вставьте файл из буфера