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.
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
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.
-
Install Cygwin [http://www.cygwin.com/]
-
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
- vous pouvez vérifier cela avec la commande où :
-
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 installationjava_home
.
-
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
-
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.
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).