การเติมข้อความอัตโนมัติไม่ทำงานใน Visual Studio


152

ฉันมีปัญหาเล็กน้อยกับสคริปต์ เมื่อฉันเขียนสคริปต์ C # สำหรับ Unity with Visual studio ดูเหมือนว่าฉันกำลังทำงานใน notepad ไม่มีการเติมข้อความอัตโนมัติ (ถูกต้องหรือไม่?) และฉันต้องเขียนช้ามาก

โปรดดูวิดีโอ ในตอนเริ่มต้นเป็นสถานการณ์ปกติ (จากบทแนะนำ) ส่วนที่สองแสดงปัญหาของฉัน

วิดีโอที่มีปัญหา

ตัวอย่างเช่นtransformชั้นเรียนไม่แสดงคำแนะนำหรือการเติมข้อความอัตโนมัติ

ภาพที่มีปัญหา:

ป้อนคำอธิบายภาพที่นี่

เวอร์ชัน Unity: 5.5.2f1
Visual Studio 2015
Visual Studio Tools for Unity ถูกติดตั้ง


1
translate.google.com :) สร้างวิดีโอและอัปโหลดไปยัง YouTube เพื่ออธิบายข้อผิดพลาด +1 xd
Timon โพสต์

โอเคฉันll try... I have a Little problem with scripts. When Iเขียนสคริปต์ C # สำหรับ Unity with Visual studio ดูเหมือนว่าฉันกำลังทำงานใน notepad ไม่มี "เคล็ดลับ" (ถูกต้องหรือไม่) และฉันต้องเขียนให้ช้ามาก โปรดดูวิดีโอ ในช่วงเริ่มต้นเป็นสถานการณ์ปกติ (จากบทแนะนำ) ส่วนที่สองคือปัญหาของฉัน
CorbenDalas

1
ฉันจะบอกว่าคุณกำลังถามเกี่ยวกับ "การเติมข้อความอัตโนมัติ" ไม่ใช่คำแนะนำเครื่องมือ
Martijn Pieters

Visual Studio เวอร์ชันใดและเวอร์ชัน Unity คืออะไร
Programmer

เวอร์ชัน Unity: 5.5.2f1 / Visual studio 2015 / Visual Studio Tools for Unity ถูกติดตั้ง
CorbenDalas

คำตอบ:


345

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

ป้อนคำอธิบายภาพที่นี่

"การเบ็ดเตล็ดไฟล์ข้อความ" สามารถเกิดขึ้นได้ด้วยเหตุผลหลายประการ:

1.อาจเกิดขึ้นได้เมื่อคุณเปิดไฟล์ Unity C # จากโฟลเดอร์อื่นแทนที่จะเปิดจาก Unity Editor

2. สิ่งนี้อาจเกิดขึ้นได้เนื่องจาก Unity ขัดข้องในขณะที่ Visual Studio ยังเปิดอยู่จึงทำให้ไฟล์บางไฟล์เสียหาย

3.อาจเกิดขึ้นได้เนื่องจาก Unity ถูกปิดแล้วเปิดใหม่ แต่ไม่ได้เชื่อมต่อกับ Visual Studio อีกต่อไป เมื่อเปิด Visual Studio คุณจะได้รับ " ไฟล์เบ็ดเตล็ด " และไม่มีการเติมข้อความอัตโนมัติ

4. สิ่งนี้สามารถเกิดขึ้นได้เมื่อไม่ได้ติดตั้งVisual Studio Tools for Unity

5.เมื่อคุณสร้างสคริปต์จาก Unity ให้เปิดอย่างรวดเร็วก่อนที่ Unity จะประมวลผลให้เสร็จสิ้นหรือก่อนที่ไอคอนแอนิเมชั่นทรงกลมจะเคลื่อนไหวจนเสร็จ


ส่วนใหญ่แล้วการรีสตาร์ท Unity และ Visual Studio ควรแก้ไขปัญหานี้

ฉันไม่สามารถบอกได้ว่าสิ่งใดเป็นสาเหตุของปัญหา แต่ฉันจะอธิบายวิธีแก้ปัญหาที่เป็นไปได้มากที่สุดในการแก้ไขปัญหานี้

แก้ไขส่วนที่ 1 :

1 .Download และติดตั้งเครื่องมือ Studio Visual สำหรับความสามัคคีจากนี้การเชื่อมโยง ทำสิ่งนี้ในขณะที่ Unity และ Visual Studio ปิดอยู่

