1

Visual Studio で数式の評価/削減を行うことは可能ですか?

たとえば、「-0.005 + -0.345」と入力した場合、Visual Studio でそれを削減するにはどうすればよいですか (つまり、削減に置き換えます)。マクロを書かなければなりませんか?もしそうなら、このタイプの式の削減を行う既存のマクロはありますか?

明確にするために、式を強調表示して、縮小された結果に置き換えられるようにしたいと考えています。多くの人が即時ウィンドウを提案していますが、それで十分かどうかわかりません。

編集これは編集中またはデバッグ中ではないことを指摘する必要があります。イミディエート ウィンドウは、ほとんどまたはまったく役に立ちません。また、これは言語に中立な質問だと思います。私が投稿したものに代わるマクロを見てみたいと思っています。

編集1 回...

4

4 に答える 4

1

上記の回答ありがとうございます。

もっと良い方法があるかもしれませんが、ここに私が必要とすることを行う簡単で汚れたマクロがあります。

System.Data および System.XML 名前空間への参照を追加する必要があります。

評価する式を強調表示し、マクロを実行します (DataTable の計算列を使用して式を評価します)。式は縮小された結果に置き換えられます。

編集- 以下のコードを更新しました。多数の式を減らすのに非常にうまく機能しました。他の人が指摘したように、即時ウィンドウがありますが、これは編集目的では機能しません。このマクロは、基本的な式「()、+、-、*、/」の言語に依存しないソリューションです。


Sub Eval()
  Dim ts As EnvDTE.TextSelection = DTE.ActiveDocument.Selection
  Using dt As New DataTable()
    dt.Columns.Add("Expression", GetType(Double), ts.Text)
    dt.Rows.Add(dt.NewRow)
    ts.Text = CDbl(dt.Rows(0).Item("Expression"))
  End Using
End Sub
于 2009-06-10T21:26:56.667 に答える
0

デフォルトでは、Visual Studio は数式の評価/削減を行いません。ReSharper などのアイテムでサポートが得られるかどうかはわかりませんが、利用できる場合はアドインになります。

また、あなたが使用している言語を知っておくと役に立ちますか?

この分野では、一部の言語が役立つ場合があります。たとえば、F# を使用すると、対話型ウィンドウを介して IDE で式を簡単に評価し、結果を表示できます。これはコードに簡単に追加できますが、まさに探しているものではないようです。

于 2009-06-10T20:37:51.663 に答える
0

答えは次のとおりです。はい、次の手順を使用して可能です。(あなたが求めていることを技術的に実行している間、それが非常に役立つかどうかはわかりません。:-)

  1. プログラムをデバッグするときにヒットする可能性が高いブレークポイントをプログラムに設定します。
  2. 次に、Visual Studio デバッガーでプログラムを実行します。
  3. ブレークポイントに到達したら、[ウォッチ] ウィンドウを開きます。
  4. [ウォッチ] ウィンドウで、[名前] 列をクリックして新しいウォッチを追加します。
  5. 式 '-0.005 + -0.345' (引用符なし) を入力し、[Enter] を押します。... [値] 列に -0.35 が入力されるはずです。

もちろん、それはエディター ウィンドウのコンテキストではありません...おそらく、削減を実行したい場所です。繰り返しますが、あまり役に立ちません。アドインは、エディター ウィンドウでこれを行うための一般的な方法です。

于 2009-06-10T20:54:23.690 に答える
0

イミディエイト ウィンドウに移動して、「?<yourExpression>」と入力するだけです。

于 2009-06-10T21:54:11.197 に答える