Visual Studio: จะแสดงโอเวอร์โหลดใน IntelliSense ได้อย่างไร


252

เมื่อเขียนโค้ดแล้ววิธีเดียวที่ฉันรู้ในการดูโอเวอร์โหลดสำหรับวิธีหนึ่งคือการแก้ไขวิธีโดยการลบวงเล็บ()และเปิดใหม่อีกครั้ง

มีปุ่มทางลัดที่ฉันสามารถกดเพื่อเปิดใช้งานสิ่งนี้แทนที่จะต้องแก้ไขไฟล์ของฉันหรือไม่?

ตัวอย่างเช่นโปรดอ้างอิงหน้าจอShowDialog Overloadด้านล่าง:

ShowDialog1 โอเวอร์โหลด


6
เกิดอะไรขึ้นกับลูกศรชี้ขึ้นและลงอันเก่า?
Zapnologica

3
@Zapnologica: ลูกศรขึ้นและลงยังคงอยู่ แต่จำเป็นต้องเปิดใช้งานและเปิดกล่องIntelliSenseก่อนที่ลูกศรเหล่านั้นจะสามารถใช้เพื่อเลื่อนดูตัวเลือกการโอเวอร์โหลด คำถามนี้เกี่ยวกับวิธีเปิดกล่องIntelliSense
jp2code

3
คุณจะทำให้เปิดเป็นค่าเริ่มต้นได้อย่างไรควบคุมพื้นที่กับพื้นที่ควบคุมการเปลี่ยนแปลง
Zapnologica

6
@Zapnologica: ฉันใช้ลำดับControl + Shift + Spaceเช่นControl + Alt + Deleteแบบเก่า
jp2code

ใน VS2012 มันใช้เพื่อเปิดโดยค่าเริ่มต้นเมื่อฉันพิมพ์วงเล็บเปิดหลังจากชื่อฟังก์ชั่น แต่ดูเหมือนจะไม่ทำเช่นนั้นอีกต่อไปตั้งแต่ฉันติดตั้ง ReSharper แต่จะให้เมนูแบบเลื่อนลงของตัวแปร / ฟังก์ชั่นที่เป็นไปได้เพื่อเติมลงใน arg แรก ค่อนข้างน่ารำคาญ
Nyerguds

คำตอบ:


396

ลองแป้นพิมพ์ลัด-Ctrl - สิ่งนี้สอดคล้องกับในกรณีที่คุณเปลี่ยนค่าเริ่มต้นShiftSpaceEdit.ParameterInfo

ตัวอย่าง:

ภาพหน้าจออธิบายโดย jp2code


41
อย่างน้อยใน VS 2008 ดูเหมือนว่าเคอร์เซอร์ของคุณจะต้องอยู่ในวงเล็บเพื่อให้ทางลัดนี้ทำงานได้ ขอบคุณสำหรับการโพสต์ฉันไม่ทราบว่ามีอยู่จริง!
kiswa

2
ตอนนี้ถ้ามีเพียงวิธีที่จะทำให้สิ่งนี้เกิดขึ้นเป็นค่าเริ่มต้น
Mike Lowery

ใน VS2017 คำสาปต้องอยู่ในวงเล็บด้วย
Mohammed Noureldin

ใน vscode ก็ใช้งานได้เช่นกันและคุณสามารถใช้Alt + UpหรือAlt + Downนำทางระหว่างกันได้
Juan De la Cruz

60

Ctrl+ Shift+ SpaceแสดงEdit.ParameterInfoวิธีการที่เลือกและโดยวิธีที่เลือกฉันหมายถึงเครื่องหมายรูปหมวกต้องอยู่ในวงเล็บของเมธอด

นี่คือVisual Studio 2010 ปุ่มลัดโปสเตอร์

และสำหรับผู้ที่ยังคงใช้2008


3
อ๊ะตอนนี้คุณดูเซ็กซี่กว่าของฉันด้วยแท็กแป้นพิมพ์แฟนซีของคุณ! ฉันไม่สามารถปล่อยให้เรื่องนี้เกิดขึ้นได้!
aardvarkk

+1 และอีก +1 สำหรับ Neil ถ้าเขาจะบอกวิธีทำตรงนี้
jp2code

11
คุณใช้แท็ก <kbd> </kbd>
Neil Knight

สำหรับฉันใน VS2017 สิ่งนี้น่าจะเป็น: Ctrl + Shift + Space, Space
andrew pate

50

ทดสอบใน Visual Studio 2010 เท่านั้น

วางเคอร์เซอร์ของคุณภายใน () กดCtrl+ แล้วKP

ตอนนี้นำทางโดยการกดปุ่ม ↑  /  ↓  ลูกศร


บางทีฉันอาจทำสิ่งผิดปกติ แต่ฉันไม่สามารถทำให้มันทำงานได้ใน VS2008 หรือ VS2010
jp2code

