salexdv / bsl_console

Консоль кода для 1С 8.3 (Управляемые и обычные формы)
MIT License
293 stars 55 forks source link

Хочу отображать показатели слева от кода аналогично замеру производительности в конфигураторе #296

Closed tormozit closed 1 year ago

tormozit commented 1 year ago

изображение

salexdv commented 1 year ago

Только текст или текст с картинкой? Второе вряд ли возможно на текущей версии редактора

tormozit commented 1 year ago

текст

salexdv commented 1 year ago

Можно реализовать только вот в таком виде. Визуально номера строк и текст слева не будут отличаться (цвет, шрифт) line_num

tormozit commented 1 year ago

Мне нужно для этого https://www.hostedredmine.com/issues/953306 . Поэтому колонок хотелось бы несколько.

salexdv commented 1 year ago

Реализовал попробуй вызвать так:

setLineNumbersDecorations('["000.00%", "010.98%", "001.03%", "009.07%", "000.00%", "000.00%", "000.00%", "000.00%", "000.00%"]')

Функция принимает на вход массив в виде JSON. Первое значение в массиве (индекс 0) - показатель для первой строки, второе значение - для второй и т.д.

salexdv commented 1 year ago

Мне нужно для этого https://www.hostedredmine.com/issues/953306 . Поэтому колонок хотелось бы несколько.

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

tormozit commented 1 year ago

Проверил. Работает. Хорошо бы еще добавить автоматическую очистку декорации строки, если строка изменилась, и сдвиг декорации вместе со сдвигом строки текста, т.к. эти декорации жестко связаны по смыслу со своими строками. Если такое поведение сделать сложно, то лучше тогда просто сразу удалять все декорации при первом же изменении текста. Ну и в любом случае логичным кажется их очищать при вызове функции updateText().

tormozit commented 1 year ago

Первое значение в массиве (индекс 0) - показатель для первой строки

Ошибка. По факту работает не так. Первое значение игнорируется. А второе выводится в первую строку. Исправил в своей ветке и отправил исправление в твою.

tormozit commented 1 year ago

Еще некорректно выводится декорация : : : В обычном поле текста он выглядит нормально

изображение

А в твоем редакторе сжато, как будто свернуты пробелы

изображение

Вот непосредственно передаваемый в функцию текст JSON Clip_383284.txt

tormozit commented 1 year ago

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

изображение

salexdv commented 1 year ago

Заменил обычные пробелы на неразрывные и добавил расчет отступа, чтобы обеспечить выравнивание. Посмотри на результат, пожалуйста.

salexdv commented 1 year ago

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

изображение

К сожалению, такое не получится сделать.

tormozit commented 1 year ago

Заменил обычные пробелы на неразрывные и добавил расчет отступа

Проверил. Работает.

изображение