2017-05-11 3 views
0

Visual Studio(Community 2017)でC#を書くときに、同じ名前の識別子が2つある場合、大文字で始まり1つは小文字で始まり、小文字で入力を開始すると、代わりに大文字の識別子でオートコンプリートされます。オートコンプリートケースの問題

このIは、例えば、大文字のフィールド/プロパティに小文字パラメータから割り当てていた場合に典型的に起こる:私はmy...の入力を開始するとき

enter image description here

、それは低級と一致ケースmyValueを入力してvと入力すると、代わりに大文字のMyValueと一致するようになります。明らかに私はMyValue = MyValueで終わるので、これを望んでいない! 最初の手紙のみの場合に基づいて、今の場合の代わりに、あいまいさを解決する方法はありますか?私が小文字で入力を開始すると、文字数を増やすと、小文字で始まる識別子の一致を継続します。

編集:ここでは、変数ではなくタイプに一致する例を示します。私は、適切な場合に、フルにパラメータ名を入力した、それはまだタイプではなく、変数のマッチングです:

enter image description here

+0

フィールドの名前は、とにかくC#のコーディング標準に従って小文字にする必要があります。それであなたのコードは 'this.myValue = myValue'になります。 – Adrian

+2

あなたは冗談ですか?ケースでのみ異なる2つの識別子?本当に賢い選択ではありません。 – Steve

+0

フィールドかプロパティかは関係ありません。それは単なるおもちゃの例です。プロパティであれば同じ動作が発生します。 –

答えて

1

最初の例では、私は自分のローカル側でそれをテストしました。結果は次のスクリーンショットのようになります。その結果、あらかじめ選択された完了リストが「」に依存することが判明しました。最近使用したメンバー」、これをチェックしてください:Visual C# IntelliSenseenter image description here

IntelliSenseはあなたが最近自動オブジェクト名の補完のためのポップアップリストメンバーボックスで選択したメンバーを記憶しています。次にメンバーリストを使用すると、最も最近使用されたメンバーが上部に表示されます。

2番目の例では、私はあなたと同じ結果を得ました。私たちは '()'にコードを入力しようとしたので、特定の規則または原則に従ってVSフィルタ済みの完了リストを想定しています。これも上記の文書からルールを見つけることができます。

このインテリセンスに関する提案やアイデアがある場合は、ヘルプ - フィードバックの送信 - 提案を... VSプロダクトチームに送信してください。彼らは、さまざまな提案やユーザーの声を聞いています。

1

私は、あなたは、Visual Studioの選択行動について誤解されるかもしれないと思う。私の経験では、 Visual Studioのケースでは、最後に使用したもの、または使用されていない場合はリストの最初のものが無感応に選択されます。

あなたのケースでは、私がmyvと入力したことがありません。以前に書いたことがないと、デフォルトでMyValue(リストの最初)になります。

私は二番目のダウン(myvalue)を選択して、すぐに= myv VSを記述する場合、私はmyValue初めて使用するので、私はmyValueを意味する第二の時間を提案します。..

私は確信している一つのことは、言ったこと

関連する問題