Visual Studio 2012 - Intellisense บางครั้งหายไป / เสีย


133

เพื่อนร่วมงานของฉันและฉันใช้ VS2012 มาหลายสัปดาห์แล้ว บางครั้งหลังจากทำงานหลายชั่วโมง Intellisense จะเสีย หลังจากปิดแท็บที่เปิดอยู่ทั้งหมดมันจะทำงานอีกครั้ง

มีคนจำนวนมากที่มีปัญหาเดียวกันหรือไม่? มันเป็นปัญหาส่วนขยายไม่ได้เพราะที่บ้านฉันมีปัญหาเดียวกัน อาจมีวิธีแก้ปัญหานี้หรือไม่?


2
การใช้Ctrl+ ใช้Spaceงานได้หรือไม่หลังจากที่ปัญหานี้ปรากฏขึ้น
SajjadHashmi

7
ไม่มี Ctrl + Space จะไม่มีผลใด ๆ
KroaX

2
มีปัญหาเดียวกัน
msbg

2
Visual Studio ใช้การใช้งาน IntelliSense ที่เป็นอิสระสำหรับแต่ละภาษาที่รองรับดังนั้นคำตอบน่าจะขึ้นอยู่กับภาษาที่ใช้อยู่ นอกจากนี้ส่วนขยาย Visual Studio หลายรายการยังเปลี่ยนแปลงเพิ่มหรือแม้แต่แทนที่คุณลักษณะ IntelliSense สำหรับภาษาอย่างน้อยหนึ่งภาษาซึ่งอาจเปลี่ยนแปลงคำตอบที่ให้ไว้
Sam Harwell

โปรดลงคะแนนใน uservoice นี้เพื่อขอคอร์ด soft-reset อย่างน้อยก็ช่วยลดสิ่งนี้: visualstudio.uservoice.com/forums/121579-visual-studio/…
mattmanser

คำตอบ:


184

นี่คือวิธีแก้ปัญหาชั้นนำเพียงไม่กี่วิธีสำหรับการรับ Visual Studio 2012 intellisense กลับมาลองใช้ทีละรายการหวังว่าหนึ่งในนั้นจะแก้ปัญหาได้:

When the problem occurs next time follow these: เริ่มจาก # 1 และย้ายไปที่ถัดไปเมื่อก่อนหน้านี้ไม่เหมาะกับคุณ

1: Close all the tabsและเปิดไฟล์ของคุณอีกครั้ง (ขอบคุณ russds)

2: Clean the Build> Close the Solution> Restart Visual Studio> Open the Solutionอีกครั้ง

3: ไปที่: Edit> IntelliSense>Refresh Local Cache

4: ปิด Visual Studio 2012 และลบโฟลเดอร์นี้: %AppData%\Microsoft\VisualStudio\11.0\ReflectedSchemas

5: ไปที่: TOOLS> Import and Export Settings>Reset all settings

6: ลบ.suoไฟล์ในโฟลเดอร์โครงการ (ขอบคุณ Jason Steele)

ฉันหวังว่าปัญหาของคุณจะได้รับการแก้ไขโดยหกขั้นตอนข้างต้น แต่ถ้าไม่เป็นไปตามนี้ฉันคิดว่าคุณควรพิจารณาติดตั้ง VS2012 ของคุณใหม่


6
ไม่สามารถ # 1 ได้เนื่องจากรายการเมนูนั้นไม่มีอยู่ใน VS2012 (?) ของฉัน ไม่สามารถทำ # 2 ได้เนื่องจากไม่มีโฟลเดอร์นั้นอยู่ แต่หลังจากรีสตาร์ท VS2012 ปัญหาก็หายไป
Lasse Skindstad Ebert

20
ฉันไม่พบที่ใดที่รีเฟรชแคชภายในเครื่องที่นั่น?
MonsterMMORPG

6
เกิดขึ้นกับฉันเหมือนกันไม่มีสิ่งใดข้างต้นได้ผล แต่การปิดแท็บทั้งหมดทำได้ นั่นควรเป็นทางเลือกหนึ่งในโซลูชันนี้
russds

