Как я могу заставить Eclipse вставлять вкладки вместо пробелов для Java content assist?

StackOverflow https://stackoverflow.com/questions/2636589

  •  26-09-2019
  •  | 
  •  

Вопрос

Есть ли какой-нибудь способ убедить Eclipse использовать табуляции вместо пробелов для отступов в своих встроенных предложениях Java content assist (например, при создании пустого метода, который переопределяет метод в родительском классе)?

Единственный параметр, который я смог найти, который выглядел релевантным, находится в Windows / Настройки / Общие / Редакторы / Текстовые редакторы / Вставить пробелы для вкладок, и этот параметр не отмечен.

(РЕДАКТИРОВАТЬ:Несколько плакатов указали на политику Java / Code Style / Formatter / Indentation / Tab, для которой установлено значение "Только вкладки")

На данный момент я должен не забыть выбрать их и переформатировать с помощью <Ctrl>+<Shift>+<F>.

Это было полезно?

Решение

Похоже, в настоящее время это ошибка (не исправлена в версии 3.5).:

ошибка 44755 (для комментариев, но также допустимо для других операций рефакторинга JDT)

Также связан с ошибка 231832, связанный с ошибкой в перезаписи AST...

Я считаю, что это проблема с ASTRewrite, не с клиентом ASTRewrite.Мы должны убедиться, что настройки форматирования кода доступны для части перезаписи .
Переезд в JDT/Core для расследования.

Обнаружен в конце версии 3.4, все еще не исправлен в версии 3.5

Другие советы

Я нашел решение, благодаря комментарию Саймона Никерсона выше, на который ссылался оригинальный постер в своей правке.Найдя нужную настройку, я вижу, о чем они говорят.Однако путь к нему был проложен в нескольких шагах от начала пути, поэтому он не может дать четкого ответа людям, которые новички в Eclipse или были далеки от него в течение нескольких лет, как я.поэтому я приведу здесь полный путь:

  1. Перейдите в раздел Проект-> Свойства.
  2. В появившемся окне перейдите в раздел "Стиль Java-кода" -> Форматировщик.
  3. Нажмите на ссылку "Настроить параметры рабочей области" в правом верхнем углу окна.
  4. Нажмите кнопку Изменить рядом с названием.
  5. Измените раскрывающийся список "Политика табуляции:" на "Только пробелы", потому что табуляции - это зло, которое неизбежно приводит к плохо отформатированному коду.>:-(Здесь вы также можете реально повлиять на размер отступа и табуляции в ваших файлах.
  6. Вам нужно будет изменить "Имя профиля" в верхней части поля, чтобы сохранить внесенные изменения.
  7. К счастью, как только вы нажмете "ОК", Eclipse будет использовать ваш профиль для вашего текущего проекта, так что после этого шага все готово.

Теперь, что действительно сломано, так это тот факт, что эти настройки переопределяют более простой интерфейс для изменения похожих по звучанию настроек в "Windows / Настройки / Общие / Редакторы / Текстовые редакторы / Вставка пробелов для табуляции".Кому-то относительно новичку в редакторе это показалось бы подходящим местом для установки параметра табуляция = пробелы по умолчанию.После нахождения реального ответа становится ясно, что это только для общего редактирования текста, и в профилях для соответствующих языков необходимо настроить языковые настройки.Однако для новичков это должно быть немного понятнее.;-)

Загляните в настройки Java / Code Style / Formatter
Создайте свой собственный профиль и установите для "Отступов" / "Политики вкладок" значение "Только вкладки".

Настройки > Java > Стиль кода > Форматировщик > Правка > Отступ > Флажок использовать табуляции только для начального отступа

Способ, которым я это настроил, - включить "Форматировать исходный код" в настройках редактора-> Сохранить действия.

Таким образом, он переформатирует исходный код при сохранении.

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

Я убедился, что не установлен флажок Правка> Режим интеллектуальной вставки, и это, похоже, помогло мне, когда настройка параметров отступов и форматирования не сработала.Запускаю Eclipse 3.7.0.

Даже после установки опции "Вставить пробелы для вкладок" в настройках текстового редактора И настройки моей политики вкладки профиля форматирования только на пробелы, Eclipse все еще вставлял символы табуляции.Только после удаления всех табуляций из файла он правильно вставил пробелы для табуляций.Обнаружив это, я определил, что опция Вставки пробелов для вкладок в настройках текстового редактора, похоже, не имеет никакого эффекта, и желаемых результатов достигает изменение политики вкладок профиля форматирования.

Еще одно решение, которое "сработало для меня", даже если другие решения не сработали (Версия:3.8.1):

Настройки > Java > Стиль кода > Форматировщик > Правка > Отступ > Использовать пробелы для отступа обернутых строк - Флажок снят

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top