当前位置: 首页 > 知识库问答 >
问题:

IntelliJIDEA中的Scala控制台既不存取输入也不打印输出,comand从temrinal工作

萧伟兆
2023-03-14

我在IntelliJIDEA中有一个“Scala/Simple module with attached Scala SDK”类型的项目,通过它我可以轻松地构建和设置几个应用程序配置。Scala工作区也可以正常工作,但是当我尝试创建和运行Scala控制台配置时,终端出现了,Scala Repl似乎运行得很好,因为它给我提供了欢迎使用Scala消息,并打印一个初始的“Scala>”。然而,尽管自动完成可以工作,但Repl在其他方面似乎是死寂的:没有返回或打印任何内容,并且当我重新启动并输入一行程序来向文件写入一些文本以测试是否只是一个outtut-capture问题时,该文件没有出现。

我正在Debian上运行Intellijidea15.0.2/IDEA-IU-143.1184.17。

当我复制IntelliJIDEA正在运行的命令并从控制台运行时,它工作良好;从IntelliJIDEA Scala控制台复制的命令如下:

/usr/lib/jvm/java-7-openjdk-amd64/bin/java-djline.terminal=none-didea.launcher.port=7543-didea.launcher.bin.path=/usr/local/idea-iu-143.1184.17/bin-dfile.encoding=utf-8-classpathr:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/zipfs.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/javazic.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jb/management-agent.jar:

我对IDE中的JetBrains家族相当陌生,因此我可能缺少一些显而易见的东西;有人有什么想法吗?

编辑:我使用scala 2.10.6和JDK 1.8在IntelliJIDEA 15.0.0上在OS X上尝试了这一操作,得到了相同的结果,所以我倾向于相信这不是JDK、scala或OS特定的问题。

共有1个答案

钦永贞
2023-03-14

好了,终于弄明白了:这不是一个按Enter键的普通控制台;相反,您可以使用指向插件/scala/execute控制台语句的任何键映射--可能是Ctrl+Enter或+Enter。

其他人似乎也被难倒了:

Scala控制台不能工作,IntelliJ

IntelliJIDEA控制台非常好,一旦您知道这一点;具有自动完成功能,自动格式化功能,并且没有多行代码的问题。但是,如果我有一个请求,那就是请求JetBrains团队在Scala控制台欢迎消息中添加一些内容,表明这不是一个普通的控制台,也许是一个如何使用它的快速提示。

 类似资料:
  • 我一直在尝试编码来查找给定数组元素的LCM。我的代码如下 我的问题是,当我输入时,输出控制台会冻结。我尝试了另一种没有while循环的方法。也就是说,消除了while循环,并在最后添加了一个if循环。 但现在编译器抛出一个错误,指出并非所有代码路径都返回一个值。有人能帮我解决代码中的问题吗?我是一名编程初学者。提前谢谢!!

  • 我刚刚开始学习Groovy,正在GroovyConsole中进行实验。 有没有办法读取用户输入?我尝试了下面的代码,但我得到了一个错误。 这是我收到的错误: 有什么我需要进口的吗? 任何帮助都会很好。 谢谢

  • 问题内容: 我只有一种方法。如何检查System.out.println()并将Scanner替换为使用JUnit自动输入值? PS,请提供一些解决方案… 问题答案: 理想情况下,提取尴尬的依赖关系,以便您可以在没有依赖关系的情况下进行测试。更改为简单: (考虑使用a 代替for 。) 然后,您实际上不需要进行单元测试-但您可以使用基于的进行测试,并基于的输出进行测试,从而提供所需的任何输入并检查

  • 我正在使用Windows上的Eclipse IDE(氧气)学习Java(SE8)。我以前做过一些“业余”编程,但这是我第一次正式上这门课。我希望能够在普通控制台(System.out.println)中打印分配所需的输出,并同时在不同的控制台中打印正在发生的信息文本。 printToConsole1(“普通程序输出”);printToConsole2(“幕后信息”); 我可以在Java中做类似的事

  • 问题语句:我有一个在Xcode中运行的程序,它有一堆print()语句,可以很好地将输出打印到调试控制台。然而,我希望也能够将这些输出重定向到一个文件,这样我就可以让用户将它们发送给我,作为调试的一种方式。 SO上找到的解决方案使我可以将输出重定向到文件,但调试控制台输出将丢失。 问:我想要我的蛋糕和吃它。我希望能够将print()语句重定向到调试控制台和文件。 所以我有引用:https://st

  • 问题内容: 程序应在中列出卷。 例如:我从vollist.java类获得此输出。 控制台输出: 如何在我的控制台中获得此控制台输出。 那只会显示row1-> vol1 row2-> vol1 ............如何获得类似于控制台row1-> vol1 row2-> vol2的输出(计数) 问题答案: 定义并实现您的TableModel(在这种情况下,扩展AbstractTableModel