- Author(s): @aylei, @baurine, @dragonly (in alphabetical order)
- Last updated: 2021-01-06
- Discussion at:
- Project at: https://github.com/dragonly/ticode
- Try on Visual Studio Code
TiCode is a Visual Studio Code extension that makes developing TiDB a breeze.
社区开发者参与开发 TiDB 需要比较长的前期学习周期,其中除编程语言以外的困难主要来自于项目本身的复杂度。作为一个多语言、多运行时组件和分布式的项目,TiDB 的开发和调试门槛远远高于一些常规软件项目,如移动端 App、Web 服务端、游戏客户端等项目。
上述软件项目上手门槛低的原因,除了拥有完善的社区和学习资料以外,有一个突出的特征:均有一套以上完整的集成开发环境(IDE),帮助开发者上手、完成日常繁琐的开发调试流程,从而将精力尽可能地集中到软件编写和调试本身。
选择 Visual Studio Code 的主要原因在于其开放的社区、良好的可扩展性和巨大的受欢迎程度。
基于现在最流行的代码编辑器 Visual Studio Code,开发一个 TiDB 插件,用于开发和本地/远程调试 TiDB 集群,让开发者不需要搞清楚 TiDB 内部机制也能方便地在本地启动测试集群,实时调试刚编写的功能。
主要功能:
- 从 github repo 加载 TiDB 各个项目代码到 workspace,并使用
TiUP
启动本地测试集群 - 编译当前项目,动态替换测试集群中的
tidb-server
/tikv-server
/pd-server
进程,立即开始调试 - 使用 vscode debugger 调试本地测试集群中的进程,支持同时调试
tidb-server
/tikv-server
/pd-server
进程
TiDB 老司机可以根据自己的想法,灵活调整 tidb-server
/tikv-server
/pd-server
启动参数,动态加入现有测试集群,或者启动 mock tikv-server
从而只调试 tidb-server
部分功能。但是这么做对大部分开发者非常不友好,而且即便是老司机也可以利用这个插件来省时省力。
冇。
TBD。
演示。
冇。