Отступы в графическом интерфейсе Python
-
22-08-2019 - |
Вопрос
Когда я пишу код на Python и внезапно чувствую желание добавить новый блок перед уже написанным кодом....влияет отступ всего кода..переход к каждой строке и изменение отступа очень утомительный процесс... есть ли способ сделать автоматический отступ или что-то в этом роде...
например:
def somefunction:
x =5
return x
если я хочу добавить блок управления
например:
def somefunction:
if True:
x =5
return x
return 0
это небольшое изменение, связанное с добавлением блока управления, потребовало много работы с вкладками....
есть ли ярлык или что-то, чтобы сделать это легко?
Решение
Я не знаю, с каких дурацких планет все прибыли, но в большинстве редакторов, которые не относятся к каменному веку, для отступов блоков кода обычно требуется только выделить блок текста и нажать клавишу Tab.С другой стороны, сочетание клавиш Shift+Tab обычно удаляет вмятины в блоке.
Это справедливо для Visual Studio, Notepad2, e, Textmate, Slickedit, #Develop и т. д.и т. д.и т. д.
Если вы не занимаетесь большими многофайловыми проектами, я настоятельно рекомендую Блокнот2.Это очень легкая, бесплатная и простая в использовании замена блокнота с достаточным количеством функций, ориентированных на код (номера строк, направляющие отступов, подсветка кода и т. д.).
Другие советы
В редакторе Idle вы можете просто выбрать строки, для которых хотите сделать отступ, и нажать Tab.
Должен отметить, что на самом деле в ваш исходный текст не вставляются никакие табуляции, а только пробелы.
В IDLE я просто использую Ctrl+] и Ctrl+[ для блока кода.
В emacs есть режим Python.В этом режиме вы выделяете и делаете:
ctrl-c >
ctrl-c <
Используйте VI и никогда больше не программируйте то же самое.:^)
[Смешно ;-)] Чувак, я же говорил тебе, что если бы у тебя была эта новая модель клавиатуры, тебе понадобилось бы на одного разработчика меньше.Питоническая клавиатура http://img22.imageshack.us/img22/7318/pythonkeyboard.jpg
Если вы используете vim, специально для этого есть плагин: Python_fn.vim
Он предоставляет полезные функции Python (и эквиваленты меню):
]t -- Jump to beginning of block
]e -- Jump to end of block
]v -- Select (Visual Line Mode) block
]< -- Shift block to left
]> -- Shift block to right
]# -- Comment selection
]u -- Uncomment selection
]c -- Select current/previous class
]d -- Select current/previous function
]<up> -- Jump to previous line with the same/lower indentation
]<down> -- Jump to next line with the same/lower indentation
Вим:переключитесь в визуальный режим, выберите блок, используйте > для отступа (или < для удаления отступа).
Смотрите также: Быстро сделать отступ в нескольких строках в vi
В TextMate просто выделите строки, для которых вы хотите сделать отступ, и используйте:
⌘ + [
или
⌘ + ]
Переместить текст в нужном направлении.
PyDev, который вы можете найти по адресу http://pydev.sourceforge.net/ имеет «Форматировщик кода».Он также имеет функцию автоотступа.Это плагин для Eclipse, который также бесплатно доступен для Mac.
Другим вариантом было бы http://code.google.com/p/macvim/ если вы знакомы или потратили время на Vim, который имеет множество функций автоотступа не только для Python.
Но не забывайте, что в Python отступы меняют смысл программы, в отличие от языков семейства C.Например, для C или C# служебная программа может украсить код символами «{» и «}».Но в Python это было бы неоднозначно, поскольку программа не может форматировать следующее:
#Say we wrote the following and expect it to be formatted.
a = 1
for i in range(5):
print i
a = a + i
print a
Вы ожидаете, что это будет
a = 1
for i in range(5):
print i
a = a + i
print a #Will print 5
или
a = 1
for i in range(5):
print i
a = a + i
print a #Will print 11
это два разных фрагмента.
В Komodo Tab и Shift Tab работают должным образом, создавая отступы и удаляя большие блоки кода.
В vim вы можете ввести:
>>
чтобы сделать отступ в строке.Если вы введете:
5>>
вы делаете отступ на 5 строк под курсором. 5<<
делает обратное.