Maison >développement back-end >Tutoriel Python >Comment gérer la saisie lors de l'exécution de programmes externes dans Sublime Text ?

Comment gérer la saisie lors de l'exécution de programmes externes dans Sublime Text ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-14 10:51:11247parcourir

How to Handle Input When Running External Programs in Sublime Text?

Comment activer la saisie pour l'exécution de programmes dans Sublime Text

Dans Sublime Text, il n'y a pas de mécanisme intégré pour gérer la saisie (par ex. , via des fonctions comme raw_input() de Python utilisant des programmes externes. Cependant, il existe plusieurs solutions de contournement pour faciliter la fonctionnalité de saisie.

SublimeREPL pour la saisie en temps réel

SublimeREPL est un plugin Sublime Text populaire qui permet une interaction de code avec un interprète. Il fournit la fonctionnalité permettant de transmettre des entrées aux programmes en cours d'exécution en temps réel. Suivez ces étapes pour utiliser SublimeREPL :

  1. Installez SublimeREPL à l'aide de Package Control.
  2. Configurez les fichiers du menu Main.sublime pour vous assurer que votre interpréteur préféré fonctionne correctement.
  3. Appuyez sur Ctrl Entrée pour ouvrir le panneau REPL et interagir avec le programme.

Systèmes de construction personnalisés pour une interaction indépendante

Si SublimeREPL ne répond pas à vos besoins, la création d'un système de construction personnalisé vous permet d'exécuter votre programme de manière indépendante et entrée de processus.

Windows Build Système :

{
    "cmd": ["start", "cmd", "/k", "path/to/python.exe", "$file"],
    "selector": "source.python",
    "shell": true,
    "working_dir": "$file_dir",
    "env": {"PYTHONIOENCODING": "utf-8"}
}

Remplacez "path/to/python.exe" par le chemin d'accès à votre exécutable Python. Appuyez sur Ctrl B pour créer et exécuter votre programme dans une nouvelle fenêtre cmd.

Système de construction macOS :

{
    "shell_cmd": "osascript -e 'tell app \"Terminal\" to do script \"cd $file_path & python3 -u $file\"'",
    "working_dir": "$file_path",
    "selector": "source.python",
    "env": {"PYTHONIOENCODING": "utf-8"}
}

Spécifiez votre exécutable Python s'il n'est pas sur votre $ CHEMIN. L'exécution du système de build ouvre le programme dans une fenêtre de terminal.

Système de build Linux :

{
    "shell_cmd": "gnome-terminal --working-directory=$file_path -- bash -c 'python3 -u \"$file\" & read -n 1 -s -r'",
    "working_dir": "$file_path",
    "selector": "source.python",
    "env": {"PYTHONIOENCODING": "utf-8"}
}

Appuyez sur n'importe quelle touche pour fermer la fenêtre du terminal une fois l'exécution du programme terminée. .

Plugin Terminus pour une interaction améliorée

Terminus est un plugin polyvalent qui offre une solution complète pour gérer les entrées. Il fournit une interface graphique pour interagir avec votre programme en cours d'exécution via le panneau de construction, éliminant ainsi le besoin de systèmes de construction personnalisés. Installez Terminus à l'aide de Package Control et créez le système de build suivant :

{
    "target": "terminus_exec",
    "cancel": "terminus_cancel_build",
    "cmd": [
        "/path/to/python", "-u", "$file"
    ],
    "working_dir": "$file_path",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)&"
}

Configurez Terminus conformément à sa documentation pour tirer parti de ses fonctionnalités avancées.

En implémentant ces solutions de contournement, vous pouvez utiliser efficacement la saisie tout en exécuter des programmes externes dans Sublime Text, permettant une expérience de codage plus complète.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn