Как стать автором
Поиск
Написать публикацию
Обновить

Скрипты в UltraEdit32 v.14

Время на прочтение4 мин
Количество просмотров2.1K

Есть программисты которые пользуются таким инструментом как UltraEdit32.
Ни в коем случае не рекламирую этот продукт, просто решил поделится информацией о некоторых его возможностях.
В данной статье рассмотрены возможности по написанию скриптов для UltraEdit v.14.


Для автоматизации рутинных задач, UltraEdit имеет два инструмента:
  • Макросы — используются для записи последовательностей вызовов функций меню, нажатий кнопок и прочих совершённых действий для последующего их повторения.
    Создаются создаются в автоматическом режиме записи макроса, когда каждое действие учитывается.
    Записываются в виде Basic – подобного языка в виде последовательностей действий.
  • Скрипты — предназначены для создания более гибких сценариев автоматизации, которые затруднительно реализовать с помощью макросов.
    Создаются в том же самом текстовом редакторе, обычным программированием.
    Записываются в виде JavaScript (v.1.7.) сценариев, что не может не радовать.

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

Создание скриптов



Создавать скрипты очень просто, в меню “Scripting” имеется закладка “Scripts...” с помощью которой можно легко и просто управлять всеми доступными скриптами. Также, при выборе “Script list” становится доступным окошко со списком скриптов, которое можно пристроить в удобном месте, к примеру как на втором рисунке, в левом нижнем углу.


Более детально со средствами управления скриптами можно ознакомится на сайте, на русском нет.

Скрипты хранятся в обычных .js файлах и подключаются автоматически при старте программы.
Следует понимать, что скрипты, это не наборы функций, и при вызове каждый отрабатывает от начала и до конца.

Для использования специфических свойств документа к стандартным объектам JavaScript добавлен ещё один: UltraEdit, который и является главным интерфейсом к текущему рабочему пространству.

Основные полезные свойства и методы объекта UltraEdit


  • activeDocument – как ни странно, предоставляет доступ к текущему активному документу.
    Пример:
    UltraEdit.activeDocument.write('Hello Habr');

    Допишет текст 'Hello Habr' в позицию текущего курсора.

  • activeDocument.selection – предоставляет доступ к текущему выделенному тексту.
    Пример:
    var str = UltraEdit.activeDocument.selection;
    str = str.replace(/Word/g, "Habr");
    UltraEdit.outputWindow.showWindow(true);
    UltraEdit.outputWindow.write(str);


    Заменит в выделенном тексте все слова Word на Habr и выведет результат в окно вывода информации.

  • activeDocument.selection.copy()/cut()/paste() — в особых комментариях думаю не нуждается.

  • activeDocument.key() — позволяет имитировать нажатия клавиш во время выполнения скрипта.
    Пример:
    UltraEdit.activeDocument.key("HOME");
    UltraEdit.activeDocument.startSelect();
    UltraEdit.activeDocument.key("END");
    UltraEdit.messageBox(UltraEdit.activeDocument.selection);


    Выделит всю текущую строку и покажет её в алерте.

  • messageBox – метод, замена обычному alert().

  • Массив document[] – в отличии от activeDocument предоставляет возможность обратится к любому из текущих открытых табов по индексу.
    Пример:
    UltraEdit.document[1].write('Hello second tab');

    Допишет текст 'Hello second tab' в позицию курсора в тексте на втором табе.
    Замечание, document.length соответственно содержит количество открытых табов.

  • getString – метод ввода информации в скрипт.
    Пример:
    var str = UltraEdit.getString("Введи символ разделитель",1);

    Отобразит окно ввода текста и поместит результат в переменную str.

  • outputWindow – Ещё один интересный объект, который позволяет работать не с текстовым, а с дополнительным окном вывода информации, предназначенном для вывода текущей информации и логов.
    Пример:
    UltraEdit.outputWindow.showWindow(true);
    UltraEdit.outputWindow.write("Test outputWindow");


    Откроет окно вывода, если оно не показывается и выведет в него текст: 'Test outputWindow'.

  • newFile – метод создающий новый, пустой таб.
    Пример:
    UltraEdit.newFile();


Самые интересные на мой взгляд свойства и методы мы рассмотрели.
Полное описание всех методов есть в справке к программе, а также на сайте можно найти неплохие примеры скриптов.

А теперь несколько простеньких скриптов, которые я предпочитаю всегда держать под рукой


Замена всех двойных кавычек в выделенном фрагменте текста на одинарные:
UltraEdit.activeDocument.mode = 1;//Признак того, что надо работать с выделением
UltraEdit.activeDocument.findReplace.selectText = true;
UltraEdit.activeDocument.findReplace.replaceAll = true;
UltraEdit.activeDocument.findReplace.replace("\"", "'");



Закоментирование выделенного текста:
UltraEdit.activeDocument.cut();
UltraEdit.activeDocument.write("/*");
UltraEdit.activeDocument.paste();
UltraEdit.activeDocument.write("*/");


Делал через буфер обмена, потому, что так проще, но нужно помнить, что текущий буфер он перезаписывает.

Как антоним предыдущему скрипту, разкомментирование выделенного текста:
UltraEdit.activeDocument.mode = 1;//Признак того, что надо работать с выделением
UltraEdit.activeDocument.findReplace.selectText = true;
UltraEdit.activeDocument.findReplace.replaceAll = true;
UltraEdit.activeDocument.findReplace.replace("/*", "");
UltraEdit.activeDocument.findReplace.replace("*/", "");


* Source code was highlighted with Source Code Highlighter.



Возможностей конечно намного больше, но именно этими скриптами пользуюсь чаще всего.

Павел Осипов
17.06.2009.
Теги:
Хабы:
Всего голосов 6: ↑5 и ↓1+4
Комментарии20

Публикации

Ближайшие события