2015-06-08 3 views
2

В большинстве текстовых редакторов, если вы вводите { или " (вы получаете идею), редактор автоматически вводит противоположный символ и помещает курсор между ними. Я заметил, что UltraEdit этого не делает. Есть ли способ настроить UltraEdit, чтобы закрыть соответствующую скобу?UltraEdit close matching brace

ответ

1

UltraEdit для Windows, v23.20 введены функций для смарта-вставки скобок и кавычек с Brace автозавершением и Струнных автозавершениями.

Brace автозавершение

  • пара Brace, определенная в WordFile является автоматически закрываются при открытии скобки набрана
  • Если нет брекетов в WordFile, или если файл не синтаксис выделен, "() "," {} "и" [] "используются как значения по умолчанию
  • Нажатие Enter будет перемещать закрытие фигурной скобки отдельной строкой при сохранении правильных уровней отступа
  • Нажатие Backspace сразу после автозавершения удалит оба открытие и закрытие скобки
  • Typing закрывающей фигурную скобку пропускает автозавершенную закрывающую фигурную скобку, не вставляя вторую скобку
  • Может быть отключен для невыделенного (обычного текста) файлы
  • Может быть отключен для комментариев и строк

Строка автозавершения

  • Может быть отключена для не выделен (пл айн текст) файлы
  • Может быть отключен для комментариев

настройки для настройки этих двух функций можно найти в конфигурации на Editor - Подтяжки/строк.

UEStudio v16.20 представила те же функции с теми же настройками конфигурации, что и UltraEdit для Windows v23.20.

Прежние версий UEStudio, интегрированная среда с UltraEdit как редактирование ядра двигатель, эти особенности с самого начала, которые могут быть настроены в конфигурации на IDE - IntelliTips - Разное, открыв в меню Advanced с щелчком по меню item Конфигурация или нажав на вкладку ленты Продвинутый по артикулу Настройки.

Но версии UltraEdit для Windows до версии v23.20 не имеют этих функций.

Однако не умный вставка { и } с установкой каретку между легко может быть достигнуто с помощью макроса, который имеет клавишу нажатой, чтобы вставить { назначенный макрос как горячие клавиши.

Как создать один или несколько новых макросов Ultraedit сохраненные все вместе в одном файле макрокоманд сконфигурирован для автоматической нагрузки при запуске UltraEdit объясняется в моем ответе на Search and replace with term list?

UltraEdit код макроса для { является:

InsertMode 
"{}" 
Key LEFT ARROW 

Та же концепция может быть использована для:

двойные кавычки

InsertMode 
"""" 
Key LEFT ARROW 

отверстие скобка

InsertMode 
"[]" 
Key LEFT ARROW 

и круглое отверстие кронштейна

InsertMode 
"()" 
Key LEFT ARROW 

Также можно настроить макрос для определенных типов файлов, например:

IfExtIs "c" 
InsertMode 
"{}" 
Key LEFT ARROW 
ExitMacro 
EndIf 
IfExtIs "cpp" 
InsertMode 
"{}" 
Key LEFT ARROW 
ExitMacro 
EndIf 
IfExtIs "h" 
InsertMode 
"{}" 
Key LEFT ARROW 
ExitMacro 
EndIf 
"{" 

Этот макрос вставляет } дополнительно к { при нажатии клавиши для { только при расширении файла активного файла c, cpp или h (в любом случае). Для всех других файлов только { вводится при нажатии горячей клавиши макроса в активном режиме (режим вставки или сверхпростой).

Я предлагаю для вставки ( с ) еще более умный код для макроса:

InsertMode 
"(" 
IfCharIs 13 
")" 
Key LEFT ARROW 
ExitMacro 
EndIf 
IfCharIs 10 
")" 
Key LEFT ARROW 
ExitMacro 
EndIf 
IfEof 
")" 
Key LEFT ARROW 
EndIf 

Этот макрос вставляет первый раз (. Если следующий символ - возврат каретки (десятичное значение 13) или строка (десятичное значение 10) или каретка находится в конце файла, дополнительно добавляется ), а каретка расположена между круглыми скобками. Во всех остальных случаях только ( вставляется в активный файл.

Это расширение позволяет изменять состояние как

if(iVar == 1 || iVar == 3) 

в

if((iVar == 1) || (iVar == 3)) 

без получения временно

if(()iVar == 1 || iVar == 3) 

и

if((iVar == 1) ||()iVar == 3) 

Достаточно требовать в таких случаях нажимать клавишу DEL удалять вставленные, но нежелательные ) после вставки ( где-то посередине линии.

+0

Благодарим вас за отличный ответ! Это действительно помогло. –

Смежные вопросы