SciTE 3.5.5.101 build 1.3.8

SciTE 3.5.5.101 build 1.3.8 - вариант сборки (модификации) товарища Yashied, редактора SciTE, основанный на ядре 3.2.5-99Ru.

Модификация производилась в сторону SciTE4AutoIt, т.е. ядро было взято из SciTERu, а все настройки и плагины из SciTE4AutoIt. Затем уже велась работа по их изменению и адаптации к совместной работе. В результате получилось именно то, что я и хотел видеть в этом редакторе изначально. На этом я пожалуй закончу вступительную часть и переду к более детальному описанию. Для тех, кто будет использовать эту сборку, я рекомендую прочитать все до конца.

Также хочется сказать огромное человеческое спасибо всему коллективу Ru-Board за блестяще проделанную работу по модификации редактора и написанию замечательных плагинов (.lua).

  • Убраны все упоминания о бета версиях AutoIt.
  • Убрана привязка SciTE и AutoItWrapper к директории AutoIt, т.е. теперь можно установить SciTE в любую директорию (см. ниже).
  • Убраны следующие утилиты.
  • Цветовая схема редактора приведена к единому стилю, раскраска кода соответствует AutoIt 3.3.8.1 c небольшими изменениями.
  • Все дополнительные утилиты перемещены в отдельную папку Tools.
  • Все пользовательские файлы .properties теперь находятся в соответствующих папках в корне SciTE (раньше находились в пользовательской папке).
  • Все настройки в файле SciTEGlobal.properties рассортированы по группам аналогично .ini файлам.
  • Добавлена утилита SciTE Session Loader (Yashied), позволяющая открывать в SciTE файлы .session через Windows Explorer (необходимо зарегистрировать тип файла, см. SESSION.reg).
  • Файл справки для каждого языка теперь открывается всегда по F1, если это AutoIt, то будет показана справка по AutoIt, если другой язык, то, соответственно, его справка, если присутствует, или справка по SciTE (по умолчанию).
  • Немного изменена информация, выводимая в StatusBar.
  • Добавлена боковая панель (SciTERu, SideBar.lua).
    • Добавлен шаблон для создания списка функций в AutoIt скриптах.
    • Добавлены настройки для изменения цвета фона и текста боковой панели.
    • Убрано обновление списка функций (вкладка "Func/Bmk") во время редактирования текста (сильно раздражало, если объявлено много функций).
    • Вкладка "Abbrev" теперь не обновляется при переключении вкладок с одинаковым лексером.
    • Аббревиатуры в поле редактора теперь показываются в виде всплывающей подсказки в соответствующем стиле.
    • Теперь аббревиатуры выводятся как из основного файла для текущего языка, так и из пользовательского.
  • Добавлена расширенная панель инструментов ToolBar (SciTERu).
    • Панель инструментов была полностью переделана под нужды AutoIt.
    • Все иконки приведены к единому стилю Silk v13 (полная коллекция находится в архиве), отсутствующие иконки были дорисованы.
    • Все настройки ToolBar помещены в отдельный файл, который лежит в папке Toolbar (не все инструменты присутствуют по умолчанию).
    • Наборы инструментов на панели теперь меняются динамически в зависимости от того, какой лексер активен в данный момент, например при редактировании .txt файла вы не увидите кнопки для компиляции кода.
  • Теперь при создании нового документа открываются вкладки с именем Untitled 1.au3, Untitled 2.au3 и т.д. (SciTERu, NewFile.lua).
    • Плагин был практически полностью переписан.
    • Теперь при сохранении новой вкладки всегда выводится диалоговое окно для выбора пути.
    • Если новая вкладка создается из пустой вкладки или при открытии SciTE, то путь будет к папке пользователя, в противном случае путь берется из текущей вкладки.
    • Новая вкладка создается с текущим лексером, т.е., если вы, редактируя .au3 файл, создаете новый документ, то он будет называться Untitled 1.au3. При открытии SciTE всегда открывается вкладка Untitled 1.au3.
  • Добавлен плагин для сохранения настроек редактора (SciTERu, SaveSettings.lua).
    • Плагин был практически полностью переписан.
    • Теперь все настройки сохраняются в отдельном файле SciTE.settings, который находится в папке пользователя (раньше настройки хранились в SciTE.session, что приводило к конфликтам при использовании разных редакторов).
    • SciTE.settings теперь создается автоматически и не представляет практического интереса для пользователя.
    • Добавлены дополнительные и исключены неиспользуемые настройки, подлежащие сохранению.
  • Добавлен плагин для создания резервных копий (.bak) при сохранения файла (SciTERu, AutoBackup.lua), по умолчанию выключен. Аналогичный плагин из SciTE4AutoIt был отключен из-за несовместимости.
  • Добавлен плагин, который автоматически включает режим "Read only" при открытии файлов с атрибутами RHS (SciTERu, ROCheck.lua).
  • Изменен плагин для автозавершения (Autocomplete) и всплывающих подсказок (Calltips) при наборе текста (SciTE4AutoIt, AutoItAutoComplete.lua).
    • Переписан алгоритм автоматического появления и скрытия Autocomplete и Calltips.
    • Добавлены настройки для отключения по отдельности оба функционала (меню Tools\Typing\*), но при этом оставив возможность их вызова через меню или с помощью горячих клавиш (Yashied, Switcher.lua).
  • Добавлен плагин для сортировки выделенных строк (SciTERu, SortText.lua).
  • Добавлен плагин для для замены в начале выделенных строк TAB на пробелы и обратно (SciTERu, TabToSpace.lua).
  • Добавлена возможность смены регистра для выделенных строк (SciTERu).
  • Добавлена возможность открытия системного реестра и переход на выделенную в редакторе ветку (Yashied).
  • Добавлена утилита Control Viewer (Yashied).
  • Добавлена утилита Icon Viewer (Yashied).
  • Добавлена утилита Color Picker (Yashied).
  • Расширены контекстные меню для окна редактора, вкладок и консоли, и добавлены дополнительные возможности.
  • Файлы .properties для поддерживаемых языков убраны в отдельное меню (SciTERu).
  • Увеличина ширина окна для ввода параметров запуска (меню View\Parameters).