2เทียบัสามัคคีแก้ไขให้ไปแก้ไข -> Preferences ... -> เครื่องมือภายนอก ในภายนอกแก้ไขสคริปต์เมนูแบบเลื่อนลงเปลี่ยนแปลงที่Visual Studio 2015

ป้อนคำอธิบายภาพที่นี่


แก้ไขส่วนที่ 2 :

หากไฟล์ C # ที่สร้างขึ้นใหม่ขึ้นมาเป็นMiscellaneous ให้ทำตามคำแนะนำด้านล่าง:

1เทียบั Visual Studio ไปที่เครื่องมือ -> ตัวเลือก ... -> เครื่องมือสำหรับการสามัคคี -> เบ็ดเตล็ด ภายใต้แสดงไอคอนการเชื่อมต่อตั้งค่าเป็นtrueจากนั้นรีสตาร์ท Visual Studio

ป้อนคำอธิบายภาพที่นี่

2.เมื่อคุณเริ่มต้นใหม่ไอคอนการเชื่อมต่อควรพร้อมใช้งานใน Visual Studio คลิกจากนั้นเลือกอินสแตนซ์ Unity ที่จะเชื่อมต่อ ตอนนี้ไอคอน 'x' สีแดงควรเปลี่ยนเป็นไอคอนเครื่องหมายถูกสีน้ำตาล ตอนนี้เมื่อคุณสร้างไฟล์ C # ใหม่ในความสามัคคีก็ควรเปิดโดยไม่บอกเบ็ดเตล็ด

ป้อนคำอธิบายภาพที่นี่


แก้ไขส่วนที่ 3 :

ยังไม่ได้รับการแก้ไข?

นำเข้าโครงการอีกครั้งจากนั้นเปิดโครงการ C #

1.ปิด Visual Studio

2เทียบัเอกภาพโครงการใหม่นำเข้าโดยไปที่สินทรัพย์ -> นำเข้ามาใหม่ทั้งหมด

ป้อนคำอธิบายภาพที่นี่

3ตอนนี้เปิดโครงการใน Visual Studio โดยไปที่สินทรัพย์ -> เปิด C # โครงการ การดำเนินการนี้จะโหลดโครงการซ้ำและแก้ไขปัญหาไฟล์โซลูชันที่เป็นไปได้

ป้อนคำอธิบายภาพที่นี่


แก้ไขส่วนที่ 4 :

ยังไม่ได้รับการแก้ไข?

แก้ไขไฟล์ C # ทีละไฟล์

1.คลิกที่ไอคอนแสดงไฟล์ทั้งหมด

ป้อนคำอธิบายภาพที่นี่

2 .Select สคริปต์ที่ไม่ได้ทำอัตโนมัติสมบูรณ์แล้วคลิกขวาและเลือกรวมในโครงการ

ป้อนคำอธิบายภาพที่นี่


แก้ไขส่วนที่ 5 :

ยังไม่ได้รับการแก้ไข?

เครดิตไปที่chrisvarnzสำหรับโซลูชันเฉพาะนี้ซึ่งดูเหมือนว่าจะใช้ได้กับหลาย ๆ คน

1.ปิด Visual Studio

2.ไปที่ไดเรกทอรีโครงการของคุณและลบไฟล์ Visual Studio ที่สร้างขึ้นทั้งหมด

นี่คือนามสกุลไฟล์ที่จะลบ:

  • .csproj
  • .user
  • .sln

ตัวอย่าง:

สมมติว่าชื่อโครงการของคุณเรียกว่า"Target Shoot"ไฟล์ที่จะลบควรมีลักษณะดังนี้:

  • ยิงเป้า csproj
  • ยิงเป้า Editor.csproj
  • Target Shoot.Editor.csproj.user
  • ยิงเป้า Player.csproj
  • เป้าหมาย Shoot.Player.csproj.user
  • ยิงเป้า sln

ห้ามลบสิ่งอื่นใด

3.ดับเบิลคลิกที่สคริปต์อีกครั้งจาก Unityซึ่งควรสร้างไฟล์ Visual Studio ใหม่จากนั้นเปิด Visual Studio วิธีนี้อาจแก้ปัญหาของคุณได้


แก้ไขส่วนที่ 6 :

หากไม่ทำงานให้ตรวจสอบว่าคุณมีข้อผิดพลาดนี้หรือไม่ :

