[英]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
執行上面的命令,下面的方法使用一個。
打開快捷方式設置:Macos 它是cmd+k cmd+s
。
上面的搜索命令並右鍵單擊以將鍵盤綁定修改為shift+enter
。
接下來,再次右鍵單擊以將When expression
修改為:
editorTextFocus && !findInputFocussed && !python.datascience.ownsSelection && !replaceInputFocussed && editorLangId == 'python'
右鍵單擊並選擇show same key bindings
查找命令Python: Run Selection/Line in Python Terminal
並右鍵單擊以禁用它。
打開快捷方式設置,點擊右上角打開JSON配置
附加這些設置:
{
"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'"
}
您還可以在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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.