atom-community / atom-community/ide-python
Unable to goto definitions in __init__.py
- Ngôn ngữ chính
- JavaScript
- Star
- 238
- Fork
- 40
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Here is my reproduction project:
```shell
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:
```python
>>> 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](https://github.com/atom-community/ide-python/files/8044900/repro.zip)
Hướng dẫn đóng góp
Hướng nghiên cứu
Tái hiện vấn đề với foo/__init__.py, foo/bar.py và foo/baz.py, sau đó so sánh hành vi đi đến định nghĩa của Atom với các lệnh gọi jedi.Script.goto được hiển thị. Bắt đầu từ điểm vào tích hợp xử lý các định nghĩa cho import Python. Hoàn tất có nghĩa là khi chọn test trong foo/bar.py thì foo/__init__.py được mở, trong khi test2 tiếp tục mở foo/baz.py.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- javascript, python
- Lĩnh vực
- developer-experience, tooling
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100