2009-06-10 25 views
1

可以讓Visual Studio執行數學表達式評估/縮減嗎?在Visual Studio 2008中執行表達式評估/縮小

例如,如果我輸入'-0.005 + -0.345',我該如何讓Visual Studio減少它(即用減少代替它)?我必須寫一個宏嗎?如果是這樣,有沒有預先存在的宏來做這種類型的表達式減少?

爲了清楚起見,我希望能夠突出顯示錶達式並將其替換爲減少的結果。許多人提出了直接的窗口,但我沒有看到如何足以滿足?

編輯我應該指出,這是編輯時沒有運行或調試。直接窗口幾乎沒有用處。我也認爲這是一個語言中立的問題。我當然有興趣看到我發佈的宏的替代宏。

編輯去一次......兩次去......(即任何其他建議我能考慮接受我自己的答案?)之前

回答

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 
0

的Visual Studio默認情況下不會做任何數學表達式求值/還原。我不確定是否可以通過像ReSharper這樣的項目獲得支持,但是如果它可用,它將在加載項中。

此外,知道您正在使用的語言會有幫助嗎?

某些語言在這方面可能會有幫助。例如F#可以很容易地通過交互式窗口在IDE中評估表達式並顯示結果。這可以很容易地添加回你的代碼中,但它看起來並不是你想要的。

+0

該項目是VB.NET。 – user79755 2009-06-10 20:43:04

+0

@neodynium,那麼在這一點上,沒有任何表達式減少選項。 – JaredPar 2009-06-10 20:47:21

0

下面是答案:是的,可以使用以下步驟。 (雖然在技術上進行你問什麼,我不知道這將是非常有用的。:-)

  1. 設置程序中的一個斷點,這是有可能得到,當你調試程序命中。
  2. 然後,在Visual Studio調試器下運行您的程序。
  3. 當斷點被擊中時,打開Watch窗口。
  4. 在監視窗口中,通過單擊名稱列添加一個新的手錶。
  5. 輸入您的表達'-0.005 + -0.345'(不含引號),然後按[Enter]。 ...您應該看到Value列填充了-0.35。

當然,這不是在編輯器窗口的上下文中......大概是,你想要執行還原的地方。我想,再次,不是很有用。加載項是在編輯器窗口中執行此操作的可能方法。

+0

p.s.立即窗口也會評估表達式,但是再次,對於編輯沒有用處。 – 2009-06-10 20:57:13

0

你可以只是去直接窗口,鍵入 「?< yourExpression>」