1
มันเป็นทางลัด VS2010 (ไม่แน่ใจเกี่ยวกับ 2008) - แต่เป็นไปได้ที่คุณจะเปลี่ยนมันหรือเครื่องมือที่คุณติดตั้งได้ทำการจี้ทางลัด
Alex ในปารีส

นี่คือสิ่งที่ฉันกำลังมองหา มีบางอย่างที่เหมือนกันกับ Ctrl + Q ใน IntelliJIdea / Android Studio
DaMachk

19

เริ่มต้นที่สำคัญที่มีผลผูกพันสำหรับเรื่องนี้คือCtrl+ +Shift Spaceที่อยู่ภายใต้คำสั่ง Visual Studio Edit.ParameterInfoเป็น

หากการล็อคปุ่มกดมาตรฐานไม่ทำงานสำหรับคุณ (เป็นไปได้ในบางโปรไฟล์) จากนั้นคุณสามารถเปลี่ยนผ่านหน้าตัวเลือกแป้นพิมพ์

  • เครื่องมือ -> ตัวเลือก
  • แป้นพิมพ์
  • พิมพ์ใน Edit.ParameterInfo
  • เปลี่ยนปุ่มทางลัด
  • Hit Assign

1
ดีมาก! อีก +1 คุณบอกวิธีสร้างCtrl+Shift+Spaceกราฟิกนั้นได้ไหม
jp2code

8
@ jp2code เพื่อสร้างกราฟิกใช้<kbd>แท็ก ตัวอย่าง<kbd>Shift</kbd>
JaredPar

3
@ jp2code หากคุณเปิดในโหมดแก้ไขคุณจะเห็นแท็กที่ใช้
radbyx

ใน Visual Studio 2015 หากนี่ใช้ไม่ได้กับคุณคุณต้องลองทำสิ่งนี้: stackoverflow.com/a/31087682/68905 ฉันต้องทำเพื่อให้มันใช้งานได้
jakejgordon

10

มันเกิดขึ้นที่ไม่มีวิธีการใด ๆ ข้างต้นทำงาน การผูกคีย์นั้นถูกต้อง แต่เคล็ดลับเครื่องมือก็ไม่แสดงในกรณีใด ๆ ไม่ว่าจะเป็นความช่วยเหลือที่สมบูรณ์หรือตามความต้องการ

หากต้องการแก้ไขให้ไปที่Tools \ Text Editor \ C # (หรือทุกภาษา) และตรวจสอบ ' ข้อมูลพารามิเตอร์ ' ตอนนี้มันควรจะทำงาน


7

คำถามที่ดี; ฉันมีปัญหาเดียวกัน ปรากฎว่ามีแป้นพิมพ์ลัดจริง ๆ เพื่อแสดงรายการนี้: Ctrl + Shift + Space (รูปแบบของทางลัด IntelliSense พื้นฐานของ Ctrl + Space)


5
  • คำสั่งEdit.ParameterInfo(แมปกับCtrl+ Shift+ Spaceโดยค่าเริ่มต้น) จะแสดงคำแนะนำเครื่องมือโอเวอร์โหลดหากมีการเรียกใช้เมื่อเคอร์เซอร์อยู่ภายในวงเล็บพารามิเตอร์ของการเรียกวิธีการ

  • คำสั่งEdit.QuickInfo(แมปกับCtrl+ KCtrl+ Iโดยค่าเริ่มต้น) จะแสดงคำแนะนำเครื่องมือที่คุณเห็นถ้าคุณวางเมาส์เหนือตำแหน่งเคอร์เซอร์


2

ทุกครั้งในขณะที่ข้อเสนอแนะด้านบนหยุดทำงานถ้าฉันรีสตาร์ท Visual Studio พวกเขาเริ่มทำงานอีกครั้งแม้ว่า


1

ฉันรู้ว่านี่เป็นโพสต์เก่า แต่สำหรับมือใหม่อย่างฉันที่ยังคงตีหน้านี้อาจเป็นประโยชน์ เมื่อคุณวางเมาส์บนวิธีที่คุณจะได้รับกล่องข้อมูลที่ไม่สามารถคลิกได้ในขณะที่ถ้าคุณเพิ่งเขียนเครื่องหมายจุลภาคในวงเล็บวิธี IntelliSense จะให้กล่องข้อมูลที่คุณรักพร้อมลูกศรที่คลิกได้


นั่นไม่ใช่สิ่งเดียวกัน นั่นคือ IntelliSense ของค่าที่คุณสามารถใส่ได้ไม่ใช่หน้าต่างโอเวอร์โหลด เพื่อให้คุณสามารถทำ Ctrl + Space
Mastro

0

เหมืองปรากฏขึ้นใน VS2010 หลังจากเขียนวงเล็บแรก ..

ดังนั้นรถเข็นเพิ่ม (

หลังจากทำอะไรแบบนั้นกล่องที่มีลูกศรขึ้นและลงจะปรากฏขึ้น

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