1
4 ทำงานสำหรับโครงการใน VS 2012 แต่ไม่มีโฟลเดอร์ใน VS 2013 และฉันยังคงมีปัญหาอยู่ ฉันพยายามลบ GeneratedSchemas ที่มีลักษณะคล้ายกันแทน แต่ก็ไม่ได้ผลเช่นกัน
Jason Steele

1
@SajjadHashmi คุณคิดอย่างไรกับการแก้ไขคำตอบเพื่อรวมขั้นตอนในการลบไฟล์. suo มีความคิดเห็นและคำตอบที่ได้รับการโหวตหลายรายการในชุดข้อความนี้ที่แนะนำและดูเหมือนว่ามันจะช่วยให้ผู้อื่นมีในรายการหลักนี้ วันนี้ฉันเสนอการแก้ไขคำถามนี้เพื่อรวมไว้ด้วย แต่การแก้ไขของฉันถูกปฏิเสธ (ด้วยเหตุผลที่ทำให้ฉันงงและท้อใจเล็กน้อย) อย่างไรก็ตามโปรดพิจารณาเพิ่มเติมเล็กน้อยในคำตอบของคุณ
อนุ

19

ฉันใช้ Visual Studio 2012 และมีปัญหาเดียวกัน Ti แก้ไขมัน (เมื่อ Intellisense ไม่ทำงานอีกต่อไป) ฉันต้องปิดแท็บปัจจุบัน (ที่ Intellisense ไม่ทำงาน) แล้วเปิดใหม่ ... และทุกอย่างก็โอเค ... ไม่จำเป็นต้องปิด Visual Studio หรือปิดทั้งหมด แท็บ


2
สิ่งนี้ใช้ได้ผลจริงสำหรับฉัน Beats โหลดโซลูชันทั้งหมดใหม่หรือรีสตาร์ท Visual Studio
Howard Renollet

ขอบคุณ! นี่ก็เป็นกรณีของฉันเหมือนกัน
Hong

13

พยายามทุกอย่าง. สิ่งที่WORKEDกำลังลบไฟล์ SUO เป็นไฟล์ที่ซ่อนอยู่ชื่อ SolutionName.v11.suo ในไดเร็กทอรีโซลูชัน:

  1. ปิดโซลูชัน
  2. ตรวจสอบให้แน่ใจว่าคุณสามารถเห็นไฟล์ที่ซ่อนอยู่
  3. ลบไฟล์ suo
  4. เปิดโซลูชันอีกครั้ง

คุณจะหลุดจากเดสก์ท็อปโซลูชัน (จะไม่มีการเปิดไฟล์โดยอัตโนมัติในตัวแก้ไข) แต่นั่นเป็นราคาเพียงเล็กน้อยที่ต้องจ่ายเพื่อรับ intellisense กลับมา :)


มีความคิดว่าเหตุใดจึงเกิดขึ้น ตอนนี้ฉันกำลังลบไฟล์ sou ของฉัน 3 ครั้งขึ้นไปต่อวัน ฉันไม่ได้แยกปลั๊กอินใด ๆ ออก แต่ฉันเดาว่ามันคือ Web Essentials หรือ Power Tools
Skowronek

1
@Alon Gingold - นี่ไม่ใช่แค่สิ่งที่ฉันพูดกลับไปเมื่อวันที่ 13 พฤศจิกายนหรือไม่? อย่างไรก็ตามฉันติดตั้งเครื่องมือ Xamarin แล้วและสงสัยว่ามีใครที่มีปัญหากับไฟล์. suo ที่มีปัญหานี้ด้วยหรือไม่?
Jason Steele

ฉันติดตั้ง xamarin แล้วและไม่มีอะไรเลยนอกจากปัญหานี้ทุกวันกับ visual studio 2013
TombMedia

13

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

อัปเดต 4/16 : สำหรับผู้ใช้ XAML โซลูชันที่ใช้งานได้ง่ายเพียงแค่จงใจทำลายโค้ดของคุณ สิ่งนี้น่าจะเพียงพอที่จะดึง intellisense กลับมา เพิ่มเติมในที่นี่ .

