ทำให้ Visual Studio เข้าใจ CamelCase เมื่อกดปุ่ม Ctrl และปุ่มเคอร์เซอร์


130

มีวิธีที่ฉันสามารถกำหนดค่า Visual Studio 2008 ให้เข้าใจ CamelCase ได้หรือไม่? โดยเฉพาะอย่างยิ่งฉันต้องการรับCtrl + rightหรือleftเคอร์เซอร์เพื่อพาฉันไปยังส่วนย่อยของชื่อตัวแปรหรือประเภท

กล่าวคือถ้าเคอร์เซอร์ของฉันอยู่ที่จุดเริ่มต้นของบรรทัดนี้:

LongNamedExampleClass longNamed = new LongNamedExampleClass();

และฉันกดCtrl + rightฉันต้องการข้ามไปที่ " Named" ในชื่อชั้นเรียนแทนที่จะเป็นจุดเริ่มต้นของชื่อตัวแปร ถ้าฉันกดอีกครั้งฉันอยากไปที่ " Example" ฉันหวังว่ามันจะสมเหตุสมผล

ฉันใช้คุณสมบัติการนำทางนี้ใน Eclipse ค่อนข้างมากและพบว่ามันยากที่จะปลดปล่อยบางสิ่งที่ฝังแน่น


Resharperรองรับคุณสมบัตินั้น
Petter Wigle

Resharperทำเช่นนั้น ฉันคิดว่าคุณสามารถเขียน addin ของคุณเองเพื่อทำเช่นเดียวกัน
เปิดปก

คำตอบ:


132

ขอบคุณสำหรับผู้ที่แนะนำ Resharper ทำให้ฉันมีเหตุผลที่จะรักมันมากยิ่งขึ้นอีก เพื่อให้เจาะจงว่าสิ่งนี้อาศัยอยู่ที่ไหน - JetBrains เรียกมันว่าCamelHumps (น่ารัก) และคุณสามารถเปิดใช้งานได้โดยใช้เมนู:

Resharper -> ตัวเลือก -> สิ่งแวดล้อม -> ตัวแก้ไข -> พฤติกรรมตัวแก้ไข -> ใช้ CamelHumps

... ใน Resharper รุ่นเก่ากว่าคือ;

Resharper -> ตัวเลือก -> ตัวแก้ไข -> ใช้ CamelHumps


2
มีตัวเลือกเพื่อเลือกทั้งคำแม้ว่า CameHumps จะเปิดอยู่หรือไม่ ในขณะนี้ฉันต้องกดขวาหรือซ้ายหลาย ๆ ครั้งเพื่อเลือกคำ ฉันหวังว่าคุณจะได้รับฉัน
Ozkan

หากต้องการเลือกทั้งคำอย่างรวดเร็วในขณะที่ CamelHumps เปิดอยู่ให้กดแป้นพิมพ์ลัดขยายการเลือกสองครั้ง ( Ctrl+ Alt+ RightหรือCtrl+ W)
ปัง

107

ใครก็ตามที่เจอหน้านี้หลังจากวันที่ 25 พฤศจิกายน 2008 (ผู้ที่ไม่ต้องการจ่ายเงินสำหรับ ReSharper หรือ CodeRush ซึ่งไม่มีเวอร์ชันฟรีอีกต่อไป ) ส่วนขยายฟรีต่อไปนี้จะเพิ่มฟังก์ชันนี้: Subword Navigationโดย Olle Westman

(หรืออีกวิธีหนึ่งส่วนขยายVSTricksจะมีการนำทางคำย่อยในรายการคุณสมบัติที่ดีนอกจากนี้ยังมีส่วนขยายการนำทางย่อยอื่นที่สร้างโดย Lauri Vasama เพื่อไม่ให้สับสนกับ Olle Westman ที่คำตอบนี้ใช้)

หน้าโครงการ Subword Navigation ระบุ:

ค้นหาแก้ไขคำหลักในการผูกแป้นพิมพ์เพื่อตั้งค่าสิ่งต่างๆ

นี่คือวิธีการตั้งค่าในVisual Studio 2019:


  1. ไปที่Tools> Options> Environment> Keyboard

  1. ภายใต้Use new shortcut inเลือกแก้ไขข้อความ

  1. ภายใต้การShow commands containingพิมพ์Edit.Subword สิ่งนี้จะปรากฏขึ้นในช่องเติมข้อความอัตโนมัติพร้อมกับคำสั่งที่แสดงด้านล่าง

  1. เลือกหนึ่งในคำสั่งต่อไปนี้ที่คุณต้องการตั้งค่าปุ่มลัดสำหรับ เมื่อเลือกแล้วให้ทำตามขั้นตอนที่เหลือ จากนั้นกลับมาStep 4เพื่อตั้งค่าใหม่
    • Edit.SubwordNext
      • เดินลัดเลาะไปตามตู้อูฐไปทางขวา [ Alt + Right Arrow]
    • Edit.SubwordPrevious
      • เดินลัดเลาะไปทางด้านซ้ายของอูฐ [ Alt + Left Arrow]                                                             
    • Edit.SubwordNextExtend
      • เลือกอูฐเคสทางด้านขวา [ Alt + Shift + Right Arrow]
    • Edit.SubwordPreviousExtend
      • เลือกอูฐเคสทางซ้าย [ Alt + Shift + Left Arrow]                                                              
    • Edit.SubwordDeleteNext
      • ลบอูฐเคสทางด้านขวา [ Alt + Delete]
    • Edit.SubwordDeletePrevious
      • ลบ camelcases ทางซ้าย [ Alt + Backspace]

