Краткая характеристика
- Доработанный код
- Русифицированный интерфейс, комментарии в файлах настроек, HELP
- Нестандартная структура
- Оригинальные файлы конфигураций
- Подключены полезные скрипты
Авторы
Пакет откомпилирован и собран участниками форума Ru-Board.
Были использованы решения:
VladVRO - доработка ядра программы (поддержка макрокоманд и многое другое), LUA-скрипты
BioInfo (Дмитрий Маслов) - доработка ядра программы (тулбар, контекстные меню, сохранение настроек и др.), LUA-скрипты
neo4max - доработка ядра программы
dB6 - доработка ядра программы, настройки редактора, коррекция ошибок
Steve J. Donovan - Lua библиотеки (ext-gui, shell)
UR4LTZ (Андрей Шевченко) - портирование winreg, иконки тулбара, доработка ядра программы
Frank Wunderlich - LUA-скрипты, доработка ядра программы
tilarids (Сергей Кищенко) - доработка ядра программы
Тимур Губаев - LUA-скрипты
mwoz - LUA-скрипты, правка gui-ext
leo.bonart - правка ядра программы
alrusdi81 - доработка ядра программы для работы в gtk
nail333 - исправление ядра программы [cmdline.spaces.fix], lua-скриптов
arhohryakov - доработка ядра программы
QVaclav - доработка ядра программы и библиотеки gui
mirk (Сергей Тугаринов) - русификация HELP, настройки, скрипты и конечно сайт scite.ruteam.ru
mimir - доработка ядра программы, настройки, LUA-скрипты
Midas - доработка ядра программы (работа с русским текстом и др.), LUA-скрипты
HSolo - доработка ядра программы (многоуровневые подменю в меню Tools)
Moon_aka_Sun - доработка ядра программы, LUA-скрипты
chupakabra - доработка ядра программы
mhb - доработка ядра программы (utf8.auto.check)
s_mart - перевод всех файлов документации
The gray Cardinal - перевод основного файла документации SciTE
Gourmet - перевод основного файла документации SciTE
ALeXkRU - перевод ScintillaHistory
Boris A. Brandin - перевод SciTE Extension Interface
linvinus - доработка ядра программы
Mitchell Foral - доработка ядра программы
gansA - настройки редактора, LUA-скрипты
Grisper - LUA-скрипты
frs - LUA-скрипты
Kein-Hong Man aka khman - самые серьезные LUA-скрипты в сборке
codewarlock1101 - скрипт для перемещения строк
xdude - настройки автоотступа
yurinb - скрипт переключения между кодировками Win1251/DOS866
UsAr - корректировка исходников программы (фолдинг для MASM)
Jos van der Zande (JdeB) - скрипт для вставки отмеченных строк
Vadikan - идея использования секций в .properties
8AleX8 - настройки .properties, .abbrev,... Да и ВООБЩЕ - родоначальник нашего топика SciTE на Ru-Board. С него все началось...
mozers™ - настройки, скрипты, комментарии, сборка
Хотелось бы поблагодарить и других участников топика, которые хотя и не принимали непосредственное участии в создании данной сборки, но своими вопросами и замечаниями помогли сделать ее лучше :)
Описание
В сборке SciTE Ru-Board используется перекомпилированное ядро оригинального SciTE, в исходный код которого наши умельцы внесли много замечательных корректив, расширяющих его возможности и исправляющих некоторые ошибки.
Полный список всех корректив (вместе с описанием новых возможностей) читайте в файле SciTE-Ru_Kernel_rus.html
Все основные настройки редактора сосредоточены в файле SciTEGlobal.properties и разбиты по логическим секциям.
У всех секций и большинства ключей имеются подсказки объясняющие их назначение.
При открытии файла SciTEGlobal.properties или при первом переходе на его вкладку, все секции автоматически сворачиваются, что облегчает навигацию по файлу [работа скрипта RestoreRecent.lua]
Если выделить незнакомый ключ и нажать F1, то откроется файл справки в окне без излишеств и курсор будет перемещен в то место текста, где этот ключ упоминается. Все вхождения заданного текста будут выделены и можно будет быстро перемещаться между ними с помощью клавиши Enter. Если после выделения текста, клавишу F1 нажимать при зажатом Shift то откроется самая последняя версия справки (на английском языке). [HTML_help.hta]
В сборке используется ветвистое многоуровневое меню Tools, содержащее множество полезных команд. [Потребовалась доработка исходного кода]
Статусная строка редактора, помимо стандартных параметров, отображает текущий размер основного шрифта, используемый лексер, кодировку текста, режим EDIT/VIEW для текущего буфера. [CodePage.lua Zoom.lua ReadOnly.lua]
Возможна запись файлов, защищенных атрибутами RO/Hidden/System. [корректива исходного кода + ROWrite.lua]
Возможен просмотр и редактирование файлов в кодировке DOS866 [CodePage.lua]
Текст, выводимый в окно консоли, всегда преобразуется в кодировку win1251, поэтому, независимо от кодировки окна редактирования, в окне консоли всегда будет читабельный текст. За это поведение отвечает ключ output.code.page.oem2ansi=1 [Потребовалась доработка исходного кода]
Возможна запись и воспроизведение макро-команд. Так же можно просматривать и редактировать записанные вами макросы. [корректива исходного кода + macro_support.lua]
Пункт меню "Открыть выделенный файл" (Ctrl+Shift+O), в отличии от встроенной команды SciTE понимающей только явно заданный путь, обрабатывает переменные SciTE, переменные окружения, конструкции LUA [Open_Selected_Filename.lua Select_And_Open_Filename.lua]
При редактировании файлов в SciTE, в заданном каталоге автоматически создаются их резервные копии. Возможно задание кол-ва сохраняемых файлов и места сохранения (Смотрите ключи backup.files в SciTEGlobal.properties) [auto_backup.lua]
Автодополнение кода работает как в классическом варианте (по Ctrl+Space), когда SciTE выводит список всех вариантов завершения полу-набранного слова, так и в модернизированном, автоматическом, когда после ввода разделителя (точка, двоеточие) после имени объекта, возникает список всех его свойств и методов. Также автоматически изменяется регистр символов в имени объекта (например "ucase" при вводе автоматически заменяется на "UCase") [Используются подключенные API файлы для соответствующих языков и скрипт AutocompleteObject.lua]
Возможно использование интеллектуального автозакрытия для любых скобок. Работает, если параметр braces.autoclose=1 [smartbraces.lua]
Возможно использование интеллектуального автозакрытия для HTML тегов. Работает, если параметр tags.autoclose=1 [html_tags_autoclose.lua]
Можно управлять SciTE из любых программ и скриптов, используя методы COM-объекта "SciTE.Helper"
Добавлено много других полезных скриптов:
-
Cкрипт xComment.lua полностью заменяет стандартную комбинацию Ctrl+Q (установка/снятие комментария). Причем, с помощью одной и той же комбинации в зависимости от выделения комментируется либо несколько строк, либо поток текста. (Отличие блока от потока в том, что при выделении потока курсор остается внутри выделенного фрагмента, а при выделении нескольких строк такого не происходит). Если первая строка выделенного текста закомментирована, то комментарий будет снят со всего блока. Если - нет, то - установлен на все выделенные строки или поток.[xComment.lua]
-
Удобный интерфейс для работы с сессиями предоставляет SessionManager.
Снимите комментарий с параметра session.manager=1 и попробуйте сохранить текущую сессию обычным порядком - через меню "Файл" - "Сохранить сессию..." Вы увидите что все файлы сессий сохраняются в одном месте (каталоге, заданном переменной scite.userhome), можно задать комментарий (в т.ч. многострочный), который будет виден при просмотре каталога в файловом менеджере.
При открытии (через меню "Файл" - "Открыть сессию...") так же появится наглядное диалоговое окно, где все сохраненные сессии будут отсортированы по дате. Контекстное меню открывающееся по правому клику мыши на выбранной записи откроет вам и другие возможности... [SessionManager.hta, SessionManager.lua]
- Возможно сохранение текущих настроек редактора. Установки записываются в файл SciTEUser.properties. Сохраняются размер и положение окна SciTE и другие текущие параметры, измененные через меню [доработка ядра, save_settings.lua]
- Скрипт для смены текущих шрифтов. C блеском заменяет Ctrl+F11. Действует одновременно на все отрытые буфера. Можно задать любые комбинации шрифтов. [настройки в SciTEGlobal.properties, FontChanger.lua]
- Скрипт позволяет свободно работать с файлами в кодировке dos866, переключая текущую кодировку ввода и отображения символов. [CodePage.lua]
- Скрипт - альтернатива стандартной команды Zoom (Ctrl+KeypadPlus, Ctrl+KeypadMinus, Ctrl+KeypadDivide) [Zoom.lua]
Достоинство: вместе с отображаемыми шрифтами, масштабируется и выводимый на принтер шрифт. Кроме этого, в строке состояния отображается текущий размер основного шрифта.
- Скрипт осуществляет поиск текста в окне редактора (или консоли), отмечает маркерами все найденные вхождения, кроме того, выводит все строки, содержащие текст, в консоль. Очень удобно. [FindText.lua]
- Скрипт позволяет вставить в текущую позицию отмеченные cтроки. Строки для вставки, предварительно должны быть отмечены букмарками вручную или автоматически по результату поиска. [CopyMarkedLines.lua]
- Сортировка выделенных строк (если выделение отсутствует – сортируется весь текст) по алфавиту и наоборот. Скрипт пытается угадать в каком порядке вам необходимо отсортировать текст. Если он с первого раза не угадал направление сортировки, то запустите его повторно – теперь он точно не ошибется :) [SortText.lua]
- Скрипт позволяет изменить выделенное значение цвета (или вставить новое) выбрав его из системного диалога. Для работы необходимо наличие в системе COMDLG32.OCX (на большинстве машин уже присутствует) [ColorSet.js]
- Скрипт позволяет изменить выделенное значение цвета (или вставить новое) выбрав его из
нескольких доступных палитр (Безопасные/Названные/Системные цвета).
Возможна вставка HEX, RGB, WIN и именного значения [palette.hta, SciTE.Helper]
- Трассировка выделенного текста в коды ASCII [ascii.lua]
- Форматирование кода программы для более наглядной его публикации в форуме [code-poster2.lua]
- Замена отступов в виде табуляторов на пробелы и наоборот. Полный автомат.
Если строки выделены – то замена производится только в них.
Соответствие количества пробелов заменяющих знак табуляции берется из ваших установок в .properties [IndentTabToSpace.lua]
- Вставка спецсимволов (©,®,§,±,…) из раскрывающегося списка (для HTML вставляются их обозначения). [InsertSpecialChar.lua]
- Проверка орфографии выделенного текста. Необходимо чтобы на машине был установлен MS Word с компонентом "Проверка орфографии" [SpellCheck.vbs]
- Универсальный скрипт. Осуществляет различные действия в зависимости от выделенного текста: [exec.lua]
- расчет выражения выделенного в редакторе (можно даже подсчитать сумму чисел в текстовой таблице)
- или обработку выделенного URL
- Скрипт позволяет увидеть действующее значение любой пользовательской переменной, использованной в файле .properties $(название_переменной) [value.lua]
- Скрипт позволяет открыть в редакторе реестра выделенную ветку. Понимает условные сокращения используемые в языках программирования [RegJump.js]
- Скрипт позволяет найти регистрацию в реестре выделенного COM объекта и открыть его для просмотра в Microsoft OLE/COM Object Viewer. [display_com_object_in_ole_viewer.vbs]
- Многофунциональный калькулятор. Ввод возможен как с цифровой клавиатуры, так и с помощью двойного клика мышью по "кнопкам". Яркий пример оригинального и нестандартного кода. [SciTECalculatorPD.lua]
- HEX редактор. Вначале откройте файл в SciTE, спозиционируйте курсор в нужное место (приблизительно), затем запустите соответствующую команду меню "Tools". "Кнопки" в редакторе работают по двойному клику мыши (альтернативный способ - установить курсор на "кнопку" и вызвать команду "HEX Editor" повторно). Так же очень интересен для изучения LUA. [SciTE_HexEdit.lua]
- Для гипертекстовых документов работает команда, действие которой, аналогично кнопке "Формат по образцу" MS Word. Т.е. сначала выделяем текст уже оформленный необходимыми тегами и выбираем "Запомнить теги". Затем, выделяем неоформленный текст и используем "Оформить в этих тегах" какое угодно количество раз. [paired_tags.lua]
- Для гипертекстовых документов создан новый тулбар (вызов - через меню "Tools" - имя файла - "HTML Toolbar") с помощью которого можно с удобством вставлять выбранные теги в документ. Настройка тулбара осуществляется посредством редактирования файла SciTE\home\HTML_toolbar.ini, формат записей которого подобен записям в html.abbrev файле (и так же поддерживаются параметры "|", %SEL%, %CLP%). Перемещение тулбара осуществляется при нажатой правой кнопке мыши.[HTML_toolbar.hta]
- Подключено HTA приложение, позволяющее автоматически произвести интеграцию SciTE в Windows.[SciTE_WinIntegrator.hta]. Оно:
- добавит в контекстное меню всех файлов пункта "Открыть в SciTE"
- ассоциирует файлы *.SES как файлы сессий SciTE
- установит SciTE в качестве одного из HTML редактора в меню обозревателя и в качестве дефолтного просмотрщика кода веб-страниц в Internet Explorer
- выполнит и другие действия, выбранные пользователем
- Этот список - неполный. Скриптов подключено намного больше, но действие многих из них понятно и без аннотации.
За подробностями обращайтесь к авторским комментариям внутри них.
Подключены файлы настроек:
API файлы, обеспечивающие автодополнение набираемых ключевых слов, а так же для вывода всплывающих подсказок по синтаксису (используются комбинации Ctrl+I, Ctrl+Space, Ctrl+Enter для автодополнения и Ctrl+Shift+Space для вывода подсказки. Так же автодополнение и всплывающие подсказки срабатывают и автоматически при вводе определенных символов) [batch.api, css.api, fortran.api, html.api, jscript.api, nncron.api, nsis.api, perl.api, php.api, python.api, SciTELua.api, vbscript.api, xml.api]
Abbrev файлы, обеспечивающие быструю замену заданных сокращений на полные слова или даже на целые конструкции языка (используются комбинации Ctrl+B и Ctrl+Shift+R) [html.abbrev, jscript.abbrev, php.abbrev, vbscript.abbrev]
Напутствие
Все файлы и каталоги содержат комментарии. Все путные файловые менеджеры поддерживают их показ. Если пользуетесь Проводником - смотрите descript.ion
В каждом подкаталоге имеется файл ReadMe.txt объясняющий назначение, составление и применение представленных файлов.
Большинство файлов с настройками так же содержат подробные русские комментарии.
Если возник вопрос - сначала внимательно изучите эти файлы.
А вот с умными вопросами, замечаниями и предложениями ждем вас на форуме Ru-Board
Снабдите подробными и понятными комментариями любой из файлов настроек, напишите полезный скрипт, придумайте оригинальную цветовую схему, переведите один их абзацев оригинального файла помощи и поделитесь результатом и ваше имя навсегда останется в памяти благодарных пользователей :)