8.3.24 команда Турбоконфа "Процедуры и функции" очищает буфер обмена точки останова

tormozit Закрыто

Создать точку останова. Вырезать/Скопировать ее через контекстное меню. Убедиться, что стала доступной команда "Вставить точку останова". Вызвать команду Турбоконфа "Процедуры и функции". Убедиться, что стала НЕдоступной команда "Вставить точку останова".

Комментарии

bolsun
#1, 21 февраля 2024 12:49

TurboConf, после взаимодействия с буфером, восстанавливает только содержимое текстового формата, остальные данные не восстанавливает из-за различных возможных побочных эффектов.


tormozit
#2, ред. 21 февраля 2024 15:28

Думаю Турбоконфу тут вполне без буфера можно обойтись. Элементы штатного списка методов предоставляют текст явно. В диалог поиска вставить текст можно эмуляцией нажатий клавиш аналогично тому, как ты сделал вставку из Т9.


bolsun
#3, 21 февраля 2024 15:40

(2) tormozit, эмуляция будет полчаса такие имена вводить
"МетаданныеИмеющиеСсылкиНаИсключаемыеИзВыгрузкиВРежимеДляТехническойПоддержки"


bolsun
#4, 21 февраля 2024 15:42

Она работает нормально до 10 символов максимум


tormozit
#5, ред. 21 февраля 2024 15:47

(3) bolsun, у меня в ClipAngel тоже есть эмуляция ввода. Она эту строку довольно быстро вводит. Думаю 200мс примерно. И нарушение последовательности при такой длине строки происходит очень редко. Рекомендую проверить самому.

Ну и тогда непонятно про Турбоконф 6.1. Получается новый режим вставки признан неудачным?


tormozit
#6, 21 февраля 2024 15:48


bolsun
#7, 21 февраля 2024 15:48

Ну и тогда непонятно про Турбоконф 6.1. Получается новый режим вставки признан неудачным?

(5) tormozit, новый режим в TurboConf 6.1 вставляет не эмуляцией нажатий, и не через буфер, а драг энд дропом. Поэтому вставляет быстрее обоих этих методов.


tormozit
#8, 21 февраля 2024 15:51

(7) bolsun, перетаскивание опасно использовать, т.к. оно в некоторых случаях блокируется в редакторе модуля. Например в остановке отладчика внутри событий обработки перетаскивания.


bolsun
#9, 21 февраля 2024 15:55

(8) tormozit, не понял, где блокируется? у меня вроде ничего не блокируется.


bolsun
#10, 21 февраля 2024 15:58

Я же не использую для этого клиентское приложение, конфигуратору то без разницы где оно там остановилось.


tormozit
#11, 21 февраля 2024 15:59

https://partners.v8.1c.ru/forum/t/1560864/m/1611978

Похоже, что перетаскивание текста в редакторе модулей отключили в первых сборках 8.3.10 в рамках борьбы с этой бедой. Потом в сборках начиная с 8.3.10.2252 перетаскивание обратно включили, но оно отключается теперь только на время точки останова. Конечно это не то решение проблемы, которое хотелось бы. Например в Visual studio 2015 перетаскивание в редакторе модуля работает даже во время точки останова.

Текущее поведение в целом лучше старого, но хотелось бы более взрослого решения проблемы, т. е. без урезания функциональности редактора модуля.


bolsun
#12, 21 февраля 2024 16:01

(11) tormozit, у меня нет доступа к партнерскому форуму. Но если конфигуратор блокирует перетаскивание при останове клиента в обработчиках перетаскивания, это конечно такое...


bolsun
#13, 21 февраля 2024 16:02

Но в целом я могу определить, что перетаскивание не работает и вставить обычным методом в этом случае. Я думаю это не такой частый случай.


bolsun
#14, 21 февраля 2024 16:03

А вообще перетаскивание на точке останова у меня работает.


tormozit
#15, ред. 21 февраля 2024 16:05

Еще раз отмечу, что речь про остановку отладчика внутри событий обработки перетаскивания. Нужно проверить именно эту ситуацию.


bolsun
#16, 21 февраля 2024 16:06

(15) tormozit, это достаточно редкий случай, и я могу это обработать.


bolsun
#17, 21 февраля 2024 16:18

(15) tormozit, в 8.3.24 перетаскивание здесь работает


bolsun
#18, ред. 21 февраля 2024 16:24

здесь не работает да


tormozit
#19, 21 февраля 2024 16:25

Кстати перетаскивание работает и в поле ввода поиска.


bolsun
#20, 21 февраля 2024 16:28

(19) tormozit, ну да. Когда/если будет использоваться новый механизм, то можно будет не использовать буфер в Процедуры и функции.


bolsun
#21, ред. 21 февраля 2024 16:31

Мало пока статистики о работе нового метода. Кто пробовал, у них вроде работает и работает быстро. Раз не пишут о проблемах - значит и надежно (или не используют в работе постоянно).
Пока у одного только пользователя есть проблемы с этим, часть мы решили, одну - решаем. Поэтому войдет ли новый механизм в 6.1 пока не знаю.


bolsun
#22, 24 февраля 2024 00:30

По результатам тестов, получение элементов через UIAutomation в 2.5 раза медленнее на больших модулях, чем через буфер. 2500мс против 1000мс. Что очень ощутимо.


bolsun
#23, ред. 24 февраля 2024 00:36

Списком Процедуры и функции мы пользуемся очень часто, используем нетекстовое содержимое буфера после этого - очень редко. Считаю, что это некритичные издержки технологии.


bolsun
#24, ред. 24 февраля 2024 00:36

Можно было бы восстанавливать и нетекстовый формат буфера, но это чревато большими задержками, если в буфере содержатся большие двоичные данные.


tormozit
#25, 24 февраля 2024 00:37

Для начала можно сделать восстановление только формата для точки останова. Других ситуаций, в которых было ощутимо неудобно, пока не встречал.


bolsun
#26, 24 февраля 2024 00:38

(25) tormozit, нужно ли для этого прочитать все содержимое буфера, что может быть медленно?


tormozit
#27, ред. 24 февраля 2024 00:42

Формат имеет идентификатор "1C:DebuggerBreakpoint". Надо проверить его наличие в буфере обмена. Если он есть, тогда получать данные этого формата и сохранять.


bolsun
#28, 24 февраля 2024 00:41

(27) tormozit, тогда -да, это реально сделать.


bolsun
#29, 27 февраля 2024 23:32

Реализовано в TurboConf 6.1
bolsun изменил статус на Закрыто


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