ไม่พบงาน "GetReferenceNearestTargetFrameworkTask"

1 .Install Nuget PackageManagerจากที่นี่

2.รีสตาร์ท Visual Visual

ดูคำตอบนี้สำหรับข้อมูลเพิ่มเติม


4
ขอบคุณสำหรับตัวชี้ไฟล์เบ็ดเตล็ด! การปิด VS การลบโปรเจ็กต์ VS และ sln จากนั้นดับเบิลคลิกที่สคริปต์ใน Unity (ดังนั้นการสร้างไฟล์โปรเจ็กต์ใหม่และเปิด VS อีกครั้ง) แก้ไขให้ฉัน ฉันขอแนะนำให้ลองใช้ก่อนปุ่ม "นำเข้าใหม่ทั้งหมด" เนื่องจากเป็นอาหารกลางวัน / ค้างคืนสำหรับโครงการที่ไม่สำคัญ
chrisvarnz

2
นั่นเป็นคำแนะนำที่ดี หวังว่าทุกคนที่อ่านจะเห็นความคิดเห็นนี้
Programmer

ซึ่งส่วนใหญ่เกิดจากการสร้างสคริปต์ใหม่หรือย้ายไปยังโฟลเดอร์ต่างๆภายใน Unity เมื่อใดก็ตามที่การรีสตาร์ท Unity และ VS ไม่สามารถแก้ปัญหาได้ฉัน simoly จะลบ*.csprojและ*.slnไฟล์และเริ่ม Unity กว่า สิ่งนี้มักจะใช้ได้
derHugo

1
โซลูชัน @chrisvarnz ใช้ได้ผลสำหรับฉันหลังจากลองทำตามคำแนะนำอื่น ๆ ทั้งหมดแล้ว
gollumullog

1
@gollumullog ดีครับ. เนื่องจากวิธีนี้ใช้ได้กับหลายคนฉันจึงอัปเดตคำตอบของฉันรวมถึงสิ่งนั้นด้วย
Programmer

41

ลองสิ่งนี้

ใน Unity Editor ไปที่ Menu คลิกที่ Edit -> Preferences -> External Tools -> External Script Editor ตั้งค่าเป็น Visual Studio (VS เวอร์ชันที่คุณติดตั้ง)

ตอนนี้ในเมนูไปที่แก้ไข -> การตั้งค่าโครงการ -> การตั้งค่าผู้เล่น -> การตั้งค่าอื่น ๆ -> ภายใต้การกำหนดค่า -> ตรวจสอบระดับความเข้ากันได้ของ API -> เปลี่ยนเป็นเวอร์ชัน. Net ที่ติดตั้งไว้ ในกรณีของฉันฉันตั้งค่าเป็น. Net 4.x

ตอนนี้ถ้า Visual Studio ทำงานอยู่แล้วให้ไปที่ Visual Studio ระบบจะขอให้โหลดโครงการใหม่ โหลดโครงการซ้ำ ตรวจสอบว่าใช้งานได้หรือไม่ถ้าไม่ปิด Visual Studio ตอนนี้เปิดไฟล์ cs จาก Unity Editor และตอนนี้ควรใช้งานได้แล้ว


เหมือนกันสำหรับฉันขอบคุณ! พยายามทุกอย่าง แต่มีเพียงสิ่งนี้เท่านั้นที่แก้ไขได้
Shadowmak

1
นี่คือคำตอบที่แท้จริง นี่ต้องอยู่ด้านบน!
Mark Purnell

สิ่งนี้ได้ผลสำหรับฉันด้วย นอกจากนี้สิ่งเพิ่มเติมอีกอย่างหนึ่งที่ฉันทำใน Unity 2020.2.0a13 คือยกเลิกการเลือกและตรวจสอบเครื่องหมายอีกครั้งที่ Edit / Project Settings / Player / Other Settings: Auto Graphics API หลังจากรีสตาร์ท Visual Studio การเติมข้อความอัตโนมัติกลับมาแล้ว: D
Ant100

14

ฉันพบวิธีอื่นในการแก้ไขปัญหานี้ด้วยวิธีที่สะดวกกว่า:

  1. เลือกไฟล์ที่เสียใน Solution Explorer
  2. เปิดคุณสมบัติ
  3. สลับช่อง "Build Action" จาก "Compile" เป็น "None"
  4. จากนั้นเปลี่ยนกลับเป็น "คอมไพล์"

