Visual Studio 2010 IntelliSense ไม่ได้เลือกค่าเริ่มต้น แต่เป็นเพียงการทำเครื่องหมาย


140

ฉันมีปัญหาที่น่ารำคาญกับ IntelliSense ใน Visual Studio 2010:

ทุก ๆ ครั้ง (แต่ไม่เสมอไป - อยู่นอกการควบคุมของฉัน) เครื่องมือ Intellisense เลือกที่จะ "ทำเครื่องหมาย" ตัวเลือกแทนที่จะเลือกมัน ซึ่งหมายความว่าแทนการพิมพ์e n Enterในการเข้าถึงตัวเลือกเริ่มต้นที่เริ่มต้นด้วย "En ..." e n down Enterผมต้องประเภท

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

ฉันจะแน่ใจได้อย่างไรว่ามีการเลือกตัวเลือกเริ่มต้นเสมอไม่ใช่แค่ "ทำเครื่องหมาย"

สำหรับการอ้างอิง: นี่คือ Visual Studio 2010 RC ที่มี CodeRush Xpress 10.1


@devio: คุณเคยรู้ไหมว่าทำไม?
Tomas Aschan

คำตอบ:


275

ลอง-Ctrl -AltSpace

พบว่าในการเชื่อมต่อและดูเหมือนว่าจะทำงานให้ฉัน


1
บทความของ Microsoft มักจะหายไปหลังจากนั้นไม่นาน มันจะดีที่จะอธิบายเหตุผลและวิธีการเล็กน้อย
AaA

76

นอกจากนี้ยังสามารถเปลี่ยนแปลงได้โดยไปที่แก้ไข -> IntelliSense -> ToggleCompletionMode


2
บวกหนึ่งสำหรับการค้นหาทางเลือกสำหรับผู้ที่อาจเปลี่ยนทางลัด
Daniel Casserly

1
ขอบคุณ. ฉันอาจเพิกเฉย Ctrl + Alt + Space โดยคิดว่ามันจะไม่สามารถแก้ไขได้อย่างถาวร แต่มันจะมีผลกับสิ่งที่คุณกำลังพิมพ์อยู่เท่านั้น แม้ว่ามันจะเป็นสิ่งเดียวกันกับสิ่งนี้สิ่งนี้ดึงดูดสายตาของฉันและช่วยให้ฉันเข้าใจสิ่งที่ฉันทำ
Timo

5
vs2017 ยังคงใช้ได้ และมันยังคงปิดตัวเองแบบสุ่ม ... ข้อผิดพลาดนี้อยู่ที่นี่เป็นเวลานานแล้ว
Douglas Gaskell

@DouglasGaskell ฉันจะไม่เขียนความเป็นไปได้ที่ฉันอ้วนด้วยนิ้วมือ Ctr + Alt + Space แทนที่จะเปลี่ยนแบบสุ่ม
S. Buda

1
ทำงานร่วมกับ vs2019 ซึ่งฉันคิดว่ามันหักในบางจุด ขอบคุณคุณช่วยให้ประสาทของฉันทุกครั้งที่ฉันเขียนคุณสมบัติ C #!
Andrii M4n0w4R

19

ฉันมีปัญหาเดียวกัน แต่การกดค้นหาTABจะเป็นการเลือกตัวเลือกเริ่มต้นเสมอ


1
จริง แต่คุณยังต้องกดระยะเวลาเพื่อแสดงรายการสมาชิก อีกหนึ่งขั้นตอนพิเศษ :(
Tomas Beblar

2
@Tomas แน่นอนคุณทำ - โซลูชั่นทั้งหมดข้างต้นขึ้นอยู่กับว่า ลองคิดดูถ้านั่นไม่ได้เกิดขึ้น คุณเริ่มพิมพ์ชื่อของตัวแปรซึ่งในตัวอักษรสองสามตัวแรกสามารถจับคู่ตัวแปรหลายตัวที่มีชื่อคล้ายกัน แต่ประเภทที่แตกต่างกันและสมาชิกทั้งหมดสำหรับประเภทเหล่านั้นทั้งหมดจะปรากฏขึ้นโดยอัตโนมัติ การกดปุ่มจุดอาจเป็นขั้นตอนพิเศษ แต่จะช่วยให้คุณมีสุขภาพจิตที่ดี!
cyberspy

2

คุณอาจเปลี่ยนเป็นโหมด IntelliSense ที่มีผลกระทบต่ำเพียงกด Ctrl + Alt + Space แล้วมันจะแก้ปัญหาได้


2

อย่างน้อย C ++

Tools / Options / Text Editor / C/C++/ Advanced / IntelliSense

และเปลี่ยนMember List Commit Aggressiveเป็นTrue


1
ขอบคุณมาก! ฉันกำลังจะโมโหเพราะฉันไม่พบตัวเลือกนี้! บางทีพวกเขาสามารถเปลี่ยนชื่อตัวเลือกนี้เพราะมันเป็นบิตที่ซ่อนอยู่กับชื่อปัจจุบัน หรืออย่างน้อยก็ทำให้มันใช้งานได้ตามค่าเริ่มต้น ...
Lapo

1

เพื่อความสมบูรณ์ตัวเลือกนี้มีปุ่มสลับขึ้นบนแถบเครื่องมือ:

สลับปุ่มแถบเครื่องมือโหมดเสร็จสมบูรณ์

สถานะภาพของมันจะบอกคุณว่าโหมดเสร็จสมบูรณ์ที่เลือกในปัจจุบัน


ในขณะที่อาจจะเป็นจริงและข้อมูลที่มีคุณค่าในวันนี้ฉันประทับใจเล็ก ๆ น้อย ๆ ที่คุณพบ> คำถาม 10 ปีที่จะเขียนนี้ :)
โทมัส Aschan

มันอยู่ในอันดับต้น ๆ ของรายการ "ที่เกี่ยวข้อง" สำหรับคำถามที่คล้ายกันและปรากฏขึ้นค่อนข้างดีในการค้นหา มันยังคงมีความเกี่ยวข้องแม้จะมีอายุสิบปีก็ตาม!
canton7

WTH! เรียบง่ายและตรงไปตรงมา ขอบคุณ VS2019
bolkay

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