使用Visual Studio Code的Python扩展,我可以选择一些代码,右键单击它,然后选择“在Python Terminal中运行选择/行”(或者,我可以按Shift + Enter)。但是,这会将选定的代码发送到“终端”窗格中的普通旧Python REPL,而我希望将此代码改为在IPython中运行(而不是QtConsole,仅是基于终端的IPython)。
是否可以将IPython设置为默认REPL?我尝试将/usr/local/bin/ipython3
设置为默认的Python环境,但这不起作用(它仍然执行普通的Python解释器)。 FWIW,我在macOS上。
答案 0 :(得分:8)
添加以下设置(首选项:打开设置JSON)无需任何扩展名即可。它还解决了无法将多行发送到iPython的问题。
"python.terminal.launchArgs": ["-c", "\"import subprocess; subprocess.call(['ipython', '--no-autoindent'])\""],
答案 1 :(得分:6)
在终端窗口中键入Ipython。然后从编辑器窗口中选择要运行的一行,然后单击VScode窗口顶部的“终端”菜单。终端菜单中的一个选项是“运行选定的文本”。这将在Ipython终端窗口中运行。我不知道如何将其设置为默认值,但除非Ipython停止,否则它似乎保持该状态。注意:您必须使用菜单项来运行选择。在编辑器窗口中右键单击并单击“运行选择”将不使用Ipython窗口。我希望这很清楚。如果不是,请发表评论。
答案 2 :(得分:2)
我从 inside 中启动IPython,这是Shift-Enter使用
产生的标准Python REPLimport IPython
IPython.embed()
请参见IPython docs。
答案 3 :(得分:1)
使用“ 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'"
}
答案 4 :(得分:1)
您还可以如下设置"python.pythonPath"
中的settings.json
:
{
"python.pythonPath": "~/miniconda3/bin/ipython3",
"python.dataScience.sendSelectionToInteractiveWindow": false
}
或
{
"python.pythonPath": "~/miniconda3/envs/<yourEnv>/bin/ipython3",
"python.dataScience.sendSelectionToInteractiveWindow": false
}
shift+enter
然后将触发ipython并将行发送到终端。
答案 5 :(得分:0)
“ IPython for VSCode”插件提供了IPython支持。
只需选择文本并在命令面板中调用“将选定的文本(或当前行)发送到IPython”即可。
Microsoft Python官方插件现在也支持具有类似功能的交互式木星窗口。
答案 6 :(得分:0)
如何在 VS Code 中创建 Jupiter Notebook