【问题标题】:Java console input in Sublime Text 2?Sublime Text 2中的Java控制台输入?
【发布时间】:2013-02-23 17:21:43
【问题描述】:

我最近切换到了 sublime text 2,但我似乎找不到任何插件/资源可以让我在编辑器中实现 java 控制台输入。我已经设法让它编译和执行 java 文件,但是每当我的代码需要任何输入(如扫描仪输入)时,代码就无法编译并且出现错误。

我已经看到了在 python 上实现这一点的解决方案,但还没有设法在 Java 上找到任何东西。

【问题讨论】:

标签: java input console sublimetext2


【解决方案1】:

好的,我已经为这个“在 Sublime 中运行 java”问题找到了一个完整和完美的解决方案,我只在 Windows 7 中测试过。

按照以下步骤,您将拥有 2 个崇高的构建系统 - “JavaC”和“JavaC_Input”。

  • “JavaC”可以让你运行不需要用户输入的代码,并在sublime的终端模拟器中显示结果,方便又好看。

  • “JavaC_Input”允许您在单独的终端窗口中运行需要用户输入的代码,它能够接受用户输入。你也可以在这个构建系统中运行不需要输入的代码,所以如果你不介意弹出窗口,你可以坚持使用这个构建系统,不要切换。

您可以从工具 -> 构建系统在构建系统之间切换。然后使用 ctrl+b 编译和运行代码。

以下是实现此目的的步骤:

(注意:请确保您已经具备java系统的基本设置:安装JDK并设置正确的CLASSPATH和PATH,我不会详细说明)

“JavaC”构建系统设置

1,用以下代码制作一个bat文件,并将其保存在C:\Program Files\Java\jdk*\bin\下,以便将所有内容放在一起。将文件命名为“javacexec.bat”。

@ECHO OFF
cd %~dp1
javac %~nx1
java %~n1

2、然后编辑 C:\Users\your_user_name\AppData\Roaming\Sublime Text 2\Packages\Java\JavaC.sublime-build (如果没有,创建一个),内容为

{
   "cmd": ["javacexec.bat", "$file"],
   "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
   "selector": "source.java"
}

“JavaC_Input”构建系统设置(主要与@lac_dev 的回答相同)

1、安装Cygwin [http://www.cygwin.com/]

2、进入C:\Users\your_user_name\AppData\Roaming\Sublime Text 2\Packages\Java\,然后创建一个名为“JavaC_Input.sublime-build”的文件,内容如下

{
"cmd": ["javacexec_input.bat", "$file"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java"
}

3,用以下代码制作一个bat文件,并将其保存在C:\Program Files\Java\jdk*\bin\下,以便将所有内容放在一起。将文件命名为“javacexec_input.bat”。

@echo off
javac  -Xlint:unchecked %~n1.java 
start cmd /k java -ea %~n1

【讨论】:

    【解决方案2】:

    我能够在 Windows 8 上解决这个问题,我还没有在任何其他平台上测试过,希望这对你有用。

    1. 安装 Cygwin [http://www.cygwin.com/]

    2. 确保启动命令使用驱动器:\Path_to_cygwin_installation\bin\start

      • 您可以使用 where 命令验证这一点:
         从哪里开始
    3. 创建javac.sublime.build系统

      • 这是我的,可以改进
      { "cmd": ["javac.bat", "$file"], "file_regex": "^(...*?):([0-9]*):?([0-9]*)", “选择器”:“source.java” }
      • 确保更新您的环境路径,以便它知道在哪里找到javac.bat;我把我的放在我的java_home 安装下。
    4. 创建您的javac.bat 文件并使其在您的环境路径中可用

      @echo 关闭 javac -Xlint:unchecked %~n1.java 启动 java -ea %~n1
    5. 在我的示例中,我必须确保应用程序保持打开状态:

      import java.util.Scanner;
      
      class Test
      {
          public static void main(String[] args)
          {
              Scanner reader = new Scanner(System.in);
              int input = -1;
      
              while(input != 0)
              {
                  System.out.println("=======================");
                  System.out.println("What is Your Age? Enter 0 to exit;");
                  input = reader.nextInt();
                  System.out.println("You've entered " + input + "\n\n");
              }
          }
      }
      

    您现在可以编译您的 java 文件并在新窗口上获取它。

    【讨论】:

    • 第4步可以修改为保持终端打开如下: start cmd /k java -ea %~n1
    • 使用以下命令使新窗口保持打开状态: start cmd /k java -ea %~n1
    • “错误:无法找到或加载主类 HelloWorld”。有什么解决办法吗?
    【解决方案3】:

    很遗憾,没有可用于 Sublime Text 2 或 3 的解决方案

    但我仍然喜欢它!所以我通常做的只是手动指定输入:

    System.out.print("Enter Stack size: ");
    //int input = br.readLine();
    int input = 10;
    

    在我需要使用输入运行程序时留下必要的部分注释(实际上几乎从不)。

    【讨论】:

      猜你喜欢
      • 2012-05-23
      • 2014-05-29
      • 1970-01-01
      • 2014-10-20
      相关资源
      最近更新 更多