AI 編程
工具 | 描述 | 特点 | 費用 |
---|---|---|---|
GitHub Copilot | 基于人工智能的代码补全工具,可以理解你的代码,并生成相应的建议。它可以根据你的编程习惯进行学习和改进,使其建议更加个性化。 | 个性化的代码补全,学习并改进你的编程习惯 | $10/month |
Tabnine | 全能的AI代码补全工具,支持超过20种编程语言。它使用了GPT-3模型来理解和预测你的代码。Tabnine可以通过学习你的代码风格,并将此信息与其大型代码库进行比较,以生成最准确的代码补全建议。 | 支持20种以上的编程语言,使用GPT-3模型,学习你的代码风格 | Free $12/ month |
AWS Whisper | AWS的一项自然语言理解(NLU)服务,可以将人类语言转化为机器可读的指令。然而,Whisper主要用于语音识别和语音助手,而不是代码补全。 | 适用于语音识别和语音助手,不专门用于代码补全 | Free |
Copilot
Tabnine
AWS Whisper
在 Windows 下 VS Code 配合 Python + Anaconda virtual environment 非常好用。特別目前整合 OpenAI Copilot ($10/month) 或是 Amazon Code Whisper (Free) AI 功能更是如虎添翼。
之前一個比較困擾的問題是如何在 WSL(2) 下做同樣的事: VS Code 配合 Python + (WSL2) Anaconda virtual environment.
因爲 WSL2 的 Ubuntu 的 “AI 相容性” 還是比起 Windows 好。有些 LLM 的 github 還是需要在 Ubuntu 環境下執行。
Method
首先參考 Visual Studio Code 的説明:
-
先切換到 WSL2, 可以在 PS 下使用 bash 或是 wsl2
1
PS> bash
-
接下來在 WSL2 下執行 VS Code. 如果沒有 install, 會自動 install VS Code
1
code .
理論上也可以在 PS 下直接執行; wsl code .
再來在 VS Code install WSL!
-
VSCode,先安裝由Microsoft提供的這個WSL這個插件 (如圖1)
-
接著點到側邊欄的WSL(安裝完重啟VSCode會出現),右鍵連進WSL (如圖2)。
-
稍微等一下,會自動重新打開一個視窗,右下角會出現綠色的WSL (如圖3):
接著在WSL這個VSCode視窗繼續安裝python插件:Python (如圖4). 注意這應該只有 connector, 不是真的 Python interpreter.
安裝好之後,接下來要設定Conda路徑,到File -> Prereferences -> Settings -> 在搜尋列輸入conda -> 選擇Remote [WSL: Ubuntu-22.04] -> 找到Python: Conda Path -> 填入你在WSL安裝的conda路徑,如下圖5所示。
1 |
|
接著設定存檔時自動排版,如下圖6所示:
最後要設定預設的Interpreter,ctrl + shift + p啟動Command Palette -> 輸入python interpreter -> 會讓你選預設要進入的環境 (如圖7)。
此時可以打開一個python檔案,寫一些code,按存檔時如果你的python環境沒有安裝formatter,會跳出提醒問你要安裝哪種 (如圖8),有black, autopep8和yapf三種可以選,選了會問你要用Conda安裝還是pip (如圖9),然後VSCode會幫你啟動環境,然後下指令自動安裝 (如圖10)。
測試
設定完成之後就可以測試了,故意寫一段需要排版,而且沒有對齊的python程式。我這邊的formatter是用black。
import pandas
import os,sys # 逗號後面沒有空格
if __name__=='__main__' : # 等號前後沒有空格,單引號雙引號混用
num = "1" # 故意空很多個空格
if num.isdigit() : # 故意空很多個空格
print ( 'num is a digit' ) # 小括號前故意空很多個空格
接著按存檔,就會自動幫你排版成統一的格式。
1 |
|
Reference
WSL2: VSCode + Conda + Formatter使用設定: https://medium.com/@mh.yang/wsl2-vscode-conda-formatter%E4%BD%BF%E7%94%A8%E8%A8%AD%E5%AE%9A-acca390e94c8
(知乎) win10+wsl2+vs code+python平台搭建笔记
(知乎) WSL2: VSCode + Virtualenv的使用与配置 (知乎)
https://code.visualstudio.com/blogs/2019/09/03/wsl2