Làm cách nào tôi có thể chuyển sang định nghĩa lớp / phương thức trong trình soạn thảo văn bản Atom?


135

Có cách nào làm dễ hơn không? Trên Aptana tôi đã sử dụng Control+ nhấp chuột và tôi ước có một cách để làm một cái gì đó tương tự trên Atom.


1
Bản thân Atom không có tính năng đó, bạn có thể cài đặt một số gói xử lý nó Atom.io/packages/navigate
IROEGBU

@iroegbu Tôi đã thử gói nhưng nó không hoạt động như mong đợi và doanh nghiệp 'nhấp đúp để đi đến định nghĩa' cũng không được bảo hành vì đôi khi bạn chỉ muốn chọn một số mã và những gì nó chuyển sang một tệp mới mà không có tùy chọn quay lại (f3 không hoạt động).
andromeda

1
Tôi không sử dụng Atom, bạn có thể muốn xem thảo luận.atom.io/t/is
there

Cảm ơn @iroegbu Tôi chắc chắn sẽ xem trang để xem những gì bật lên.
andromeda

Câu trả lời:


75

Tôi có cùng một vấn đề và định nghĩa nguyên tử-goto (tên gói goto-định nghĩa ) hoạt động như bùa mê đối với tôi. Hãy thử một lần. Bạn có thể tải trực tiếp từ Atom.

Gói này là TIỀN GỬI. Vui lòng kiểm tra nó trong Github.


1
Tôi có thể xác nhận rằng điều này hoạt động. Cảm ơn. Liên kết khóa mặc định là CTRL + ALT + ENTER
andromeda

