Как включить номера строк в IDLE?

110

В основной оболочке IDLE ошибки всегда возвращают номер строки, но в среде разработки даже нет номеров строк. Есть ли способ включить номера строк?

Пользователь
источник
3
Вау, IDE без номеров строк? Кто-нибудь еще находит это столь же странным, как я?
Пол Фикинс
2
@PaulFeakins Первоначальные разработчики IDLE, по-видимому, считали, что номер строки в строке состояния и два способа перехода к номеру строки минимально достаточны. И возникли технические проблемы с их правильным выполнением. Я использовал IDLE ежедневно и почти не скучал по ним. В любом случае мы их просто добавили. Подробности в моем ответе.
Terry Jan Reedy
1
В Python 3.8 IDLE в строку меню был добавлен новый параметр: Параметры -> Показать номера
строк

Ответы:

149

Версия 3.8 или новее:

Чтобы отобразить номера строк в текущем окне, перейдите к Optionsи щелкните Show Line Numbers.

Для того, чтобы показать их автоматически, перейдите к Options> Configure IDLE> Generalи проверить Show line numbers in new windowsкоробку.

Версия 3.7 или старше:

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

Однако есть несколько способов обойти это:

  1. В меню редактирования есть опция перехода к строке (для этого по умолчанию используется сочетание клавиш Alt + G).

  2. В правом нижнем углу есть дисплей, который сообщает вам ваш текущий номер строки / позицию в строке:

введите описание изображения здесь

ChrisProsser
источник
4
На Mac ярлык для перехода между строками - cmd + j.
tommy.carstensen
6
Хотя этот обходной путь работает, почему в первый выпуск не вошли пронумерованные строки. Вроде очевидная особенность. Очень досадно, что это не включено.
JayRugMan
Если использование скобок для определения масштаба сбивает с толку, то номера строк - это ракетостроение.
aj.toulan
2
Только что было объединено улучшенное исправление для запроса номера строки, проблема 17535. Подробности смотрите в моем ответе.
Terry Jan Reedy
15

Для IDLE есть набор полезных расширений под названием IDLEX, которые работают с MacOS и Windows http://idlex.sourceforge.net/

Он включает в себя нумерацию строк, и я нахожу его довольно удобным и бесплатным.

В противном случае существует множество других IDE, некоторые из которых бесплатны: https://wiki.python.org/moin/IntegratedDevelopmentEnvironments

Давос
источник
2
Хотите верьте, хотите нет, но сейчас мне очень нравится Microsoft VS Code. Это отличная легкая IDE с действительно хорошими плагинами для Python. Он также работает в Mac / Linux / Windows. В каком странном (хорошем) мире мы живем, в котором Microsoft переходит на открытый исходный код.
Давос
6

Если вы пытаетесь отследить, какая строка вызвала ошибку, если вы щелкните правой кнопкой мыши в оболочке Python, где отображается ошибка строки, появится сообщение «Перейти к файлу / строке», которое приведет вас прямо к нужной строке. .

Мартин Гечеа
источник
2

Как было упомянуто Давосом, вы можете использовать IDLEX

Бывает, что я использую версию для Linux и из всех расширений мне нужны были только LineNumbers. Итак, я загрузил архив IDLEX, взял из него LineNumbers.py, скопировал его в папку Python lib (в моем случае это /usr/lib/python3.5/idlelib) и добавил следующие строки в файл конфигурации в моей домашней папке, которая является ~ / .idlerc / config-extensions.cfg:

[LineNumbers]
enable = 1
enable_shell = 0
visible = True

[LineNumbers_cfgBindings]
linenumbers-show = 
StahlRat
источник
Хороший взлом! Похоже, что IDLE может сделать что-то подобное, чтобы включить код и настройки в свой внутренний cfg (в отличие от расширений cfg) и подключить эту опцию к графическому интерфейсу. Вероятно, они не беспокоились, потому что IDLEX предоставляет функциональность через механизм плагинов.
Давос
2

Номера строк были добавлены в редактор IDLE два дня назад и появятся в следующих версиях 3.8.0a3 и более поздних версиях 3.7.5. Для новых окон они отключены по умолчанию, но это можно отменить в диалоговом окне «Настройка», на вкладке «Общие», в разделе «Редактор». Для существующих окон в меню «Параметры» есть новая запись «Показать (скрыть) номера строк». В настоящее время горячей клавиши нет. Можно выбрать линию или блок линий, щелкнув линию или щелкнув и перетащив.

Некоторые люди могли пропустить Edit / Go to Line. Контекстное меню, вызываемое правой кнопкой мыши, «Перейти к файлу / строке» работает с выводом grep (Найти в файлах), а также с обратными ссылками.

Терри Ян Риди
источник
0

Как уже ответил @StahlRat. Я бы хотел добавить для этого еще один метод. Существует пакет расширений для Python Default idle editor Python Extensions Package .

Акшай Вилас Патил
источник
0

Как упоминалось выше (быстрый способ сделать это):

pip install IDLEX

Затем я создаю ярлык на рабочем столе (Win10) следующим образом:

C:\Python\Python37\pythonw.exe "C:\Python\Python37\Scripts\idlex.pyw"

Пути могут быть разными и их нужно изменить:

C:\Python\Python37

(Спасибо за отличные ответы выше)

Аарон
источник
Является ли C:\Python\Python37\pythonw.exe "C:\Python\Python37\Scripts\idlex.pyw"сохранен как .bat на Windows?
Ynjxsjmh
Сначала создайте ярлык pythonw.exe на рабочем столе. Во-вторых, щелкните правой кнопкой мыши ярлык -> свойство или атрибут (R). В-третьих, заполните Target (T): с C:\Python\Python37\pythonw.exe "C:\Python\Python37\Scripts\idlex.pyw". сделано.
Аарон
Спасибо, но я обнаружил, что мы можем создать idlex.batфайл, подобный тому, что Python36\Lib\idlelib\idle.batделает, и создать ярлык для него idlex.bat.
Ynjxsjmh