本文内容节选自 《D# 语法》 https://www.cnblogs.com/KSongKing/p/10704450.html 。
再谈谈 调试 的 问题, 调试, 是 IDE 的 部分, 作为一个 开放 自由 有生命力 的 语言平台, 是不应该 依赖于 IDE 的,
我们 欢迎 IDE 提供好的支持, 但是 语言平台 不应该 依赖于 IDE 。
看看 宇宙第一 IDE 和 C# 的 关系 就知道了, 离开 Visual Studio , 怎么开发 .Net 程序? 这不可想象 。
这不仅仅 是 对 C# 语法 的 语法错误 和 智能提示 的 支持, 还包括 对 具体 的 程序项目 的 支持,
比如, WinForm 程序, 没有 Visual Studio ,你怎么写?
Asp.net 程序, 没有 Visual Studio , 你怎么写?
而且 Visual Studio 的 WinForm , Asp.net 项目 拿给 VsCode 是不能直接编译的, 这是我猜的, 因为我没怎么用过 VsCode 。
这些现象, 表示 这不是 程序员 要的 “理想国” 。
ILBC 要实现的,是一个 用 记事本 也能写 程序 的 语言平台, 这是 程序员 的 理想国 。
这其实 很简单, 我们只需要一些 简单 的 规则 就可以实现, 比如, 最简单的, 编译器 是一个 命令,我们可以告诉 编译器 一个 路径, 这个 路径 就是 项目的根目录, 编译器 会 寻找 这个 目录 和 所有 的 子目录 里的 源代码 文件 进行编译, 那么 对于 Bin 目录, 或者 资源目录 等等一些 我们 需要 编译器 忽略 的 目录 怎么办?
可以类似 Git, 在 项目目录 下 放一个 ilbc_src.ignore 的 文件, 里面声明 需要 忽略 的 目录, 就可以了 。
甚至, 可以比 Git 还简单, ilbc_src.ignore 只允许 声明 项目目录 下 的 第一级 子目录, 这样 就 太简单了 。
实际上, 这也够用了 。
编译器 对 项目目录 下的 源文件 编译, 会把 所有的错误 都在 控制台 里 列出来, 哪个位置是什么错, 这和 Visual Studio 或者 其它 IDE 是一样的 。
对于 像 WPF, Asp.net 这种类型 的 项目, 有 Xml 格式 的 前端代码(文件), 这也没问题, 你可以用 Xml 编辑器 来写 前端代码(文件), 当然, 用 记事本 也可以 。 ^^
然后, 编译器 同样 对 项目目录 下 所有的 源代码文件, 包括 前端文件 和 后端文件 进行编译 , 并显示 所有错误 。
所以, 不管 后端代码 还是 前端代码 , 你可以选择 任意的 文本编辑器 来 编写, 然后 交给 编译器 来编译 。
你也可以 根据上述 规则 开发一个 IDE , 这都可以 。
你的项目 拿给 别人, 别人 可以用 自己的 文本编辑器 和 编译器 来 继续 开发 和 编译,也可以用 IDE 。
在这方面, Chrome 似乎 干的不错, 你可以用 任意 的 文本编辑器 写 Javascript, 然后 Chrome 的 DevTools 可以让你很方便 的 调试程序 。
相比之下, Visual Studio 在 不同 版本间 都 可能 不支持 互相 打开项目 。