PyCharm: Как пропустить закрытие скобок/скобок/скобок?

Я не могу заставить авто-отступы работать должным образом, если я не использую автоматическое закрытие фигурных скобок и т.д. (что мне не нравится), и я не вижу опции, позволяющей пропускать/выходить.

Eclipse имеет для этого параметр конфигурации, а Visual Studio по умолчанию не закрывает все по-умолчанию, а форматирует блок кода после ручного ввода закрывающей скобки (что я предпочитаю).

Несомненно, есть что-то помимо прохода к ключу "Конец"?

Ответ 1

После долгого долгого времени, проведенного в меню настроек, я пришел к конфигурации, похожей на Eclipse, во многих отношениях, включая способ скобки/скобки/круглые скобки, когда включена опция "Вставить пару"; точную комбинацию было бы невозможно связать.

Я не верю, что в IDE есть точная функция, включающая автоматическое форматирование при вводе закрывающей скобки (похоже на Visual Studio), но с радостью будет отличать другой ответ, чем мой, если кто-то обнаружит способ.

Ответ 2

Нажмите Ctrl-Shift-Enter, чтобы закрыть отсутствующие фигурные скобки в текущей строке (если есть), добавьте отсутствующий двоеточие (если отсутствует) и поместите курсор в позицию с правильно отступом на следующей строке.

Ответ 3

Колледж сказал мне решение:

Сначала вы набираете это:

def test_foo(

PyCharm вставляет self), как только вы набираете (

Текущее состояние: ^ указывает позицию курсора:

def test_foo(self^):

Просто введите ): и нажмите ENTER, и вы на следующей строке.

Поскольку я печатаю десять пальцев Ctrl-Shift-Enter, это не решение для меня в таких общих действиях редактирования.

Ответ 4

Почему вам не нравятся автоматические закрывающие скобки? Они никого не беспокоят, смотри:
^ определяет положение курсора

method([a, {b: c^}])
ведет себя так, как будто никаких скобок не было, если вы вставляете новые скобки!

Вставить '}':
method([a, {b: c}^])
теперь вставьте ']':
method([a, {b: c}]^)
теперь вставьте ')':
method([a, {b: c}])^

et voila! С точки зрения пользователей, если вы печатаете вслепую, вы не можете сказать, что вы видите сейчас, если были вставлены автозакрывающиеся скобки или нет.

Или просто: держите закрывающиеся скобки включенными. IntelliJ проделал большую работу над множеством мелких вещей, которые мы хотим интуитивно.

Ответ 5

Shift + Enter перепрыгнет через завершения и опустит вас на следующую строку.

Ctrl +] перейдет в конец текущего элемента.

Похоже, это работает в большинстве случаев, чтобы пропустить автозаполнения. Я считаю, что это самый универсальный из вариантов.

Ctrl + [ переместит вас в начало любого блока кода, в котором вы находитесь.

Как упоминалось ранее, Ctrl + Shift + Enter добавит любые дополнительные автозаполнения, которые вам могут понадобиться, и перейдет на новую строку.