簡體   English   中英

Java 的交互式 shell,如 ipython

[英]Java's interactive shell like ipython

我對 Java 很陌生,想使用交互式 shell 學習 Java,就像我使用 IPython 學習 Python 一樣。

我嘗試了一些交互式 shell,例如 beanshell、jython、jythonconsole 和 JyConsole。 他們中的大多數沒有像 IPython 那樣的選項卡完成功能。 有沒有類似於 java 的 IPython 的東西?

常規

http://groovy.codehaus.org/Groovy+Shell

  • 由於 JLine,豐富的跨平台編輯行編輯、歷史和完成。
  • ANSI 顏色(提示、異常跟蹤等)。
  • 帶有在線幫助、用戶別名支持等的簡單而強大的命令系統。
  • 用戶配置文件支持

如果您想要與 java 一起使用的交互式選項,請嘗試使用 Dr Java 或 JGrasp,它們都提供與用於 Python 的 IDLE 相同的交互式選項,而且作為帶有調試器的完全基於 IDE,我更喜歡 JGrasp 而非 Dr Java。 他們還有一個 Dr Python,所以如果你習慣了 Dr Java,你也可以將它與 Python 一起使用。

此外,Java 博士還有一項功能,您可以在其中選擇初級、中級、高級和完整的 Java,以限制您在學習該語言時可以使用的內容。 我從不使用該功能,因為我不認為限制部分語言的意義,但我猜有些老師在教學生時會使用它。

您可能不會從交互式使用 java 中得到太多好處,因為該語言強烈地面向編譯。 最好的方法可能只是獲得一個不錯的 IDE,比如eclipse ,然后開始使用斷點和調試器。

Gayan Weerakutti 已經在評論中提到我認為應該是正確答案:JShell 從版本 9 開始就是 JDK 的一部分。在您的終端上嘗試jshell 查看Oracle 提供的有關它的文檔

你用的是什么豆殼? 舊的? 看看這個他們聲稱提供完成

我想我找到了一個足夠好的替代品:JPype。 JPype 允許 python 程序完全訪問 java 類庫。 使用 JPype 和 IPython,我可以使用所有 java 函數,同時為 java 類提供非常好的 tab 補全。(雖然在導入類之后)

雖然我同意TokenMacGuy 的說法:

最好的方法可能只是得到一個不錯的 IDE,比如 eclipse
因為我也來自交互式 shell 之類的工具必不可少的環境。 所以我也可以建議你直接從jython /JPype 使用像ipython這樣的工具。

這可以通過 jython 的i-freaker建議或使用JPype來實現:

  1. 獲取jython (檢查其正在運行的jython -c 'import os; print "Python meets %s" % os.name'
  2. 獲取readrline (如果 Mac sudo port install readline
  3. 放棄此博客jython 文檔中的步驟以使 j ava-readline工作
  4. 所以你現在已經有了帶有readlinejython (jython 中的Ctrl+R導致reverse-i-search就像你從 shell 知道的那樣)。 為了像您所知道的ipythonipython獲得制表符完成,請執行此博客中的步驟
  5. 應該是這樣! 如果您需要 ipython 0.10 的補丁,您可以從這里獲取

看看https://github.com/Bachmann1234/java9_kernel你可以為 IPython 安裝一個 Java 內核並使用它(也通過筆記本)。

IntelliJ IDEA 有一個帶有選項卡完成功能的 groovy 控制台。

打開它:工具 -> Groovy 控制台...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM