Wie schalte ich Zeilennummern in IDLE ein?

110

In der Haupt-Shell von IDLE geben Fehler immer eine Zeilennummer zurück, aber die Entwicklungsumgebung hat nicht einmal Zeilennummern. Gibt es überhaupt Zeilennummern einzuschalten?

Benutzer
quelle
3
Wow, eine IDE ohne Zeilennummern? Findet das sonst noch jemand so bizarr wie ich?
Paul Feakins
2
@PaulFeakins Die ursprünglichen IDLE-Designer waren anscheinend der Meinung, dass die Zeilennummer in der Statusleiste und zwei Möglichkeiten, zu einer Zeilennummer zu gelangen, minimal ausreichend waren. Und es gab technische Probleme, sie richtig zu machen. Ich habe IDLE täglich benutzt und für meinen Gebrauch habe ich sie kaum vermisst. Auf jeden Fall haben wir sie gerade hinzugefügt. Details in meiner Antwort.
Terry Jan Reedy
1
In Python 3.8 IDLE wurde eine neue Option in der Menüleiste hinzugefügt: Optionen ->
Zeilennummern anzeigen

Antworten:

149

Version 3.8 oder neuer:

Um die Zeilennummern im aktuellen Fenster anzuzeigen, gehen Sie zu Optionsund klicken Sie auf Show Line Numbers.

Um zu zeigen , sie automatisch, gehen Sie zu Options> Configure IDLE> Generalund überprüfen Sie die Show line numbers in new windowsBox.

Version 3.7 oder älter:

Leider gibt es keine Option zum Anzeigen von Zeilennummern in IDLE, obwohl hierfür eine Erweiterungsanforderung offen ist.

Es gibt jedoch mehrere Möglichkeiten, dies zu umgehen:

  1. Unter dem Bearbeitungsmenü gibt es eine Option zum Wechseln zur Zeile (hierfür gibt es eine Standardverknüpfung von Alt + G).

  2. Unten rechts befindet sich eine Anzeige, die Ihnen Ihre aktuelle Zeilennummer / Position in der Zeile anzeigt:

Geben Sie hier die Bildbeschreibung ein

ChrisProsser
quelle
4
Auf dem Mac lautet die Verknüpfung zum Navigieren zwischen Zeilen cmd + j.
Tommy.carstensen
6
Während diese Problemumgehung funktioniert, warum wurden nummerierte Zeilen in der ersten Version nicht enthalten? Es scheint ein offensichtliches Merkmal zu sein. Sehr enttäuschend, dass dies nicht enthalten ist.
JayRugMan
Wenn die Verwendung von Klammern für das Scoping verwirrend ist, dann sind Zeilennummern Raketenwissenschaft.
Aj.toulan
2
Ein erweiterter Patch für die Zeilennummernanforderung, Ausgabe 17535, wurde gerade zusammengeführt. Siehe meine Antwort für Details.
Terry Jan Reedy
15

Es gibt eine Reihe von nützlichen Erweiterungen IDLE genannt IDLEX , dass die Arbeiten mit MacOS und Windows http://idlex.sourceforge.net/

Es enthält Zeilennummerierung und ich finde es sehr praktisch und kostenlos.

Andernfalls gibt es eine Reihe anderer IDEs, von denen einige kostenlos sind: https://wiki.python.org/moin/IntegratedDevelopmentEnvironments

Davos
quelle
2
Ob Sie es glauben oder nicht, ich mag den VS-Code von Microsoft jetzt wirklich. Es ist eine großartige, leichte IDE mit wirklich guten Python-Plugins. Es funktioniert auch unter Mac / Linux / Windows. Was für eine seltsame (gute) Welt, in der Microsoft Open Source anbietet.
Davos
6

Wenn Sie versuchen, herauszufinden, welche Zeile einen Fehler verursacht hat, und wenn Sie mit der rechten Maustaste in die Python-Shell klicken, in der der Zeilenfehler angezeigt wird, wird eine "Gehe zu Datei / Zeile" angezeigt, die Sie direkt zu der betreffenden Zeile führt .

Martin Ghecea
quelle
2

Wie von Davos erwähnt, können Sie den IDLEX verwenden

Es kommt vor, dass ich die Linux-Version verwende und von allen Erweiterungen nur LineNumbers benötige. Also habe ich das IDLEX-Archiv heruntergeladen, LineNumbers.py daraus genommen, es in den lib-Ordner von Python (in meinem Fall /usr/lib/python3.5/idlelib) kopiert und der Konfigurationsdatei in meinem Home-Ordner die folgenden Zeilen hinzugefügt ~ / .idlerc / config-extensions.cfg:

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

[LineNumbers_cfgBindings]
linenumbers-show = 
StahlRat
quelle
Nettes Hacken! Es scheint, als könnte IDLE etwas Ähnliches tun, um den Code und die Einstellungen in die interne cfg (im Gegensatz zu den Erweiterungen cfg) zu integrieren und die Option mit der GUI zu verbinden. Sie haben sich wahrscheinlich nicht darum gekümmert, weil IDLEX die Funktionalität über einen Plugin-Mechanismus bereitstellt.
Davos
2

Zeilennummern wurden vor zwei Tagen zum IDLE-Editor hinzugefügt und werden in der kommenden Version 3.8.0a3 und höher 3.7.5 angezeigt. Bei neuen Fenstern sind diese standardmäßig deaktiviert. Dies kann jedoch im Dialogfeld "Einstellungen", Registerkarte "Allgemein", Abschnitt "Editor" rückgängig gemacht werden. Für vorhandene Fenster gibt es im Menü Optionen einen neuen Eintrag Zeilennummern anzeigen (ausblenden). Derzeit gibt es keinen Hotkey. Sie können eine Linie oder einen Linienblock auswählen, indem Sie auf eine Linie klicken oder klicken und ziehen.

Einige Leute haben möglicherweise Edit / Go to Line verpasst. Das Kontextmenü mit der rechten Maustaste Gehe zu Datei / Zeile funktioniert sowohl bei der Grep-Ausgabe (In Dateien suchen) als auch bei Trackbacks.

Terry Jan Reedy
quelle
0

Da hat @StahlRat schon geantwortet. Ich möchte eine andere Methode hinzufügen. Es gibt ein Erweiterungspaket für den Python-Standard-Leerlaufeditor Python Extensions Package .

Akshay Vilas Patil
quelle
0

Wie oben erwähnt (ein schneller Weg, dies zu tun):

pip install IDLEX

Dann erstelle ich eine Verknüpfung auf dem Desktop (Win10) wie folgt:

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

Die Pfade können unterschiedlich sein und müssen geändert werden:

C:\Python\Python37

(Danke für die tollen Antworten oben)

Aaron
quelle
Wird C:\Python\Python37\pythonw.exe "C:\Python\Python37\Scripts\idlex.pyw"unter Windows als .bat gespeichert?
Ynjxsjmh
Erstellen Sie zunächst eine Verknüpfung von pythonw.exe auf dem Desktop. Zweitens klicken Sie mit der rechten Maustaste auf die Verknüpfung -> Eigenschaft oder Attribut (R). Drittens füllen Sie Ziel (T): mit C:\Python\Python37\pythonw.exe "C:\Python\Python37\Scripts\idlex.pyw". getan.
Aaron
Danke, aber ich habe festgestellt, dass wir eine idlex.batDatei erstellen können, wie sie Python36\Lib\idlelib\idle.batfunktioniert, und eine Verknüpfung für erstellen können idlex.bat.
Ynjxsjmh