J'ai été en utilisant l'Extrait de code Compilateur pour quelques années, et c'est génial. Malheureusement, il n'est pas maintenu, et est à la traîne. Ne prend pas en charge .NET 4, que nous avons récemment passé, et même certains C# 3 fonctionnalités comme les méthodes d'extension sont marqués comme des erreurs (bien qu'ils ne compile).
Des solutions de rechange?
Mise à jour: je voulais poster de retour ici après avoir passé beaucoup de temps avec LINQPad depuis la rédaction de cette question. Il est désormais l'un de mes outils de critique. Voici pourquoi:
- Il se charge rapidement. Commencez à taper tout de suite. F5 et voir les résultats.
- Il permet d'écrire des expressions simples, des déclarations ou des programmes complets. Cela me donne beaucoup de flexibilité pour le genre de test que je veux faire. Je commence généralement par l'Expression, se déplacer à l'état, et puis parfois commutateur de Programme si je commence à écrire des méthodes et des types.
- Il communique directement avec les bases de données et générer de démarrage simple requêtes et les types pour vous (comme "MyTable.(50)" et de fil tous les db d'accès et tout et tout). De façon plus rapide que de faire la même chose en SQL Studio ou VS.
- Vous pouvez montrer à vos propres montages. Je vais donc être en VS et voulez tester une fonction ou une classe que j'ai écrit. Je vais frapper F4, carte de l'assemblée, à l'importation d'un espace de noms ou deux, et s'en aller.
- Je vais souvent à enregistrer .linq fichier à plus tard comme un "Foo Environnement" (où Foo est le nom de l'assemblée).
- LINQPad vous permet même de définir ces valeurs par défaut. Donc, j'ai un couple bibliothèques de base avec des fonctions d'assistance etc que je veux toujours être disponibles dans mon test des extraits et des expressions, donc j'ai mis ceux de l'être par défaut inclus (et de la nécessité d'espaces de noms) à toutes les nouvelles requêtes par défaut.
- Le mec qui a écrit, c'est intelligent. Il a réalisé que nous aimerions faire un rapide itération sur le code, donc ça va (en option, et sur par défaut) recharger le domaine de l'application à chaque fois.
- Cela signifie que vous pouvez construire votre assemblée, revenir à LINQPad et appuyez sur la touche F5 et il utilisera la nouvelle. Pas de verrou maintenu, la commutation automatique de nouvelles versions.
- Ce pourrait être l' élément clé de LINQPad et il a complètement arrêté de me à partir de l'utilisation de Powershell ISE pour ce genre de chose. J'espère le voir un jour un LINQShell!
- Il a vraiment bon Intellisense si vous payer la mise à niveau. Il ne semble pas comme une caractéristique essentielle, mais une fois que vous avez cela, vous comprendrez pourquoi il vaut la mise à niveau. La détection est important lorsque vous effectuez peu vite, scripty choses.
- C'est génial pour faire des démonstrations fonctionnalité de code à d'autres personnes, en particulier au cours d'une conférence type d'environnement. Je n'ai pas de démo de VS plus.
- Le "Dump", que vous pouvez fixer sur tout type d'expression est totalement génial. Très sophistiqué, des rapports configurables que utiliser la réflexion pour regarder profondément à l'intérieur des objets et des ruisseaux. Ne pas utiliser la Console.WriteLine, utilisez Dump. C'est un objet de la méthode d'extension.
- LINQPad est utilisable à partir de Visual Studio pour le débogage de visualisation. Vous pouvez ajouter une référence à LINQPad à partir de votre application de Dump() une expression au format HTML (oui, dans la fenêtre espion!), ensuite, utilisez le code HTML visualizer de VS montrer le bien formaté expression dans une fenêtre, comme si elle était dans LINQPad.
- Noter qu'il y a un VS addin qui est censé être le fait automatiquement pour vous, mais je n'ai jamais réussi à le faire fonctionner de manière fiable. Je m'en tiens à la méthode manuelle qui fonctionne toujours.
- Il est bien entretenu. Il avait 4.0 prise en charge précoce et prend actuellement en charge les Async CTP. Non pas que j'ai utiliser asynchrone pourtant, tout s'est passé pour avis.
La seule chose que je peux penser de ce qui manque c'est une façon d'attirer l'LINQPad à partir de la ligne de commande à exécuter .linq fichiers de scripts et de rassembler les résultats dans une forme lisible par machine. Nous avons un hack quelqu'un a écrit ici qu'ils utilisent pour automatiser certaines requêtes ou quelque chose, mais ce serait bien si LINQPad pris en charge l'automatisation directement. Eh bien, voici une autre demande pour un LINQShell!
De toute façon, j'utilise cet outil plusieurs fois chaque jour comme vous pouvez recueillir de l'amour de ma lettre ci-dessus. Je vous suggère de vérifier au moins, la version gratuite est incroyablement fonction remplie. Mais alors payer de l'homme, c'est pas cher et appuiera ce projet fantastique.