什么是C#的轻量级编辑器?
有没有轻量级的C#IDE/编译器? VisualStudio很棒,但我觉得为每个文件创建一个额外的项目很烦人。难道没有像SciTE这样的东西,你可以简单地输入代码,编译并在控制台中运行它吗?看看#develop是一个免费的集成开发环境(IDE),用于微软.NET平台上的C#、VB.NET、Boo、IronPython、IronRuby和F#项目。它(几乎)完全用C#编写,并附带了IDE中所需的功能以及其他一些功能 开发项目于2000年9月11日启动什么是C#的轻量级编辑器?,c#,ide,C#,Ide,有没有轻量级的C#IDE/编译器? VisualStudio很棒,但我觉得为每个文件创建一个额外的项目很烦人。难道没有像SciTE这样的东西,你可以简单地输入代码,编译并在控制台中运行它吗?看看#develop是一个免费的集成开发环境(IDE),用于微软.NET平台上的C#、VB.NET、Boo、IronPython、IronRuby和F#项目。它(几乎)完全用C#编写,并附带了IDE中所需的功能以及其他一些功能 开发项目于2000年9月11日启动 我个人只使用一个轻量级文本编辑器(、或)和一个
我个人只使用一个轻量级文本编辑器(、或)和一个单独的控制台。我通常在
c:\users\jon\Test
中打开控制台,其中有一个Test.cs
文件,其中包含我上次所做的一切-通常包括:
using System;
using System.Collections.Generic;
// etc
class Test
{
static void Main()
{
}
}
我通常只是扔掉之前Main
中的任何东西,然后放入我想要的任何东西
虽然从编辑器编译可能很方便,但我经常想使用ILDasm或Reflector,因此打开控制台很方便
您可能还想看看哪一个对您有帮助:它具有Intellisense,并且可以直接构建和运行代码。它特别旨在帮助LINQ查询(因此得名),但您也可以以更通用的方式使用它。您肯定会喜欢它
你可能会喜欢。对我来说,放手就是LINQPad——它比LINQ做的多得多
我曾经对SnippetCompiler起誓,但它运行代码段以及出色的LINQ运行功能非常棒。如果您使用自动完成(许可证),它甚至更好
[完全披露:我知道LINQPad的作者Joe Albahari,但我不会支持任何不符合其自身优点的内容。]您还可以将Visual Studio配置为在创建项目文件时不保存项目文件。我一直这样做是为了探索名称空间。我喜欢代码段编译器,但自动完成选项远不如它好 该选项位于“工具”>“选项”>“项目和解决方案”>“创建时保存新项目”下。如果取消选中此选项,它将在临时目录中创建一个项目,当您关闭该Visual Studio实例时,该项目将被清除。如果选择保存工作,可以使用“全部保存”获得一个对话框,该对话框将允许您指定项目的保存位置 我还获取了代码段编译器文件的默认文本,并将其作为VisualStudio中的代码段。SC的默认文件将代码包装在try/catch块中,并为Console.WriteLine()提供快捷方式函数
这正是您想要的。为什么要为每个文件创建一个额外的项目?Visual Studio很棒,但我发现为每个文件创建一个额外的项目很烦人???对不起,我想我表达的方式不对。事实上,我刚开始通过观看视频教程来学习C.*对于视频教程中的每个主题,我都必须做一个额外的项目。尽量不放弃学习C,避免学习如何使用用于开发C的首选工具。利用临时项目。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。@S.L.Barth:绝对正确。更正。这个项目现在或多或少已经死了。它最多只能支持c#5,现在已经5岁了。我本来打算把它标记为VLQ,但这是一个必须关闭的问题,因为它需要推荐。@brasofilo:什么是VLQ?@Luke,质量很低。。。只有一个链接的答案被放在VLQ评论上,用户可以投票删除它
using System;
using System.Collections.Generic;
public class MyClass
{
public static void RunSnippet()
{
}
#region Helper methods
public static void Main()
{
try
{
RunSnippet();
}
catch (Exception e)
{
string error = string.Format("---\nThe following error occurred while executing the snippet:\n{0}\n---", e.ToString());
Console.WriteLine(error);
}
finally
{
Console.Write("Press any key to continue...");
Console.ReadKey();
}
}
private static void WL(object text, params object[] args)
{
Console.WriteLine(text.ToString(), args);
}
private static void RL()
{
Console.ReadLine();
}
private static void Break()
{
System.Diagnostics.Debugger.Break();
}
#endregion
}