สิ่งนี้จะฆ่าการซิงโครไนซ์ระหว่าง Unity และ Visual Studio อย่างใด

ในครั้งต่อไปที่ Visual Studio จะโหลดโปรเจ็กต์อีกครั้งระบบจะแจ้งเตือน เพียงคลิกที่ "ยกเลิก"


7

ยกเลิกการโหลดและโหลดโครงการใหม่ใน Visual Studio:

  • คลิกขวาที่โครงการของคุณในSolution Explorer
  • เลือกยกเลิกการโหลดโครงการ
  • เลือกโหลดโครงการใหม่

แก้ไขแล้ว!

ฉันพบว่าโซลูชันนี้ทำงานได้ดีที่สุด (ง่ายที่สุด) โดยพบปัญหาหลายครั้ง

ที่มา: https://alexdunn.org/2017/04/26/xamarin-tips-fixing-the-highlighting-drop-in-your-xamarin-android-projects/


ขอบคุณสำหรับความช่วยเหลือ! สิ่งนี้ใช้งานได้ แต่ฉันรู้สึกว่าเรากลับมาใน '90s และเราจำเป็นต้องรีสตาร์ท Windows คราวนี้เป็น VS 2017 เท่านั้น
user3053247

4
  1. เลือกโครงการใน Visual Studio
  2. คลิกปุ่ม "รีเฟรช"

ป้อนคำอธิบายภาพที่นี่


1
โว้ว! ไม่มีอะไรช่วยฉันได้ ติดตั้ง VS ใหม่อีกครั้งแม้กระทั่งการติดตั้ง Unity ใหม่เพื่อให้ติดตั้ง VS ใหม่การลบไฟล์. sln และ. cjsproj เพื่อสร้างใหม่ ไม่มีอะไรช่วย .. แต่ในที่สุดการคลิกง่ายๆในตัวสำรวจโซลูชันเพื่อแสดงโฟลเดอร์ดูเหมือนจะทำได้: o
antont

3

หากคุณทำทุกอย่างข้างต้นแล้ว แต่ยังไม่ได้ผลให้ลองทำตามนี้: หมายเหตุ: คุณควรอัปเดต VS. ภาพหน้าจอจากสตูดิโอภาพ

ไปที่ Unity> แก้ไข> การตั้งค่า> เครื่องมือภายนอก> ตัวแก้ไขสคริปต์ภายนอก ภาพหน้าจอ Unity สำหรับฉันฉันไม่ได้เลือก "สตูดิโอภาพ" สำหรับโปรแกรมแก้ไขสคริปต์ภายนอกและมันใช้งานไม่ได้ ทันทีที่ฉันเลือกสิ่งนี้และคลิกสองครั้งที่ไฟล์ c # จากความสามัคคีมันก็เริ่มทำงาน

ฉันหวังว่ามันจะช่วยคุณได้เช่นกัน


2

วันนี้ฉันประสบปัญหาเดียวกันโดยใช้ Visual Studio 2017 15.4.5 กับ Unity 2017

ฉันสามารถแก้ไขปัญหาได้โดยคลิกขวาที่โครงการใน Visual Studio และเปลี่ยนกรอบเป้าหมายจาก 3.5 เป็น 4.5

หวังว่านี่จะช่วยทุกคนในสถานการณ์ที่คล้ายกัน


2

ทางเลือกสองทางเลือก:

แก้ไข 1

@singleton ชี้ฉันไปในทิศทางนี้ แทนที่จะเปลี่ยนเป้าหมายใน Visual Studio คุณควรเปลี่ยนใน Unity เนื่องจากโครงการสร้างขึ้นโดยอัตโนมัติ

ขั้นแรกให้ลบไฟล์ Visual Studio ที่สร้างขึ้นโดยอัตโนมัติ: .csproj .user .sln

จากภายใน Unity ไปที่ PlayerSettings และภายใต้ 'การตั้งค่าอื่น ๆ ' ให้เปลี่ยน 'Scripting Runtime Version' จาก Stable 3.5 เป็น Experimental 4.6

อย่างไรก็ตามนั่นไม่ได้แก้ไขให้ฉัน

แก้ไข 2

ฉันสังเกตเห็นการอ้างอิงถึงรหัสที่เกี่ยวข้องกับ Unity ทั้งหมดถูกทำเครื่องหมายด้วยคำเตือนสีเหลือง ตรวจสอบบันทึกข้อผิดพลาดของคุณและดูว่าเป็นกรณีนี้หรือไม่ โดยเฉพาะอย่างยิ่งดูว่าคุณได้รับข้อผิดพลาดต่อไปนี้หรือไม่: getreferenceNearestTargetframeworkTask

