什么是C#的轻量级编辑器?

时间:2010-11-23 14:29:10

标签: c# ide

是否有任何轻量级的C#IDE /编译器? Visual Studio很棒,但我觉得为每个文件创建一个额外的项目很烦人。是不是像SciTE那样只需键入代码,在控制台中编译并运行它?

8 个答案:

答案 0 :(得分:15)

向下(对我而言)是LINQPad - 它比LINQ做得更多。

http://linqpad.net/

答案 1 :(得分:11)

我个人只是使​​用轻量级文本编辑器(jedNotepad++)和一个单独的控制台。我通常会在c:\users\jon\Test中打开控制台,其中有一个Test.cs文件,其中包含我最后所做的一切 - 通常包括:

using System;
using System.Collections.Generic;
// etc

class Test
{
    static void Main()
    {
    }
}

我通常只是摆脱Main之前的任何东西并放入我想要的任何东西。

虽然从编辑器编译可能很方便,但我经常想使用ILDasm或Reflector,因此打开控制台很方便。

您可能还希望查看可以帮助您的LINQPad:它具有Intellisense,并且可以直接构建和运行代码。它特别旨在帮助LINQ查询(因此得名),但您也可以以更通用的方式使用它。

答案 2 :(得分:2)

CS-Script Plugin (CSScript.Npp)正是你在寻找什么。

答案 3 :(得分:1)

看看MonoDevelop

答案 4 :(得分:1)

#develop是一个免费的集成开发环境(IDE),适用于Microsoft .NET平台上的C#,VB.NET,Boo,IronPython,IronRuby和F#项目。它(几乎)完全用C#编写,并带有您期望在IDE中添加的功能。

#develop项目于2000年9月11日开始。

http://www.icsharpcode.net/opensource/sd/

答案 5 :(得分:1)

我曾经发誓SnippetCompiler,但LINQPad非常适合运行代码段以及出色的LINQ运行功能。如果你使用AutoCompletion(许可证),那就更好了。

[完全披露:我知道LINQPad的作者,Joe Albahari,但我不赞同任何不符合其自身价值的东西。]

答案 6 :(得分:1)

您还可以将Visual Studio配置为在创建项目文件时不保存项目文件。我一直这样做以探索名称空间。我喜欢Snippet Compiler,但是自动完成选项并不是那么好。

该选项位于工具>选项>项目和解决方案> “在创建时保存新项目”取消选中此项后,它将在临时目录中创建一个项目,当您关闭该Visual Studio实例时,该项目将被清除。如果您选择保存您的工作,您可以使用“全部保存”来获得一个对话框,允许您指定项目的保存位置。

我还使用了Snippet Compiler文件的默认文本,并将其作为Visual Studio中的代码段。 SC的默认文件将代码包装在try / catch块中,并为Console.WriteLine()提供快捷方式。

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
}

答案 7 :(得分:0)

您一定会喜欢Snippet Compiler

您可能也喜欢SharDevelop