web-dev-qa-db-fra.com

Code Visual Studio interactif python

J'utilise du code Visual Studio avec DonJayamanne python. Cela fonctionne bien, mais je veux avoir une session interactive comme celle de Matlab, où après l'exécution du code, chaque définition et résultat de calcul reste et accessible dans la console.

Par exemple, après avoir exécuté ce code:

a = 1

la session python est terminée et je ne peux pas taper dans la console quelque chose comme:

b = a + 1
print(b)

Je suis conscient que la session python peut rester en vie avec un indicateur "-i". Mais cela ne fonctionne tout simplement pas.

Chaque fois que j'exécute un fichier de code, un nouveau processus python est généré. Existe-t-il un moyen d'exécuter des exécutions consécutives dans une seule console? Encore une fois comme Matlab?

Cela me semble vraiment essentiel et trivial. Suis-je en train de manquer quelque chose de gros ici que je ne trouve pas de solution pour cela?

16
user1

Je suis l'auteur de l'extension. Il y a deux options:

  1. Utilisez la fenêtre de terminal intégrée (je suppose que vous le saviez déjà)
    Lancez la fenêtre du terminal et saisissez python.
    Chaque instruction exécutée dans le REPL se trouve dans la même session.

  2. La prochaine version ajoutera la prise en charge de Jupyter.
    Veuillez consulter ici quelques exemples de ce qui reste à venir:

10
Don

J'ajoute ces lignes dans le fichier de paramètres utilisateur, puis cela fonctionne. sélectionnez quelques lignes de code python, puis "exécutez le code sélectionné dans python terminal"

solution 1: démarre le terminal ipyhon

   "terminal.integrated.Shell.windows": "C:\\Windows\\System32\\cmd.exe",
   "terminal.integrated.shellArgs.windows": ["/K ipython"],

Solution 2: démarrera un terminal comme "python -i"

   "python.terminal.launchArgs": ["-i"],

donc

4
Chaos2020

La ligne suivante résoudra votre problème.

 "python.terminal.launchArgs": ["-c","\"from IPython import embed; embed()\""]
2
nirualapm