你是否曾经被 Vim 的学习曲线所困扰?
是否想拥有更加牛逼和强大的编辑器,但又不想完全抛弃 Vim 的高效与灵活?
如果是这样,或许你是时候要开始试试或者深入去用用 Visual Studio Code 了。
VS Code 集成了现代 IDE 的强大功能,同时也支持 Vim 模式,可以让你在熟悉的环境中拥有更高的开发效率。无论你是 Vim 老兵还是新来的,VS Code 都值得一试。
VS Code + Vim 我全都要
首先,VS Code 最大的亮点,就是它继承了 Vim 的精髓,同时又融合了现代 IDE 的强大功能。通过内置的 Vim 模式,Vim 用户可以在 VS Code 中继续使用熟悉的 modal editing 和快捷键,几乎无需改变习惯。
但与此同时,VS Code 还提供了图形化的界面、便捷的文件管理、智能的代码补全和导航等等。这些功能,都是传统 Vim 所不具备或较难实现的。
可以说,VS Code 达到了"Vim 式编辑 + IDE 式体验"的完美平衡 。
事实上,正是凭借着这种"鱼与熊掌兼得"的特性 ,VS Code 才能在短时间内获得如此高的人气。自 2015 年首发以来,VS Code 就一直稳居 GitHub 最受欢迎的开源项目之列。许多知名开发者也纷纷表示,VS Code 已经成为了他们的主力编辑器。
对了,那究竟是什么让 VS Code 如此备受青睐呢?
VS Code 强大的插件生态
对于许多 Vim 用户来说,配置 Vim 是一个既爱又恨的过程 。
为了打造一个得心应手的 Vim,我们常常需要花费大量时间去搜寻、比较和测试各种插件。即便是有经验的 Vimer,也很难说自己的配置就是完美的。
而 VS Code 恰恰解决了这一痛点。
通过"开箱即用"的设计理念,VS Code 让开发者能够以最小的配置成本,获得一个现代化的、高效的集成开发环境 。这对于那些希望快速上手、专注编码的开发者来说,无疑是一大福音。
说白一点,它拥有一个庞大的插件生态系统,可以满足各种开发需求。无论你是前端、后端、全栈,还是数据分析、人工智能,都能在 VS Code 的插件商店中找到合适的工具。
而且,安装和管理插件也非常便捷的,只需要去到商店那里,搜一下,看到合适的,点个安装,就可以使用了 。
相比之下,Vim 的插件管理就显得比较原始和繁琐。你需要手动下载插件文件,配置 .vimrc
,还要处理各种插件之间的兼容性问题 。这无疑增加了 Vim 用户的负担。看看下面这个图,对于小白来说,是不是看了都有点头大?这已经算是精简版了...
有人可能会说,Vim 的插件虽然配置复杂,但经过定制后也能获得非常强大的功能,未必输给 VS Code。这个观点没错,但问题在于,大多数开发者并不想把时间浪费在配置编辑器上 。
我们希望有一个即拿即用、开箱体验良好的工具,让我们能够聚焦在编码这件事本身,这不正正符合了中国以业务需求为最高优先级的开发趋势吗...各种赶的 MVP,上线,忽略单元测试,回归测试,赶鸭子上架。这不正中 VS Code 的下怀吗?
相比之下,Vim 更像是一把瑞士军刀,功能强大但需要花时间去磨合。对于追求效率的现代开发者来说,VS Code 无疑是更优的选择 。
VS Code 顺滑的编程提效体验
另一个值得一提的是,VS Code 在协作编程方面也有着出色的表现。通过内置的 Live Share 功能,多个开发者可以远程连接到同一个 VS Code 会话中,实时查看和编辑彼此的代码 。大家有兴趣可以去试试,我也是最近才了解到这个功能,很有意思。
送你去了解一下:Live Share - https://code.visualstudio.com/learn/collaboration/live-share
而在 Vim 中,如果要实现类似的功能,你恐怕得依赖 tmux 之类的外部工具,配置起来也非常麻烦。
试想一下,你正好处在一个远程办公的团队中,或者经常和其他开发者协作。你可以实时看到同伴的代码改动,随时进行讨论和 code review。即便是在不同的时区和地点,也能轻松实现无缝协作。
啊对了,除了与产品经理的沟通还比较麻烦,还是值得一试的。
除了前面提到的特性外,VS Code 还有许多让开发者着迷的小功能,这里我简单列举几个:
- 内置功能强大的调试器 ,支持多种语言和运行时环境。你可以轻松地设置断点、检查变量、单步执行代码,甚至在调试过程中实时修改代码。而在 Vim 中,调试代码通常需要依赖 gdb 等外部工具,使用起来相当不便。
- IntelliSense 功能可以根据上下文提供智能的代码补全和参数提示。
- CodeLens 可以在函数上方显示该函数的引用次数和测试状态。
- GitLens 可以在代码中内嵌 Git blame 信息,让你清楚地知道每一行代码的作者和提交记录。
关注公众号: 程序员安仔 ,回复: " 面试题"
注意,不要乱回复
(一定要回复 **" 面试题"
)** 否则啥得不到
安仔唯一官方公众号
点击下方 小卡片 回复: " 面试题"