Visual Studio 上開發(fā) Python源武?你不可不知道的六大功能副瀑!

Visual Studio 2013/2015 搭配 Python Tools for Visual Studio 擴充套件讓 Visual Studio 能提供對 Python 程序語言高度整合的開發(fā)環(huán)境民傻,并完整發(fā)揮 Visual Studio 強大的功能胰默,協(xié)助您在 Visual Studio 內(nèi)開發(fā) Python 程序上如虎添翼,提升開發(fā)效率漓踢!

以下將說明六項 Visual Studio 整合開發(fā) Python 程序之優(yōu)勢功能牵署。

整合 Python 直譯器 (Interpreter) & 互動視窗 (Interactive)
整合 Python 虛擬開發(fā)環(huán)境 (Virtual Environment)
整合 Python 套件管理員 (Package Manager)
IntelliSense 對 Python 完整的支持
對 Python 使用偵錯模式 (Debugging)
跨平臺遠端偵錯 (Remote Debugging)

整合 Python 直譯器 (Interpreter) & 互動視窗 (Interactive)

Visual Studio 高度整合 Python 直譯器,讓您能夠在開發(fā)過程中切換不同版本的 Python 直譯器喧半。此項功能除了能夠切換至您所熟悉的 Python 版本進行開發(fā)外奴迅,更可確保您的程序在不同 Python 版本下運行的函式相容性是合法的,如下圖代碼當中的 print 函式挺据,在 Python 2.7 環(huán)境下為合法的 (紅色箭頭指向目前為使用 Python 2.7 全域環(huán)境直譯器)取具。

若您的系統(tǒng)有安裝不同版本的直譯器,將會替您整合至 Visual Studio 當中供您選擇扁耐。如您安裝直譯器的路徑非預設路徑或欲自訂直譯器函示庫者填、直譯器位元時,您亦可自行于 Visual Studio 新增自訂直譯器做葵。

接著我們示范切換至不同版本的 Python 環(huán)境,這里以切換至 Python 3.5 為例心墅。

Paste_Image.png

此時會發(fā)現(xiàn) Visual Studio 自動偵測到非該環(huán)境版本所支持的函式酿矢,透過下引號提示使用者錯誤的代碼片段,提供使用者快速尋找出不同版本間不相容之處怎燥,以便快速進行修正工作瘫筐。

Paste_Image.png

并提供于 Visual Studio 內(nèi)啟動不同版本的互動 (Interactive) 視窗,就像以往在 Python 命令列下做的事情一樣铐姚,此互動視窗提供您進行初步撰寫策肝、測試,以及驗證您設計想法的一個簡易執(zhí)行環(huán)境隐绵。

Paste_Image.png

整合 Python 虛擬開發(fā)環(huán)境 (Virtual Environment)

Visual Studio 提供完整的 Python 虛擬環(huán)境來為不同項目提供獨立的 Python 執(zhí)行環(huán)境之众,如此一來可避免多個項目間彼此共用一個全域環(huán)境使得有太多與該項目不相關的套件在環(huán)境中,增加開發(fā)環(huán)境的複雜度依许」缀蹋或者您能夠在不同環(huán)境中安裝不同版本的套件,以便測試在不同的版本中所使用到套件的函式是否有不一樣之處峭跳。

如下圖膘婶,我們創(chuàng)建多個虛擬環(huán)境缺前,用此來安裝不同版本的套件以進行相容性測試,而創(chuàng)建出來的虛擬環(huán)境能于稍后提供給其他項目使用悬襟,減少安裝及創(chuàng)建環(huán)境所花費冗馀的設定時間衅码。

在創(chuàng)建虛擬環(huán)境時能夠透過其他虛擬環(huán)境或者全域環(huán)境內(nèi)已安裝的套件產(chǎn)生 requirements 檔,此檔桉將可在稍后創(chuàng)建新的虛擬環(huán)境時作為參考脊岳,提供快速設置新的虛擬環(huán)境所需的套件清單逝段。

整合 Python 套件管理員 (Package Manager)

在 Python 中有許多有用的第三方套件能夠透過 pip 或者 easy_install 套件管理員安裝,讓您能在代碼中呼叫這些套件中的函式逸绎,協(xié)助您更快的達成開發(fā)目標惹恃。而在 Visual Studio 中高度整合這些套件管理員,讓您不需要輸入繁瑣的指令即可簡單的安裝套件棺牧。

如下圖巫糙,可于方案總管內(nèi)在欲安裝套件的 Python 環(huán)境下點擊滑鼠右鍵,即可看到安裝 Python 套件的選項颊乘。

接著如下圖輸入您要安裝的套件名稱参淹,在這裡您也可以指定版本安裝,或者不指定則安裝最新版本的套件乏悄。另外需要注意的是若您使用 easy_install 選項浙值,將不會替您即將安裝的套件整合至方案總管當中,如此一來將無法使用 Visual Studio 完整管理這些透過 easy_install 安裝的套件檩小。

IntelliSense 對 Python 完整的支持

Visual Studio 針對 Python 亦提供以往在 C#开呐、VB、VC++ 等語言上 IntelliSense 的支持规求,例如:列出物件成員筐付、函式呼叫參數(shù)與返回值資訊、快速諮詢和自動完成文字等輔助功能阻肿,讓您在撰寫物件或者呼叫函式時能夠更有信心瓦戚,提高撰寫效率。

下圖展示 IntelliSense 功能協(xié)助列出物件中所公開的成員內(nèi)容丛塌。

Paste_Image.png

下圖展示 IntelliSense 功能提供函式呼叫參數(shù)資訊较解。

Paste_Image.png

另外 IntelliSense 提供快速動作,例如鍵入 main 后按下「T赴邻,即可幫您自動補完合適的代碼區(qū)段與相關參考印衔。

對 Python 使用偵錯模式 (Debugging)

Visual Studio 針對 Python 支持完整偵錯功能,例如在程序執(zhí)行時能夠暫止于中斷點處姥敛,此時能檢視或修改當下執(zhí)行情況的區(qū)域變數(shù)以及呼叫堆疊当编,并能于偵錯模式下使用您熟悉的重要功能讓您能更簡易快速的掌握程序執(zhí)行的情況。

另外,Visual Studio 對 Python 支持了溷合偵錯模式 (Mixed-Mode debugging)忿偷,若您的 Python 代碼中有使用到外部如 C/C++ 等 Native Code 并擁有該 Native Code 的原始碼項目時便能進行溷合偵錯模式金顿。而與一般偵錯模式一樣,在 Python 外的語言仍可進入中斷點改變其變數(shù)值鲤桥。

相同的揍拆,您也能夠于混合偵錯模式下自由的跳躍至不同代碼的呼叫堆疊當中進行代碼及變數(shù)的巡覽。

Paste_Image.png

版本控制

Visual Studio 整合版本控制茶凳,其支持 Git 與 Visual Studio Team Services 版本控制嫂拴,透過 Visual Studio 您現(xiàn)在不需要額外工具就能夠直接于 Visual Studio 內(nèi)對您的 Python 項目直接進行版本提交、復原贮喧、比較筒狠、檢視代碼歷史紀錄等版本控制所用到的常用功能。

Paste_Image.png
Paste_Image.png

跨平臺遠端偵錯 (Remote Debugging)

Visual Studio 替 Python 程序加入了遠端除錯的能力箱沦,透過這個 Python 套件讓您能夠使用 Visual Studio 連接在不同的作業(yè)系統(tǒng)上 (如 Linux) 執(zhí)行的 Python 程序辩恼。此項功能使得您在跨平臺開發(fā)時更能夠獲得一致的開發(fā)體驗與提升整體開發(fā)效率!

如下圖展示 Python 程序運作在一塊 Linux 嵌入式開發(fā)板上谓形,同時在個人電腦內(nèi)的 Windows 10 運行著 Visual Studio 2015灶伊,其透過 ptvsd 套件能讓您遠端附加至序,直接對 Linux 嵌入式開發(fā)板上運行的 Python 程序進行如您所熟悉的偵錯模式寒跳。并保有完整的偵錯模式功能像是區(qū)域變數(shù)檢視聘萨、呼叫堆疊分析等完整偵錯功能來進行程序的分析與追蹤。

參考資料:
PTVS 影片教學課程
*開放源代碼 – GitHub/Microsoft/PTVS *
**
**
本文來源:
https://blogs.msdn.microsoft.com/msdntaiwan/2016/05/26/ptvs/
作者:Tobey Tang
版權(quán)歸原作者所有童太,本文有改動米辐。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市书释,隨后出現(xiàn)的幾起案子儡循,更是在濱河造成了極大的恐慌,老刑警劉巖征冷,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異誓琼,居然都是意外死亡检激,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門腹侣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叔收,“玉大人,你說我怎么就攤上這事傲隶〗嚷桑” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵跺株,是天一觀的道長复濒。 經(jīng)常有香客問我脖卖,道長,這世上最難降的妖魔是什么巧颈? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任畦木,我火速辦了婚禮,結(jié)果婚禮上砸泛,老公的妹妹穿的比我還像新娘十籍。我一直安慰自己,他們只是感情好唇礁,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布勾栗。 她就那樣靜靜地躺著,像睡著了一般盏筐。 火紅的嫁衣襯著肌膚如雪围俘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天机断,我揣著相機與錄音楷拳,去河邊找鬼。 笑死吏奸,一個胖子當著我的面吹牛欢揖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播奋蔚,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼她混,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了泊碑?” 一聲冷哼從身側(cè)響起坤按,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎馒过,沒想到半個月后臭脓,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡腹忽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年来累,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窘奏。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡嘹锁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出着裹,到底是詐尸還是另有隱情领猾,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站摔竿,受9級特大地震影響面粮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拯坟,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一但金、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧郁季,春花似錦冷溃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至年柠,卻和暖如春凿歼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背冗恨。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工答憔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人掀抹。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓虐拓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親傲武。 傳聞我的和親對象是個殘疾皇子蓉驹,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 我們非常榮幸地宣布 Visual Studio 2017 現(xiàn)已推出! 此次發(fā)布提供新的輕量模塊式安裝體驗揪利,可根據(jù)自...
    三夢哥閱讀 7,717評論 0 6
  • 性能改進 改進性能是此版本的一個重點所在态兴。 除對提高內(nèi)存和響應作出一些優(yōu)化外,整個 JavaScript/Type...
    三夢哥閱讀 3,674評論 0 3
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,171評論 25 707
  • ??人生旅途疟位,道阻且長瞻润。 每個人都要活出對自我的激勵,對生活的祝福甜刻,要變的信心滿滿绍撞。 也許人這一生,要走很長很長充...
    海月中天閱讀 272評論 0 0
  • 目標:10B 新會員:1 推薦:3+1跟進 溫暖:1 學習:今天的學習不很完整罢吃,重復聽了簡單推薦,還有于達老師的如...
    Mela仙仙閱讀 211評論 0 0