Làm cách nào để điều hướng qua mã nguồn theo các phần trong CamelCase (thay vì toàn bộ từ)?


251

Tôi nhớ khi tôi đang sử dụng Eclipse, khi giữ CTRL và sử dụng mũi tên trái hoặc phải, Eclipse sẽ điều hướng LongCamelCaseWrittenWordtrong vài bước. Một trường hợp lạc đà từ tại thời điểm.

Vì vậy, nó sẽ đi như sau (ống |đại diện cho vị trí con trỏ thực tế):

|LongCamelCaseWrittenWord -> CTRL+RIGHT_ARROW ->
Long|CamelCaseWrittenWord -> CTRL+RIGHT_ARROW ->
LongCamel|CaseWrittenWord -> CTRL+RIGHT_ARROW ->
LongCamelCase|WrittenWord -> CTRL+RIGHT_ARROW ->
LongCamelCaseWritten|Word -> CTRL+RIGHT_ARROW ->
LongCamelCaseWrittenWord|

Có cách nào để đạt được điều này trong IntelliJ không? Hiện tại IntelliJ bước qua toàn bộ từ cùng một lúc.

Sử dụng IntelliJ 9.0


Câu trả lời:


389

Có, bật Sử dụng từ "CamelHumps" trong Settings | Editor | General | Smart Keys.


15
CamelHumps làm cho Ctrl + Phải, Ctrl + Nhảy trái bằng bướu lạc đà. Làm thế nào tôi vẫn có thể có cả hai chức năng, tức là nhảy bằng từ và bằng CamelHumps với các phím khác nhau?
mafonya

1
trong ý tưởng mới nhất, dòng chảy làSettings | Editor | General | Smart Keys
Jiri Kremser

48
Vì @mafonya đề cập đến một câu trả lời khác, hành vi nhấp đúp có thể được khôi phục bằng cách định vị và vô hiệu hóa cài đặt có tên là "Honor" CamelHumps "cài đặt từ khi chọn nhấp đúp".
Paul Lammertsma

9
Trong trường hợp bất kỳ ai khác bỏ lỡ nó, cài đặt 'Honor "CamelHumps" ...' sẽ xuất hiệnSettings | Editor | General
Carl G

Tôi đồng ý rằng đây phải là hành vi mặc định. Đối với bất kỳ ai đến từ Eclipse, điều này giống như được tích hợp vào bộ nhớ cơ bắp của chúng ta từ ngày đầu tiên.
Pierre

45

Như đã trả lời ở những nơi khác, bạn có thể kích hoạt sử dụng "CamelHumps" từ trong Settings | Editor | General | Smart Keysđể chuyển đổi các phím tắt để làm việc với camelCase thay vì toàn bộ từ.

Bạn cũng có thể truy cập hành vi trước bằng cách gán phím tắt cho các hành động thích hợp bên dưới Settings | Appearance & Behavior | Keymap | Editor Actions. Hình ảnh này cho thấy một ví dụ nơi tôi truy cập hành vi trước đó bằng cách thêm ctrl:

ảnh chụp màn hình keymap


4
Tuyệt vời! Đây phải là hành vi mặc định trong intellij!
AndiDev

Cảm ơn bạn! Đây là hoàn hảo. Nhấp đúp chuột thực hiện toàn bộ từ, nhưng trường hợp sử dụng ctrl + hướng đi kèm.
Brett

19

Bạn có thể có cả hai chức năng cùng một lúc:

  1. Trong "Cài đặt-> Trình chỉnh sửa-> Chung-> Khóa thông minh", tắt "Sử dụng từ CamelHumps".
  2. Trong "sơ đồ bàn phím", tạo lối tắt cho:
    • "Di chuyển dấu mũ sang từ tiếp theo"
    • "Di chuyển dấu mũ sang từ tiếp theo trong chế độ lạc đà khác nhau"

Lưu ý rằng các bước này tương ứng với IntelliJ 14, vì vậy chúng có thể hơi khác nhau trong các phiên bản khác.


Vì tò mò, bạn đã lập bản đồ cho cả hai chưa? Nếu có, bạn đã chọn kết hợp nào?
bầu

Vâng, tôi đã ánh xạ cả hai, nó rất hữu ích khi bạn có tên lớp dài. Nói chung, bạn không muốn có các phím tắt khác nhau cho mỗi chương trình. Vì vậy, tôi đã sử dụng ctrl+arrowcho toàn bộ các từ (đó là phím tắt được sử dụng ở mọi nơi ) và alt+arrowcho các từ lạc đà (đó là công cụ sửa đổi duy nhất còn lại, vì shift được sử dụng để lựa chọn trong mọi chương trình)
blue_note

Tôi đã ánh xạ lại nó ctrl+PgUp/PgDnCtrl+(shift)+Tab, vì nó được sử dụng trong tất cả các trình duyệt và hầu hết các chương trình, vì vậy nó đã có trong bộ nhớ cơ của tôi.
blue_note

Tôi muốn sử dụng alt+arrowđể di chuyển bằng toàn bộ từ và ctrl+arrowđiều hướng bằng bướu lạc đà. (Đây là hành vi mặc định trong Xcode, là "bộ nhớ cơ" của tôi.) Tôi đang cố gắng thực hiện điều này bằng Tùy chọn của IntelliJ, nhưng tôi không thể ctrl+{anything}đăng ký đơn giản . ctrl+alt+{something}dường như làm việc, như không alt+{something}, nhưng không ctrl+{something}. Tôi đang dùng Mac. Keymap hiện tại của tôi là Mac OS X 10.5+. Bất kỳ đề xuất?
mbm29414

@ mbm29414: hoạt động tốt với tôi trên macos. ngay cả khi nó đã được gán cho một cái gì đó khác. có lẽ đó là một số thiết lập bên ngoài để intellij
blue_note
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.