ไม่สามารถตรวจสอบได้ว่าสิ่งนี้ใช้ได้กับรหัสประเภทอื่นหรือไม่ แต่ถ้าเป็นเช่นนั้นโปรดแสดงความคิดเห็น


7
คุณไม่จำเป็นต้องปิดโซลูชันปัจจุบัน เพียงแค่ WINDOW> ปิดเอกสารทั้งหมด
โยโย่

12

ลบไฟล์. suo ลองสิ่งนี้มันได้ผลสำหรับฉันหลังจากที่ทุกอย่างล้มเหลว


ทำให้ฉันนึกถึงสมัยก่อนที่คุณต้องทำให้ไฟล์. ncb เป็นแบบอ่านอย่างเดียวดังนั้น VS 2005 จึงไม่สามารถใช้งานได้และวางสายในขณะที่หมุนเป็นเวลา 30 นาทีในส่วนหัว C ++
Jon Harbour

6

ผมมีปัญหาเดียวกัน. สำหรับฉันการเลือกจุดสิ้นสุดของบรรทัดสุดท้ายของไฟล์จากนั้นบันทึกไฟล์ (ctrl-s) จะช่วยแก้ปัญหาได้


2

ฉันควรทราบก่อนว่าสิ่งนี้ไม่ได้เกิดขึ้นกับฉันตั้งแต่อัปเกรด RAM เป็น 16GB

สิ่งนี้ดูเหมือนจะเกิดขึ้นเมื่อฉันคัดลอก / วางตัวควบคุมบนเพจ ผลกระทบอีกด้านหนึ่งคือไฟล์ designer.vb ไม่ได้รับการอัปเดตทันทีและฉันไม่สามารถเข้าถึงการควบคุมเหล่านั้นในโค้ดที่อยู่เบื้องหลัง

นี่คือลำดับของขั้นตอนที่ฉันดำเนินการ:

  • หากมีผลกระทบเพียง 1 ไฟล์ / หน้าต่างให้ปิด / เปิดไฟล์นั้นอีกครั้ง

ใน Visual Studio:

  1. คลิก Tools-> Options-> Text Editor-> All Languages-> General
  2. ยกเลิกการเลือก "รายชื่อสมาชิกอัตโนมัติ"
  3. ยกเลิกการเลือก "ข้อมูลพารามิเตอร์"
  4. เลือก "รายชื่อสมาชิกอัตโนมัติ" (ใช่สมาชิกที่คุณเพิ่งยกเลิกการเลือก)
  5. ตรวจสอบ "ข้อมูลพารามิเตอร์" (อีกครั้งข้อมูลที่คุณเพิ่งยกเลิกการเลือก)
  6. คลิกตกลง

หากไม่ได้ผลให้ลองทำตามขั้นตอนต่อไปนี้:

  1. หากยังไม่ทำงานให้ปิดหน้าต่างทั้งหมดแล้วเปิดใหม่
  2. หากยังไม่ได้ผลให้ปิด / เปิดโซลูชันใหม่
  3. หากยังไม่ทำงานให้รีสตาร์ท VS

สำหรับโครงการ C ++:
MSDN มีบางสิ่งที่ควรลอง: คำแนะนำ MSDN

.ncbไฟล์ที่เสียหายน่าจะเป็นไปได้มากที่สุด

จาก MSDN:

  1. ปิดโซลูชัน
  2. ลบ.ncbไฟล์
  3. เปิดโซลูชันอีกครั้ง (สิ่งนี้จะสร้าง.ncbไฟล์ใหม่)

(ฉันยังไม่ทราบสาเหตุว่าทำไมต้องมีขั้นตอนที่รุนแรงกว่านี้ในบางกรณี)

  • ทดสอบใน VS 2013/15
  • ฉันไม่มีปัญหานี้เลยตั้งแต่อัปเกรด RAM

1

ฉันมีรหัส xaml ที่ไม่ดี ไม่ได้ให้ข้อผิดพลาดขณะคอมไพล์ แต่ยังคงป้องกันไม่ให้ intelliSense ทำงานอย่างถูกต้องภายในไฟล์ xaml

