Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Unable to goto definitions in __init__.py

未关闭
#487 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
javascript, python

调研方向

使用 foo/init.py、foo/bar.py 和 foo/baz.py 重现问题,然后将 Atom 的转到定义行为与所示的 jedi.Script.goto 调用进行比较。从处理 Python 导入定义的集成入口点开始。完成的标准是:在 foo/bar.py 中选择 test 会打开 foo/init.py,而 test2 仍会打开 foo/baz.py。

由索引模型根据 Issue 内容生成。

描述

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

主要语言
JavaScript
星标
238
派生
41
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

atom-community/ide-python 的其他 Issue

查看 atom-community/ide-python 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。