告诉我你的身份证(E)!

时间:2017-12-14 10:59:33

标签: intellij-idea compilation workflow real-time development-environment

我经常处理非常小的代码片段,大约100行,特别是在我学习新东西,只是使用代码或调试时。

因为我经常更改代码并希望了解如何更改变量和输出的内容,所以

非常繁琐

1)点击调试按钮,等待调试器启动(在我的情况下,我使用PyCharm作为IDE),然后检查输出

2)为我想要观察的变量插入一些打印件并编译代码(比启动调试器稍快)。

为了消除这个耗时的工作流程,我每隔几秒钟就会经常点击编译或调试按钮,是否有一个IDE,我可以将监视设置为几个变量然后每次更改源代码一个字符(或者,每半秒一次),IDE会自动编译所有内容,然后我会看到变量的新值?

(当然,当我中间更改代码时,编译会给出错误,但是没关系。这个功能可以节省大量时间。也许PyCharm已经实现了它?如果没有,理想情况下我希望与语言无关的IDE ,类似于PyCharm,其中也存在Java等的变体。如果没有,因为我在Python中编码,Python IDE也会很棒。)

5 个答案:

答案 0 :(得分:3)

这可能不是您正在寻找的,但PyCharm(和IntelliJ以及其他人)可以在代码更改时自动运行测试。

在PyCharm 运行工具栏中查找“切换自动测试”按钮。

例如,在PyCharm中,您可以创建只运行您感兴趣的代码的测试用例并打印您需要的变量。 然后创建一个仅运行那些测试的运行配置,并将其设置为自动运行。

有关详细信息,请参阅PyCharm documentation on rerunning tests

答案 1 :(得分:3)

IntelliJ的Scala插件正是以"工作表的形式提供您所需要的,"当其值或其引用的任何值的值发生变化时,每个表达式都会自动重新编译。

由于(基于你对PyCharm的使用),我假设你主要使用Python,我认为Jupyter notebook是你最好的选择。 Jupyter是语言不可知的,但开始特定于python(因此被称为IPython笔记本)。

我没有尝试过,但this guide声称要让Jupyter与PyCharm合作

编辑:这是另一种称为vim worksheet的可能性;我没有尝试过它,但它声称与Scala工作表做同样的事情,但是在vim中,以及包括Python在内的多种语言。

答案 2 :(得分:1)

python Spyder IDE(Anaconda附带)具有此功能。当你点击运行时,你可以看到屏幕右上角的所有变量,你可以点击它们来查看它们的值(这对于Numpy Arrays也非常有帮助!)。

答案 3 :(得分:1)

如果您对实际的工作流程改进感兴趣:

我曾经像你一样编程,查看我的变量改变了什么,并根据这些修改来设计或调试我的代码,但是设置哪些变量一遍又一遍地以及如果是它的错误,你必须重新进行调试过程。

我改变了我的设计流程以改善我的工作流程并采用了测试驱动开发(TDD),您可以使用它来查看特定实现或IDE的工具,但原则和工作流程一直伴随着您,您可以停止查看变量改变了,而是关注函数应该做什么,意味着更快的迭代(使用实时测试工具),更容易调试以及更好,更安全的重构。

我最喜欢的工具是Cucumber和不可知的工具(用于IDE或编程语言),它可以帮助您测试代码场景并同时记录您的功能。

希望它有所帮助,我知道这是一个非常自以为是的答案,但它是对工作流程改进的诚实建议。

答案 4 :(得分:0)

您应该尝试Thonny。它由Institute of Computer ScienceUniversity of Tartu开发。

可能对您有所帮助的4项功能如下(逐字逐句):

  1. 无麻烦的变数。

    完成hello-world后,选择View→Variables,看看你的程序和shell命令如何影响Python变量。

  2. 简单的调试器。

    只需按Ctrl + F5而不是F5,您就可以逐步运行程序,无需断点。按F6进行大步,按F7进行一小步。步骤遵循程序结构,而不仅仅是代码行。

  3. 单步执行语句

    逐步进行表达评估。如果您使用小步骤,那么您甚至可以看到Python如何评估表达式。您可以将这个浅蓝色的盒子想象成一张纸,其中Python逐个替换子表达式的值。 表达评估的可视化

  4. 函数调用的忠实表示。

    单步执行函数调用会打开一个带有单独局部变量表和代码指针的新窗口。很好地理解函数调用的工作原理对于理解递归尤为重要。