3
Đây là gói duy nhất hoạt động trên một dự án lớn hơn một chút. Cảm ơn! Tôi đã thử các gói nguyên tử, gói biểu tượng, gói goto và không có gói nào hoạt động :-(. Hoặc gây ra sự cố nguyên tử hoặc mất quá nhiều thời gian.
Mi-La

Điều này là khá chậm chạp nhưng nó hoạt động. Dự án của tôi rất nhỏ nên tôi không thực sự nghĩ rằng điều này sẽ mở rộng tốt.
davegallant

50
Cái gì thay thế cho gói không dùng nữa?
Steven Shaw

1
autocomplete-python
Raj

32

Tôi tin rằng vấn đề với các gói "đi đến" là chúng sẽ hoạt động khác nhau đối với từng ngôn ngữ.

Nếu bạn sử dụng Javascript js-hyperclickhyperclick (vì các liên kết mã không được dùng nữa) có thể làm những gì bạn cần.


Sử dụng symbols-viewgói cho phép tìm kiếm của bạn và chuyển đến khai báo hàm nhưng chỉ là tệp đã mở hiện tại. Thật không may, tôi không biết bất kỳ ngôn ngữ tương đương khác.

Ngoài ra còn có một gói khác có thể hữu ích cho việc truy cập Python: python-tools

Kể từ tháng 5 năm 2016, phiên bản gần đây của Atom hiện hỗ trợ "Go-To" nguyên bản . Tại repo GitHub cho mô-đun này, bạn nhận được một danh sách các khóa sau:

  • symbols-view:toggle-file-symbolsđể hiển thị tất cả các biểu tượng trong tập tin hiện tại
  • symbols-view:toggle-project-symbolsđể Xem tất cả các biểu tượng trong dự án
  • symbols-view:go-to-declarationđể nhảy đến biểu tượng dưới con trỏ
  • symbols-view:return-from-declarationđể Trở từ nhảy

ảnh chụp màn hình

Bây giờ tôi chỉ còn thiếu một thứ với Atom cho việc này: các ràng buộc nhấp chuột. Có một vấn đề mở trên Github nếu bất cứ ai muốn theo dõi tính năng đó.


Cảm ơn @corpy liên kết mã trông giống như một ý tưởng gọn gàng cho js và tôi sẽ thử. Tôi đã phải điều chỉnh quy trình làm việc không bao gồm tính năng này vì tôi chủ yếu viết mã bằng php.
andromeda

Tôi sẽ không biết về các gói php. Và đây có thể là một cú sút xa, nhưng bạn đã thử xem biểu tượng-cây chưa? Đó chắc chắn không phải là những gì bạn muốn, nhưng ít nhất nó sẽ cung cấp một số điều hướng trực quan dễ dàng hơn nếu các lớp / tệp php của bạn dài
cortopy

Nhiều đánh giá cao. Tôi sẽ xem và xem những gì nó cung cấp.
andromeda

Bạn có thể tìm thấy các ký hiệu tập tin rails (.erb) không?
Albert Català

python-tools hoạt động hoàn toàn tốt cho python [đã thử nghiệm]. Cài đặt bằng lệnh này apm install python-tools. sau khi cài đặt khởi động lại trình soạn thảo nguyên tử của bạn và nó sẽ hoạt động (ví dụ: ctrl + alt + g).
Kevin Patel

17

Tôi cũng gặp vấn đề tương tự. Và tôi tìm ra giải pháp:

CTRL+ALT+G

Cập nhật:

Cảm ơn @Joost, cài đặt gói python-tools để làm cho nó hoạt động


15
Kể từ ngày 11 tháng 7 năm 2016, lệnh này dường như không làm gì cả.
Fang Chen

Sự kết hợp này khởi chạy Styleguide of Atom, nó sẽ hiển thị cho bạn tất cả các thành phần UI được sử dụng trong Atom. Nó rất hữu ích như một tài liệu tham khảo khi phát triển các chủ đề và gói.
Javi Ps

Ctrl + Shift + g chạy Styleguide, Ctrl + Alt + g dường như không làm gì cả.
Pablo A

3
Chỉ cần bạn tự hỏi nó đến từ đâu, CTRL+ALT+Glà ràng buộc khóa mặc định goto:definitiontrong python-toolsgói nguyên tử.
Joost

Bạn cũng cần cài đặt python trên máy python-toolsđể hoạt động
BugShotGG

12

Chức năng đã có trong nguyên tử thông qua gói Symbols View mà bạn không cần cài đặt bất cứ thứ gì.

Lệnh bạn đang tìm kiếm là chế độ xem biểu tượng: đi đến khai báo (Chuyển đến biểu tượng dưới con trỏ) được ràng buộc theo mặc định là cmd-alt-down trên macOS và ctrl-alt-down trên Linux.

chỉ lưu ý rằng nó sẽ chỉ làm việc nếu bạn sẽ phải tạo thẻ cho dự án của bạn, hoặc thông qua gói này hoặc thông qua ctags ( cởi mở hay không)


1
Theo mặc định trên Linux, bạn sẽ nhận được ctag Emacs. Như nói ở đây để chạy thật ctags cài đặt exuberant-ctagsgói (xem xét nàyđây dường như là một Atom hiện sử dụng).
Pablo A

4
" ctrl-alt-down trên Linux" - Sự lựa chọn tuyệt vời cho các khóa, nó không giống như được sử dụng để di chuyển xung quanh các không gian làm việc. Nguyên tử chết tiệt, sao phức tạp thế. : - \
Daniel

7

Tính năng này đã được tích hợp sẵn trong trình soạn thảo Atom (xem: symbols-viewgói ), nhưng bạn cần tạo tệp biểu tượng ctags cho dự án GH-9 , GH-20 của bạn .

Để làm điều đó, hãy cài đặt ctagslệnh (ví dụ: brew install ctagstrên macOS), sau đó:

  1. Nối, liên kết hoặc sao chép ctags-configvào ~/.ctagsví dụ của bạn trên macOS:

    ln -vs "$(find /Applications/Atom.app -name ctags-config -print -quit)" ~/.ctags
    
  2. Chuyển đến thư mục dự án của bạn và chạy:

    cd your/project/directory
    ctags -R .
    
  3. Khởi động lại trình soạn thảo Atom.


Ngoài ra, bạn có thể sử dụng symbol-gengói để tạo tệp biểu tượng ctags cho dự án của mình dựa trên các tùy chọn tìm thấy trong .ctagstệp. Bạn có thể cài đặt nó từ Trình quản lý gói nguyên tử bằng cách : apm install symbol-gen. Sau đó nhấn CMD- Alt- Gđể tạo tập tin thẻ cho dự án của bạn.


Sau khi làm theo ở trên, bạn có thể sử dụng Tuyên bố đi đến tùy chọn từ menu ngữ cảnh.

Trên macOS, bạn cũng có thể sử dụng các phím tắt sau:

  • CMD- Rđể chuyển đến một chức năng / phương thức trong trình soạn thảo hiện tại
  • Alt- CMD- Downđể đi khai báo.

4

Để giải quyết điều này, bạn sẽ chỉ cần cài đặt 2 gói. Làm theo các bước dưới đây.

  1. Mở nguyên tử, đi đến Gói (thanh trên cùng) -> Chế độ xem Cài đặt -> Cài đặt Gói / Chủ đề .

  2. Nhập "goto" trong trường tìm kiếm và nhấp vào nút gói bên phải.

  3. Cài đặt cả "goto (1.8.3)""goto-định nghĩa (1.1.9)" hoặc các phiên bản mới hơn. Hãy chắc chắn rằng cả hai đều được kích hoạt sau khi tải xuống.
  4. Nếu cần, bạn có thể khởi động lại nguyên tử (đối với một số người).
  5. Nó sẽ có thể làm việc bây giờ. Nhấp chuột phải vào phương thức / attr / bất cứ điều gì, sau đó chọn "Định nghĩa Goto"

2

Kiểm tra gói goto :

Đây là sự thay thế cho gói xem biểu tượng tích hợp của Atom, sử dụng các tệp cú pháp của chính Atom để xác định các ký hiệu thay vì ctags. Dự án ctags rất hữu ích nhưng sẽ không bao giờ theo kịp tất cả các cú pháp Atom mới sẽ được tạo khi Atom phát triển.

Các lệnh:

  • cmd-r - Biểu tượng tệp Goto
  • cmd-shift-r - Biểu tượng dự án Goto
  • cmd-alt-down - Tuyên bố Goto
  • Chỉ số xây dựng lại
  • Chỉ mục không hợp lệ

Liên kết tại đây: https://atom.io/packages/goto (hoặc tìm kiếm "goto" trong trình cài đặt gói)


1

Sử dụng ctags nguyên tử như một gói cho ngôn ngữ C với tất cả những thứ bạn cần:

  • Tạo ctags cho dự án của bạn. Tự động hoàn thành.
  • Chuyển đến khai báo: Ctrl+ Alt+ DownAlt + Nhấp theo mặc định.
  • Có các tùy chọn tùy chỉnh cho hành động Click.

Chúng tôi không thể quay lại khai báo bằng Alt + Nhấp chuột phải không?
dùng1519240

Bạn có thể trở về, nhưng để trở về trước tiên bạn nên đi đến một nơi nào đó. Sau khi bạn thực hiện "Alt + Click", dĩ nhiên bạn có thể quay lại với "Alt + Nhấp chuột trái". Và sau đó "Alt + Nhấp chuột phải" để "quay lại" về phía trước.
Alexanderr Fadeev

Nếu bạn thử gói này và sau đó xóa nó, hãy nhớ bật lại biểu tượng-xem : apm enable symbols-view.
Pablo A

1

Kể từ tháng 11 năm 2018, gói autocomplete-python cung cấp chức năng này với tổ hợp phím này:

Ctrl+ Alt+G

với con trỏ chuột trên chức năng gọi.


0

Dưới đây là các phím tắt cho cả mac và windows:

Đối với Mac: lệnh + G

Đối với Windows: CTRL + ALT + G


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.