博客 / 詳情

返回

如何使用AI輔助開發R語言

R語言是一種用於統計計算和圖形生成的編程語言和軟件環境,很多學術研究和數據分析的科學家和統計學家更青睞於它。但對與沒有編程基礎的初學者而言,R語言也是有一定使用難度的。不過現在有了通義靈碼輔助編寫R語言代碼,我們完全可以用自然語言向AI進行描述,然後讓AI幫我們生成代碼了!

通義靈碼簡介

通義靈碼是由阿里雲技術團隊打造的智能編碼助手。它基於通義大模型,能夠提供:

  • 代碼續寫和優化
  • 自然語言描述生成代碼
  • 註釋生成和代碼解釋
  • 單元測試生成
  • 研發智能問答
  • 代碼問題修復等功能。

通義靈碼官網:https://tongyi.aliyun.com/lingma/

通義靈碼支持:JetBrains IDEs、Visual Studio Code、Visual Studio,及遠程開發場景(Remote SSH、Docker、WSL、Web IDE),安裝後登錄賬號即可開始使用。

R語言有很多推薦的IDE,但支持通義靈碼的只有VSCode,所以接下來的介紹我們基於VSCode進行。

安裝指南

請確保你已經安裝了VSCode,本文不再贅述安裝過程(詳見:Visual Studio Code 入門)。 VSCode三端的插件安裝方式基本一致,本文以Windows為例,介紹如何在VSCode中安裝通義靈碼插件。 對於VSCode而言,通義靈碼的使用非常簡單,只需要在VSCode中安裝插件即可。在VSCode中打開插件市場,搜索“TONGYI Lingma”即可找到插件,點擊安裝即可。

安裝完成後VSCode的左側會多出一個通義靈碼的圖標,點擊即可進入插件界面。

點擊立即登錄,同意用户協議,會跳轉到登錄頁面。

通義靈碼支持多種登錄方式,包括賬號密碼登錄、手機號登錄、支付寶、阿里雲、淘寶、釘釘登錄。

登錄後即可使用通義靈碼的各項功能。

功能演示

AI程序員

AI程序員是用來幫助開發者進行編碼工作的,它可以通過對話的方式 根據你的需求描述和要求,對整個項目進行代碼開發,代碼審查和代碼變更。 換句話説,現在你才是產品經理,你來指導ai進行代碼開發,你可以要求ai完成一些功能:

智能問答

通義靈碼提供了智能問答功能,它可以對你的問題做出回答,你也可以讓他進行代碼創作。

會話創建和清理

智能問答是一個持續對話的過程,你可以持續進行提問,但大模型也會因此記錄你之前的提問信息,可能會影響後續的回答,為了提高AI生成答案的質量,應該適時清理會話。

清理會話可以通過創建一個新會話或者清理來實現:

  • 清理會話:在對話框中輸入/clearContext,然後點擊確定即可。
  • **創建新會話:**在智能問答的右上角有一個圓形 ​+​ 號按鈕,點擊即可創建新對話。

代碼小技巧

通義靈碼生成的代碼一般都會在右上角有這四個小按鈕,分別對應着插入、複製、新建和合並的功能,後續的功能會用到這些小技巧。

  • 插入 :會把 AI 生成的代碼替換到我們選中的代碼位置,一般在代碼註釋和代碼優化中應用。
  • 複製 :則是複製 AI 生成的代碼,我們可以自己選擇插入的位置。
  • 新建 :則是新建一個文件,把 AI 生成的代碼放進去,一般而言生成測試代碼會選擇新建一個文件夾存放。
  • 合併 :則是把代碼黏貼到文件中,比如黏貼到選中的代碼後,一般我們在智能問答中得到我們需要的代碼可以用合併。

代碼續寫

通義靈碼提供了行級和函數級的代碼補全功能。當你在 IDE 編輯器區進行代碼編寫時,在開啓自動雲端生成的模式下,通義靈碼會根據當前代碼文件及相關代碼文件的上下文,自動為你生成行級/函數級的代碼建議,此時你可以使用快捷鍵採納、廢棄,或查看不同的代碼建議。

同時,當你在編碼的過程中,也可以通過快捷鍵 alt+P 手動觸發生成代碼建議。

開發小提示:為了讓代碼補全功能更貼近我們想要的結果,我們可以先寫代碼註釋描述其功能。例如上圖所示

通義靈碼提供了一組快捷鍵使用方式,可以更好的進行代碼續寫的控制:

操作 macOS Windows
接受行間代碼建議 Tab Tab
廢棄行間代碼建議 esc esc
查看上一個行間推薦結果 ⌥(option) + [ Alt+[
查看下一個行間推薦結果 ⌥(option)+] Alt+]
手動觸發行間代碼建議 ⌥(option)+P Alt+P

代碼註釋

通義靈碼提供了代碼註釋功能,它可以根據你的代碼生成對應的註釋,方便代碼閲讀和維護。 使用代碼註釋需要先選中需要註釋的代碼,代碼左上角會出現一個按鈕,點擊即可選擇代碼註釋功能。

也可以用快捷鍵shift+alt+V,或者右鍵菜單中也有代碼註釋功能。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.