2017-03-04 40 views
16

我有一個腳本的小問題。當我用Visual Studio編寫用於Unity的C#腳本時,好像我正在使用記事本,沒有自動完成(正確?),我必須寫得很慢。Autocompletion不能在Visual Studio工作

請觀看視頻。開始時是正常情況(來自教程),第二部分是我的問題。

Video with problem

例如,transform類不顯示建議或自動完成。

圖像的問題:

enter image description here

Unity version: 5.5.2f1
Visual studio 2015
Visual Studio Tools for Unity is installed

+0

https://translate.google.com/ :)製作視頻並將其上傳到YouTube以描述錯誤+1 xd –

+0

好的,A'll嘗試...我有一個腳本問題。當我爲Visual Studio編寫用於Unity的C#腳本時,好像我在記事本中工作,沒有「提示」(正確?),我必須寫得很慢。請觀看視頻。開始時是正常情況(來自教程),第二部分是我的問題。 – CorbenDalas

+1

我會說你問的是'autocompletion',而不是工具提示。 –

回答

61

沒有自動完成,因爲劇本說的「雜項文件」,而不是項目的名稱。看看下面的圖像從你的問題的視頻一:

enter image description here

可能發生的原因是多方面的「雜項文件」消息:

。它可能發生當你從另一個文件夾打開Unity C#文件而不是從Unity Editor中打開它時。

。也可能發生這種情況,因爲在Visual Studio仍處於打開狀態時Unity崩潰,因此會損壞某些文件。

。它可能發生是因爲Unity被關閉然後重新打開,但不再連接到Visual Studio。當Visual Studio打開時,您將獲得「其他文件」,並且不會自動完成。

。未安裝用於統一的Visual Studio工具時可能會發生這種情況。

。當你從Unity創建一個腳本,然後在Unity完成處理之前快速打開它,或者在圓形圖標動畫的東西完成動畫之前快速打開它。


大多數情況下,重新啓動Unity和Visual Studio應該可以解決這個問題。

我不知道是哪一個導致了這個問題,但我會介紹解決這個問題的最可能的解決方案。

修復第1部分

。下載並從this鏈接團結安裝Visual Studio工具。在Unity和Visual Studio都關閉時執行此操作。

。從統一編輯,去編輯- > ... - >外部工具。在外部腳本編輯器下拉菜單中,將其更改爲Visual Studio 2015

enter image description here


修復部分2

如果新創建的C#文件都上來爲其他然後按照下面的指令:

。從視覺工作室,去工具- >選項...- >工具統一- >其他。在顯示連接圖標,將其設置爲true,然後重新啓動Visual Studio。

enter image description here

。當你重新啓動,連接圖標現在應該在Visual Studio中可用。點擊它然後選擇要連接的Unity實例。紅色'x'圖標現在應該變成棕色複選標記圖標。現在,當你在Unity中創建一個新的C#文件時,它應該不用說雜項

enter image description here


修復部分3

問題仍未解決?

重新導入項目,然後打開C#項目。

。關閉Visual Studio。

。從團結,重新導入前往資產項目 - >重新導入所有。 >打開C#項目 -

enter image description here

。現在,通過將資產打開Visual Studio中的項目。這將重新加載項目並修復可能的解決方案文件問題。

enter image description here


修復部分4

問題仍未解決?

單獨修復每個C#文件。

。點擊顯示所有文件圖標。

enter image description here

。選擇的腳本,沒有做自動完成,然後右鍵單擊並選擇包括項目

enter image description here


修復部分5

你還沒有固定的嗎?

對於這個似乎適用於多人的特定解決方案,信譽爲chrisvarnz

.Close的Visual Studio

。去你的項目目錄,並刪除所有生成的Visual Studio文件。

這些文件擴展名來刪除:

  • 的.csproj
  • 。用戶
  • 的.sln

例子:

比方說,你的項目的名稱被稱爲「目標射擊」,這些是要刪除的文件ETE應該是這樣的:

  • 目標Shoot.csproj
  • 目標Shoot.Editor.csproj
  • 目標Shoot.Editor.csproj.user
  • 目標Shoot.Player.csproj
  • 有的放矢。 Player.csproj.user
  • 目標Shoot.sln

