查看原文
其他

有了这个VSCode神器,从此爱上调试代码

刘早起 IT服务圈儿 2022-09-10

IT服务圈儿

有温度、有态度的IT自媒体平台


本文经公众号:早起Python(ID:zaoqi-python)授权转载

作者:刘早起


大家好,在之前的文章中我们说过VSCode的优点就是有许多优秀的插件加持,今天就给大家推荐一款能让你更方便调试Python代码的神器扩展LiveCode先来看看它是如何工作的


就像上图展示的一样,我们不需要执行Python脚本,该插件会实时展示你的每一个变量值,且能够识别print()并自动打印,是不是看上去很舒服,这种交互式的体验对于刚接触Python的同学将会更加友好!

安装与启动

和其他的插件安装一样,在商店搜索livecode点击安装即可

但是需要注意的是你必须升级将Python版本升级到Python3.5或者更高才能使用,在安装完毕后只需要在代码编辑页面使用快捷键control+shift+a(Mac下为command+shift+a)即可在当前页面打开一个类似于Matlab工作空间的新页面


使用技巧

其实这款扩展主要基于AREPL。但是AREPL仅显示变量的最终状态。所以如果我们有循环或需要展示一些中间变量状态,就可以使用该插件,LiveCode主要拥有下面四个功能

  • 实时评估:我们不需要运行Python脚本就可以查看各个变量的值

  • 变量显示:每当声明或更改一个变量时,它的新值都会同时改变并显示,例如:当我们写第二个foo时,第一个foo会改变颜色


  • 循环显示:对于循环的每次迭代,显示所有中间值


  • 错误显示:一旦我们写了错误的代码,堆栈跟踪的错误就会显示出来。

当然如果要避免实时执行部分代码(由于执行速度慢或调用外部资源),可以使用#$save例如


def largest_prime_factor(n):
  i = 2
  while i * i <= n:
      if n % i:
          i += 1
      else:
          n //= i
  return n

# 下面代码会花费很长时间
result = largest_prime_factor(8008514751439999)

#$save
print("但现在我们保存了,所以可以继续实时执行")

但是需要注意,#$save不适用于某些类型,例如生成器。当然如果我们要运行某些特定的东西而不同时运行整个文件,可以使用#$end注释在代码的结尾。之后的代码将不会实时执行,就像这样👇



以上就是对这款插件的简单介绍,虽然用起来方便,但主要面向比较小的项目或者初学者学习使用,如果是大型项目或者多个文件中使用就会有点鸡肋了,拜拜~




*版权声明:转载文章和图片均来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存