ฉันลบรหัสต่อไปนี้เพื่อแก้ไขปัญหา: Binding = "{Binding ReturnCode & Info}"

'&' เป็นปัญหา


1

สิ่งเหล่านี้ไม่ได้ผลสำหรับฉัน แต่ในที่สุดฉันก็ใช้งานได้โดยปิดใช้งาน Resharper ฉันไม่แน่ใจว่าทำไมจึงจำเป็นเพราะฉันมีโซลูชัน LS อื่นที่ Intellisense ทำงานได้ดี แค่คิดว่าฉันจะโพสต์ไว้เผื่อว่าคนอื่นมีปัญหาเดียวกันกับฉัน


1

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


1

ปัญหาเกิดจากไฟล์. vcproj

คุณจะพบว่าคุณเปลี่ยนไปใช้โหมดรีลีสจากโหมดดีบักสร้างจากนั้นลองใช้ intellisense บ่อยครั้ง

ปิด Visual Studio หากคุณค้นหาไฟล์. vcproj ในโปรเจ็กต์ของคุณให้แก้ไขและค้นหาอินสแตนซ์สองอินสแตนซ์แรกของ AdditionalIncludeDirectories ค่านี้ควรมีลักษณะดังนี้ ".. \, .... \" มากกว่า "../ .. "

เปิดโครงการของคุณอีกครั้งปล่อยให้ Intellisense สร้างเสร็จจากนั้นควรได้รับการแก้ไข


สิ่งนี้แก้ไขให้ฉันหลังจากติดตั้ง VS ใหม่ไม่ได้
SB2055

1

