Domanda

E 'possibile ottenere Visual Studio per fare matematica espressione di valutazione / riduzione?

Per esempio, se si digita '-0,005 -0,345 +' Come faccio ad avere Visual Studio per ridurre tale (vale a dire sostituirla con la riduzione)? Devo scrivere una macro? Se è così, ci sono tutte le macro pre-esistenti per fare questo tipo di riduzione di espressione?

Giusto per essere chiari, io voglio essere in grado di evidenziare l'espressione e lo hanno sostituito con il risultato ridotto. Molti stanno suggerendo la finestra immediata, ma non riesco a vedere come questo sarà sufficiente?

Modifica Tengo a precisare che questo è durante la modifica non è in esecuzione o il debug. La finestra immediata è di poco o nessun uso. Ho anche Considero questo una domanda linguaggio neutrale. Mi sarebbe certamente interessato a vedere le macro alternative a quella che avevo postato.

Modifica Andando Una volta ... Andare due volte ... (vale a dire tutti gli altri suggerimenti, prima di considerare di accettare la mia risposta?)

È stato utile?

Soluzione

Grazie per le risposte di cui sopra.

Probabilmente ci sono modi migliori, ma ecco una macro rapido e sporco che fa quello che mi serve.

I riferimenti alle spazi dei nomi System.Data e System.Xml devono essere aggiunti.

Evidenziare l'espressione da valutare e eseguire la macro (che utilizza la colonna calcolata nel DataTable per valutare l'espressione.) Che sostituirà l'espressione con il risultato ridotto.

Modifica - codice aggiornato di seguito. Ha funzionato molto bene per la riduzione di un gran numero di espressioni. Come sottolineato da altri, c'è la finestra immediata, ma questo non funzionerà per l'editing. Questa macro è una soluzione indipendente lingua per espressioni di base "(), +, -, *, /".


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

Altri suggerimenti

Visual Studio per default non farà alcuna matematica espressione di valutazione / riduzione. Non sono sicuro se è possibile ottenere il supporto per quella via oggetti come ReSharper, ma se è disponibile, sarà in un componente aggiuntivo.

Inoltre, sarebbe utile conoscere la lingua si sta lavorando?

Alcune lingue possono essere utili in questo settore. F # per esempio rende facile calcolano espressioni in IDE tramite la finestra interattiva e visualizza il risultato. Questo potrebbe essere facilmente aggiunto di nuovo nel codice, ma non sembra essere esattamente quello che stai cercando.

Ecco una risposta: Sì, è possibile utilizzare la procedura seguente. (Anche se tecnicamente l'esecuzione di quello che stai chiedendo, io non sono sicuro che sarà molto utile: -).

  1. Imposta un punto di interruzione nel programma che è probabile ottenere colpito durante il debug del programma.
  2. Quindi, eseguire il programma sotto il debugger di Visual Studio.
  3. Quando il punto di interruzione viene colpito, aprire la finestra di controllo.
  4. Nella finestra di controllo, aggiungere un nuovo orologio facendo clic nella colonna Nome.
  5. Inserisci il tuo espressione '-0,005 -0,345 +' (senza le virgolette) quindi premere [Invio]. ... Si dovrebbe vedere la colonna Valore ottenere popolata con -0.35.

Naturalmente, questo non è nel contesto della finestra dell'editor ... che è, presumibilmente, in cui ci si vuole eseguire la riduzione. Così ancora una volta, non molto utile, immagino. Un add-in è il modo più probabile per farlo nella finestra dell'editor.

Si può solo andare alla finestra immediata e digitare "? "

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top