Вопросы по редактору

Автор Борис_С, 28 июля 2020, 17:53

0 Пользователи и 1 гость просматривают эту тему.

Борис_С

Можно ли в редакторе закомментировать или раскомментировать несколько строк кода одновременно?
Можно ли в редакторе сдвинуть вправо или влево несколько строк кода одновременно?

rami

Это простой редактор, ничего этого нет.

Борис_С


economist

Цитата: Борис_С от 28 июля 2020, 17:53Можно ли в редакторе сдвинуть вправо или влево несколько строк кода одновременно?
Это можно, выделить несколько строк и Tab или Shift+Tab
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Борис_С

А можно как-то менять шаг сдвига?

sokol92

#5
При нажатии на Tab в текст проставляется символ горизонтальной табуляции U+0009 (или Chr(9) в Basic). Его интерпретация зависит от используемого текстового редактора. Редактор BasicIDE, насколько я понимаю, продвигает курсор до ближайшего смещения от начала строки, кратного 4 (если считать, что первый символ строки имеет смещение 0). Как изменить это поведение, навскидку не видно. В VBE (Excel) есть параметр Tab Width (по умолчанию 4).
Владимир.

eeigor

Файл вложен (LO IDE)
Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community

economist

#7
До уровня VBA IDE Editor - многим универсальным IDE (да чего уж там, всем нынешним IDE без исключения) - как до Луны.

Ведь только он, VBA Editor, - позволяет маркер выполнения (желтую строку) - прямо во время отладки, мышью, банально оттащить выше на пяток строк, изменить (перепечатать) значения переменных и даже изменить переменные в цикле For и... Выполнить заново измененные строки по F8!

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

А вот новичкам в VBA - это "оттаскивание", - можно сказать, жизненно необходимо! Ни процедурному, ни функциональному программированию, ни ООП - они не обучены (спасибо нашей школе, ПТУ или вузу). Их стезя - макрорекордерная дописанная копипастой код-лапша, сверху-вниз, на километр. И возможность "отступить" пару строк кода выше  - дорогого стоит. Говорю по личному опыту.

Конечно, есть IDE, которые тоже позволяют "оттащить" желтую строку выполнения и повторить выполнение кода построчно. Но они не понимают изменения перепечатыванием кода "на лету", в процессе отладки.
Даже таких, полу-удобных IDE, - единицы, на вскидку - Spyder IDE Python, м.б. Geany или PyCharm. Для OpenOffice|LibreOffice они частично применимы, можно даже pyuno/uno загрузить и видеть дополнение кода, но ощущения инородности этих сред все же есть.    

У StarBasic IDE - до сих пор полно глюков:
- невозможность прервать выполняемый в цикле или процедурами, код (когда Shift+F5 ничего не дает)
- окно значений - не работает для выражений или элементов массивов
- нажатие F7 "не понимает" контекста курсора, вместо "var_name" добавит или "var", или "name"
- иногда окно значений просто не показывает то что есть на самом деле (а print/msgbox - каже)

Но если сравнивать себя с теми, кто кодит на bash, bat/cmd/vbs/ps - та мы еще счастливчики. У нас хотя бы есть breakpoints и StarBasic IDE вполне себе годный инструмент.  


Тоже и про Shift+F7 - мгновенное вычисление имени/кода/выражения, выделенного в коде.
Такое умеет помимо VBA IDE еще несколько софтин, думаю что в основном это про Python, т.к. там оч. глубокая интроспекция.

И все же есть круче чем VBA IDE Editor IDE/отладчик - это JupyterLab c xeus-python ядром ipython. Он показывает значения переменных всегда - даже в паузах между отладками, и вообще в любое время. Однажды вычисленная переменная - будет вам видна в любом контексте (в области видимости). Но это применимо пока только к Python и еще 100+ языкам программирования, среди которых нашего StarBasic - нет. 
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

mikekaganski

Цитата: Борис_С от 29 июля 2020, 11:46
А можно как-то менять шаг сдвига?

Нет, и даже никто не писал enhancement request. На данный момент это жёстко закодировано в TextEngine::SetFont.
С уважением,
Михаил Каганский

sokol92

#9
 Михаил, спасибо за очередные объясненные артефакты ("XXXX")! :)

eeigor, спасибо за приложенную памятку. В LO 6.4 секция параметров IDE Basic доступна только при опции "Включить экспериментальные возможности (нестабильны)". Я побоялся нестабильности, а зря!
Владимир.