AutoCompletion v0.1 - инструмент для автозавершения слов в Notepad++.
AutoCompletion - предназначен для автозавершения функций, слов, переменных, макросов, фрагментов кода. Чтобы подключить к редактору, достаточно создать вызов AutoCompletion.exe с помощью горячей клавиши. Обычно многие редакторы текста это позволяют. После вызова алгоритм выделяет текст слева от курсора и находит в конфигурационном файле варианты завершения слова. Чтобы вставить фрагмент выберите, используя Tab или Shift+Tab для переключения между списками, стрелки вниз/вверх для выбора фрагмента, Enter - для вставки фрагмента взамен выделенного слова. Если окно теряет фокус, оно автоматически закрывается. Для отмены автозавершение - Esc. Пустые списки скрыты.
Конфигурационный файл изначально настроен на AutoIt3. Но это не мешает изменить его для своих предпочтений. Теперь подробнее о формате конфигурационного файла:
1. Формат задан жёстко и не подразумевает комментарии, лишние пустые строки и т.д. Первая строка - набор 12 параметров. Из них первые пять флагов (0 или 1) определяют какие разделы выводить в GUI. Следующие 5 параметров определяют ширину списков. Параметр в позиции 11 - высота окна. Последний - размер шрифта.
2. Далее пять секций (Functions, Variables, Macro, Snippets, Word) в которых находятся паттерны. Секция Snippets отличается тем что в ней может использрваться многострочный текст, формат следующий "имя=вставка¦", где "имя" - то что отображается в списке, "вставка" - то что вставляется в редактор, "¦" - конец фрагмента (включая перенос строки). Имя не должно содержать знак "=", так как после первого знака левая часть является именем, а правая фрагментом. Секции Functions и Word работает по принципу - что в списке, то и вставляется. Секции Variables и Macro отличаются от предыдущих тем, что при вставке добавляются соответствующие префиксы. Допустимо отключить ненужные секции и удалить их из конфигурационного файла, но нельзя изменять порядок секций.
3. Списки в конфигурационном файле нужно делать сортированными. После того как будет найден первый фрагмент, захватываются последующие соответствующие фильтру. Лосле первого несоответствующего далее список не просматривается.
4. Данные не хранятся в памяти. После каждого вызова список заново анализируется, а после вставки программа полностью завершается.
В Notepad++ указать строку запуска "$(NPP_DIRECTORY)\Instrument_azjio\AutoCompletion\AutoCompletion.exe" или в shortcuts.xml вставить команду:
"$(NPP_DIRECTORY)\Instrument_azjio\AutoCompletion\AutoCompletion.exe"
План:
1. Возможность указывать порядок списков. Например 3,4,2,0,1
2. Задать префикс для Variables и Macro в конфигурационном файле. Или использовать в общем списке.
3. Добавить список переменных текущего файла.
Обновления
0.1
Первая скомпилированная версия
|