วิธีการนำทางผ่านซอร์สโค้ดตามส่วนต่าง ๆ ใน CamelCase (แทนที่จะเป็นทั้งคำ)


252

ฉันจำได้ว่าตอนที่ฉันใช้ Eclipse นั้นเมื่อถือ CTRL และใช้ลูกศรซ้ายหรือขวา Eclipse จะนำทางLongCamelCaseWrittenWordในหลายขั้นตอน กรณีคำอูฐหนึ่งครั้ง

ดังนั้นมันจะเป็นดังนี้ (ไปป์|แสดงถึงตำแหน่งเคอร์เซอร์จริง):

|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|

มีวิธีการในการบรรลุเป้าหมายใน IntelliJ หรือไม่? ปัจจุบัน IntelliJ ก้าวข้ามคำทั้งหมดในครั้งเดียว

ใช้ IntelliJ 9.0


คำตอบ:


390

ใช่เปิดใช้การใช้ "CamelHumps" คำพูดSettings | Editor | General | Smart Keysใน


15
CamelHumps ทำให้ Ctrl + Right, Ctrl + กระโดดทางซ้ายโดยอูฐ humps ฉันจะยังมีฟังก์ชั่นทั้งสองอย่างได้อย่างไรเช่นกระโดดโดยคำและ CamelHumps ด้วยปุ่มที่แตกต่างกัน?
mafonya

1
ในแนวคิดล่าสุดการไหลคือSettings | Editor | General | Smart Keys
Jiri Kremser

48
เนื่องจาก @mafonya กล่าวถึงในคำตอบที่ต่างกันพฤติกรรมการคลิกสองครั้งสามารถเรียกคืนได้โดยการค้นหาและปิดใช้งานการตั้งค่าที่เรียกว่าการตั้งค่าคำว่า "เกียรติยศ" CamelHumps "เมื่อเลือกดับเบิลคลิก"
Paul Lammertsma

9
ในกรณีที่คนอื่นพลาดการตั้งค่า 'เกียรติยศ "CamelHumps" ... ' อยู่ในSettings | Editor | General
Carl G

ฉันยอมรับว่านี่เป็นพฤติกรรมเริ่มต้น สำหรับทุกคนที่มาจาก Eclipse สิ่งนี้เป็นเหมือนความทรงจำในกล้ามเนื้อของเราตั้งแต่วันแรก
ปิแอร์

45

ในฐานะที่ตอบอื่น ๆ คุณสามารถเปิดใช้งาน "CamelHumps" คำพูดในการSettings | Editor | General | Smart Keysที่จะเปลี่ยนทางลัดในการทำงานกับ CamelCase แทนทั้งคำ

Settings | Appearance & Behavior | Keymap | Editor Actionsนอกจากนี้คุณยังสามารถเข้าถึงพฤติกรรมก่อนหน้านี้โดยการกำหนดแป้นพิมพ์ลัดเพื่อการดำเนินการที่เหมาะสมภายใต้ ภาพนี้แสดงตัวอย่างที่ฉันเข้าถึงพฤติกรรมก่อนหน้านี้โดยการเพิ่มctrl:

ภาพหน้าจอ keymap


4
! น่ากลัว นี่ควรเป็นพฤติกรรมเริ่มต้นใน Intellij!
AndiDev

ขอบคุณ! มันสมบูรณ์แบบ ดับเบิ้ลคลิกทำทั้งคำ แต่ ctrl + ใช้ทิศทางมาเป็นตัวพิมพ์ใหญ่
Brett

19

คุณสามารถมีทั้งสองฟังก์ชันในเวลาเดียวกัน:

  1. ใน "การตั้งค่า -> ตัวแก้ไข -> ทั่วไป -> คีย์สมาร์ท" ให้ปิดการใช้งาน "ใช้คำ CamelHumps"
  2. ใน "keymap" ให้สร้างทางลัดสำหรับ:
    • "ย้ายเครื่องหมายรูปหมวกไปยังคำถัดไป"
    • "ย้ายเครื่องหมายรูปหมวกไปยังคำถัดไปในโหมด camelhumps ที่แตกต่างกัน"

โปรดทราบว่าขั้นตอนเหล่านี้สอดคล้องกับ IntelliJ 14 ดังนั้นจึงอาจแตกต่างจากรุ่นอื่นเล็กน้อย


สำหรับความอยากรู้อยากเห็นคุณทำแผนที่ทั้งคู่หรือไม่? ถ้าใช่คุณเลือกใช้ชุดค่าผสมใด
เลือก

ใช่ฉันทำแผนที่ทั้งคู่มันมีประโยชน์เมื่อคุณมีชื่อชั้นยาว โดยทั่วไปคุณไม่ต้องการมีทางลัดที่แตกต่างกันสำหรับทุกโปรแกรม ดังนั้นฉันจึงใช้ctrl+arrowคำทั้งหมด (นั่นคือทางลัดที่ใช้ทุกที่ ) และalt+arrowสำหรับคำ camelhumps (นั่นเป็นตัวดัดแปลงที่เหลืออยู่เพียงตัวเดียวเนื่องจาก shift ใช้สำหรับการเลือกในทุกโปรแกรม)
blue_note

ฉันทำการแมปใหม่กับctrl+PgUp/PgDnและCtrl+(shift)+Tabเนื่องจากมีการใช้ในเบราว์เซอร์และโปรแกรมส่วนใหญ่ดังนั้นจึงมีอยู่ในหน่วยความจำกล้ามเนื้อของฉันแล้ว
blue_note

ฉันต้องการที่จะใช้alt+arrowเพื่อย้ายตามคำทั้งหมดและctrl+arrowเพื่อนำทางโดยอูฐโคก (นี่เป็นพฤติกรรมเริ่มต้นใน Xcode ซึ่งเป็น "หน่วยความจำกล้ามเนื้อ" ของฉัน) ฉันพยายามทำสิ่งนี้โดยใช้การตั้งค่าของ IntelliJ แต่ฉันไม่สามารถctrl+{anything}ลงทะเบียนง่ายๆ ctrl+alt+{something}ดูเหมือนว่าจะทำงานเช่นเดียวแต่ไม่ได้alt+{something} ctrl+{something}ฉันใช้ Mac Keymap ปัจจุบันของฉันคือ Mac OS X 10.5+ ข้อเสนอแนะใด ๆ
mbm29414

@ mbm29414: ทำงานได้ดีสำหรับฉันใน macos แม้ว่ามันจะถูกมอบหมายให้กับสิ่งอื่นแล้ว อาจเป็นการตั้งค่าภายนอกไปยังระบบภายใน
blue_note
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.