不要刪除任何東西。

上的腳本。雙點擊從Unity應該產生新的Visual Studio文件再次然後打開Visual Studio。這可能會解決您的問題。


修復部分6:從here

The "GetReferenceNearestTargetFrameworkTask" task was not found

.Install 的NuGet PackageManager

如果不工作,檢查,如果您有this錯誤。

.Restart Visual Visual。

有關更多信息,請參閱this答案。

+1

非常糟糕,太棒了! – Maakep

+2

謝謝。它的工作。 – CorbenDalas

+0

@Fredrik謝謝 – Programmer

11

我找到了另一種方式更方便的方式來解決這個問題:

  1. 選擇Solution Explorer中的碎文件。
  2. 打開它的屬性。
  3. 將「編譯」字段的「Build Action」字段切換爲「無」。
  4. 然後將其切換回「編譯」。

這會以某種方式破壞Unity和Visual Studio之間的同步。

下次Visual Studio將重新加載項目時,它會提示一個警告。 只需點擊「放棄」。

+1

非其他事情的工作,但這樣做!謝謝。 –

+1

嘗試所有其他答案後,這也適用於我 – Geordie

1

我通過創建發現我的解決方案。從Visual Studio本身,而不是統一編輯CS文件

  • 右鍵單擊項目文件夾在解決方案資源管理器的搜索欄
  • 添加>新項目
  • 型「團結」右上角
  • 選擇「CSHARP MonoBehaviour」
  • 名的底部腳本,然後單擊添加
+0

如果你已經創建了腳本,但是突然出現這個問題,你會刪除所有的腳本並從Visual Studio再次創建腳本? – Programmer

+0

@Programmer以及我會用你的第4部分的解決方案,以修復已經錯誤腳本 但我總是使用Visual Studio來創建新的腳本,因爲沒有你的解決方案,從得到錯誤 除非我創建了停止新的腳本來自visual studio的文件 –

2

我打的是同樣的問題今天使用Visual Studio 2017年15.4 .5 with Unity 2017.

我能夠通過右鍵單擊Visual Studio中的項目並將目標框架從3.5更改爲4.5來解決此問題。

希望這可以幫助任何人在類似的情況。

1

兩個備選方案:

修復1

@辛格爾頓指着我這個方向發展。由於該項目是自動生成的,因此不應在Visual Studio中更改目標,而應在Unity中更改它。

首先刪除自動生成的Visual Studio的文件: 的.csproj 。用戶 的.sln

從內部團結去PlayerSettings,並在「其他設置」改變「腳本運行時版本」從穩定3.5至

然後實驗4.6。

但是,這並沒有爲我解決它。

修復2

我注意到所有引用團結相關的代碼被打上黃色警告。檢查你的錯誤日誌,看看是否是這種情況。特別是看看你是否得到以下錯誤:getreferenceNearestTargetframeworkTask

如果是這樣嘗試: 再次啓動Visual Studio安裝程序。

在Build 2017年工具,單擊修改,

確保 「的NuGet目標和建設任務」 的勾選。如果您點擊通用Windows平臺開發,這應該變成勾號。

1
  1. 在Visual Studio
  2. 單擊選擇項目 「刷新」 按鈕

enter image description here

0

在我的情況下,正確的.NET版本沒有安裝在我的電腦上。我在我的電腦上安裝.net 3.5,併爲我工作。

0

對於Windows或者MacOS:

下載/安裝Visual Studio IDE (with Unity Tools)

安裝時,一定要包括安裝的

Game development with Unity

enter image description here

然後使用Unity(你可以雙擊一個C#文件),打開一個新的C#程序ect和Visual Studio IDE應該以您的新項目結構打開。

enter image description here

從那裏,你應該能夠看到你在找什麼。

例如:

enter image description here

enter image description here

對於Linux(建議):

嘗試Monodevelop - Additional Information,它提供代碼完成/提示。

相關問題