美文网首页
MAC下SublimeText运行java代码,如何接受终端的输

MAC下SublimeText运行java代码,如何接受终端的输

作者: 天云白 | 来源:发表于2016-05-05 22:15 被阅读3227次

    写了一个java小代码,接受控制台的输入,实现输入输出的最简单简单交互。
    但是实践来很久仍然没能通过SublimeText的编译系统来直接调用终端来运行这个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);
    }
    }
    

    因为SublimeText的设计不能支持终端输入,这点很重要。
    可以参见这片文章,Terminal window inside Sublime Text 2

    在网上找文章看如何修改javac.sublime-build编译系统的配置文件来直接运行java,并且可以在弹出的终端中接受用户的输入。结果发现国内的文章都是转来转去,转载的都是有错误的文章。
    配置是这样的

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

    文章还信誓旦旦地标称这个sublime-build可以在新窗口中打开终端接收输入,转载者也都是拿来主义,并没有发现作者的纰漏。

    问题的答案

    下面是我在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

    问题的解决方法

    上面的答案比国内的转载要靠谱,仔细阅读就会发现这个问题的玄机和解决的方法。

    得益于Sublime的插件机制,可以通过以下的插件来实现。

    Terminal 可以设置终端的类型和参数。Glue的官网,支持通过命令面板、右键、快捷键方式唤出终端。

    通过这个问题还意外找到了一个强大的运行脚本的好插件SublimeREPL,但是它对java无效,这个项目的描述是这样的

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

    总结

    使用SublimeText遇到要接受输入的java小程序只能调用终端运行,在终端中输入。那么在Sublime里可以通过插件来唤出终端。同样是问题的答案,quora上的答案就很简单,像是没有回答过一样。stackoverflow上找答案才更靠谱,更专业,更科学。

    其实这个问题没有必要折腾,开发java项目还是在IDE中最靠谱,Sublime虽然被称为神器,但还是只适合一些简单的小程序和阅读代码时的应用场景。

    相关文章

      网友评论

          本文标题:MAC下SublimeText运行java代码,如何接受终端的输

          本文链接:https://www.haomeiwen.com/subject/btpdrttx.html