แป้นพิมพ์ลัด Visual Studio เพื่อเพิ่มคำสั่ง 'โดยใช้' ที่จำเป็นโดยอัตโนมัติ


255

แป้นพิมพ์ลัดคืออะไรเพื่อขยายเส้นสีแดงเล็ก ๆ ที่ให้เมนูที่คุณสามารถเลือกให้มีการusingเพิ่มคำสั่งที่จำเป็นลงไปด้านบนของไฟล์

คำตอบ:


407

Ctrl+ .แสดงเมนู Altฉันพบนี้ง่ายต่อการพิมพ์กว่าทางเลือก Shift+ F10+

สิ่งนี้สามารถผูกกับสิ่งที่คุ้นเคยมากกว่าได้โดยไปที่เครื่องมือ> ตัวเลือก> สภาพแวดล้อม> คีย์บอร์ด> Visual C #> View.QuickActions


6
ใช่ฉันคิดว่ามันเป็นสิ่งที่คุณคุ้นเคย ฉันไม่มีปัญหากับ Alt + Shift + F10 ในขณะที่ Ctrl + รู้สึกมนุษย์ต่างดาวโดยสิ้นเชิง ฉันเดาว่าเราจะยอมรับทุกอย่างที่มีเงื่อนไข : D
Jeff Yates

6
ฉันมีหนึ่งในคีย์บอร์ด Microsoft ที่มีฟังก์ชั่นล็อค ... คนที่ฉันเกลียดสิ่งนั้น
Orion Adrian

1
ฉันมีหนึ่งในนั้นที่บ้าน ฟังก์ชั่นล็อคเป็นความคิดที่โง่
Jeff Yates

3
ว้าวไม่รู้เกี่ยวกับ Ctrl + หรือ Alt + Shift + F10 แต่สงสัยอยู่เสมอว่ามีทางลัดเช่นนี้หรือไม่ ฉันยังมีคีย์บอร์ดล็อคฟังก์ชั่น แต่มันจำสถานะของมันได้เสมอดังนั้นจึงไม่มีปัญหา (Microsoft Natural Ergonomics Keyboard 4000)
OregonGhost

1
ctrl + ดูเหมือนจะย่ำแย่จนถึงตอนท้ายของบรรทัดสำหรับฉัน ... ฉันไม่แน่ใจว่าทำไมมันถึงแตกต่าง
justin pmchase

37

Alt+ Shift+ F10จะแสดงเมนูที่เกี่ยวข้องกับสมาร์ทแท็ก


2
เคอร์เซอร์ของคุณจะต้องเป็นชื่อคลาส / ส่วนต่อประสานที่คุณพิมพ์เพื่อให้สามารถใช้งานได้
Pranav Mahajan

ใช่. และจะต้องเป็นเคอร์เซอร์ของเมาส์ด้วยไม่เพียงแค่เคอร์เซอร์บนคีย์บอร์ดและต้องเลื่อนเคอร์เซอร์เมาส์ไปที่นั่นเพื่อที่จะเข้าถึงมันจะเอาชนะจุดที่มีแป้นพิมพ์ลัดทั้งหมด
Neutrino

@ Neutrino นั่นไม่ใช่กรณีของฉัน เคอร์เซอร์ของเมาส์ไม่มีส่วนเกี่ยวข้องกับมัน
Jeff Yates

26

ฉันขอแนะนำให้ตรวจสอบปลั๊กอิน Visual Studio ReSharper มันมีคุณสมบัติ QuickFix ที่ทำเช่นเดียวกัน (และอีกมาก)

แต่ ReSharper ไม่ต้องการให้เคอร์เซอร์อยู่บนโค้ดจริงที่ต้องการเนมสเปซใหม่ สมมติว่าคุณคัดลอก / วางรหัสลงในไฟล์ต้นฉบับและเพียงไม่กี่คลิกAlt+ Enterและการใช้ที่จำเป็นทั้งหมดนั้นรวมอยู่ด้วย

โอ้และมันยังทำให้แน่ใจว่ามีการเพิ่มการอ้างอิงแอสเซมบลีที่จำเป็นในโครงการของคุณ ตัวอย่างเช่นคุณสร้างโครงการใหม่ที่มีการทดสอบหน่วยNUnit คลาสแรกที่คุณเขียนคุณเพิ่มแอตทริบิวต์ [TestFixture] หากคุณมีหนึ่งโครงการในโซลูชันที่อ้างอิงไฟล์ NUnit DLL แล้ว ReSharper จะสามารถเห็นว่า TestFixtureAttribute มาจากไฟล์ DLL นั้นดังนั้นมันจะเพิ่มการอ้างอิงแอสเซมบลีให้กับโครงการใหม่ของคุณโดยอัตโนมัติ