Так как плагины SciTE4AutoIt конфликтуют с плагинами SciTERu (используют разные обработчики событий), то пришлось чем-то жертвовать, но как оказалось жертвы были минимальные. Ниже приведен список того, что пришлось отключить в процессе модификации. Для большинства пользователей это не представляет практического интереса.

  • Class.lua: отключены следующие обработчики.
    • OnOpen
    • OnClose
    • OnSwitchFile
    • OnSave
    • OnBeforeSave
    • OnDoubleClick
    • OnUpdateUI
  • AutoItPixmap.lua: полностью отключен. Этот плагин просто добавляет разноцветные некрасивые иконке в окно Autocomplete.
  • AutoHScroll.lua: полностью отключен, т.к. конфликтует почти со всеми плагинами SciTERu, требуя постоянную перезагрузку LUA (опции "ext.lua.auto.reload" и "ext.lua.reset"). Этот плагин используется для автоматической подгонки горизонтальной полосы прокрутки под длину строки. На деле абсолютно бесполезен, т.к. не работает должным образом.
  • LoadSession.lua: отключен за ненадобностью.
  • EdgeMode.lua: отключен за ненадобностью.
  • SmartAutoCompleteHide.lua: отключен за ненадобностью.
  • AutoItTools.lua: отключена функция OnBeforeSave().
  • SciTE_Extras.lua: отключен из-за несовместимости. Плагин позволяет менять цвет текущего параметра функции во всплывающих подсказках. По умолчанию используется синий.
  • SciTE Config (утилита): убрана из-за несовместимости. Не пытайтесь ее запускать, т.к. все равно не будет работать. Забавно то, что она вылетит из-за внутренней ошибки, оставлю это на совести разработчика.

Кроме всего прочего я избавился от полного хаоса в файле au3.properties. Теперь все настройки рассортированы по группам как в SciTEGlobal.properties, а команды меню Tools перемещены в файл menu\menu.properties. Также я создал две глобальные группы с командами компиляции (Compile), создания (Build), запуска (Run) и проверки синтаксиса (Syntax Check). Первая группа использует нативные утилиты AutoIt (AutoIt3.exe, Aut2Exe.exe и т.д.), а вторая использует AutoItWrapper как это изначально прописано при установке SciTE4AutoIt. По умолчанию используется режим AutoItWrapper, но если вы хотите переключиться режим AutoIt, то просто поменяйте комментарии. Лично я предпочитаю нативные утилиты AutoIt, т.к. и работают быстрее, и глюков меньше. При желании можно комбинировать команды запуска.

Больше информации можно найти на форуме: https://autoit-script.ru/threads/scite-3-5-5-101-dlja-autoit.18986/

Автор: Yashied

P.S. Yashied, если ты сейчас это читаешь - свяжись со мной либо с CreatOR. Дай о себе знать.