有时软件开发会达到一个点,使你的工作更容易的工具开始成为工作的一部分.
我碰到了浏览器调试。
我想做一件应该很简单的事:设定一个分点。
按 F5.
调试我的JavaScript.
相反,我发现自己花太多时间思考开发服务器,浏览器启动配置,调试器连接,端口,配置,以及调试环境本身.
这导致一个简单的问题: 如果浏览器调试可以重回会话配置呢?
因此我建造了 CloudIDEAaS JavaScript 调试器。
CloudIDEAaS背后的哲学是直截了当的: 花时间去调试您的应用程序,而不是调试您的调试环境.
对于一个直截了当的JavaScript或HTML项目,我希望工作流程是这样的:设置一个断点.
按 F5 开始调试 。
在这三个步骤后,CloudIDEAaS可以启动本地网络服务器,启动Chrome,建立调试连接,配置你的断点,然后加载应用程序.
重要的部分是,你不必去想这些。
QQ 内置 VS 代码 这并不是要取代Chrome DevTools,也不是要与每个大型JavaScript调试平台竞争地物特性.
它专注于提供我最常直接在Visual Studio代码内使用的调试功能: QQ source and 有条件的断点QQ 继续暂停本地变量和对象检查 范围并调用堆栈 表达式评价 例外断点配置 本地网络服务器内置的一个功能对我特别重要的是启动断点。
调试器在装入应用程序前建立连接并配置您的断点, 从而可以抓取在启动时执行的 JavaScript 。 🧠 兜帽下到底发生了什么?
建造调试器也变成了对现代调试如何实际工作的有趣探索.
该架构大致类似: Visual Studio Code使用微软的"调试适应器协议"(DAP)与CloudIDeaaS调试适配器通信.
适配器以C#.NET来写.
另一方面,适配器使用Chrome DevTools协议(CDP)在WebSockets上与Chrome通信.
这意味着适配器基本上处于两个调试世界之间: VS 代码 ↔ DAP ↔ CloudIDEAaS ↔ CDP ↔ Crome 在VS代码中设置断点时,适配器会将调试请求翻译为相应的Chrome调试操作.
当Chrome暂停,报告一个调用框架,暴露一个变量,或者解决一个断点时,适配器会将这些信息翻译回VS代码所理解的东西.
QQ 为啥要另建 JavaScript 调试器 ?
问得好 维基百科 代码已经具备了极佳的JavaScript调试能力,而Chrome DevTools则极其强大.
CloudideaaS并不是试图假装这些工具不存在.
动机是工作流程。
有很多JavaScript项目,我不想在其中组装一个现代前端工具链,只是为了调试在浏览器中运行的代码.
这可以包括: Plain JavaScript 应用程序 HTML/CSS/JavaScript 工程 传统网络应用程序 Legacy 应用程序 教育项目 小原型和实验 对于这些项目,我希望调试更能感受到传统的IDE体验:设置断点 按下F5 调试. ++ 公约过度配置 这一原则成为该项目的主要设计目标之一。
现代发展工具非常强大,但权力往往带来配置。
CloudideaaaS有意采取更狭隘的做法。
如果明智的默认可以消除另一个配置步骤,那通常是我想采取的方向.
这个项目不是想成为每个人的一切 它试图使一个共同的发展任务更加简单. 🆓 免费a