TLDR: Кажется, есть ошибка в способе, с помощью которого NetBeans обрабатывает отступы / отступы.
Я ожидаю, что отступ будет удален
Я не см. любую формальную документацию о том, как предполагается, что отступы работают в NetBeans, но он, кажется, перемещает текст справа от курсора влево, при условии, что слева от курсора есть только пробел. Хотя это отличается от того, как работает деиндентирование в других редакторах кода, таких как Intellij IDEA и Eclipse, где вся строка смещена влево, даже если курсор находится внутри текста, это не обязательно неверно.
Если Вы хотите удалить отступы в NetBeans, есть две простые альтернативы: либо поместите курсор в начало строки, либо выделите какой-нибудь текст - что угодно! - в этой строке перед отступом.
Некоторые комментарии в отчете об ошибках NetBeans Ошибка 212353 - Сочетание клавиш Shift + Tab (Удалить вкладку) не работает в редакторе может иметь значение:
Обратите внимание, что эти действия должны быть обратными - я имею в виду, когда вы выбираете блок и нажимаете <TAB> <TAB> <Shift-TAB> <Shift-TAB>
, вы всегда должны получать один и тот же текст. То же самое должно быть верно, если вы измените порядок на <Shift-TAB> <Shift-TAB> <TAB> <TAB>
, у вас должен получиться тот же текст.
При этом NetBeans не придерживается этого стандарта. Используя ваш второй пример, нажатие <TAB><TAB>
работает нормально, но последующее нажатие <SHIFT><TAB>
ничего не делает, поэтому невозможно " закончиться тем же текстом ". Это похоже на ошибку (по крайней мере, в Apache NetBeans 11.2). Вы можете подать отчет об ошибке здесь .
Стоит также отметить, что <Shift>
+ <Tab>
фактически определено как таблица ключей для "Удалить вкладку", а не для "отступа".
Есть ли в Netbeans конфиг, который заставляет работать отступы через Shift + Tab, когда курсор находится внутри строки?
Я так не думаю. Все, что вы можете сделать, используя Tools > Options > Keymap
, это изменить сочетания клавиш с <Shift>
+ <Tab>
на что-то другое, но это не изменит поведение.