簡體   English   中英

在 VS Code 中使用 IPython REPL

[英]Use IPython REPL in VS Code

使用 Visual Studio Code 的 Python 擴展,我可以選擇一些代碼,右鍵單擊它,然后選擇“在 Python 終端中運行選擇/行”(或者,我可以按 Shift+Enter)。 但是,這會將所選代碼發送到終端窗格中的普通舊 Python REPL,而我希望此代碼在 IPython 中運行(不是 QtConsole,只是基於終端的 IPython)。

是否可以將 IPython 設置為默認 REPL? 我嘗試將/usr/local/bin/ipython3為我的默認 Python 環境,但這不起作用(它仍然執行普通的 Python 解釋器)。 FWIW,我在 macOS 上。

在終端窗口中輸入 Ipython。 然后從編輯器窗口中選擇要運行的一行或多行,然后單擊 VScode 窗口頂部的終端菜單。 終端菜單中的一個選項是“運行選定的文本”。 這將在 Ipython 終端窗口中運行。 我不知道如何將其設為默認值,但除非停止 Ipython,否則它似乎保持該狀態。 注意:您必須使用菜單項運行您的選擇。 在編輯器窗口中右鍵單擊並單擊“運行選擇”將不會使用 Ipython 窗口。 我希望這很清楚。 如果不只是發表評論。

添加以下設置(首選項:打開設置 JSON;或首選項 -> 設置 -> 搜索launchArgs -> 在 json 中編輯)無需任何擴展即可工作。 它還修復了無法將多行發送到 Python 的問題。

"python.terminal.launchArgs": [
    "-c",
    "\"import subprocess; subprocess.call(['ipython', '--no-autoindent'])\""
],

更新 (2020-12-27):以下設置似乎效果更好,因為它支持 Ctrl+C 鍵盤中斷,而無需現有 IPython:

"python.terminal.launchArgs": [
    "-m",
    "IPython",
    "--no-autoindent",
],

使用“IPython for VSCode”插件。

安裝它,然后使用Send Select Text (or current line) To IPython

如果你想與原來使用的快捷鍵設置shift+enter執行上面的命令,下面的方法使用一個

快捷方式設置 - 正常

  1. 打開快捷方式設置:Macos 它是cmd+k cmd+s

  2. 上面的搜索命令並右鍵單擊以將鍵盤綁定修改為shift+enter

  3. 接下來,再次右鍵單擊以將When expression修改為:

editorTextFocus && !findInputFocussed && !python.datascience.ownsSelection && !replaceInputFocussed && editorLangId == 'python'
  1. 右鍵單擊並選擇show same key bindings

  2. 查找命令Python: Run Selection/Line in Python Terminal並右鍵單擊以禁用它。

快捷方式設置 - JSON

  1. 打開快捷方式設置,點擊右上角打開JSON配置

  2. 附加這些設置:

    {
        "key": "shift+enter",
        "command": "ipython.sendSelectedToIPython",
        "when": "editorTextFocus && !findInputFocussed && !python.datascience.ownsSelection && !replaceInputFocussed && editorLangId == 'python'"
    },
    {
        "key": "shift+enter",
        "command": "-python.execSelectionInTerminal",
        "when": "editorTextFocus && !findInputFocussed && !python.datascience.ownsSelection && !replaceInputFocussed && editorLangId == 'python'"
    }

我從 Shift-Enter 生成的標准 Python REPL內部啟動 IPython

import IPython
IPython.embed()

請參閱IPython 文檔

您還可以在settings.json "python.pythonPath" ,如下所示:

{
  "python.pythonPath": "~/miniconda3/bin/ipython3",
  "python.dataScience.sendSelectionToInteractiveWindow": false
}

或者

{
  "python.pythonPath": "~/miniconda3/envs/<yourEnv>/bin/ipython3",
  "python.dataScience.sendSelectionToInteractiveWindow": false
}

shift+enter將觸發 ipython 並將線路發送到終端。

IPython 支持由“IPython for VSCode”插件提供。

只需選擇文本並在命令面板中調用“將所選文本(或當前行)發送到 IPython”。

此外,官方的 Microsoft Python 插件現在支持具有類似功能的交互式 Jupiter 窗口。

如何在 VS Code 中創建 Jupiter Notebook

  1. 轉到命令面板(Command + Shift + P)
  2. 搜索:“Jupyter:創建新的空白筆記本”,然后按 Enter

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM