如何在 VScode 中配置 Python 的互動式命令環境?

之前一直用 sublime text3 ,其中有一個叫 sublimeREPL 的插件可以提供 Python 的互動式運行界面,同時可以解決運行時不能從控制台輸入的問題。

前段時間下了個 VScode ,感覺 VScode 的顏值更高一點兒,所以想繼續用下去。在 VScode 里 Python 的插件看到大家都推薦「 Python 」這個插件,這個插件裝上以後在 VScode 里可以對 Python 代碼進行斷點調試,但是我並沒有找到互動式運行的輸入位置,運行總會在 input 函數的位置停住。

想請教一下 VScode 里是否有類似 sublime text3 的 REPL 的插件,或者可以實現 Python 的 IDLE 的功能的插件。

同時還有一個問題,為什麼同樣的字體,VScode看起來給我的感覺更好一點,我平時比較喜歡使用consola這個字體,感覺顯示的效果VScode &> sublime text &> notepad++,這是什麼原因造成的,還是我的感覺問題?

希望各位大神不吝惜賜教

-------------------------------------------------

補充圖片:

VScode:

sublime text3:

notepad++:


vscode調試python是可以控制台交互的

  1. 下載vscode的擴展「Python」

  2. 查看一下這個擴展的官方說明 DonJayamanne/pythonVSCode
  3. 按照說明在調試的時候選擇 Integrated Terminal/Console
  4. 設置python目錄:在用戶設置里找到

    "python.pythonPath": "python",

    在右側修改,如:

    "python.pythonPath": "C:/Users/zyc/AppData/Local/Programs/Python/Python35/Python.exe"

  5. 然後點旁邊的齒輪按鈕打開launch.json,找到Integrated Terminal/Console對應的設置修改

    {
    "name": "Integrated Terminal/Console",
    "type": "python",
    "request": "launch",
    "stopOnEntry": true,
    "pythonPath": "${config.python.pythonPath}",
    "program": "${file}",
    "cwd": "${workspaceRoot}",
    "console": "integratedTerminal",
    "debugOptions": [
    "WaitOnAbnormalExit",
    "WaitOnNormalExit"
    ]
    },

  6. 應該就可以了


吹牛魔王的回答可以解決問題。

但是如何在在Python調試下進行input輸入,而不是在intergreted terminal/console下。感覺Python調試界面更好看


額,因為也遇到了這個問題所以也在找怎麼解決。

現在解決了,給大家一個綜合知乎上總共搜到兩個相關的問題下,各位大神的方法一個總結。

首先就是安裝python之後的環境變數設置

然後其實直接安裝了VS code再在擴展那安Python就能正常使用了。

在VS code調試python要用到交互的話,就要參考其他答案中使用「intergrated terminal /console」這個。

不過我正是恰恰卡在這一步。因為我不能運行debug。

後來參考了答主大魔王的答案,發現裡面有條用戶設置那個,我始終不知道說的是哪裡,就直接跳過。看到配置文件那個,我比較清楚在哪,將裡面的python和interfrated terminal/console的配置看看,主要差別就是cwd那後面的路徑。

放上去解釋說就是個運行路徑,默認是null,要設為和python一樣的workspace這才正常了……

*其實就是改一個路徑的問題。。。*

不過真的很奇怪,默認的不應該是正常的直接能運行嗎。。。它這個的默認工作路徑設的是這個文件夾的根目錄 ,還要特別修改一下。


DonJayamanne/pythonVSCode

作者的文檔中給出了使用方法

關於字體顯示這塊,如果是Windows系統的話,應該是其他的編輯器用的還是GDI來繪製文字的,而vscode是DirectDraw


時至2018,高贊答案們說了那麼多:其實一行json代碼就足夠了:

{
"terminal.integrated.shell.windows": "C:\ProgramData\Anaconda3\python.exe"
}

路徑自行修改,如是覆蓋原設置,效果如圖:

Python Shell效果


# construct the argument parse and parse the arguments
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=True,
help="path to input image")
ap.add_argument("-s", "--segments", type=int, default=100,
help="# of superpixels")
args = vars(ap.parse_args())

求問,這種參數的怎麼調試輸入呢?

==================

沒人回答,自己摸索出來,還是寫一下吧,方便後來人搜索到。VSCODE的編譯運行時以來文件夾的,當設置好調試環境後,會在某生成.vscode文件夾,裡面的launch.json文件是對應的調試配置信息,比如當你使用"Python"編譯器,設置對應的配置如下就好,重點在:

"args": [
"-iimages/jp.png",
"-c3"
]

其中參數和參數項之間不需要空格。

完整配置如下:

{
"version": "0.2.0",
"configurations": [
{
"name": "Python",
"type": "python",
"request": "launch",
"stopOnEntry": true,
"pythonPath": "${config:python.pythonPath}",
"program": "${file}",
"cwd": "${workspaceRoot}",
"env": {},
"envFile": "${workspaceRoot}/.env",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
],
"args": [
"-iimages/jp.png",
"-c3"
]
},


雖然不切題,但是為什麼不用pycharm 免費版?


調試開始後,調試控制台的最下面一行不是可以交互調試嘛

這還不爽的話,launch.json里加一個`python -i`

字體看起來更好是為什麼,這個我也不知道,要不你貼圖出來讓大家幫你參謀參謀?^_^


推薦閱讀:

Sublime Text在run C的時候出現clang: error: no input files什麼意思,如何解決?
Sublime Text編譯錯誤時輸出系統中的PATH路徑,怎麼解決?
sublime text 運行python 為什麼input沒有反應在運行中? 新手不懂,求解答。
Sublime Text 2 git 插件亂碼,如何解決?
如何配置sublime text用於編輯unity script和shader?

TAG:Python | SublimeText | VisualStudioCode |