65.9K
CodeProject 正在变化。 阅读更多。
Home

为 VSCode、Sublime Text 和 Notepad++ 编写插件(第二部分)

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2017 年 11 月 8 日

CPOL

5分钟阅读

viewsIcon

7619

VSCode、Sublime Text 和 Notepad++ 插件开发技术比较

《第一部分》的续篇:第一部分

Visual Studio Code (VSCode)

目标读者

VSCode 与 ST3 有很多相似之处。包括拥有庞大且忠实的用户群体。由于其卓越的扩展托管模型,其扩展的**多样性**可以说是所有编辑器中最高的。这在很大程度上促成了该编辑器日益增长的受欢迎程度。

用户体验

好了,这就是 VSCode 最强大的卖点。

其文本渲染引擎几乎与 Atom 相同。VSCode 使用 Electron(Atom 的分支)。因此,在文本编辑体验方面,它与 Atom 大致相同。但 VSCode 提供的额外功能使其与众不同。

首先,它内置了完整的调试器。是的,它不如 Visual Studio 自带的调试器功能强大。但请不要误会,它是一个真正的调试器。这是 ST3 和 N++ 都认为不值得投入精力去拥有的功能。调试器基础设施是开放的,并且是扩展托管解决方案的一部分。这意味着其他语言可以集成它们的调试器,将编辑器变成一个完整的 IDE。

扩展允许引入自己的自定义视图。这为在 TreeView 风格中进行任何信息的真实 GUI 呈现打开了大门。

扩展还可以通过自定义工具栏按钮访问其常用的功能。优秀。

我在本节中特意描述了 VSCode 最接近的竞争对手 ST3 所不具备的功能。在 ST3 中,这些都不可能实现。ST3 的团队小心翼翼地保护着他们的产品,不让任何这些优点渗入。其原因与任何其他过度限制性的框架一样,“这些功能并非真正需要。我们的产品在没有它们的情况下已经完美了”。

VSCode 的另一个亮点是内置的 HTML 渲染器,这使得实现一些非常丰富的内��呈现成为可能。它可以简单地预览 Markdown 内容,也可以像使用 Mermaid 进行图表绘制一样全面。

尽管如此,也有一点强烈的批评。这是几乎所有来自 ST3 阵营的人提出的:VSCode 启动缓慢。非常缓慢。在我看来,如果不是启动缓慢,VSCode 将会是这场竞赛中的明显获胜者。

开发者体验

对于刚从其他环境迁移到 VSCode 的开发者来说,这可能是一种耳目一新的感觉。调试器的可用性带来了巨大的不同。是的,不仅用户受益于调试器,扩展开发者也是如此。API 本身非常强大,并使得用户体验部分(上方)中所述的所有功能成为可能。

从负面来看,API 并不完整。存在一些差距。例如,在此时此刻,可以创建一个带有 TreeView 内容的自定义视图,但无法控制树节点的工具提示。

另一个不愉快的方面是 API 的不稳定性。部分 API 正在被弃用并替换为所谓的更好��替代品。但实际上,这意味着如果不是持续监控 API 更改,您的扩展可能会在下一次 VSCode 更新中被有效禁用。

支持和社区

VSCode 的文档确实还有很大的改进空间。它还可以,但仅仅是还可以。在我看来,它走了错误的道路。它服务于错误用例。

ST3 的文档在以下情况下的效果最好:

我只有一个想法,想知道我想实现什么,并且需要知道我需要使用哪个 API(方法)。

VSCode 的文档在以下情况下的效果最好:

我确切地知道我需要从我的代码中调用哪个方法,并且我需要知道该方法的确切签名。

另一个稍微不友好的地方是 VSCode GitHub 上的故障排除建议。他们要求您不要在那里发帖,而是使用 Stack Overflow。我发现这有点恼人。Stack Overflow 在(至少在这个阶段)对扩展开发方面的帮助几乎无用。它只有一些关于使用 VSCode 的内容,但不是关于为其开发的内容。尽管在 Stack Overflow 上我的问题几周无人回答后,我实际上是在 VSCode GitHub 上发帖并找到了一些帮助。

我希望这些小麻烦只是成长的附带影响。

插件管理

VSCode 的插件管理基于 MS 市场基础设施。因此,当开发者对插件满意后,可以将其打包并发布到 VSCode 插件库。

插件管理模型不如 ST3 灵活,但仍然足够。因此,虽然插件管理没有 GitHub(或其他 SC)集成,但它允许安装本地包(仅仅是一个包文件),这是在发布前验证包健康状况的绝佳测试技术。

与 ST3 插件管理相比,VSCode 的另一个积极方面是开发者不必将插件压缩成“黑盒”zip 容器。因此,故障排除要简单得多。

总结

一个充满活力、不断发展且最终令人兴奋的平台。VSCode 几乎完全匹配了其他流行编辑器的所有最强功能。它也很好地理解了开发者的需求。您永远不会感到被轻视。

在我看来,它是当今最有前途的平台。

如果能解决那几个限制/问题,VSCode 将会毫无疑问地成为这场竞赛的领导者。

结论

这三个平台都在桌面端拥有非常稳固的地位和非常忠诚的社区。尽管如此,所有这些平台都有很大的不同。它们都有各自的优点和缺点,没有一个是理想的。今天,主要的竞争发生在 VSCode 和 ST3 之间。它们是这场竞赛的领导者。

如果用智能手机来类比,我会这样描述这三个杰出的编辑器:

N++ 就像 WinPhone

曾经具有开创性。仍然相关,产品非常扎实,但再也无法成为颠覆者。它就像一只老狗,对新技巧有着意料之中的态度。

ST3 就像 iPhone

精致、性感且仍然极具吸引力,但……实际上不再进化。它只是在享受过去应得的声誉。下一个“大动作”是移除耳机插孔更改默认颜色主题。它总是小心翼翼地阻止你(作为插件开发者)过于雄心勃勃。

VSCode 就像 Android

边角有些粗糙,但充满活力和雄心。并不总是能把事情处理得很妥当,但尊重用户的自由。拥有巨大的潜力并展现出非凡的态度。

© . All rights reserved.