問題タブ [natvis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Visual Studio Natvis DisplayString 条件
Visual Studio 2017 を使用して、いくつかのクラスのビジュアライザーを作成していますが、.natvis コードの読みやすさに関して問題が発生しています。カスタム配列型があり、[展開] ボタンを使用するのではなく、[ウォッチ]ウィンドウの[値]フィールドにそのメンバーを直接表示したいと考えています。
arrayTypeは、配列タイプ (Sparse、Empty、Dense、Singleton) を定義する列挙型です。 numElemsは、配列内のエントリ数です。このデータ構造に注目する必要はありません。それはほんの一例です。これが私の現在のnatvisコードです:
[同じコードをもう一度繰り返さなければならないことに注意してください (表示する要素を追加するだけです)。コードが肥大化したため、3 つの要素の表示で停止しています。]
これにより、ウォッチ ウィンドウ(Visual Studio 内) に次の方法でオブジェクトを表示できます。
理想的には、DisplayString タグ内で条件を許可します。C++ 三項演算子で次の回避策を試しましたが、うまくいきませんでした。
このコードでは、DisplayString タグを何度も繰り返してコードを複製する必要がないことに注意してください。すべての(可変量の)要素をリストするために、DisplayString内にイテレータを提供する方法があるでしょうか?ArrayItems タグについては知っていますが、これは Expand タグ内で使用する必要があります (繰り返しますが、 Valueフィールドに配列要素を表示しようとしています (展開ボタンをクリックする必要はありません))。
助言がありますか?説明が必要ですか?ありがとう!
visual-studio-2015 - VisualStudio .natvis: CustomListItems にカスタムの複雑な項目を含めることはできますか?
C++ では、視覚化したい整数の配列があり、どの要素が次のようになります。
したがって、視覚化された各アイテムが次のようになるカスタム表現を持つように視覚化したいと思い[0] <1253-1320>
ます。[1] <1852-2528>
等
現在、私はこれを持っています(望ましい結果が得られません):
しかし、各項目を次のようにしたいと思います (DisplayString 構文で):
item要素の中身がこれじゃありえないので、それはできないようです。また、ビジュアライザーで文字列 (または char 配列) 変数を定義し、それを Item 要素の前に構築する方法がわかりません。とりわけ、ビジュアライザーで使用できる文字列修飾子組み込み関数はありません。そして、アイテムの Name 属性でそれを行うことはオプションではありません。なぜなら、Value 列でそれが必要だからです。
それは何らかの方法で行うことができますか?
編集:これは、目的のビューを実装するために必要なものの要求です。