Авто-отступ в Notepad ++


187

Мы всегда пишем код, как этот формальный:

void main(){
  if(){
    if()
    }

Альтернативный текст

Но когда я использую Notepad ++ , дисплей выглядит так:

void main(){
if(){
if()
}

Альтернативный текст

Как использовать Notepad ++ для автоматического отступа?

Благодаря Джонатану , я установил его, но это не дает никакого эффекта. Снимок ниже:

Альтернативный текст

Я использую Notepad ++ версии 5.1.3.

Ответы:


135

Notepad ++ будет автоматически вставлять последующие отступы, только если вы вручную сделаете отступ в первой строке блока; в противном случае вы можете переопределить свой код после фактического использования TextFX > TextFX Edit > Reindent C++ code.


1
Если в вашей версии отсутствует DLL, вы можете получить ее из версии ZIP 5.9.0. Некоторые из более поздних версий не включали эту DLL. notepad-plus-plus.org/download/v5.9.0.html
Фост

2
Я действительно нашел это, когда искал способ отформатировать код JavaScript. Оказывается, это работает и для файлов .js!
святая вера

7
@Fostah: вы также можете установить «Text FX Character» через> Плагины> Менеджер плагинов> Показать менеджер плагинов
Adrien Be

@scronide, есть для этого сочетание клавиш?
Pacerier

Обратите внимание, что, несмотря на название, он также правильно переписал код JavaScript, который я пытался исправить, отступ. Нет причин я бы ожидать , что это не просто упоминания, так как имя является весьма специфично. Не знаю, почему автор этой библиотеки счел необходимым отдать предпочтение C ++ ...: D
neminem

99

Если меню TextFX не существует, вам необходимо скачать и установить плагин. Плагины-> Диспетчер плагинов-> Показать диспетчер плагинов, а затем проверьте плагин TextFX Знаки . Нажмите «Установить», перезапустите Блокнот ++.

В версии Notepad ++ v6.1.3 я разрешаю с помощью: Менеджер плагинов-> Показать диспетчер плагинов ** и затем проверяю плагин «Отступ по сгибу»


2
Отступ за сгибом - это круто. Тот факт, что он работает в произвольном формате ( XML, C / ++ / # и т. Д. ), Великолепен. Единственная проблема с этим - стек отмены. При использовании, если вы хотите отменить точку до того момента, когда у вас есть отступ, вы должны отменить все повторные отступы каждой строки, так как она не добавляется в стек как одна команда. В основном, будьте осторожны при работе с длинными файлами.
Дэн Лугг

Привет @Dan проблема отмены, кажется, была исправлена ​​в более новой версии отступа сворачиванием ...
538ROMEO

2
Да, его не существует и нет менеджера плагинов.
Бейондо

31

Кажется, есть опция для автоформатирования XML, по крайней мере. Это может быть найдено в TextFX -> TextFX HTML Tidy -> Tidy: reindent XML.


2
для этого вам нужен плагин TextFx
arviman

29

Большинство разработчиков программ для редактирования текста неправильно используют это имя (авто-отступ). Правильное название «сохранить отступ». Авто-отступ - это то, что вы на самом деле хотите, но оно не реализовано.

Я также хотел бы видеть эту функцию в Notepad ++.


22

В последней версии (по крайней мере) вы можете найти ее через:

  • Настройки (меню)
  • Настройки ...
  • MISC (вкладка)
  • нижний левый список флажков
  • « Авто-отступ » - второй вариант в этой группе

[ EDIT ] Хотя, я не думаю, что это была лучшая реализация Auto-Indent. Итак, убедитесь, что у вас версия 5.1 - авто-отступ недавно был пересмотрен, поэтому он автоматически исправляет ваши отступы.


Также обратите внимание, что вам не хватает блока для второго if:

void main(){
  if(){
    if() { }  # here
  }
}

8
Обратите внимание, что этот параметр автоматического отступа в Notepad ++ предполагает, что вы делаете первый отступ в блоке вручную; это не автоматически форматирует код для вас.
Скронид

Я понял ваше значение только сейчас, пожалуйста, прости мой бедный англ ... Мой родной язык - китайский ...
Turion

14

Вы можете использовать плагин «Отступ по сгибу». Установите его из менеджера плагинов. Он отлично работает для меня.


2
Отступ за сгибом - это здорово, за исключением того, что он делает отступ только за сгиб;) В ситуациях, когда вы отступали при инициализации списка, если в языке не используется символ свертывания для разделения инициализатора, он в конечном итоге не станет отступом. Пример представляет собой несколько строк инициализации массива в PHP с использованием array( ... ), где ()не являются складывание.
Дэн Лугг

5

В версии 6.6.8 я установил плагин NppAutoIndent из плагинов> Диспетчер плагинов> Показать диспетчер плагинов. Затем я выбрал опцию Smart Indent в плагине> NppAutoIndent. Надеюсь это поможет.


4

Небольшое обновление: вы можете пропустить плагин TextFX и просто использовать Tidy2 . Здесь вы можете настроить свои собственные правила форматирования для различных типов кодов. Простота установки и удаления в течение

Notepad ++> Плагины> Диспетчер плагинов> Показать диспетчер плагинов

и просто найдите Tidy2 и установите его. Готово.


Можете ли вы объяснить немного больше?
Дитер Мимкен

Более подробную информацию о конфигурации можно найти здесь: stackoverflow.com/questions/14865770/using-tydy2-for-notepad
Свен Я

его довольно сложно использовать по сравнению с другими плагинами
Gaurav khurana

4

Для тех, кто использует Notepad ++ v6.8.1 и более поздние версии, настройка автоматического отступа теперь находится в меню « Настройки» → « Настройки» → « MISC». Авто отступ .

Введите описание изображения здесь


3

Попробуйте подключаемый модуль UniversalIndentGUI для Notepad ++. Он переопределяет код на основе некоторых параметров. Это хорошо сработало для меня.


3
Обратите внимание, что ссылка является прямой к загрузке. Веб-сайт: universalindent.sourceforge.net . Кроме того, это похоже на графический интерфейс для настройки инструмента переформатирования, а не на автоматическое форматирование текста для начала.
Мартин Боннер поддерживает Монику

2

Это может показаться глупым, но в первоначальном вопросе Turion редактировал простой текстовый файл. Убедитесь, что вы выбрали правильный язык в меню «Язык».


2
Menu TextFX → TextFX Edit → Reindent C++ code

введите описание изображения здесь

Но Notepad ++ не поставляется с этим плагином «Text FX Character». Вам нужно будет установить его через

Plugins → Plugin Manager → Show Plugin Manager.

Добавить ярлык для отступа .

Нажмите « Настройки» → « Ярлык ярлыков» ... установите желаемую комбинацию клавиш. Я предпочитаю Ctrl+ =.

Введите описание изображения здесь


1

Установите плагин Tidy2. У меня Notepad ++ v6.2.2, и Tidy2 пока работает нормально.


1

Сначала скачайте менеджер плагинов по этой ссылке, затем разархивируйте zip-папку и скопируйте ее в папку program / notepad ++. затем перезапустите свой блокнот ++. тогда вы видите менеджер плагинов внутри меню плагинов. затем нажмите менеджер плагинов, затем нажмите показать менеджер плагинов. Он показывает весь ваш список плагинов. из списка внизу найдите инструменты XML, проверили и установите его. затем перезапустите свой блокнот ++. После открытия документа затем плагины / XML инструменты / довольно простой (отступ текста), а затем наслаждайтесь.


0

Для тех, кто использует версию 7.8.5, настройки Авто-отступа теперь расположены в «Настройки» -> «Настройки ...» -> «Автозаполнение».

введите описание изображения здесь


0

Попробуйте сохранить файл раньше, тогда он будет отступать.


Это может быть комментарий!
Фарбод Ахмадиан

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