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

什么是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#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
}