【问题标题】:Is there any IDE or Visual Studio/Mono/SharpDevelop plugin for braceless C#?是否有适用于无括号 C# 的 IDE 或 Visual Studio/Mono/SharpDevelop 插件?
【发布时间】:2010-10-06 02:39:49
【问题描述】:

当我看到 this article 关于在 C# 中使用类似 python 的 sintax(基于缩进,没有大括号,语法)时,我开始怀疑:我可以有一个 IDE 来解析和编译它吗?

【问题讨论】:

    标签: c# visual-studio ide indentation curly-braces


    【解决方案1】:

    Iron Python 呢?它是 dotnet 的 python。

    如果您不喜欢大括号,也可以查看Delphi Prism(作为 Visual Studio 的插件运行)。它可以做 C# 做的所有事情,以及一些额外的事情。

    【讨论】:

    • Iron Python 只是一个命令行解释器,并没有集成到 Visual Studio。 Delphi 使用“开始”和“结束”而不是大括号,这更糟糕。
    【解决方案2】:

    :我可以有一个 IDE 来解析和编译它吗?

    首先,有点迂腐。 IDE 既不解析也不编译。

    我要么建议使用 Iron Python 或 Delphi Prism(正如 Wouter 建议的更快),要么这样: 您将 Notepad++ 用作 IDE,并编写了一个小工具,该工具会在编译代码之前根据意图自动添加括号。我认为这可以在一个代码“搜索和替换遍历”中完成:

    例如:

    if true
       for each a in b
           foo();
     foo();
    

    代码只是扫描每一行并添加一个左括号,如果:当前行中的代码比上一行中的代码更进一步:

    if true
       {for each a in b
           {foo();
     foo();
    

    并且在下一行的代码不如当前行的地方添加一个右括号。 - 存储缩进深度(我会推荐一个基于堆栈的系统)!

    if true
       {for each a in b
           {foo();}
       }
     foo();
    

    等等......命名空间和“使用”的问题也可以这样解决。

    【讨论】:

    • 根据维基百科,IDE 通常包括:* 源代码编辑器、* 编译器和/或解释器、* 构建自动化工具和 * 调试器(通常)。
    • 所以才叫“集成”开发环境
    • 我同意克里斯的观点。将 IDE 视为编译器并不明智。当然,您可以从 IDE 内部运行编译,但您也可以在 IDE 外部运行编译。我怀疑在大多数情况下,IDE实际上运行的是命令行编译器,在这种情况下,真正的编译器是命令行工具。
    • 太糟糕了,你用一个无关紧要的迂腐拖钓来解决提问者的问题的算法的其他有用的介绍,这甚至不准确。非常接近我的第一次反对票,除了那里有一些有用的东西(如果很明显的话)。
    【解决方案3】:

    抱歉,回复延迟。我发布了一篇关于结构化编辑器的文章here。不幸的是,它仍处于早期原型阶段,但可以让您了解如何构建这样的编辑器。我还发布了源代码和二进制文件here

    如果您有任何问题,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-31
      • 1970-01-01
      • 2012-10-07
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多