Java console d'entrée dans Sublime Text 2?

j'ai récemment fait le passage à sublime text 2 mais je ne semble pas trouver de plugins/ressources qui me permettront d'implémenter des entrées Java console dans l'éditeur. J'ai réussi à le faire compiler et exécuter des fichiers java, mais chaque fois que mon code a besoin d'une entrée(comme une entrée scanner), le code ne se compile pas et je reçois une erreur.

j'ai vu des solutions pour rendre cela possible pour python, mais haven'y a réussi à trouver quelque chose sur Java.

6
demandé sur Quinnette Ribeiro'college 2013-03-08 12:05:04

3 réponses

OK, j'ai trouvé une solution complète et parfaite à ce problème" Run java in Sublime", je l'ai seulement testé dans Windows 7.

en suivant les étapes ci - dessous, vous aurez 2 systèmes de construction en sublime -" JavaC "et"JavaC_Input".

  • "JavaC" vous permettrait d'exécuter du code qui ne nécessite pas l'entrée de l'utilisateur et d'afficher les résultats dans le simulateur de terminal de sublime, ce qui est pratique et de belle apparence.

  • "JavaC_Input" vous permet d'exécuter du code qui nécessite l'entrée de l'utilisateur dans une fenêtre de terminal séparée, il est capable d'accepter l'entrée de l'utilisateur. Vous pouvez également exécuter du code ne nécessitant pas d'entrée dans ce système de compilation, donc si vous ne vous occupez pas de la pop-up, vous pouvez simplement vous en tenir à ce système de compilation et ne pas basculer.

vous basculez entre les systèmes de construction à partir D'Outils -> Système de construction. Et vous compilez et exécutez le code en utilisant ctrl+B.

Voici les étapes pour y parvenir:

(note: assurez-vous que vous avez déjà la configuration de base du système java: installez JDK et configurez correctement CLASSPATH et PATH, Je ne vais pas m'étendre là-dessus)

"JavaC" construire le programme de configuration du système

1, Créer un fichier bat avec le code suivant, et le sauvegarder sous C:\Program fichiers\Java\JDK*\bin\ Nom du fichier "javacexec.chauve."

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

2, puis éditer C:\Users\your_user_name\AppData\Roaming\Sublime texte 2 \ Packages\Java\JavaC.sublime-build (s'il n'y en a pas, créez-en un), le contenu sera

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

"JavaC_Input" configuration du système de construction (essentiellement la même que la réponse de @lac_dev)

1, Installer Cygwin [http://www.cygwin.com/]

2, passez à C:\Users\your_user_name\AppData\Roaming\Sublime texte 2 \ Packages\Java\, puis créer un fichier appelé "JavaC_Input.sublime-build "avec le contenu suivant

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

3, Créer un fichier bat avec le code suivant, et le sauvegarder sous C:\Program fichiers\Java\JDK*\bin\ Nommez le fichier "javacexec_input.chauve."

@echo off
javac  -Xlint:unchecked %~n1.java 
start cmd /k java -ea %~n1
5
répondu Zinan Xing 2014-02-08 00:39:15

J'ai été capable de comprendre cela sur Windows 8, Je ne l'ai testé sur aucune autre plate-forme, j'espère que cela fonctionne pour vous.

  1. Install Cygwin [http://www.cygwin.com/]

  2. assurez-vous que les commandes start utilisent le lecteur:\Path_to_cygwin_installation\bin\start

    • vous pouvez vérifier cela avec la commande où :
          where start
  3. créer un javac.sublime.build système

    • , C'est la mienne, il peut être amélioré
    
    {
    "cmd": ["javac.bat", "$file"],
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java"
    }
    
    
    • assurez-vous de mettre à jour votre chemin d'environnement pour qu'il sache où trouver le javac.bat ; j'ai placé le mien sous mon installation java_home .
  4. créez votre fichier javac.bat et rendez-le disponible sur votre chemin de l'environnement

    
    @echo off
    javac  -Xlint:unchecked %~n1.java 
    start java -ea %~n1
    
    
  5. sur mon exemple, je devais m'assurer de garder la demande ouverte:

    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");
            }
        }
    }
    

vous pouvez maintenant compiler vos fichiers java et de l'obtenir sur une nouvelle windows.

0
répondu lac_dev 2013-06-01 18:47:58

malheureusement, il y a pas de solutions disponible pour le texte Sublime 2 ou 3.

Mais je l'aime toujours! Donc ce que je fais habituellement c'est juste spécifier manuellement l'entrée:

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

laissant les parties nécessaires commentées pour quand j'ai besoin d'exécuter le programme avec entrée (presque jamais, en fait).

-1
répondu Linar Garifullin 2013-03-10 20:51:10