在我的职业生涯中,我专门使用IDE进行软件开发,尽管它们有很长的启动时间是臃肿和缓慢密钥绑定效率低下需要鼠标
这是因为我迫切需要(而且仍然需要)许多纯文本编辑器无法提供的功能,即:
我使用的所有语言的语言功能(转到定义、自动完成等)一个调试器
然而,我真的很喜欢我最喜欢的文本编辑器Vim的功能,它:
是100%键盘驱动拥有以命令为中心的方法和大量的命令是模态的不需要GUI,可以在终端上运行是高度可配置的使用简单的文本文件有一个低内存占用
已经在Vim投资多年(它有一个巨大的学习曲线),我不想放弃我获得的技能。不幸的是,大数据营销,我从来没有设法为Vim添加所需的特性。
所以我没有将Vim调整为更像IDE,而是尝试使用插件和键绑定使我的IDE的行为更像Vim。根据IDE的不同,大数据怎么用,这在一定程度上是可行的,但我从来没有真正满意过它,公司自助建站,因为许多命令不受支持,击键偶尔被忽略,贵阳大数据,许多功能仍然需要鼠标,而且迟钝的问题仍然存在。
我最成功的尝试是在Neo Vim扩展中使用VSCode,在那里没有键绑定刚刚映射,但是在VSCode中运行了Neovim的完整实例。它工作得非常好,但是VSCode的膨胀,这是一个电子应用程序,仍然让我担心。
VSCode还引入了两个非常重要的创新:语言服务器协议(LSP)和鲜为人知的调试适配器协议(DAP),它们解决了每个编辑器/IDE必须支持每种编程语言的问题。现在,编辑器/IDE只需要支持LSP和DAP。这些创新提供了对特定编程语言的语言和调试器特性的统一和标准化访问。
Vim通过插件支持LSP和DAP。Neovim是Vim的一个分支,具有更现代的治理结构(许多贡献者而不是只有一个贡献者),允许开发许多新特性,包括对LSP的本机支持。
现在,经过这么多年,我终于成功地建立了LSP和DAP,为Neovim提供了我需要的所有语言特性和调试器需要。设置起来并不容易,试用云服务器,我还得写一些脚本,但很管用。最后,没有理由再使用ide了。我进行了切换。
我创建了一个简短的演示,展示了一些功能。
我设法使Neovim的本地LSP客户端使用SAP云应用程序编程模型(CAP)的LSP服务器,并为cds文件添加了语法突出显示。DJ亚当斯在lsp光盘上的视频对我很有帮助。
我可以自信地说,在这个过程中我学到了很多,我已经成长为一名程序员。我终于对我的开发设置感到满意了,我对Neovim未来的创新很好奇。