在VScode上使用Copilot輔助python編程

正如標(biāo)題所言,筆者最近已經(jīng)拋棄spyder,開(kāi)始完全投入vscode的懷抱了。其中最主要的原因還是Copilot插件。不得不說(shuō),?github開(kāi)發(fā)的輔助編程插件Copilot的確是香。雖然號(hào)稱是智能編程,但距離真正的AI輔助編程還有挺長(zhǎng)的距離要走。不過(guò),在使用一段時(shí)間之后,我越來(lái)越覺(jué)得AI編程越來(lái)越近了。既然VScode這么香,那么肯定要分享給大家啦(低調(diào)水一篇,不讓大家知道)。下面,我就介紹如何在VScode上搭建一個(gè)類(lèi)似spyder的編程環(huán)境,以及如何在這個(gè)編程環(huán)境下使用Copilot輔助python編程。
一??具體操作
spyder軟件的優(yōu)點(diǎn)主要分為三點(diǎn):?jiǎn)尾交虼a塊運(yùn)行python腳本,變量實(shí)時(shí)檢索與查看,結(jié)果可實(shí)時(shí)在交互窗口中顯示。而對(duì)于VScode而言,通過(guò)下面的配置,基本可以實(shí)現(xiàn)spyder軟件的所有優(yōu)點(diǎn),除了變量的實(shí)時(shí)檢索外。不過(guò),相比較于spyder而言,VScode優(yōu)點(diǎn)包括可以運(yùn)行copilot、針對(duì)非python語(yǔ)言的腳本撰寫(xiě)也有較強(qiáng)的優(yōu)勢(shì)(這部分目前只是初體驗(yàn),等下一階段優(yōu)化軟件時(shí)再寫(xiě)一篇推文進(jìn)行詳細(xì)介紹)。1.?必要插件安裝在Visual Studio Code(vscode)實(shí)現(xiàn)python代碼的單步運(yùn)行需要首先在擴(kuò)展選項(xiàng)安裝macros插件,如圖1所示。

2.?單步運(yùn)行命令設(shè)置在Visual Studio Code(vscode)界面輸入ctrl+shift+p,在命令窗口選擇‘選擇首選項(xiàng):打開(kāi)設(shè)置(json)’?

打開(kāi)文件settings.json,輸入以下內(nèi)容。其中將pythonExecSelectionAndCursorDown命令與jupyter.execSelectionInteractive(打開(kāi)jupyter交互窗口)和cursorDown(將光標(biāo)切換到下一行)。
如下圖所示

3?將單步運(yùn)行命令與快捷鍵建立連接
在vscode界面輸入ctrl+shift+p,在命令窗口選擇‘選擇首選項(xiàng):打開(kāi)鍵盤(pán)快捷設(shè)置(json)’,接著在文件keybindings.json,輸入一下內(nèi)容。其中macros.pythonExecSelectionAndCursorDown命令與alt+q快捷鍵建立聯(lián)系。
如下圖所示

最后,重啟vscode即可實(shí)現(xiàn)python腳本的單步運(yùn)行。如下圖,你將光標(biāo)移動(dòng)到第10行后,點(diǎn)擊alt+Q,即可彈出右邊的Interactive窗口,并實(shí)現(xiàn)單步運(yùn)行。如果你需要以代碼塊的方式的運(yùn)行,那么你需要在所運(yùn)行的代碼塊前后端加上‘# %%’,隨后,點(diǎn)擊Run Cell即可實(shí)現(xiàn)。

4 Copilot安裝
首先,在vscode的插件市場(chǎng)(如圖1)搜索Github Copilot進(jìn)行安裝。然后vscode會(huì)在右下角提示你如何授權(quán)使用Github Copilot,此時(shí),你需要做的就是點(diǎn)擊其中的Sign in to Github進(jìn)行登錄,當(dāng)然,如果你不是學(xué)生黨,那么你每個(gè)月需要66.9元人民幣(四杯奶茶的錢(qián))。

