Как я могу ввести буквенный символ <TAB> в IntelliJ/IDEA/PyCharm?

Мои отступы конфигурации с четырьмя пробелами, и я хочу сохранить это. Иногда (например, в Makefile) я хочу ввести буквенный символ TAB.

Как заставить IntelliJ-IDE вводить вкладку или пробел, когда это не будет сделано, когда я нажму вкладку или пробел в этом экземпляре?

Ответ 1

Откройте другой текстовый редактор, введите a tab, а затем скопируйте и вставьте в редактор PyCharm. В MacOSX это работало для меня, используя как Sublime Text 2, так и TextEdit.

Ответ 2

Я не могу придумать никакого "прямого" способа. Вероятно, самый простой способ, о котором я могу думать, - написать Live Template для этого. Дополнительную информацию см. на странице справки в разделе "Живые шаблоны" . Когда вы его пишете, вам может потребоваться скопировать и вставить символ табуляции из другого приложения.

Однако, когда я это пробовал, IDEA рассматривал его как пустой текст и не сохранил его. Поэтому я использовал переменную с функцией "capizeize", чтобы использовать символ табуляции.

Снимок экрана с живым шаблоном

Вот шаблон, который я создал, который вы можете вставить в свои шаблоны. Теперь я набираю tab, нажимаю клавишу Tab и получаю символ табуляции. Конечно, вы можете изменить аббревиатуру.

<template name="tab" value="$TAB$" description="Enter a tab Character" toReformat="false" toShortenFQNames="true">
  <variable name="TAB" expression="capitalize(&quot;&#9;&quot;)" defaultValue="&#9;" alwaysStopAt="false" />
  <context>
    <option name="OTHER" value="true" />
  </context>
</template>

Вы можете расширить идею, чтобы иметь несколько из них, которые вводят несколько вкладок. Например tab, чтобы ввести 1 вкладку, tab2 для двух вкладок и т.д.

Снимок экрана после использования: Снимок экрана, используемый в коде

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

Ответ 3

Кажется, вы задаете два вопроса:

1. Как заставить IntelliJ IDE вводить вкладку, когда она не будет делать этого, когда я нажимаю вкладку?

и

2. Как заставить IntelliJ IDE вводить пробел, когда он не будет делать этого, когда я удалю пробел?

Я не понимаю, как может возникнуть второй случай. Однако я также предложил решение.

Случай 1. Вставьте символ табуляции, когда IntelliJ IDE хочет заменить его пробелами из-за конфигурации

Решение

Используйте поиск и замену.

Подробнее

  • Поместите курсор, где вы хотите, чтобы вкладка была
  • Нажмите клавишу X
  • Выберите только X
  • В главном меню выберите "Редактировать | Найти | Заменить, чтобы открыть панель поиска и замены.
  • Убедитесь, что в поле поиска есть X
  • Введите \t в поле замены
  • Убедитесь, что опция Regex отмечена.
  • Убедитесь, что опция In Selection отмечена.
  • Нажмите кнопку Replace

Случай 2. Вставьте символ пробела, когда IntelliJ IDE не просто позволит вам ввести один (???)

Решение

Используйте поиск и замену.

Подробнее

  • Поместите курсор, где вы хотите, чтобы пространство было
  • Нажмите клавишу X
  • Выберите только X
  • В главном меню выберите "Редактировать | Найти | Заменить, чтобы открыть панель поиска и замены.
  • Убедитесь, что в поле поиска есть X
  • Введите пробел в поле замены
  • Убедитесь, что опция In Selection отмечена.
  • Нажмите кнопку Replace

Ответ 4

Установите плагин для поддержки Makefile: https://plugins.jetbrains.com/plugin/9333-makefile-support

Когда я попробовал это сегодня, это автоматически использует жесткие вкладки в редакторах для файлов Makefile.