และมันยังเพิ่มเนมสเปซที่จำเป็นสำหรับวิธีการขยาย อย่างน้อย ReSharper รุ่น 5 รุ่นเบต้าทำ ฉันค่อนข้างมั่นใจว่าฟังก์ชั่นการแก้ไขในตัวของ Visual Studio ไม่ได้ทำอย่างนั้น

ด้านล่างมันเป็นผลิตภัณฑ์เชิงพาณิชย์ดังนั้นคุณต้องจ่ายเงิน แต่ถ้าคุณทำงานกับซอฟต์แวร์เชิงพาณิชย์ความสามารถในการผลิตที่ได้รับ (ปลั๊กอินจะทำสิ่งดีๆอื่น ๆ อีกมากมาย) มีค่ามากกว่าป้ายราคา

ใช่ฉันเป็นแฟน;)


14

ใน Visual Studio 2010 คุณจะพบคำสั่งแป้นพิมพ์ namespaces แก้ไขในคำสั่งที่เรียกว่าView.ShowSmartTag ฉันก็แมปกับShift+ Alt+ F10ซึ่งเป็นเรื่องยุ่งยากมาก - ดังนั้นฉันมักจะทำการแมปใหม่โดยทันที

เมื่อพีทแสดงความคิดเห็นใน ReSharper - ใช่สำหรับทุกคนที่มีงบประมาณ ReSharper ทำให้ชีวิตมีความสุขแน่นอน ความจริงที่ว่ามันฉลาดพอที่จะแก้ไขการอ้างอิงภายนอกการอ้างอิงปัจจุบันและเพิ่มทั้งการใช้และการอ้างอิงจะไม่เพียง แต่ช่วยให้คุณประหยัดเวลาได้นับไม่ถ้วน แต่ยังทำให้คุณลืมว่าคลาสเฟรมเวิร์กอยู่ที่ใด ;-) การพัฒนาชีวิต ... จากนั้นเรายังไม่ได้เริ่มแม้แต่ Refactorings ReSharper เลย

DevExpress ' CodeRushไม่ได้ให้ความช่วยเหลือในเรื่องนี้ หรือไม่มีอะไรที่ชัดเจนสำหรับฉัน - และ DevExpress ภายใต้โหมดที่ไม่ใช่ผู้เชี่ยวชาญนั้นกำลังเตรียมพร้อมสำหรับสิ่งที่คุณต้องการ :-)

ความคิดเห็นล่าสุด - คุณสมบัติ IDE ของการแก้ไขการพึ่งพานั้นเป็นผู้ใหญ่และได้รับการปรับปรุงในโลก Java IDE ที่กลุ่มตัวอย่างอินเทอร์เน็ตจำนวนมากไม่แสดงการนำเข้า (โดยใช้) อีกต่อไป

สิ่งนี้กล่าวว่าในที่สุดไมโครซอฟท์ก็มีบางสิ่งบางอย่างที่จะนำเสนอในเรื่องนี้ แต่ก็เป็นที่ชัดเจนสำหรับผมว่าการพัฒนาของไมโครซอฟท์ (สำหรับพวกเราหลายคน) ได้เกิดขึ้นมาอย่างเต็มวงแล้ว บนซอร์สอีกครั้ง - หมายความว่าเวลาที่คุณใช้ในมุมมองซอร์สโค้ด / ไม่ว่าจะเป็น C #, VB หรือ XAML นั้นกำลังเพิ่มขึ้นและจำนวนของการลากและวางลงบน 'แบบฟอร์ม' จะลดลง ด้วยสมมติฐานพื้นฐานนี้จึงเป็นเรื่องง่ายที่จะกล่าวว่า Microsoft ควรเริ่มจดจ่อกับการทำให้การแก้ไขอย่างชาญฉลาดทางลัดแป้นพิมพ์ง่ายขึ้นและการตรวจสอบรหัส / ข้อผิดพลาดและการประเมินผลที่ดีขึ้น - วันที่ตัวแก้ไขโง่ ๆ ห้องสมุดใดที่มันอยู่นั้นหายไป (หรือควรจะเป็นในกรณีใด ๆ ) สำหรับพวกเราส่วนใหญ่


นั่นคือสิ่งที่ฉันกำลังมองหา! คำสั่งที่เรียกว่าอะไรเพื่อให้ฉันสามารถแมปใหม่ได้ รุ่งโรจน์สำหรับการค้นหาชื่อ ... คลุมเครือจริงๆ
swinefeaster

6
  • ปุ่มเมนูบริบท (ปุ่มเดียวที่มีเมนูอยู่ข้างปุ่ม Windows ด้านขวา)
  • จากนั้นเลือก "แก้ไข" จากเมนู สามารถทำได้โดยการกด "s"

0

ตัวอย่างเช่นมันคือctrl+ .เมื่อคุณพยายามพิมพ์ที่Listคุณต้องการพิมพ์<ที่ส่วนท้ายและกดctrl+ .เพื่อให้ทำงานได้

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