隨后,在瀏覽器中,GitHub將請(qǐng)求GitHub Copilot的必要權(quán)限。若要批準(zhǔn)這些權(quán)限,請(qǐng)單擊“授權(quán)Visual Studio代碼”,即可實(shí)現(xiàn)VScode上的Copilot輔助。
5 Copilot使用
具體的使用方法可以見(jiàn)我之前的推文《編程自動(dòng)化之Copilot》,這里展示一下Copilot在日常代碼撰寫(xiě)中的作用。

如圖,Copilot會(huì)在你的日常代碼撰寫(xiě)中給予提示,你可以通過(guò)上一個(gè)、下一個(gè)、接受或者打開(kāi)Github Copilot四個(gè)選項(xiàng)中進(jìn)行選擇。如果覺(jué)得提示不對(duì)的話,可以不用管這些智能提示。PS:除了代碼提示外,名言名句提示也是可以的(手動(dòng)狗頭),嗯~,下次得出個(gè)難點(diǎn)的語(yǔ)句考考它。

當(dāng)然,需要注意的是,Copilot在使用過(guò)程中需要聯(lián)網(wǎng)。那么這也意味著你的代碼有可能會(huì)被github搜集。因此,對(duì)于那些撰寫(xiě)安全優(yōu)先級(jí)非常高的工程師而言,這一插件可能會(huì)帶來(lái)風(fēng)險(xiǎn)。Github官方也并沒(méi)有給出這一插件的具體權(quán)限,因而這人群建議謹(jǐn)慎使用。但是,對(duì)于那些撰寫(xiě)開(kāi)源代碼的人士或者代碼安全優(yōu)先級(jí)不是特別高的生信工程師而言,相信這一插件會(huì)進(jìn)一步解放你的雙手,讓你的代碼撰寫(xiě)工作更加如魚(yú)得水。
二?慣例小結(jié)
在使用了Copilot一段時(shí)間之后,我發(fā)現(xiàn)這一功能更類(lèi)似于一種智能補(bǔ)全,但遠(yuǎn)勝于一般的智能補(bǔ)全(都能補(bǔ)成語(yǔ)了,又高階了一點(diǎn)),只是,這些功能距離真正的代碼自由還有挺長(zhǎng)遠(yuǎn)的距離的。不過(guò),即使是目前這種級(jí)別的智能補(bǔ)全,也已經(jīng)開(kāi)始解放我的代碼撰寫(xiě)工作,這也讓我更期待alphacode商業(yè)化之后的表現(xiàn)了。
Multi-omics Hammer軟件下載地址:
https://github.com/wangjun258/Multi-omics-Hammer
Multi-omics Visual軟件下載地址:https://github.com/wangjun258/Multi_omics_Visual/releases/tag/Multi_omics_Visual_v1.03
PS:因?yàn)楸拒浖怯胮ython腳本撰寫(xiě),調(diào)用了部分依賴包,用戶首次使用需要安裝python以及對(duì)應(yīng)的包,安裝之后便可永久使用。
本公眾號(hào)開(kāi)發(fā)的相關(guān)軟件,Multi-omics Hammer軟件和Multi-omics Visual軟件歡迎大家使用。文末是本公眾號(hào)在其他平臺(tái)的賬戶,也歡迎大家關(guān)注并多提意見(jiàn)。
簡(jiǎn)書(shū):WJ的生信小院
公眾號(hào):生信小院
博客園:生信小院
最后,也歡迎各位大佬能夠在本平臺(tái)上:1傳播和講解自己發(fā)表的論文;2:發(fā)表對(duì)某一科研領(lǐng)域的看法;3:想要達(dá)成的合作或者相應(yīng)的招聘信息;4:展示自己以尋找博后工作或者博士就讀的機(jī)會(huì);5:博導(dǎo)提供博后工作或者博士攻讀機(jī)會(huì),都可以后臺(tái)給筆者留言。希望本平臺(tái)在進(jìn)行生信知識(shí)分享的同時(shí),能夠成為生信分析者的交流平臺(tái),能夠?qū)崿F(xiàn)相應(yīng)的利益互補(bǔ)和雙贏(不一定能實(shí)現(xiàn),但是夢(mèng)想總得是有的吧)。
另外,怎么說(shuō)呢,投幣也可,不強(qiáng)求,但奢求。