ขั้นตอนในการปฏิบัติตาม:

  1. ไปที่เมนูเครื่องมือ
  2. คลิกที่ "นำเข้าและส่งออกการตั้งค่า"
  3. เลือก "รีเซ็ตการตั้งค่าทั้งหมด" คลิกถัดไป
  4. สำรองข้อมูลการตั้งค่าของคุณ คลิกถัดไป
  5. เลือกการตั้งค่าสภาพแวดล้อมของคุณ (เช่น Visual C # Development Settings) คลิกเสร็จสิ้น

ไม่จำเป็นต้องรีสตาร์ท Visual Studio


1

ฉันมีปัญหากับ Intellisense มีดโกนไม่ทำงานเลยในโครงการหนึ่งของฉัน การแก้ไขด้านบนไม่ได้ผลสำหรับฉัน ในที่สุดฉันก็สามารถแก้ไขปัญหาได้โดยเปลี่ยนเวอร์ชันของหน้าเว็บในการกำหนดค่าเว็บเป็น 2.0.0.0 แทน 3.0.0.0 ที่แสดงด้านล่าง:

<appSettings>
   <add key="webpages:Version" value="2.0.0.0" />
   ...
</appSettings>

ฉันหวังว่านี่จะช่วยคนอื่นได้


0

ข้อใดข้างต้นไม่ช่วยแก้ไข Intellisense บน devbox ของฉัน (VS2012) ฉันได้ลองใช้ "devenv / resetuserdata" ซึ่งส่งผลให้จำเป็นต้องติดตั้งปลั๊กอินทั้งหมดใหม่

อย่างไรก็ตามใน C ++ โครงการโค้ดใน #if ABC ... #endif บล็อกจะเป็นสีเทา

เป็นวิธีแก้ปัญหาชั่วคราวฉันแก้ไข #if ABC เป็น #if 1 // ABC จากนั้นเปลี่ยนกลับหลังจากแก้ไขบล็อกเสร็จแล้ว น่ารำคาญ ...

แก้ไข: ไม่กี่ชั่วโมงต่อมาฉันพบทางออกที่ดีกว่า ฉันแสดงความคิดเห็น "#define ABC 1" ในไฟล์ส่วนหัวและเพิ่ม "ABC = 1;" ไปยัง Project Properties-> C / C ++ -> Preprocessor-> Preprocessor Definitions จากนั้น Intellisense ก็เริ่มทำงานอย่างถูกต้อง! บล็อกโค้ดจะไม่เป็นสีเทา


การตั้งค่าเริ่มต้นของ Visual Studio จะทำให้โค้ดทั้งหมดเป็นสีเทาที่คอมไพลเลอร์จะข้ามไปเนื่องจากคำสั่งคอมไพเลอร์เช่น#if. หากค่าคงที่ที่กำหนดเปลี่ยนไปเมื่อการกำหนดค่าที่ใช้งานอยู่ของคุณเปลี่ยนไป (เช่น#define debugมักจะถูกตั้งค่าในโหมดดีบักในขณะที่ไม่มีอยู่ในโหมดเผยแพร่) ส่วนของรหัสที่เป็นสีเทาจะเปลี่ยนไป
Zarepheth

0

ฉันมีปัญหาที่คล้ายกันใน Visual Studio 2013 ฉันเพิ่งทำความสะอาดโซลูชันแล้วลบ 4: ปิด Visual Studio 2013 และลบโฟลเดอร์นี้: %AppData%\Microsoft\VisualStudio\12.0และมันก็แก้ปัญหาได้


0

ฉันได้แยกปัญหาของฉันออกจาก VS Power Tools ที่ทำให้ * .suo เสียหาย การปิด VS การลบ. suo แล้วเปิดใหม่จะช่วยแก้ปัญหาได้ นอกจากนี้ยังลบการตั้งค่าส่วนบุคคลทั้งหมดสำหรับโซลูชันนั้น

อีกวิธีหนึ่งที่ทำลายล้างน้อยกว่าที่ฉันเคยใช้คือการใช้คำสั่งพลังงาน "แก้ไขไฟล์โครงการ" จากนั้นโหลดโปรเจ็กต์ซ้ำเพื่อให้ intellisense ทำงานอีกครั้ง

หวังว่าจะช่วยคนอื่น ๆ


0

สำหรับ VS2013 - ASP.NET MVC 5 Project วิธีง่ายๆในการแก้ไขปัญหานี้คือการยกเลิกการโหลดและรีโหลดโปรเจ็กต์เฉพาะ


0

สำหรับโปรเจ็กต์ Python ฉันได้ลบโฟลเดอร์. vs ที่ซ่อนอยู่ไฟล์ .sln และไฟล์. pyproj จากนั้นฉันสร้างโครงการใหม่จากโค้ดที่มีอยู่และ Intellisense กำลังทำงานอีกครั้ง


0

การปิดแท็บที่ใช้ไม่ได้ผลสำหรับฉัน

ps ฉันจะเก็บไว้ก่อนมือในกรณีที่ VS แปลก;)

โอ้และทางลัดคือ Ctrl + Alt + Space (เพื่อสลับระหว่างคำแนะนำและโหมดการเสร็จสิ้นมาตรฐาน)


0

ฉันประสบปัญหานี้หลายครั้งและฉันก็ยังเผชิญกับมันเช่นกัน

วิธีแก้ปัญหาที่ได้ผลสำหรับฉันคือการลดความยาวของเส้นทางที่วางโซลูชัน ฉันวางโซลูชันไว้ใกล้กับไดรฟ์ C (c: /code/your_project.sln) และมันก็แก้ปัญหา intellisense สิ่งนี้จะช่วยแก้ปัญหาได้เสมอ


-1

ข้างต้นไม่ได้ผลสำหรับฉัน เมื่อตรวจสอบอย่างใกล้ชิดฉันสังเกตเห็นว่า Intellisense ใช้งานได้กับบางไฟล์ แต่ไม่ใช่ในทุกไฟล์ แล้วพบว่ามันเป็นเพียงไฟล์เดียว ในที่สุดก็เปิดไฟล์. proj ซึ่งมี:

  <ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
<Compile Include="Generator.cs" />
<Compile Include="PDFDocument2.cs" />
<None Include="PDFDocument.cs" />
<Compile Include="PdfDaemon.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />

แน่นอนว่า Intellisense ใช้ไม่ได้กับไฟล์ที่ไม่ได้ทำเครื่องหมายว่าจะคอมไพล์

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