ถ้าเป็นเช่นนั้น: เริ่มโปรแกรมติดตั้ง Visual Studio อีกครั้ง

ใน Build Tools 2017 ให้คลิก Modify

ตรวจสอบให้แน่ใจว่าได้เลือก "Nuget target and build task" แล้ว สิ่งนี้ควรกลายเป็นติ๊กถ้าคุณคลิกที่การพัฒนา Universal Windows Platform


1

ฉันพบวิธีแก้ปัญหาของฉันโดยการสร้างไฟล์. cs จากวิชวลสตูดิโอแทนตัวแก้ไขเอกภาพ

  • คลิกขวาที่โฟลเดอร์โครงการในตัวสำรวจโซลูชัน
  • เพิ่ม> รายการใหม่
  • พิมพ์ "unity" ในช่องค้นหาด้านขวาบน
  • เลือก "CSharp MonoBehaviour"
  • ตั้งชื่อสคริปต์ของคุณที่ด้านล่างแล้วคลิกเพิ่ม

1
จะเกิดอะไรขึ้นถ้าคุณสร้างสคริปต์แล้ว แต่ทันใดนั้นปัญหานี้เกิดขึ้นคุณจะลบสคริปต์ทั้งหมดและสร้างอีกครั้งจาก Visual Studio หรือไม่?
Programmer

@ โปรแกรมเมอร์ดีฉันจะใช้โซลูชันส่วนที่ 4 ของคุณเพื่อแก้ไขสคริปต์ข้อผิดพลาดที่มีอยู่แล้ว แต่ฉันมักจะใช้วิชวลสตูดิโอเพื่อสร้างสคริปต์ใหม่เนื่องจากไม่มีโซลูชันใดของคุณหยุดสคริปต์ใหม่จากการรับข้อผิดพลาดเว้นแต่ฉันจะสร้างไฟล์จากสตูดิโอวิชวล
Fredy Rommy Sianturi

1

ในกรณีของฉันไม่ได้ติดตั้งเวอร์ชัน. net ที่ถูกต้องบนพีซีของฉัน ฉันติดตั้ง. net 3.5 บนพีซีของฉันและนั่นก็ใช้ได้ผลสำหรับฉัน


คำตอบของคุณทำให้ฉันมีแนวคิดในการเปลี่ยนระดับความเข้ากันได้ของ API ในการตั้งค่า Unity Player จาก. Net 2.0 เป็น. Net 4.x จากนั้นโหลดโครงการใหม่ใน Visual Studio ตอนนี้ทุกอย่างทำงานได้ดี
Juned Khan Momin

1

ปัญหาที่ฉันประสบคือโครงการ C # กำหนดเป้าหมายไปที่. NET Framework (4.7.2) ที่แตกต่างกันในขณะที่โครงการ Unity มีเป้าหมายที่แตกต่างกัน (.NET 3.5)

ฉันแก้ไขสิ่งนี้โดยเปลี่ยนเป้าหมายใน Unity as-

ไฟล์ -> การตั้งค่าการสร้าง -> การตั้งค่าผู้เล่น -> การตั้งค่าอื่น ๆ -> ระดับความเข้ากันได้ของ API: ตั้งค่าเป็นเวอร์ชัน. NET ที่คุณติดตั้งไว้แล้ว (ตรวจสอบเวอร์ชัน. NET ของคุณที่นี่ ) ในกรณีของฉันมันคือ 4.x

หลังจากนั้น Visual Studio ก็ทำงานได้อย่างสมบูรณ์และการแก้ไขอัตโนมัติก็ได้รับการแก้ไขเช่นกัน


สิ่งนี้ได้ผลสำหรับฉัน ฉันเปลี่ยนระดับความเข้ากันได้ของ API เป็น. Net 4.x จากนั้น Visual Studio ขอให้โหลดโครงการซ้ำ ฉันโหลดโครงการใหม่ จากนั้นฉันก็ปิด Visual Studio, เปิดไฟล์ cs จาก Unity Editor และตอนนี้ทุกอย่างทำงานได้ดี
Juned Khan Momin

1

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


0

สำหรับ Windows หรือ macOS:

ดาวน์โหลด / ติดตั้งVisual Studio IDE (ด้วย Unity Tools)

