Для Notepad++ поперевыбирал кучу плагинов в надежде получить тривиальную штуку - текущее выделение обрамить HTML-тегом, который вначале будет запрошен.
НИГДЕ нет!
В результате написал код для плагина Python Script:
Делает следующее:
1. Спрашивает у пользователя тег с аттрибутами.
2. Обрамляет текущее выделение текста запрошенным тегом.
3. Понимает отсутствие выделения текста.
4. Понимает теги, которые не требуется закрывать.
Можно подвесить на клавишу, я подвесил на Alt+X через Shortcut Mapper, или на контекстное меню через редактирование contextMenu.xml.
НИГДЕ нет!
В результате написал код для плагина Python Script:
def openingTag(tagStr):
return "<" + tagStr + ">"
def closingTag(tagStr):
pureTag = tagStr.partition(" ")[0]
unclosedTags = ["br", "input", "img", "link", "hr", "area",
"frame", "wbr", "meta", "base", "col",
"isindex", "param", "basefont"]
if pureTag in unclosedTags:
return ""
return "</" + pureTag + ">"
tagStr = notepad.prompt("Tag with attributes:", "Insert HTML/XML tag")
if not tagStr is None:
editor.beginUndoAction()
selStr = editor.getSelText()
editor.replaceSel(openingTag(tagStr) + selStr + closingTag(tagStr))
editor.endUndoAction()
Делает следующее:
1. Спрашивает у пользователя тег с аттрибутами.
2. Обрамляет текущее выделение текста запрошенным тегом.
3. Понимает отсутствие выделения текста.
4. Понимает теги, которые не требуется закрывать.
Можно подвесить на клавишу, я подвесил на Alt+X через Shortcut Mapper, или на контекстное меню через редактирование contextMenu.xml.
Огромное спасибо!! Я уж было отчаялся найти подобную штуку. Ты мне очень помог! Повесил на хоткей и гори в аду этот дримвьювер. ))
ОтветитьУдалить