Полезности в редакторе VLIDE
Известно, что для написания кода LISP или DCL можно пользоваться разными средствами. Особо продвинутые программисты способны писать код и в блокноте (notepad), и в Notepad++. Но, может, не стоит изобретать велосипед и попытаться работать в специально разработанной для этого среде?
Встроенный в AutoCAD (кроме AutoCAD LT) редактор LISP'a предоставляет массу возможностей - начиная от проверки синтаксической корректности и заканчивая моментальным выполнением. В этом разделе будут указаны некоторые клавиатурные сокращения, знать и применять которые небесполезно.
Запустите VLIDE любым из способов:
- набрать vlide в командной строке или окне динамического ввода
- в меню AutoCAD (вплоть до версии 2008) выбрать Tools -> AutoLISP -> Visual Lisp Editor или Сервис -> AutoLISP -> Редактор Visual Lisp.
- на ленте AutoCAD (версии от 2009 и выше; рабочее пространство - "неклассический" AutoCAD; системная переменная menubar равна 0) - Manage -> кнопка Visual Lisp Editor (Управление -> Редактор Visual LISP)
Сначала разберемся с клавиатурными сокращениями (горячими клавишами, или hotkey'ами). Их не очень много, но переопределить их лично мне, например, не удавалось ни разу.
Во избежание разночтений все клавиши приводятся для английской раскладки. Клавиша отделяется квадратными скобками "[" и "]". Знак "+", например, в сочетании [Alt]+ означает, что надо нажать клавишу Alt, и, не отпуская ее - клавишу b. Последовательно нажимаемые клавиши отделяются друг от друга запятыми. Символьные клавиши приводятся для нижнего регистра, т.е. "l" - это именно "L", а не заглавная "i".
- [Ctrl]+[n] : создать новый файл. Создается файл lsp; для создания файла dcl необходимо вызвать меню File -> New (Файл -> Новый).
- [Ctrl]+[o] : открыть файл lsp | dcl | sql | c/c++
- [Ctrl]+[p] : печатать текущий файл
- [Ctrl]+[s] : сохранить текущий файл под имеющимся именем. Если имя не задано, появится стандартный диалог сохранения нового файла
- [Ctrl]+[Shift]+[s] : сохранить файл под новым именем
- [Ctrl]+[Shift]+[l] : загрузить приложение. Скажу честно - ни разу не пользоватся.
- [Ctrl]+[Alt]+[s] : сохранить файл под новым именем
- [Alt]+[Shift]+[s] : сохранить все открыте файлы
Стандартные Windows-сокращения закрытия окна или приложения смысла приводить, а также выделения всего текста, копирования и вставки думаю, нет никакого. Приведенные до этого момента клавиатурные сокращения общеизвестны и в принципе никакого интереса не представляют.
Но VLIDE все же не совсем простое приложение:
- [Ctrl]+[[] : обратите внимание, нажимается Ctrl и [. Это переведет курсор на конец следующей конструкции или функции.
Так, например, рассмотрим код1(wcmatch (cdr (assoc "full" x)) (strcat "*" (itoa *kpblc-cad-ver*) "*"))и спозиционируем курсор на слове cdr. Нажимаем [Ctrl]+[[] и курсор переместится за скобку, закрывающую конструкцию (assoc "full" x)
Если поместить курсор на strcat, то после [Ctrl]+[[] он встанет за первую "*". Поэкспериментируйте. - [Ctrl]+[]] : переводит курсор на начало текущей конструкции.
Опять же, на примере кода:
assoc, "full" -> поместит курсор перед (assoc
itoa -> поместит курсор перед (itoa
Последняя "*" -> поместит курсор перед (itoa - [Ctrl]+[Shift]+[[] и [Ctrl]+[Shift]+[]] выполняют аналогичные действия, но заодно еще и выделяют текст.
- [Tab] : смещение блока на одну позицию табуляции вправо. Срабатывает в том числе и на выделенные блоки кода.
- [Shift]+[Tab] : то же, но смещение происходит влево.
- [Ctrl]+[Alt]+[Tab] : спозиционировать блок в текущий уровень. Описывать долго, проще попробовать.
- [Ctrl]+[U] : перевести выделенный текст в нижний регистр
- [Ctrl]+[Shift]+[U] : то же, в верхний
- [Ctrl]+[Space] : закончить слово. При условии нескольких совпадений выдается список вариантов. Если вариантов слишком много, появляется окно с перечислением всех возможных вариантов. Например, такое поведение будет при попытке закончить слово для символов vl. А вот для vlax-get уже будет список, из которого можно выбрать нужный вариант (хоть мышкой, хоть клавишами управления курсором)
- [Ctrl]+[Shift]+[Space] : то же, но окончание слова подбирается не из списка, а из окна. Не очень удобный вариант, но иногда без него обойтись невозможно.
Для длинных кодов очень небесполезной окажется возможность установки Bookmark ("закладок"). К сожалению, закладки сохраняются только пока файл с ними не выгружен (то есть только в течение одной сессии AutoCAD'a).
- [Alt]+[.] : установить / снять закладку
- [Ctrl]+[,] : перейти к следующей закладке. Добавление [Shift] в комбинацию выделит текст от текущего положения курсора до закладки.
- [Ctrl]+[.] : перейти к предыдущей закладке. Добавление [Shift] в комбинацию выделит текст от курсора до предыдущей закладки.
- [Ctrl]+[Shift]+[g] : выполняет переход к последнему месту редактирования. После принудительного форматирования кода не срабатывает.
Остальное касается в большей степени уже самого процесса написания кода, и сейчас описывать это я уже не буду. Позже.
P.S. Спасибо Евгению Елпанову за указанные неточности.
P.P.S. В различных версиях AutoCAD сочетания клавиш (в частности, сочетания по сохранению файлов) могут отличаться.
Ух ты! Даже не думал, что есть функция автоматического завершения слова! Работает отлично! Спасибо!
Алексей поправь пож-ста в тексте
[Ctrl]+ : перевести выделенный текст в нижний регистр
[Ctrl]+[Shift]+ : то же, в верхний
д.б.Сtrl + u, и Ctrl + Shift + u
Спасибо, не обратил внимания... Почему-то последовательность символов [, u, ] воспринимались "криво".