VS 2015では、Razor(.cshtml)ファイルでのみ、約半分の時間、オートコンプリート/提案リスト/インテリセンスが正しく機能しません(申し訳ありませんが、実際の用語はわかりません...オブジェクトを入力して.
を押すと、プロパティとメソッドのリストは、から選択することを示しています)
その振る舞いは、.
を押すと、リストがほんの一瞬ポップアップして閉じます。それはとても速いので、Backspace
、.
、Backspace
、.
のサイクルを数回繰り返して、少なくとも名前を確認しますI必要ですが、私は通常それを取得できず、コードから他の場所で正確な名前を見つける必要があります。非常にイライラする...
それは散発的に起こり、実際のパターンは見つかりません。ここに私が除外したパターンがあります:
私はすべてのオプションをチェックしました(Razorのテキスト編集オプションはないようです)。キャッシュのクリア、ソリューション/プロジェクトのリロード、VSの再起動を試みましたが、いずれもまだパターンを提供していないようです。
誰かがこれに遭遇し、それを修正するために他にどこを探すことができるかについて何か考えがありますか?
例これは非常にシンプルな例です...新しいプロジェクト、非常に小さなコード/ファイル、非常にシンプルなビュー。 Model.
が停止する場所には、通常の基本メソッドと 'Items'コレクションが必要です。それは一瞬ポップアップしてから消えます...ラムダ/複雑なビューの解析は含まれていません(これも再現可能です):
更新:パターン
私が気づいたこと:
@model ns.ns.ns.type
を入力している場合、名前空間の「ベース」の終わりに向かって発生することはほとんどありません。それが起こるのは、私がタイプに向かってさらに進んだときです。これは断続的です。@Html.DevExpress().
(および他の同様の、必ずしもDevExモデルではない)は問題を引き起こしません)@Model
にアクセスしているとき、それはほとんどいつも起こります(私が最も欲しい場所です!)。これは毎回再現できる場合がありますが(上記の例を参照)、約90%以上です。@models ProjName.Web.App.Subscriptions.Models.AccountCreateVM
... Subscriptions
では失敗するが、Models
ではうまく機能する場合があります)Acc
にAccountCreateVM
を入力し始めると、再び機能し始めます。根本的な原因はわかりませんが、すべてのケースでCTRL+SPACE
機能します。これは最高ではありませんが、光年は何もないよりはましです。
(このショートカットは、私が以前に使用したものではないため、おそらく標準的な動作ですが...)ドットにいる場合Model.
とオートコンプリートのリストが消えますCTRL + SPACEは常にリストを元に戻しますが、戻ってきたときは残ります!オートコンプリートメンバーが1つしかない場合は、メンバーのオートフィルが行われますCTRL + SPACEを押すと
これはラムダステートメントの間にVS2015全体で私に起こります。
コード「mid-document」を編集しているときに、入力している場所の後に)または}以外に何かがある場合に発生します。 VSは、現在のステートメントがどこで終わり、次のステートメントが始まるかを伝えるのに苦労しているようです。
次のコードは、明示的に呼び出された場合でも、その期間に一貫してIntellisenseをトリガーしません。
var subset = initialSet.Where(x => x.
var result = new Whatever();
Razorでは、既存のテキスト間でコードを編集し、ラムダステートメントを使用するのが非常に一般的です。
<strong>@Html.DisplayFor(m => m.</strong>
これがおそらく、Razorでのみこれを体験する理由です。
このバグを回避する方法は、)を記述してメソッドを閉じることです。
var subset = initialSet.Where(x => x.)
var result = new Whatever();
<strong>@Html.DisplayFor(m => m.)</strong>
その期間にIntellisenseをトリガーできます。
(RadioButtonForのように)ラムダ以上のものを必要とするメソッドを使用している場合は、追加のパラメータごとにカンマを挿入する必要もあります。
<strong>@Html.RadioButtonFor(m => m.,)</strong>
Intellisense isが表示されたが、すぐに再び表示されなくなった場合、これまでに見つけた最善の解決策は、既知のメンバーの数文字を入力し、Ctrl-Leftを使用してピリオドに戻ることです。 Intellisenseを再度トリガーします(Ctrl-Spaceまたはbackspace-retype)。これは通常、表示されたままになります。後で入力した文字を削除する必要があるため、イライラすることがあります。
_)
_が編集中のテキストに触れないようにしてください。ポップアップが表示されたままになります。
の代わりに...
@Html.Partial("ManageGrid", Model.)
使用する...
@Html.Partial("ManageGrid", Model. )
括弧を閉じるとインテリセンスが混乱するようです。理想的ではありませんが、これが私に一貫して機能させる唯一の方法でした。
私の特定のケースでは、最新バージョンのMicrosoft ASP.NETとWebツールをインストールすることで問題を解決できました。
https://marketplace.visualstudio.com/items?itemName=JacquesEloff.MicrosoftASPNETandWebTools-9689
インストールしたら、問題はなくなりました。このアップデートにより、古いバージョンで修正できる可能性がある問題が修正された可能性がありますが、どちらにしても満足しています。
(これは、Visual Studioの[ツール]-> [拡張機能と更新...]-> [更新]-> [Visual Studioギャラリー]にあります)
同じエラーが発生し、コンポーネントモデルキャッシュのすべてのファイルを削除して修正しました。
これはパスです:
sers\YourName\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
それが役に立てば幸い
コンテンツがわかっている場合は、一時的な解決策としてctrl + jを使用します。
または、右括弧なしで書き続けると、補完を使用できます。
@ Html.LabelFor(m => m.Name