Visual Studio 2010とReSharper 5を使用しています。
これは.csファイルの先頭で定義します。
#if X86
using size_t = System.Int32;
#else
using size_t = System.Int64;
#endif
次に、size_tを使用して、それがネイティブ整数であることを確認できます。32ビットアセンブリとしてコンパイルした場合は32ビット、64ビットアセンブリとしてコンパイルした場合は64ビットです。 (好奇心が強い人のために、代替手段は常にInt64を使用するか、実行時にIntPtr.Size == 4で分岐し、2つのバージョンのコードを持っています。私はこのソリューションを好みます。)
ただし、size_tと入力してスペースを押すと、自動的にInt64(またはX86が定義されている場合はInt32)に変換されます。明らかにそれは望ましくありません。
私はReSharperオプションに行き、環境\ Intellisence \完了動作に行って、「単一アイテムを自動的に完了する:」の下のすべてのチェックボックスを無効にしました。
それでも起こりますが、他に何か試すことはできますか?
同様の問題が発生しました(VS2013とResharper 8.2を使用)。
「スペース」がヒットするたびに不要なオートコンプリートを停止するには、VSとR#オプションの両方で「スペース」のIntelliSense完了を無効にする必要がありました。
乾杯!
1つの解決策は、インテリセンスの提案完了モードに切り替えることです。トグルのデフォルトのキーバインディングはCtrl+Alt+Space
。提案モードでは、変更先の値を明示的に選択した場合にのみ、入力内容が変更されます。あなたはここでそれについてもっと読むことができます:
http://blogs.msdn.com/b/zainnab/archive/2012/05/01/9943045.aspx
IntelliSenseオプションをデフォルトでオフにするには
[ツール]メニューの[オプション]をクリックします。
テキストエディタフォルダを選択します。
IntelliSenseをカスタマイズする言語のフォルダーを選択します。
[全般]プロパティページで、不要なIntelliSense機能のチェックボックスをオフにします。
自動リストメンバーはリストメンバーに適用されます
パラメータ情報はパラメータ情報に適用されます
エスケープキーを使用して、現在のインテリセンスの提案をキャンセルできます。