Jak włączyć numery linii w IDLE?

110

W głównej powłoce IDLE błędy zawsze zwracają numer linii, ale środowisko programistyczne nie ma nawet numerów linii. Czy w ogóle można włączyć numery linii?

Użytkownik
źródło
3
Wow, IDE bez numerów linii? Czy ktoś inny uważa to za tak dziwne jak ja?
Paul Feakins
2
@PaulFeakins Pierwotni projektanci IDLE najwyraźniej uważali, że numer linii na pasku stanu i dwa sposoby przejścia do numeru linii były minimalnie wystarczające. Były też problemy techniczne związane z ich poprawnością. Używałem IDLE codziennie i do mojego użytku prawie ich nie brakowało. W każdym razie właśnie je dodaliśmy. Szczegóły w mojej odpowiedzi.
Terry Jan Reedy
1
W Pythonie 3.8 IDLE dodano nową opcję na pasku menu: Opcje -> Pokaż numery linii
Diroallu

Odpowiedzi:

149

Wersja 3.8 lub nowsza:

Aby wyświetlić numery linii w bieżącym oknie, przejdź do Optionsi kliknij Show Line Numbers.

Aby pokazać je automatycznie, przejdź do Options> Configure IDLE> Generali zaznacz Show line numbers in new windowspole.

Wersja 3.7 lub starsza:

Niestety nie ma opcji wyświetlania numerów linii w IDLE, chociaż istnieje w tym celu żądanie ulepszenia .

Istnieje jednak kilka sposobów obejścia tego problemu:

  1. W menu edycji znajduje się opcja idź do linii (jest do tego domyślny skrót Alt + G).

  2. W prawym dolnym rogu znajduje się wyświetlacz, który informuje o aktualnym numerze linii / pozycji w linii:

wprowadź opis obrazu tutaj

ChrisProsser
źródło
4
Na Macu skrótem do nawigacji między wierszami jest cmd + j.
tommy.carstensen
6
Chociaż to obejście działa, dlaczego numerowane wiersze nie zostały uwzględnione w pierwszej wersji. Wydaje się, że jest to oczywista funkcja. Bardzo rozczarowujące, że nie jest to uwzględnione.
JayRugMan
Jeśli używanie nawiasów do określania zakresu jest mylące, to numery wierszy to nauka o rakietach.
aj.toulan
2
Ulepszona poprawka do żądania numeru linii, numer 17535, została właśnie scalona. Zobacz moją odpowiedź po szczegóły.
Terry Jan Reedy
15

Istnieje zestaw przydatnych rozszerzeń IDLE o nazwie IDLEX, który działa z systemami MacOS i Windows http://idlex.sourceforge.net/

Zawiera numerację linii i uważam, że jest całkiem przydatny i darmowy.

W przeciwnym razie istnieje kilka innych IDE, z których niektóre są bezpłatne: https://wiki.python.org/moin/IntegratedDevelopmentEnvironments

Davos
źródło
2
Wierz lub nie, ale teraz naprawdę podoba mi się VS Code firmy Microsoft. To świetne, lekkie IDE z naprawdę dobrymi wtyczkami do Pythona. Działa również na mac / linux / windows. Co za dziwny (dobry) świat, w którym żyjemy, w którym Microsoft dąży do otwartego oprogramowania.
Davos
6

Jeśli próbujesz wyśledzić, która linia spowodowała błąd, jeśli klikniesz prawym przyciskiem myszy w powłoce Pythona, w której wyświetlany jest błąd linii, pojawi się polecenie „Przejdź do pliku / linii”, które przeniesie Cię bezpośrednio do danej linii .

Martin Ghecea
źródło
2

Jak wspomniało Davos, możesz użyć IDLEX

Zdarza się, że używam wersji Linux i ze wszystkich rozszerzeń potrzebowałem tylko LineNumbers. Więc pobrałem archiwum IDLEX, wziąłem z niego LineNumbers.py, skopiowałem do folderu lib Pythona (w moim przypadku jest to /usr/lib/python3.5/idlelib) i dodałem następujące wiersze do pliku konfiguracyjnego w moim folderze domowym, którym jest ~ / .idlerc / config-extensions.cfg:

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

[LineNumbers_cfgBindings]
linenumbers-show = 
StahlRat
źródło
Niezłe hakowanie! Wygląda na to, że IDLE mogłoby zrobić coś podobnego, aby włączyć kod i ustawienia do swojego wewnętrznego cfg (w przeciwieństwie do rozszerzeń cfg) i połączyć opcję z GUI. Prawdopodobnie nie zawracali sobie głowy, ponieważ IDLEX zapewnia funkcjonalność poprzez mechanizm wtyczki.
Davos
2

Numery linii zostały dodane do edytora IDLE dwa dni temu i pojawią się w nadchodzącym 3.8.0a3 i późniejszym 3.7.5. W przypadku nowych okien są one domyślnie wyłączone, ale można to odwrócić w oknie dialogowym Ustawienia, na karcie Ogólne, w sekcji Edytor. W przypadku istniejących okien w menu Opcje dostępna jest nowa pozycja Pokaż (ukryj) numery wierszy. Obecnie nie ma skrótu. Można wybrać linię lub blok linii, klikając linię lub klikając i przeciągając.

Niektóre osoby mogły przegapić opcję Edytuj / Przejdź do linii. Menu kontekstowe dostępne po kliknięciu prawym przyciskiem myszy Idź do pliku / wiersza działa z wyjściem grep (Znajdź w plikach), a także z trackbackami.

Terry Jan Reedy
źródło
0

Jak już odpowiedział @StahlRat. Chciałbym dodać do tego inną metodę. Istnieje pakiet rozszerzeń dla Python Default idle editor Python Extensions Package .

Akshay Vilas Patil
źródło
0

Jak wspomniano powyżej (szybki sposób na zrobienie tego):

pip install IDLEX

Następnie tworzę skrót na pulpicie (Win10) w ten sposób:

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

Ścieżki mogą być różne i należy je zmienić:

C:\Python\Python37

(Dzięki za świetne odpowiedzi powyżej)

Aaron
źródło
Czy jest C:\Python\Python37\pythonw.exe "C:\Python\Python37\Scripts\idlex.pyw"zapisywany jako .bat w systemie Windows?
Ynjxsjmh
Najpierw utwórz skrót do pythonw.exe na pulpicie. Po drugie, kliknij prawym przyciskiem myszy skrót -> właściwość lub atrybut (R). Po trzecie, wypełnij Target (T): with C:\Python\Python37\pythonw.exe "C:\Python\Python37\Scripts\idlex.pyw". Gotowe.
Aaron
Dzięki, ale odkryłem, że możemy utworzyć idlex.batplik, taki jak to Python36\Lib\idlelib\idle.bat, i utworzyć skrót do idlex.bat.
Ynjxsjmh