|
Карточка с форума разработчиков Ну или Функция/КонецФункции
@alextimashov, это решает проблему?
@bolsun Еще не пробовал, чуть позже отпишусь
@bolsun Ну если группировки в принципе включены, то вроде работает. :)
@alextimashov а еще могут быть включены группировки на условия и циклы. И если мы просто внутри условия, то не получится. Получается слишком костыльно.
Как вариант использовать ТК.ControlShiftKey(Keys.Subtract); Это свернет все группы, но тоже не очень хорошо. Вообще изначально предполагалось использование при позиционировании на Процедура или КонецПроцедуры. Может это не является багом :)
@bolsun А просто вверх до Процедура/Функция дойти сложно будет?
@alextimashov это можно, но сильно усложнит логику и надежность скрипта. Сейчас все просто сделано и красиво
@bolsun А затратно вообще получить текст модуля и распарсить его хотя бы на процедуры/функции для отдачи через АПИ? И вообще там через АПИ как-то не очень здорово с работой с текстом модуля, как мне кажется.
@alextimashov планировал заняться дальнейшими улучшениями API, когда будут желающие писать скрипты. Пока их очень мало и функций API хватает для реализации почти любых фич. Что не так с работой с текстом?
@alextimashov по поводу этой задачи у меня есть одна идея. Сейчас проверю.
Пользователь прикрепил(а) вложение ProcFunc.os https://trello-attachments.s3.amazonaws.com/5aec736d7dec7207a7f7c6df/5bf50e8884fb830521a7870a/ca24cdbf85692af606e1c290af2085bb/ProcFunc.os
Нашел способ перейти в начало метода. Попробуй скрипт во вложении.
Получилось попробовать?
@bolsun Срабатывает, да, но курсор в конец процедуры прыгает
@bolsun По поводу API я наверное в отдельной карточке напишу
@board кто-то уже пользуется этой версией скрипта? нормально работает, можно включать его в основную поставку? Куда должен вставать курсор после преобразования? Можно на начало процедуры поставить. Можно конечно возвращать в позицию из которой был вызван скрипт, но это усложнит скрипт. К тому же если метод большой, то не понятно будет правильно отработал скрипт или нет. Так хотя бы видно, что все заменилось правильно.
@bolsun Вроде нормально Курсор хотелось бы, чтобы в то же место вставал, правильно отработал или нет может анимацией какой-то показывать? Ну там на полсекунды всплывает текст "Процедура Тест >>> Функция Тест". "Процедура Тест" и "Функция Тест" брать прямо из текста модуля. Или это сложно?
@alextimashov надо подумать, там несколько вызовов функции ПолучитьТекст придется делать
@board Добавлена всплывающая подсказка о преобразовании. То что курсор не ставится назад - не является багом. Считаю эту доработку нецелесообразной, из-за сильного усложнения и замедления скрипта. Желающие могут модифицировать скрипт используя методы ПолучитьТекстСПозицией() и ПерейтиВПозицию() и выложить, возможно я ошибаюсь и это будет работать нормально))
bolsun переместил(а) эту карточку из списка Баги новые и на выяснении в список Завершено
Можно попробовать добавить первым действием //Сворачиваем текущую группу, для позиционирования на начале метода ТК.ControlKey(Keys.Subtract); но если будем находится в Области, то не сработает. Но может лучше чем ничего.