Блокнот ++: отключите автоматический отступ после пустых строк

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

37
задан hakre 11 May 2013 в 07:38
поделиться

6 ответов

1) Первый плагин NppAutoIndent установки, если у Вас нет его.

Плагины> Сменный менеджер> Выставочный менеджер по Плагину, тогда NppAutoIndent установки от вкладки "Available" того меню.

2) Это поведение может быть выключено путем выполнения:

Плагины> NppAutoIndent> Предыдущая строка

3), Если эта опция отключена, Вы, возможно, должны сначала проверить эту опцию:

Плагины> NppAutoIndent> Игнорируют язык

24
ответ дан Daniel Hári 27 November 2019 в 04:55
поделиться

Я могу подтвердить, что эта проблема происходит с Блокнотом ++ версия 5.0.3. Единственная связанная установка, которую я нашел, является объектом Настроек> Предпочтения> MISC> Автоматический отступ, но это просто включает или выключает весь автоматический отступ.

я использовал Editra ( http://editra.org ) в прошлом, и было довольно им, и это, кажется, обрабатывает расположение с отступом путем, Вы описываете.

16
ответ дан Michael Paladino 27 November 2019 в 04:55
поделиться

То, что я делаю в Блокноте ++:

  • существует "конечные пробелы для обрезки" макрос в TexFX> Редактирование TexFX.
  • Использование это, чтобы создать "обрезку и сохранить" макрос.
  • Связывают тот макрос с CTRL + S и связывают, 'Сохраняют' к чему-то еще.

я сказал бы Вам, как записать макрос, который использует другой макрос, но это несколько лет назад, я сделал это, и теперь я просто копирую файл вокруг. Я ожидаю его Просто Работы, или возможно я сделал это путем ручного редактирования файла ярлыков. Это похоже на это (в shortcuts.xml):

<Macro name="Trim and save" Ctrl="no" Alt="yes" Shift="yes" Key="83">
    <Action type="1" message="2170" wParam="0" lParam="0" sParam=" " />
    <Action type="1" message="2170" wParam="0" lParam="0" sParam=" " />
    <Action type="1" message="2170" wParam="0" lParam="0" sParam=" " />
    <Action type="0" message="2327" wParam="0" lParam="0" sParam="" />
    <Action type="0" message="2327" wParam="0" lParam="0" sParam="" />
    <Action type="2" message="0" wParam="42024" lParam="0" sParam="" />
    <Action type="2" message="0" wParam="41006" lParam="0" sParam="" />
</Macro>

Два предупреждения:

  • макрос для обрезки является багги. Это только работает, если курсор в конце строки, когда это используется. Я иногда думаю о попытке зафиксировать его или сделать мое собственное, но никогда не могу беспокоиться, потому что я рефлексивно работаю вокруг этого путем перемещения курсора сам перед сохранением. То же обходное решение могло просто быть встроено в Вашу "обрезку и сохранить" макрос.

  • Некоторые люди расстроены, разделяете ли Вы запаздывание пробела из "их" файлов - или потому что им нравится он, или потому что они иногда используют разность, не игнорируя пробел (например, в отчетах об изменении) и не хотят видеть, что Вы изменили половину файла, когда действительно это была острота. Таким образом для тех файлов, просто оставьте запаздывающий пробел, как это, и сохраните с alt-f-s (или 'что-то еще', которое Вы переместили, сохраняют к) вместо ctrl-s. Вероятно, необходимо установить Блокнот ++ для не очистки буфера отмены на сохранении: иначе ошибка здесь была бы определенным бедствием. Но я установил это так или иначе.

1
ответ дан Valery Viktorovsky 27 November 2019 в 04:55
поделиться

Честно говоря, это мне кажется ожидаемым поведением. Пустые строки используются много один для разбивания кода для создания, он более читаемый, имея программу делает меня, должны снабдить вкладками, снова было бы ОЧЕНЬ раздражающим.

я могу понять это как разочарование чем-то как Python, но не PHP... Хотя, перед фигурными скобками и т.д. и т.д. это могло бы быть раздражающим.

Испытывают Редактирование Комодо однако, это свободно, и я нашел, что это обычно было лучшим для автоматического отступа для меня. Это, кажется, изучило мой стиль кодирования (или имейте опции в нем для всех стилей кодирования, и это берет то, что Вы используете), и автоматически располагает все с отступом правильно.

Редактирование: Как Вы отметили в своем ответе, проблема с "запаздывающим пробелом" - я не знаю Блокнот ++ слишком хорошо, но у самых современных редакторов, разработанных для кодирования, есть "полоса, запаздывающая пробел на сохранении" опция (я знаю, что Комодо делает!)

0
ответ дан Mez 27 November 2019 в 04:55
поделиться

Обрезать конечное пространство и сохранить надоедливо. Вы заметите, что случайно вставляете в документы несколько символов.

Вместо этого запишите макрос и привяжите его к вашим ctrl + s.

Вот как это сделать:

  1. Макрос -> Начать запись
  2. Правка -> Обрезать конечный пробел
  3. Файл -> Сохранить
  4. Макрос -> Остановить запись
  5. Макрос -> Сохранить текущий записанный макрос (Обрезать и сохранить)
  6. Настройки-> Сопоставление ярлыков
  7. Главное меню -> Сохранить -> Ctrl + Alt + Shift + Сохранить
  8. Макросы-> Обрезать и сохранить -> Ctrl + S
1
ответ дан 27 November 2019 в 04:55
поделиться

К сожалению, Notepad ++ не обрезает вторую пустую новую строку автоматически. Но в качестве временного решения я согласен с user108570 : макрос был бы идеальным.

Мне нравится проводить концептуальное различие между «мягким» и «жестким» переводом строки, аналогично двум типам вкладок. Результат первого зависит от текущего стиля и настроек отступа. Однако на выходе последнего всегда должна быть простая, чистая, чистая ванильная новая строка.

Наиболее часто используемый вариант перевода строки, конечно же, должен быть сопоставлен с более простой комбинацией клавиш. Для большей части вашего редактирования вы, вероятно, захотите оставить «мягкий перевод строки» сопоставленным с клавишей «Enter» и изменить «Ctrl + Enter», чтобы активировать «жесткий перевод строки».

В «Меню -> Настройки -> Сопоставление клавиш -> Главное меню» вы увидите, что по умолчанию «Ctrl + Enter» отображается на «Завершение слова». Это необходимо сначала отключить, установив для него значение «Нет».

Затем просто запишите макрос:

  1. Меню -> Макрос -> Начать запись
  2. Клавиатура -> Enter
  3. Клавиатура -> Вкладка
  4. Клавиатура -> Shift + Home
  5. Клавиатура -> Удалить
  6. Меню -> Макрос -> Остановить запись
  7. Меню -> Макрос -> Сохранить текущий записанный макрос

На последнем шаге появится диалоговое окно, в котором вы должны назвать макрос (например, «Жесткий перевод строки») и установить его отображение (например, "Ctrl + Enter").

На шаге 3 мы могли добавить что угодно (можно распечатать). Его единственная цель - добавить что-то для удаления, если до этого ничего не было, чтобы любой текст, следующий за курсором, остался нетронутым.

2
ответ дан 27 November 2019 в 04:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: