也许我有点落后了,也许因为JetBrains在Python IDE市场占有如此大的份额,使用VSCode的Python程序员比我预期的要多得多。

现在我把PyCharm和Notebooks结合使用了一段时间,我对它非常满意。我喜欢如果我有一些数据想要探索,那么Notebooks非常易于浏览,跟踪我的工作并可视化数据。另一方面,当涉及到生产时,PyCharm只是一台纯粹的机器:它永远不会让我失望,并可以帮助我完成大多数任务。

我也喜欢这样的事实,即PyCharm(JetBrains)的制造商不是美国的巨人(例如Microsoft),而是来自一个更为谦逊的地区。

不管怎样,Visual Studio Code(或简称VSCode)都是Microsoft的开源IDE。 它于2015年首次发布,从那时起(根据Stack Overflow),它已成为最受欢迎的IDE。

考虑到我并没有花太多时间使用VSCode以及它提供的功能,我决定把它与PyCharm对比下,试着找出哪个更好,我应该使用哪个?

PyCharm 比 VSCode 好

人们可能希望在专用IDE中开发代码会更加自然,而PyCharm的创建仅出于Python编码的目的。 这有什么区别吗?

让我们以自动完成支持为例。 VSCode有时会在自动完成支持方面遇到困难,而使用PyCharm时,它几乎在每个实例中都能完美地工作。我个人对VSCode的经验是,自动完成有时可以很好地工作,而有时则不能。

此外,VSCode有时难以加载扩展,我认为可能是我的问题,然而,这似乎是一个重复出现的主题,因为它已经被报告了很多次,这个问题仍然存在。

刚开始时,你可能在想“哦,太棒了,我可以自定义我的VSCode了,这正是我想要的”,但实际上,它永远无法正常工作,您最终不得不花费更多的时间来修复错误, 开发时间更少,这是您在PyCharm中无需担心的事情。

因此,基于这些原因,PyCharm是Python的原生语言,并且真正利用了它来构建,这使它比VSCode有巨大的优势。当然,VSCode也提供了很多功能。

VSCode 比 PyCharm 好

首先,也是最重要的,VSCode是免费的。是的,完全。纯编辑器非常简单,您可以通过安装插件来扩展它的功能。另一方面,PyCharm Professional并不算便宜。

PyCharm有一个免费版本(称为社区版),但是它的功能更少:它不包括用于开发数据库或web相关内容的工具,也不包括性能分析和远程调试等高级特性。VSCode比免费的PyCharm社区版有更多的功能,所以让我们继续关注PyCharm Professional。

现在,PyCharm用户知道它的内存占用有多大。在上限,它可以占用高达1.5GB的磁盘空间,这确实会对您的编码体验产生影响。如果你的电脑不能处理这一点,那么它将需要很长时间加载,有时会需要更长的时间来完成基本任务:没有人喜欢这样!

Visual Studio Code占用的内存和物理磁盘空间要小得多,大约是PyCharm的30%。因此,由于VSCode相对来说比较轻量级,对于较小的项目或应用程序,以及对一个或多个文件执行快速编辑时,它是一个特别好的编辑器。

最后,与PyCharm相比,人们通常认为必须在VSCode中构建自定义IDE,而PyCharm开箱即用,你真的不需要做更多的事情。然而对于VSCode,您必须从一开始就使用插件来构建它,甚至要使用Python对其进行操作,因此用户已经对使用插件升级其功能感到满意。这意味着这些用户也在考虑进一步的改进,这些改进会随着时间的流逝而带来更多的开发和更好的编码体验,而对于PyCharm,这个问题只能留给了JetBrains。

哪个是最好的呢?

PyCharm和VSCode都允许社区创建插件来增强用户体验。两者都有成熟的IDE,确实满足了您需要和需要的所有条件,尽管它们都不是完全完美的。两者都有强大的社区支持,尽管VSCode存在的时间不像PyCharm那么长,但两者在技术能力方面都有相当成熟的系统。

我想最终还是你来决定。你是想花钱购买PyCharm professional,获得更专业的体验,还是更愿意获得免费的VSCode体验,专业少一点,但潜在的可扩展性更强?

我的想法

如果只使用Python编写代码,请坚持使用PyCharm。如果不是,那就选择VSCode。

最终决定取决于您,但是您使用的IDE确实可以改变您对一种编码语言的看法和体验。我认为高级程序员会根据手头的项目使用各种IDE(更不用说程序员在不同语言之间切换的数量),所以灵活使用工具肯定会让工作更轻松。

尽管如此:我可能会坚持使用我的Jupyter Notebooks和PyCharm组合,但我很有兴趣听到VSCode专业用户告诉我,为什么不会转换到PyCharm。谢谢!

发表回复