質問するログイン新規登録
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

1053閲覧

【Unity】【VSCode】既存プロジェクトのC#スクリプトをVSCで開くと補完や予測ができるようになるまで時間がかなりかかる

Y0241-N

総合スコア1066

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/03/06 01:59

編集2020/03/06 02:10

0

0

発生している問題

既存のプロジェクトのC#をVSCで開き、編集しようとしたら予測変換や補完等のプラグイン機能が効くまでに、かなりの時間を要するようになりました。以前は何の時間経過もなく、スクリプトを開くとすぐにプラグインが働きましたが、現状は5分ほど放置してようやく編集できるようになります。とてもストレスに感じます。

確認した状態では、新規プロジェクトで作成したC#スクリプトをVSCで開くと、正しく機能します。

既存プロジェクトのC#スクリプトをVSCで開いた際に、通知に
「拡張機能 'C#' の最後の操作が完了するまで、非常に長い時間がかかりました。また、他の拡張機能の実行を妨げていました。」
と表示され、「拡張機能を表示する」「問題を表示」のボタンがあり、拡張機能を表示するとC#プラグインに「パフォーマンスの問題」と表示されていました。問題を表示を押すと、外部サイトリンクが開き、このページが出ましたがよくわかりません。

こうなってしまった原因で思い当たる節は、先日UnityでShaderを書くためにVSCの拡張機能を一つインストールしたことぐらいです。これは既にアンインストールしました。(特に変化はありませんでした)

試したこと

VSCの再インストール → 変化なし
プラグインの無効化→有効化 → 変化なし
.csprojファイルを消して Open C# Project で開きなおす → 変化なし

観察してわかったことは、VSC画面左下にxxxx.slnという恐らく設定ファイルの名前が表示されると、プラグインが働くようになるのですが、これが表示されるまでに時間が掛かります。なぜこうなったのか、原因が分からずとても困っています。

どなたか解決方法をご存知の方がいらっしゃいましたら、ぜひ回答をよろしくお願いいたします。

###通知のエラー(画像)
イメージ説明
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

結論から言うとVSCのC#プラグインのバージョンアップが原因でした。

GitHubにてエラー報告を行ったところ回答が付き、同様の問題が発生しており
VSCのC#プラグインのバージョンアップで最新のv1.21.13を使用すると同様のエラーが発生するようです。

そのため、バージョンをロールバックし、v1.21.12を使用することで問題は解決されました。
ロールバックの方法は以下のリンク先のコメントに書いてあります。
https://github.com/OmniSharp/omnisharp-vscode/issues/3623

@BigGodMike uninstall, download from https://github.com/OmniSharp/omnisharp-vscode/releases/tag/v1.21.12 and install from VSIX (see screenshot).
Make sure to hit Disable Auto Updating Extensions if you see that option in the same menu so it stays at the correct version.

ここからcsharp-1.21.12.vsixをDLし、VSCから「VISXからのインストール」を選択し(画像参照)、先ほどのDLしたファイルを選びます。また、自動更新が有効化されている場合は、「拡張機能の自動更新を無効にする」を選択しておきましょう。
イメージ説明

投稿2020/03/06 04:37

編集2020/03/06 08:21
Y0241-N

総合スコア1066

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

oikashinoa

2020/03/06 09:59

vs code上でバージョン指定できたような気が…(間違いかもしれない) 出張中なので日曜に確認してみます
Y0241-N

2020/03/08 23:58

項目的にはあったのですが、C#の拡張機能は何故かエラーが出てロールバックできなかったんですよね... なので外部でDLする必要がありました。
oikashinoa

2020/03/09 00:12

そんなことあるんですね。 勉強になりました。
guest

0

自分が思いつく理由として3点あります
1つ目はUnityかVSCのアプリケーションに不具合があったり、ファイルが破損しているせいで遅延しているという理由です。
こちらの対処方法としては、それぞれのアプリケーションのバージョンをあげる、もしくは下げることで、
現在のバージョンを避ける。もしくは、アプリケーションを再インストールする。です。

2つ目はプロジェクトが肥大化、もしくは他に起動しているアプリケーションや、ファイルが大きくなってきていてPCのスペックが追いついていない。
こちらは、CPUの妨げとなっている原因を取り除くか、PCのスペックをあげることです。

3つ目は2つ目と解決方法は同じですが、
そもそもPC自体が調子が悪くなっている時です。
スペックをあげる以外にも、うまく冷却したり、ファンのホコリを取り除くのも有力かもしれません。

投稿2020/03/06 03:54

MasujimaRyohei

総合スコア422

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Y0241-N

2020/03/06 04:27

回答ありがとうございます。 ご指摘いただいて、プロジェクトのサイズが原因かな?と思ったのですが、GitHubの方で エラーを報告したところ、どうもVSCのC#プラグインのバージョンアップで最新のv1.21.13 を使用すると同様のエラーが発生するようです。 そのため、バージョンをロールバックし、v1.21.12を使用することで問題は解決されました。
MasujimaRyohei

2020/03/06 05:00

解決できて何よりです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問