Notepad ++ автоматически завершает HTML-теги после </ (как это делает Dreamweaver)


20

В Dreamweaver при печати </автоматически закрывается последний открытый тег, поэтому вам не нужно вводить его полностью, и это помогает, если вы не уверены, закрыли ли вы его или нет. Есть ли плагин, который дозирует это для Notepad ++?

Это не похоже на текстовый FX, где ввод открывающего тега / скобки добавляет закрытие на другой стороне курсора. Такое поведение является автоматическим завершением, которое происходит при </вводе, DW находит любой самый открытый открытый тег и закрывает его. Я обнаружил, что, когда у меня есть возможность использовать DW, я буду использовать эту функцию гораздо чаще, чем все, что предоставляет DW. Поэтому я хотел бы знать, есть ли способ сделать это на АЭС.

Вот вопрос
введите описание изображения здесь
о предпочтениях DW: обратите внимание, как существует другая опция, которая делает то, что делает текст FX, но я не хочу этого.

Я не против неортодоксальных предложений, какого-то макроса или взлома засорения. Что-нибудь, чтобы подражать функциональности. Если нужно, я мог бы написать плагин, я просто не знаю, как это сделать.


Так неужели никто не знает о чем-то подобном? Любая идея, насколько сложно было бы реализовать?
Zeel

Просто используйте Dreamweaver .... :)
Apple II

Я бы, если бы мог себе это позволить. В прошлом у меня были времена, когда у меня был доступ к использованию DW, и мне это нравилось, но у меня нет средств, чтобы владеть им для себя.
Zeel

Eclipse выполняет автозаполнение, хотя я думаю, что он слишком тяжел для простого редактирования HTML. +1 за вопрос, я тоже использую АЭС и было бы неплохо иметь такой плагин
Alok

Менее чем за 24 часа. Тем не менее, ни один из ответов не заслуживает награды. Это останется без награды, если никто не даст лучшего.
Zeel

Ответы:


9

Перейдите в настройки TextFX / TextFX и установите флажок «автоматически закрывать теги XHTML».

Это заставляет его работать и в простых HTML-файлах.


1
Нет, вы видите, что это не одно и то же. Это автоматически добавляет конечный тег, когда вы вводите открытие. так что печатание <p>приведет вас <p>|</p>туда, где | это строка ввода. Я хочу, чтобы после печати я дал ему точную информацию о </том, как он дозируется в Dreamweaver. Dw найдет следующий открытый тег и закроет его, если вы введете </25 открытых тегов и напечатаете </25 раз, и все они будут закрыты в правильном порядке. TextFX удобен при создании страницы, но редактирование его позже, если я оберну раздел, скажем, в div, мне нужно будет найти конец и напечатать его. Иногда это может быть проблемой. так что +1 к Dw
Zeel

Я думаю, что в этом нет проблем, так как вы выберете тег в N ++, он будет выделять теги из открытых и закрытых позиций.
avirk

Удивительно, но это не работает для меня.
Лев

5

Да, это можно сделать в Notepad ++, и это очень легко сделать. Следуй этим шагам:

  1. Зайдите в настройки .
  2. Нажмите на вкладку Настройки .
  3. Теперь нажмите на Автозаполнение . Здесь вы увидите два раздела: один - Автозаполнение , а другой - Авто Вставка .
  4. В разделе « Автоматическая вставка » установите флажок « Закрыть теги HTML / XML» .

Еще раз, это не то, что я ищу, я хорошо знаю этот вариант, и он был предложен ранее. Это поведение совсем не то, что я ищу, это объявление закрывающего тега после ввода открытого тега и размещение курсора между ними. Как я уже говорил другим, я не хочу, чтобы это делалось - я хочу, чтобы он автоматически завершал закрывающий тег, как только я начал печатать закрывающий тег. Это функция присутствует в Dreamweaver, введите, </и она будет завершена до первого незамеченного тега.
Zeel

1

Очень частичный ответ:

Вы не включить в TextFX / Настройки TextFX опцию «Auto близко XHTML / XML».

Перейдите в диалоговое окно « Настройки» -> «Настройки ». Нажмите на вкладку Резервное копирование / Автозаполнение и установите параметр Включить автозаполнение .

Это позволит вам выбрать имя конечного тега из префикса.

Лично я бы предпочел для Notepad ++ ответ @ user79590 вместо моего ответа. Если оба ответа не являются удовлетворительными, я бы искал другой HTML-редактор, так как я не верю, что для Notepad ++ существует какая-либо другая возможность.


Хотя это хорошая функция, мне все еще нужно набрать первую букву имени тега (" </d" для div), а затем выбрать имя из списка. Функциональность Dreamweaver является автоматической.
Zeel

Я не верю, что это существует точно так же, как в Notepad ++ или любом существующем плагине.
Harrymc

Тогда возникает вопрос, как бы я это сделал?
Zeel

1
Перейдите в другой редактор. Исходя из моего личного опыта, я считаю, что Eclipse по умолчанию работает так, как вы хотите. Еще один отличный редактор - IntelliJ IDEA (где это настройка). Оба являются бесплатными и отличными средами разработки, а не просто редакторами. Очень большой список других редакторов можно найти в Best Free HTML Editor .
Harrymc

Хотя это может быть вариантом, мне нравится АЭС, и я все же хотел бы найти способ сделать это в ней.
Zeel

1

Возможно, вы могли бы использовать HTMLKit с ярлыком «ALT + END», который завершит ваш текущий тег. Может быть, в N ++ есть что-то подобное ...


Если бы я использовал это, я, конечно, мог бы подделать функциональность DW с AHK, чтобы превратить </в ALT+END. Однако я не знаю ни одного подобного ярлыка на АЭС. Любой, кто действительно может хотеть трубить, потому что они могут просто получить награду.
Zeel

@zeel Не знаю, заметили ли вы, но в ответе @ user2427906 упоминается Notepad#плагин, который имеет эту функциональность. Итак, используя это в сочетании с Auto HotKey (AHK), у нас все-таки может быть обходной путь ... Я сейчас работаю над сценарием ...
D.Tate

1

Эта тема может быть довольно старой, но вот ответ. Используйте Менеджер плагинов (Плагины -> Менеджер плагинов) и установите XML Tools.

После установки инструменты XML будут отображаться в пункте меню «Плагины», и в его функциональности есть опция «Автоматически закрывать теги».

Ура!


Нет, то же самое, что TextFX будет делать. И, как я уже заметил, я не ищу этого. Я хочу, чтобы мой закрывающий тег был создан, когда я его запрашиваю (в DW я просто набираю '</') не сразу после завершения первого.
Зил

1

Если ни один из приведенных выше ответов не делает то, что вы хотите, вы также можете отправить запрос о функции разработчику Notepad ++ здесь:

http://sourceforge.net/p/notepad-plus/feature-requests/

Или вы можете разработать плагин самостоятельно и представить его разработчику.


1

попробуйте установить:

Блокнот Sharp плагин.

выполните этот шаг:

  • Нажмите Plugins> Notepad#>Close last open tag

  • или нажмите ( Ctrl+ .)

Примечания:
не очень хорошо для вложенных тегов. просто хорошо для вашего последнего открытого тега.

Плагин XML Tools

выполните этот шаг:

  • Нажмите Plugins> XML Tools>Tag auto-close

другой вопрос похож:
Notepad ++ закрытие последнего открытого тега

Notepad ++ XML Auto Indent + закрытие тегов

HTML-тег автозаполнения в Notepad ++?

Блокнот ++ - выделите текст и вставьте в него HTML-тег <tag> </ tag>

Размещение тегов вокруг выделенного текста в блокноте ++

обернуть выделение вокруг ... в блокноте ++


1

Используя плагин Notepad ++ Notepad #, упомянутый в ответе @ user2427906 , а также AutoHotKey , можно закрыть HTML-теги в коде Notepad ++ после ввода текста </, как в Dreamweaver. После правильной настройки вот код AHK, который вы можете использовать, чтобы заставить его работать:

#IfWinActive, ahk_class Notepad++
~<::
Input, UserInput, L1 V
if UserInput=/
    Send, {Backspace 2}^.
return
#IfWinActive

Примечание. Используется команда «WinActive», поэтому она будет работать только в окне Notepad ++. Также обратите внимание, что если вы введете </его, он сначала выдаст 2 команды Backspace, прежде чем пытаться закрыть тег, и эти символы будут удалены независимо от того, закрыт тег или нет.

В сумме: Блокнот # предоставляет вам возможность ввода Ctrl+., чтобы закрыть тег, что приведет нас на полпути. И AutoHotKey затем используется для сопоставления </сCtrl+.

Спасибо @ user2427906, а также этот ответ .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.