Como ativar os números de linha no IDLE?

110

No shell principal do IDLE, os erros sempre retornam um número de linha, mas o ambiente de desenvolvimento nem mesmo possui números de linha. Existe alguma maneira de ativar os números de linha?

Do utilizador
fonte
3
Uau, um IDE sem números de linha? Alguém mais acha isso tão bizarro quanto eu?
Paul Feakins
2
@PaulFeakins Os designers originais do IDLE aparentemente sentiram que o número da linha na barra de status e duas maneiras de ir para um número de linha eram minimamente suficientes. E havia problemas técnicos para acertá-los. Usei o IDLE diariamente e quase não os perdi para uso. Em qualquer caso, nós apenas os adicionamos. Detalhes na minha resposta.
Terry Jan Reedy
1
No Python 3.8 IDLE, uma nova opção foi adicionada na barra de menus: Opções -> Mostrar números de linha
Diroallu

Respostas:

149

Versão 3.8 ou mais recente:

Para mostrar os números das linhas na janela atual, vá para Optionse clique em Show Line Numbers.

Para mostrá-los automaticamente, vá para Options> Configure IDLE> Generale marque a Show line numbers in new windowscaixa.

Versão 3.7 ou anterior:

Infelizmente, não há uma opção para exibir números de linha no IDLE, embora haja uma solicitação de aprimoramento aberta para isso.

No entanto, existem algumas maneiras de contornar isso:

  1. No menu de edição, há uma opção ir para a linha (há um atalho padrão Alt + G para isso).

  2. Há uma tela no canto inferior direito que informa o número / posição da linha atual na linha:

insira a descrição da imagem aqui

ChrisProsser
fonte
4
No Mac, o atalho para navegar entre as linhas é cmd + j.
tommy.carstensen
6
Embora essa solução alternativa funcione, por que as linhas numeradas não foram incluídas na primeira versão. Parece uma característica óbvia. Muito decepcionante que isso não esteja incluído.
JayRugMan
Se usar colchetes para definir o escopo é confuso, então os números das linhas são uma ciência espacial.
aj.toulan
2
Um patch aprimorado para a solicitação de número de linha, problema 17535, acaba de ser mesclado. Veja minha resposta para detalhes.
Terry Jan Reedy
15

Existe um conjunto de extensões úteis para o IDLE chamado IDLEX que funciona com MacOS e Windows http://idlex.sourceforge.net/

Inclui a numeração de linhas e acho que é bastante prático e gratuito.

Caso contrário, existem vários outros IDEs, alguns dos quais são gratuitos: https://wiki.python.org/moin/IntegratedDevelopmentEnvironments

Davos
fonte
2
Acredite ou não, eu realmente gosto do VS Code da Microsoft agora. É um ótimo IDE leve com ótimos plugins python. Ele também funciona em mac / linux / windows. Que mundo estranho (bom) em que vivemos, onde a Microsoft está abrindo o código-fonte.
Davos
6

Se você está tentando rastrear qual linha causou um erro, se você clicar com o botão direito no shell do Python onde o erro de linha é exibido, aparecerá um "Ir para arquivo / linha" que o levará diretamente para a linha em questão .

Martin Ghecea
fonte
2

Como foi mencionado por Davos você pode usar o IDLEX

Acontece que estou usando a versão Linux e de todas as extensões precisava apenas de LineNumbers. Então eu baixei o arquivo IDLEX, peguei LineNumbers.py dele, copiei para a pasta lib do Python (no meu caso é /usr/lib/python3.5/idlelib) e adicionei as seguintes linhas ao arquivo de configuração em minha pasta home que é ~ / .idlerc / config-extensions.cfg:

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

[LineNumbers_cfgBindings]
linenumbers-show = 
StahlRat
fonte
Bom hacking! Parece que o IDLE poderia fazer algo semelhante para incorporar o código e as configurações ao seu cfg interno (em oposição às extensões cfg) e conectar a opção à GUI. Eles provavelmente não se preocuparam porque o IDLEX fornece a funcionalidade por meio do mecanismo de plug-in.
Davos
2

Os números de linha foram adicionados ao editor IDLE há dois dias e aparecerão no próximo 3.8.0a3 e 3.7.5 posterior. Para novas janelas, eles estão desativados por padrão, mas isso pode ser revertido na caixa de diálogo Configurações, guia Geral, seção Editor. Para as janelas existentes, há uma nova entrada Mostrar (ocultar) números de linha no menu Opções. Atualmente não há hotkey. Pode-se selecionar uma linha ou bloco de linhas clicando em uma linha ou clicando e arrastando.

Algumas pessoas podem ter perdido Editar / Ir para a linha. O menu de contexto do botão direito do mouse Goto File / Line funciona na saída grep (Find in Files), bem como em trackbacks.

Terry Jan Reedy
fonte
0

Como @StahlRat já respondeu. Eu gostaria de adicionar outro método para isso. Há um pacote de extensão para o Python Editor ocioso padrão Python Extensions Package .

Akshay Vilas Patil
fonte
0

Conforme mencionado acima (uma maneira rápida de fazer isso):

pip install IDLEX

Então eu crio um atalho na área de trabalho (Win10) como este:

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

Os caminhos podem ser diferentes e precisam ser alterados:

C:\Python\Python37

(Obrigado pelas ótimas respostas acima)

Aaron
fonte
É C:\Python\Python37\pythonw.exe "C:\Python\Python37\Scripts\idlex.pyw"salvo como .bat no Windows?
Ynjxsjmh
Primeiro, crie o atalho de pythonw.exe na área de trabalho. Segundo, clique com o botão direito no atalho -> propriedade ou atributo (R). Terceiro, preencha a Meta (T): com C:\Python\Python37\pythonw.exe "C:\Python\Python37\Scripts\idlex.pyw". feito.
Aaron
Obrigado, mas descobri que podemos criar um idlex.batarquivo como o que Python36\Lib\idlelib\idle.batfaz e criar um atalho para idlex.bat.
Ynjxsjmh