เมื่อติดตั้งตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไฟล์

การพัฒนาเกมด้วย Unity

ป้อนคำอธิบายภาพที่นี่

จากนั้นใช้ Unity (คุณสามารถดับเบิลคลิกไฟล์ C # ไฟล์ใดไฟล์หนึ่ง) เปิดโปรเจ็กต์ C # ใหม่และ Visual Studio IDE ควรเปิดด้วยโครงสร้างโปรเจ็กต์ใหม่ของคุณ

ป้อนคำอธิบายภาพที่นี่

จากนั้นคุณจะสามารถเห็นสิ่งที่คุณกำลังมองหา

ตัวอย่างเช่น:

ป้อนคำอธิบายภาพที่นี่

ป้อนคำอธิบายภาพที่นี่

สำหรับ Linux (ข้อเสนอแนะ):

ลองใช้Monodevelop - ข้อมูลเพิ่มเติมจะให้การเติมโค้ด / คำใบ้


0

ฉันแก้ไขเพื่อติดตั้ง. NET เวอร์ชันเดียวกันบน WIN ที่กำหนดค่าไว้ในโครงการ Unity ของฉัน (การตั้งค่าผู้เล่น)


0

การเติมข้อความอัตโนมัติของฉันก็ใช้ไม่ได้เช่นกันเนื่องจากVisual Studio Tools for Unityไม่ได้ติดตั้งดังนั้นหลังจากที่คุณติดตั้งแล้วให้ลบไฟล์ Visual Studio ที่สร้างขึ้นโดยอัตโนมัติ คนอื่นบอกว่าคุณเปิดไฟล์อีกครั้งและปัญหาได้รับการแก้ไข แต่ไม่ใช่

เคล็ดลับคือ: แทนที่จะดับเบิลคลิกที่ไฟล์ตามปกติคุณต้องเปิดไฟล์ C # จาก Unity โดยคลิกขวาแล้วคลิก "เปิดโครงการ C #"


0

วิธีแก้ปัญหาข้างต้นไม่ได้ผลสำหรับฉัน อย่างไรก็ตามฉันเปิดไฟล์ ProjectName.CSPROJ และเพิ่มไฟล์ใหม่ด้วยตนเองและมันใช้งานได้ดี


0
  • ไปที่ตัวเลือกบนเมนูเครื่องมือจากนั้นเลือกเอกสารในโหนดสภาพแวดล้อม (หากเอกสารไม่ปรากฏในรายการให้เลือกแสดงการตั้งค่าทั้งหมดในกล่องโต้ตอบตัวเลือก)
  • ติ๊กถูกที่ "Miscellaneous files in Solution Explorer" แล้วคลิกตกลง (ตัวเลือกนี้แสดงโหนด "ไฟล์เบ็ดเตล็ด" ใน Solution Explorer ไฟล์เบ็ดเตล็ดคือไฟล์ที่ไม่เกี่ยวข้องกับโปรเจ็กต์หรือโซลูชัน แต่สามารถปรากฏใน Solution Explorer เพื่อความสะดวกของคุณหากคุณเลือกตัวเลือกนี้)
  • ค้นหาไฟล์ของคุณใน Solution Explorer ภายใต้ "ไฟล์เบ็ดเตล็ด" จากนั้นลากและวางไฟล์ของคุณไปยังตำแหน่งที่ควรเป็นและ voila! เพื่อคัดลอกไฟล์ไปยังตำแหน่งที่คุณวาง ตอนนี้คุณสามารถลบไฟล์ที่เก่ากว่าได้อย่างปลอดภัยภายใต้โฟลเดอร์ Miscellaneous Files หากคุณต้องการทำเช่นนั้น

เครดิต: https://stackoverflow.com/a/47662523/10471480


ในกรณีที่มองไม่เห็นโฟลเดอร์ Scripts:

  • คลิกที่ "แสดงไฟล์ทั้งหมด" ใน Solution Explorer
  • ค้นหาโฟลเดอร์ Scripts
  • คลิกขวาที่สคริปต์และเลือก "รวมในโครงการ"

0

สิ่งที่ได้ผลคือฉันคัดลอกโค้ดทั้งหมดในคลาสที่ใช้งานไม่ได้และลบไฟล์นั้นออก จากนั้นฉันเปิดไฟล์ว่างและวาง

ผลลัพธ์ : ไฮไลท์ไวยากรณ์ที่สวยงามกลับมาแล้ว!


0

โปรดทราบว่าหากคุณใช้เครื่องมือ ReSharper เครื่องมือนี้จะลบล้าง IntelliSense และแสดงเป็นของตัวเอง หากต้องการเปลี่ยนแปลงใน VS ให้ไปที่ Extensions -> ReSharper -> Options -> IntelliSense -> General จากนั้นเลือก Visual Studio ไม่ใช่ ReSharper


0

ก่อนที่จะรีสตาร์ทและ / หรือติดตั้ง VS ใหม่ก่อนอื่นให้ลองเปิดโปรเจ็กต์อื่น ๆ ของคุณเพื่อดูว่า Intellisence ใช้งานได้หรือไม่หากเป็นเช่นนั้นปัญหาอาจอยู่ที่โปรเจ็กต์ปัจจุบันของคุณ อันดับแรกเหยื่อที่น่าจะเป็นไปได้มากที่สุดคือแพ็คเกจ NUGET ที่รอการอัปเดต เพื่อแก้ไขปัญหานี้

  1. คลิกขวาที่ข้อมูลอ้างอิง
  2. ดำเนินการจัดการแพ็คเกจ NUGET ภายใต้แพ็คเกจ NUGET
  3. ดำเนินการอัปเดตติดตั้งอัปเดตและตรวจสอบ Intellisence อีกครั้ง

0

ฉันลองสิ่งเหล่านี้ทั้งหมด แต่พบว่าฉันต้องคลิกขวาที่โซลูชันใน Solution Explorer และเพิ่มรายการที่มีอยู่และค้นหาไฟล์ประกอบ C # ใน Window's Explorer ดูเหมือนจะมีปัญหาที่แตกต่างกันกว่าพันล้านที่ทำให้คุณเกิดข้อผิดพลาดนี้น่าจะเป็นวิธีแก้ปัญหาที่ง่ายที่สุด หากคุณดับเบิลคลิกที่สคริปต์ของคุณจากความสามัคคีดูเหมือนว่าจะไม่ลากชุดประกอบไปด้วย


0

วิธีใดวิธีหนึ่งข้างต้นใช้ได้ผลสำหรับฉันและฉันเพิ่งพบวิธีแก้ปัญหานี้
1. ขั้นแรกไปที่ไดเร็กทอรีโปรเจ็กต์และลบ.slnไฟล์
2 อย่างที่สองไปที่ Unity และดับเบิลคลิกที่สคริปต์ของคุณ จากนั้น Visual Studio จะเปิดขึ้นพร้อมกับข้อผิดพลาด ป้อนคำอธิบายภาพที่นี่

  1. จากนั้นคลิกตกลงและปิดตัวแก้ไข Visual Studio
  2. สุดท้ายปิด Windows Defender ของคุณแล้วไปที่ไดเรกทอรีโครงการของคุณแล้วจะมี .csprojไฟล์ เพียงดับเบิลคลิกและเปิดสิ่งนี้จากโปรแกรมแก้ไข Visual Studio ของคุณและเปิดโฟลเดอร์สคริปต์ภายในโฟลเดอร์สินทรัพย์จากนั้นเปิดสคริปต์และการเติมข้อความอัตโนมัติจะทำงานได้ดีอย่างสมบูรณ์

0

อัปเดตปี 2020 ด้วย Visual Studio Community 2019 และ Unity 2019.3:

1) เปิดโปรแกรมติดตั้ง Visual Studio ในฐานะผู้ดูแลระบบเลือกแก้ไขการติดตั้งปัจจุบันของคุณและเพิ่ม "การพัฒนาเกมสำหรับ Unity"

2) หากคุณเพิ่มสคริปต์ c # ใหม่ใน Unity ทันทีและเปิด (โดยอัตโนมัติ) ด้วย Visual Studio จะไม่ถูกอธิบายว่าเป็น "เบ็ดเตล็ด" ที่ด้านบนของหน้าต่าง แต่ใช้ "Assembly-CSharp" และการเติมข้อความอัตโนมัติจะทำงาน


0

การแก้ไขที่เป็นไปได้อื่น ๆ :

  1. ในหน้าต่างโปรเจ็กต์คลิกที่โฟลเดอร์ Assets
  2. คลิกขวาและสร้าง -> สคริปต์ C #
  3. ดับเบิลคลิกและรอ

ด้วยเหตุผลบางอย่างงานนี้


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