Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Unable to goto definitions in __init__.py

Ouverte
#487 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
javascript, python

Piste de recherche

Reproduisez le problème avec foo/init.py, foo/bar.py et foo/baz.py, puis comparez le comportement d’accès à la définition d’Atom avec les appels à jedi.Script.goto indiqués. Commencez par le point d’entrée d’intégration qui gère les définitions pour les imports Python. Le travail est terminé lorsque la sélection de test dans foo/bar.py ouvre foo/init.py, tandis que test2 continue d’ouvrir foo/baz.py.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Here is my reproduction project:

fjompo@grande repro$ find .
.
./foo
./foo/__init__.py
./foo/bar.py
./foo/baz.py

fjompo@grande repro$ cat foo/__init__.py 
test = 5

fjompo@grande repro$ cat foo/bar.py 
from . import test
from .baz import test2
print(test)
print(test2)

fjompo@grande repro$ cat foo/baz.py 
test2 = 42

fjompo@grande repro$ python -m foo.bar
5
42

If i go to foo/bar.py and highlight test2, then go-to-definition works, but for test it does not. It simply yields "Sorry, no definitions found."

This is likely not an issue with jedi, as shown here:

>>> import jedi
>>> jedi.Script(None, path="foo/bar.py").goto(line=3, column=7, follow_imports=True)[0].module_path
PosixPath('/home/fjompo/tmp/repro/foo/__init__.py')
>>> jedi.Script(None, path="foo/bar.py").goto(line=4, column=7, follow_imports=True)[0].module_path
PosixPath('/home/fjompo/tmp/repro/foo/baz.py')

Here are the project files: repro.zip

Langage dominant
JavaScript
Étoiles
238
Forks
41
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de atom-community/ide-python

Toutes les issues de atom-community/ide-python

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.