Подтвердить что ты не робот

Управление фрагментами кода в Notepad ++

Есть ли способ управлять фрагментами кода с резервными копиями для базы данных и выделения кода в Notepad ++?

4b9b3361

Ответ 1

Существует хороший плагин для управления фрагментами кода:

SnippetPlus
.NET 3.5 Обязательный! Фрагмент кода и объемный объем с плагином для Notepad ++. Пишите имя фрагмента и замените его реальным кодом или выберите некоторый текст и окружить его что-то вроде IF, TryCatch, Table, Div или что-то еще. Расскажите, если вы не помню имя фрагмента Примечание что последняя версия может быть показана, даже если у вас более старая версия установлен. Переустановите, чтобы убедиться, что вы имеют последнюю версию.
Автор: Раджеш Кумар
Домашняя страница: http://sourceforge.net/projects/snippetplus/

Вы можете установить его из Notepad ++ Plugin Manager и активировать док-станцию, щелкнув черный значок m-like на панели инструментов; затем выберите один из связанных фрагментов и вставьте его в редактор, дважды щелкнув его.

Например, если у вас есть файл Visual Basic, и вам нужно добавить блок try/catch, который содержит структуру if-elseif-else, вы должны следовать эти шаги указаны на изображении:

SnippetPlus example

  • Поместите курсор туда, где вы хотите, чтобы новый фрагмент кода находился, а затем активируйте док-станцию ​​с панели инструментов: это откроет диалог состыкованного места, отмеченный желтым.
  • Дважды щелкните опцию ifelseif в разделе "Сниппеты док-станции": это добавит блок кода, отмеченный синим цветом.
  • Выберите весь код, который вы хотите находиться внутри блока try/catch, и дважды щелкните по опции TryCatch в разделе SurroundWith док-станции: это заменит выбранный код всем блоком кода, отмеченным красным цветом.

Если вы хотите изменить существующие фрагменты или включить свои, используйте редактор графического интерфейса:
GUI Editor

Щелкните фрагмент, который вы хотите изменить/удалить: он будет показан справа. Активный раздел (фрагменты или объемный) выделяется темно-красным фоном:

GUI Editor

Вы также можете добавить пользовательские фрагменты: просто выберите нужный язык и щелкните любой фрагмент из раздела, в котором вы хотите, чтобы новый фрагмент принадлежал (либо фрагменты, либо SurroundWith), а затем запишите имя нового фрагмента, который вы хотите создать (например, образец): кнопка Изменить изменится на Добавить новый
Add new snippet

Вы можете вставлять фрагменты в документы также с помощью сочетания клавиш Ctrl + Shift + ENTER:

  • Вы можете написать прямое имя фрагмента, а затем нажать сочетание клавиш или
  • Вы можете вызвать всплывающее нажатие сочетания клавиш, а затем снова нажать сочетание клавиш, чтобы заменить имя фрагмента на фрагмент содержимого.

insert snippet by keyboard shortcut

Примечания:

  • Этот плагин сохраняет фрагменты (включая пользовательские) между перезапусками.
  • Важное примечание.. Если вы добавляете/изменяете/удаляете фрагменты, только после перезапуска Notepad ++, будут применены изменения (включая содержимое списков по разделам Snippets и SurroundWith). Будьте осторожны, чтобы не дублировать или не добавлять неполные фрагменты.
  • Чтобы применить выделение кода для языка, который вы работаете, просто выберите его в меню language, как это делается традиционно:
    code highlight
  • Фрагменты кода, отображаемые в меню Ctrl + Shift + ENTER, зависят от языкового выделения, которое в настоящее время применяется к документу. Единственные фрагменты кода, отображаемые во всем мире, относятся к категории GENERAL.

Я надеюсь, что эта информация будет полезна для вас.

Ответ 2

В этом ответе конкретно не говорится о том, как управлять фрагментами кода np ++, но это может быть хорошей альтернативой, поскольку похоже, что этот плагин не работает очень хорошо. Я нашел очень гибкое системное решение - использовать AHK. После этого вы можете получить функциональность с фрагментами, а также многое другое, настроив горячие клавиши и расширение текста.

Например, один лайнер AHK script, подобный этому :*:123::123456789, автоматически расширяет набор символов "123" до "123456789", независимо от вашего текущего редактора (np ++ или VS, что угодно). Чтобы ограничить это конкретными приложениями, просто добавьте еще одну строку, как этот #IfWinActive, ahk_exe devenv.exe (Полный пример здесь).

Подробнее о AHK для открытого текста


Простой AHK script для управления фрагментами кода


Я просто взломал простое решение для управления базой данных CodeSnippet. Немного больше работы, и это может быть много slicker.

Что он делает

Предоставляет список фрагментов кода, показанный нажатием Ctrl + Alt + S. Дважды щелкните фрагмент и вставьте его в приложение. Фрагменты - это просто список файлов, и содержимое файла предоставляет код фрагменту.

Как настроить его

1.) Требуется папка с именем "CodeSnippets" в каталоге MyDocuments. Создайте файлы фрагмента кода в этой папке.

2.) Используйте AHK для запуска следующего script. Чтобы "установить и забыть", запустите script при запуске Windows. Из любого приложения в Windows нажмите Ctrl + Alt + S, чтобы выбрать фрагмент.

#NoEnv

HotKey, ^!s, ShowList
return

ShowList:
Gui, Add, ListView, r20 w300 gMyListView, Name
Loop, %A_MyDocuments%\CodeSnippets\*.*
    LV_Add("", A_LoopFileName)

Gui, Show
return

MyListView:
if A_GuiEvent = DoubleClick
{
    LV_GetText(RowText, A_EventInfo)
    FileRead, Snippet, %A_MyDocuments%\CodeSnippets\%RowText%
    Clipboard := Snippet
    Gui, Destroy
    Send ^v
}
return

GuiClose:
Gui, Destroy
return

Ответ 3

Также есть FingerText. Он установил и запустил нормально от новых плагинов Admin. Если вы попробуете это, вы, вероятно, должны перейти к плагинам | FingerText | Установите пакет фрагментов по умолчанию, чтобы получить набор фрагментов по умолчанию. Это винтаж 2012 года, но все еще работает. По умолчанию он расширяет фрагменты с помощью клавиши <TAB>, а именно TextMate. Он имеет макросы расширения, так что $[![(key)DATE:yyyy/MM/dd]!] Представляет текущую дату для ее фрагмента даты вставки. Если вы вставите, например, гиперссылку, она выделит текстовую часть, поэтому она заменит свой заполнитель для текста, когда вы начнете печатать, а затем вы можете нажать <TAB>, и заполнитель URL будет выделен. Это также напоминает способ работы Эммета. Конечно, вы можете добавлять и редактировать новые фрагменты.

Возможно, его самая большая оплошность в том, что он не разбивает фрагменты на категории; так что вы получите только один длинный список для ваших фрагментов. Фрагменты знают о расширениях файлов, однако. Кажется, у него нет автозаполнения. Документацию можно найти в каталоге {NPP}\plugins\FingerText, в файле "README.rdoc".

Это, очевидно, проект win32, и, следовательно, не требует .NET 3.5. Разработчик указывает, что он находится в альфа-стадии; но он кажется достаточно стабильным и кажется более зрелым, чем альфа-стадия, ИМХО. Он имеет открытый исходный код и доступен в GitHub по адресу " erinata/FingerText: плагин сниппета, запускаемый с помощью табуляции для Notepad++ ". Я предполагаю, что если вы хотите версию для x64, вам придется скомпилировать ее самостоятельно; но есть проект Visual Studio.