Question

Est-il possible d'obtenir Visual Studio pour faire l'évaluation / la réduction de l'expression mathématique?

Par exemple, si je tape « -0,005 + -0,345 » comment puis-je obtenir Visual Studio pour réduire ce (à savoir le remplacer par la réduction)? Est-ce que je dois écrire une macro? Si oui, sont-il des macros pré-existantes pour faire ce type de réduction d'expression?

Pour être clair, je veux être en mesure de mettre en évidence l'expression et l'ont remplacé par le résultat réduit. Beaucoup suggérez la fenêtre immédiate, mais je ne vois pas comment cela va suffire?

Modifier Je tiens à souligner que c'est lors de l'édition ne fonctionne pas ou le débogage. La fenêtre immédiate est peu à rien. Je considère également que cette question une langue neutre. Je serais certainement intéressé à voir des macros alternatives à celle que je l'avais posté.

Modifier Une fois Going ... deux fois ... (à savoir d'autres suggestions avant d'envisager d'accepter ma réponse?)

Était-ce utile?

La solution

Merci pour les réponses ci-dessus.

Il y a probablement de meilleures façons, mais voici une macro rapide et sale qui fait ce que j'ai besoin.

Les références aux espaces de noms System.Data et System.Xml doivent être ajoutés.

Mettre en évidence l'expression que vous voulez évaluer et exécuter la macro (il utilise la colonne calculée dans le DataTable pour évaluer l'expression.) Il remplacera l'expression par le résultat réduit.

Modifier - Mise à jour du code ci-dessous. Il a très bien fonctionné pour réduire un grand nombre d'expressions. Comme l'a souligné d'autres il y a la fenêtre immédiate, mais cela ne fonctionnera pas à des fins d'édition. Cette macro est une langue solution indépendante pour les expressions de 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

Autres conseils

Visual Studio par défaut ne fera pas l'évaluation / la réduction de l'expression mathématique. Je ne sais pas si vous pouvez obtenir de l'aide pour cela par des articles comme ReSharper, mais si elle est disponible, il sera dans un complément.

En outre, il serait utile de connaître la langue que vous travaillez?

Certaines langues peuvent être utiles dans ce domaine. F #, par exemple, il est facile d'évaluer les expressions dans l'EDI via la fenêtre interactive et affiche le résultat. Cela pourrait facilement être rajoutée dans votre code, mais il ne semble pas être exactement ce que vous cherchez.

Voici une réponse: Oui, il est possible en procédant comme suit. (Tout en effectuant techniquement ce que vous demandez, je ne suis pas sûr que ce sera extrêmement utile: -.)

  1. Définir un point d'arrêt dans votre programme qui est susceptible d'être touché lorsque vous déboguer le programme.
  2. Ensuite, exécutez votre programme sous le débogueur Visual Studio.
  3. Lorsque le point d'arrêt est frappé, ouvrez la fenêtre Espion.
  4. Dans la fenêtre Watch, ajouter une nouvelle montre en cliquant dans la colonne Nom.
  5. Entrez votre expression « -0,005 + -0,345 » (sans les guillemets) puis appuyez sur [Entrée]. ... Vous devriez voir la colonne Valeur se renseignée avec -0,35.

Bien sûr, ce n'est pas dans le contexte de la fenêtre de l'éditeur ... qui est, sans doute, où vous voudriez effectuer la réduction. Là encore, pas très utile, je pense. Un complément est le moyen susceptible de le faire dans la fenêtre de l'éditeur.

Vous pouvez tout simplement aller à la fenêtre immédiate et tapez "? "

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top