หมายเหตุ:เมื่อกำหนดคำสั่งการนำทางย่อยเหล่านี้ให้กับคีย์ลัดใหม่เหล่านี้ให้รักษาฟังก์ชันการทำงานของคีย์ลัดที่มีอยู่แล้วที่คุณต้องการเก็บไว้ล่วงหน้าโดยการตั้งค่าเป็นคีย์อื่น ไม่ควรขัดแย้งกับปุ่มลัดใด ๆ ที่ติดตั้งตามค่าเริ่มต้น


  1. ภายใต้Press shortcut keysกดปุ่มทางลัดของคุณ

  1. คลิกAssignและเขียนทับทางลัดที่มีอยู่

2
ขอบคุณสำหรับหัวขึ้น! วิธีนี้ใช้งานได้ดีและเป็นโซลูชันที่นำเสนอมากที่สุด
Chester Husk

ฉันหมายถึงปี 2015 และปีต่อ ๆ ไป ดังที่ได้กล่าวไว้ในภายหลังฉันใช้สิ่งนี้ใน VS 2012 ฉันจะชี้แจงในโพสต์ ขอบคุณ
jsea

2
คำตอบที่ยอดเยี่ยมโดยเฉพาะอย่างยิ่งในการให้รายละเอียดการตั้งค่า ฉันขอขอบคุณคำอธิบายใน Next / PreviousExtend
skia.heliou

9
ในปี 2015 ฉันต้องเขียนทับคำสั่ง TextEditor. * แทนที่จะเป็นคำสั่ง Global. * ALT + RIGHT ถูกผูกไว้กับอย่างอื่นแล้ว
Seth Flowers

2
@yanyankelevich ฉันเพิ่งทดสอบใน VS2019 และใช้งานได้ อย่างไรก็ตามฉันสังเกตเห็นใน Extensions Manager ว่ามีสองส่วนขยายที่เรียกว่า "Subword Navigation" คุณต้องการสิ่งที่สร้างโดย Olle Westman ฉันได้อัปเดตคำตอบของฉันเพื่อระบุสิ่งนั้นและสังเกตว่าใช้ได้ใน VS2019
jsea

22

หากคุณติดตั้ง ReSharper แล้วคุณยังสามารถกำหนดค่าแป้นพิมพ์ลัด Visual Studio "Alt-Right" และ "Alt-Left" สำหรับ CamelHump ได้โดยไม่สูญเสียพฤติกรรม Visual Studio มาตรฐานสำหรับ "ctrl-right" และ "ctrl-left"

  1. เปิดหน้าต่างVisual Studio OptionsจากTools -> Options
  2. ขยายสภาพแวดล้อมและเลื่อนลงไปที่คีย์บอร์ด
  3. ในกล่องแสดงคำสั่งที่มีให้พิมพ์ "hump" ซึ่งจะแสดงคำสั่งทั้งหมดที่เกี่ยวข้องกับ CamelHumps CamelHumps
  4. แผนที่คำสั่งในการแมปที่สำคัญที่คุณต้องการโดยการเลือกคำสั่งจากรายการและเข้าสู่การทำแผนที่ที่สำคัญในกดปุ่มลัดกล่องข้อความแล้วคลิกกำหนด

คำเตือน:

  • กําหนดแมปสำหรับการแก้ไขข้อความไม่ได้ทั่วโลก
  • ให้แน่ใจว่าการใช้ CamelHumpsตัวเลือกจาก Resharper -> ตัวเลือก -> แก้ไข -> แก้ไขพฤติกรรมถูกปิด

ดูรายละเอียดที่นี่: http://davidrcook.wordpress.com/2009/11/05/working-with-camel-case-in-visual-studio/


4
คุณทำให้วันนี้ดี. วิธีแก้ปัญหาที่สมบูรณ์แบบเนื่องจากอูฐ
ฮัมพ์


2

Visual Studio ไม่สนับสนุนลักษณะการทำงานนี้ อย่างไรก็ตามCodeRush ของ DevExpres ! ผลิตภัณฑ์รองรับการนำทางเช่นนี้ (โดยใช้ Alt-Left & Alt-Right) พร้อมกับคุณสมบัติอื่น ๆ อีกมากมายเพื่อช่วยในการนำทาง CodeRush! ผลิตภัณฑ์ยังมาพร้อมกับเครื่องมือ Refactor พวกเขายังเสนอ CodeRush ฟรี! & Refactor Express แต่ฉันไม่แน่ใจว่าการนำทาง Camel Casing เป็นส่วนหนึ่งของผลิตภัณฑ์ด่วนหรือไม่



-1

ฉันไม่คิดว่า Visual Studio สนับสนุนคุณลักษณะนี้ภายในเนื่องจากดูเหมือนว่าจะใช้วิธีปกติ Ctrl + ขวาและ Ctrl + Left ทำงานในสภาพแวดล้อม Windows แต่อาจเป็นไปได้ด้วยส่วนขยายหรือปลั๊กอินบางประเภท


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