MAC下SublimeText運(yùn)行java代碼,如何接受終端的輸入

寫了一個java小代碼,接受控制臺的輸入,實(shí)現(xiàn)輸入輸出的最簡單簡單交互。
但是實(shí)踐來很久仍然沒能通過SublimeText的編譯系統(tǒng)來直接調(diào)用終端來運(yùn)行這個java小程序。
代碼原文如下:

import java.util.*;

public class GetPrice {

public static void main(String[] args) {

    System.out.println("please input a number");

    Scanner input = new Scanner(System.in);

    double number1 = input.nextDouble();

    System.out.println("please input a number2");

    double number2 = input.nextDouble();

    double price = number1 * number2;

    System.out.println("The price of this product is " + price);
}
}

因?yàn)镾ublimeText的設(shè)計(jì)不能支持終端輸入,這點(diǎn)很重要。
可以參見這片文章,Terminal window inside Sublime Text 2

在網(wǎng)上找文章看如何修改javac.sublime-build編譯系統(tǒng)的配置文件來直接運(yùn)行java,并且可以在彈出的終端中接受用戶的輸入。結(jié)果發(fā)現(xiàn)國內(nèi)的文章都是轉(zhuǎn)來轉(zhuǎn)去,轉(zhuǎn)載的都是有錯誤的文章。
配置是這樣的

{
    "shell_cmd": "javac -encoding utf-8 $file_name && java $file_base_name",
    "file_regex": "^ *\\[javac\\] (.+):([0-9]+):() (.*)$",
    "selector": "source.java",
    "encoding": "utf-8"
}

文章還信誓旦旦地標(biāo)稱這個sublime-build可以在新窗口中打開終端接收輸入,轉(zhuǎn)載者也都是拿來主義,并沒有發(fā)現(xiàn)作者的紕漏。

問題的答案

下面是我在stackflowover上使用mac sublimetext3 java run找到的答案:

  1. How to run Java using Sublime Text 3 on Mac OS
  2. Show Java build results in gnome-terminal with Sublime Text 3
  3. Sublime Text 2 build system to compile & run Java in a new Terminal/Command Prompt window?
  4. Terminal window inside Sublime Text 2

問題的解決方法

上面的答案比國內(nèi)的轉(zhuǎn)載要靠譜,仔細(xì)閱讀就會發(fā)現(xiàn)這個問題的玄機(jī)和解決的方法。

得益于Sublime的插件機(jī)制,可以通過以下的插件來實(shí)現(xiàn)。

Terminal 可以設(shè)置終端的類型和參數(shù)。Glue的官網(wǎng),支持通過命令面板、右鍵、快捷鍵方式喚出終端。

通過這個問題還意外找到了一個強(qiáng)大的運(yùn)行腳本的好插件SublimeREPL,但是它對java無效,這個項(xiàng)目的描述是這樣的

SublimeREPL - run an interpreter inside ST2 (Clojure, CoffeeScript, F#, Groovy, Haskell, Lua, MozRepl, NodeJS, Python, R, Ruby, Scala, shell or configure one yourself)

總結(jié)

使用SublimeText遇到要接受輸入的java小程序只能調(diào)用終端運(yùn)行,在終端中輸入。那么在Sublime里可以通過插件來喚出終端。同樣是問題的答案,quora上的答案就很簡單,像是沒有回答過一樣。stackoverflow上找答案才更靠譜,更專業(yè),更科學(xué)。

其實(shí)這個問題沒有必要折騰,開發(fā)java項(xiàng)目還是在IDE中最靠譜,Sublime雖然被稱為神器,但還是只適合一些簡單的小程序和閱讀代碼時的應(yīng)用場景。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容