推薦 6 個可以幫你提升工作效率的 VS Code 擴充套件(附使用教學)

  1. 前言
  2. Tabnine: 宛如讀心術般的程式碼自動補齊工具
    1. 功能
    2. 個人點評
    3. 使用方法
  3. Material Icon Theme: 美化檔案圖示、清楚顯示不同檔案類型
    1. 功能
    2. 個人點評
    3. 使用方法
  4. Rainbow CSV: 以顏色區分結構化資料的不同欄位,方便快速探索資料
    1. 功能
    2. 個人點評
    3. 使用方法
    4. 小建議
  5. GitLens: 顯示程式碼 Git 紀錄,提升程式碼協作效率
    1. 功能
    2. 個人點評
    3. 使用方法
  6. file-tree-generator: 一鍵產出資料夾結構,方便撰寫技術文件
    1. 功能
    2. 個人點評
    3. 使用方法
  7. autoDocstring: 一鍵產出註解結構,讓同事更快看懂你的 code
    1. 功能
    2. 個人點評
    3. 使用方法
    4. 小建議
  8. 總結

前言

過去曾試過不同的幾個 IDE 來寫程式,而在用過 Visual Studio Code (簡稱 VS Code) 之後就定居下來了,因為 VS Code 不僅介面乾淨直覺,還有很多好用的擴充套件可以安裝!

因此在這篇文章中,我想來分享一下在我做為資料工程師的這幾年,我覺得在工作實務上有幫助我提升效率的 6 個 VS Code 擴充套件,希望這些套件也能幫助到來看這篇文章的你們!


Tabnine: 宛如讀心術般的程式碼自動補齊工具

功能

  • 可以即時提供程式碼建議,並且讓我們可以一鍵自動補齊

個人點評

  • 會偵測當下文件,推薦合理的程式碼
  • 按下 Tab 即可完成一整段程式碼
  • 免費版就已經很好用,而且比另一款 Kite 更省記憶體
  • 有時候真的覺得他會讀心術,完全知道我想要打什麼

使用方法

安裝後就會直接在我們輸入程式碼的時候開始提供建議,就像下圖紫色方框中,游標後方灰色的字就是 Tabnine 根據當下文件的程式碼所推薦出來的,如果他是你要的程式碼,那就可以放心按下 Tab 鍵,這一行程式碼就瞬間完成囉!

Tabnine 提供程式碼建議

連結:https://www.tabnine.com/


Material Icon Theme: 美化檔案圖示、清楚顯示不同檔案類型

功能

  • 美化 VS Code 側欄的檔案圖示

個人點評

  • 👍 不同檔案類型的差異會非常明顯
  • 👍 讓我們可以快速找到想要的資料夾 or 檔案

使用方法

安裝後就會馬上替換現有的 icon 圖示,如下圖

如果想要停掉的話,可以點擊 VS Code 左下角的齒輪 (或偏好設定 Preferences) -> 主題 (Themes) -> File Icon Theme 去做切換唷!

Material Icon Theme 安裝後,檔案圖示變得漂亮又清楚

連結:https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme


Rainbow CSV: 以顏色區分結構化資料的不同欄位,方便快速探索資料

功能

  • 將結構化資料的不同欄位上色、排列

個人點評

  • 👍 非常適合資料工作者,因為幾乎每天都會碰到 CSV 檔
  • 👍 直接在 VS Code 裡面就可以快速探索資料

使用方法

安裝後打開任何 csv (or tsv) 檔,就會看到不同欄位已經有不同顏色,如果想要排列如下圖,要按一下底部 bar 上面的 Align,也可以利用點擊 Query,會顯示表格化的資料,並且下方可以進行 SQL 的查詢(功能按鈕如紫色背景的下下圖)。

小建議

排列後檔案會多出空格,建議關掉時選擇 不要儲存,不然有時候儲存後再用 Pandas 讀取會有不必要的空格字元在資料裡面。

同一份 CSV 檔,安裝 Rainbow CSV 的前後對照
Rainbow CSV 功能按鈕

連結:https://marketplace.visualstudio.com/items?itemName=mechatroner.rainbow-csv


GitLens: 顯示程式碼 Git 紀錄,提升程式碼協作效率

功能

  • 搭配 code 顯示 Git 紀錄,包含作者和上傳時間

個人點評

  • 👍 看同事 code 遇到問題時,可以直接去問當事人比較快
  • 👍 根本就是超好用的 抓戰犯 團隊合作 神器!

使用方法

安裝後就會看到原本程式碼的後方會顯示該行程式碼的作者和 commit 時間,游標移到那排灰字上方,還會顯示更詳細的紀錄

在 VS Code 側欄也會多一個 GitLens 的圖示,點進去可以看到所有的 commits,展開後可以看到該 commit 的詳細內容,並且也有很好分辨的圖示,像是綠色是 Added,藍色是 Modified,橘色是 Renamed,紅色是 deleted,非常清楚。

GitLens 功能展示

連結:https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens


file-tree-generator: 一鍵產出資料夾結構,方便撰寫技術文件

功能

  • 一鍵產出整個專案資料夾的結構

個人點評

  • 👍 非常適合用於寫技術文件,像 README.md 之類的
  • 👍 雖然產出沒有到很漂亮,但已經很完整又方便

使用方法

安裝後打開想要製作 file tree 的專案資料夾,在左側欄空白處點擊右鍵(如下圖 util.py 附近空白處),選擇最底下的選項 Generate to tree 之後就會在右側開啟一個新頁面,上面就會有這個專案的整個資料夾架構囉!之後就可以複製到想要的文件上貼上即可!

file-tree-generator 使用教學

連結:https://marketplace.visualstudio.com/items?itemName=Shinotatwu-DS.file-tree-generator


autoDocstring: 一鍵產出註解結構,讓同事更快看懂你的 code

功能

  • 一鍵產出 Python function 註解結構

個人點評

  • 👍 說到文件,一定不能忘記重要的註解!
  • 👍 有了結構,我們可以更專注於撰寫註解內容

使用方法

安裝後就可以在 Python function 的下方輸入三個引號(預設是雙引號來觸發,也可以調整為單引號),按下 enter 或 tab 選擇出現的第一個選項 Generate Docstring,就會產出完整又精美的註解結構啦!

如果 function 上有定義好 input/output 的資料型態 data type,autoDocstring 也會非常聰明地自動幫我們放到註解裡面,真的是寫註解的救星~

小建議

如果輸入三個引號沒有出現 Generate Docstring 的選項,也可以使用快捷鍵 Command + Shift + 2 來快速建立註解唷!

autoDocstring 使用教學

連結:https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring


總結

以上就是 6 個我實務上使用覺得有幫助到我的 VS Code 擴充套件啦!

我覺得非常推薦資料科學工作者可以使用 VS Code,除了擴充套件之外,他也有原生的 Jupyter notebook 方便我們做資料探勘或是機器學習 ML!

而且因為是 Open Source 的關係,可用的擴充套件也持續在推陳出新,如果是非常多人在使用的套件,甚至有機會直接變成內建的功能,像是之前超實用的凸顯括弧配對的工具 Bracket Pair Colorizer 就是一個活生生的例子。

如果這篇文章有幫助到你的話,歡迎幫文章按個讚 👍

你也有用過哪些好用的 VS Code 擴充套件嗎?歡迎留言分享~🤗


歡迎追蹤我的 IG 和 Facebook

廣告

玩膩了鐵達尼號資料集?來看看最新的太空船版本鐵達尼號吧!

另類的鐵達尼號資料集

最近在研究 Data Quality 相關的工具,需要一個簡單的資料集來測試,剛好在 Kaggle 上看到一個練習資料集,是太空船版本的鐵達尼號,如果有在玩 Kaggle 或學習機器學習的話一定有聽過或用過鐵達尼號這個資料集,但如果你已經玩膩了原版的鐵達尼號,可以來玩玩看這個太空船版鐵達尼號唷!

資料集背景故事

這個資料集背景是設定在未來的西元 2912 年,有一艘太空船載著近 13,000 名乘客,裡面有來自不同星球的人類,正在前往其他星球居住的路上,但途中因為不明的時空異常狀況,導致有幾乎一半的乘客被傳送到平行時空,而我們的目標就是要 預測哪些人可能會被傳送

資料集內容 (Data Details)

  • PassengerId
    • 每個乘客的唯一 ID,每個 ID 都採用以下形式 gggg_pp,其中 gggg 指乘客正在旅行的group,並且 pp 是他們在 group 中的編號。
    • 一個團體中的人通常是家庭成員,但不一定。
  • HomePlanet
    • 乘客離開的星球,通常代表他們原本家鄉的星球。
  • CryoSleep
    • 表明乘客是否選擇在航行期間處於假死狀態。
    • 冷凍睡眠中的乘客被限制在他們的船艙內。
  • Cabin
    • 旅客下榻的艙位號,格式是 deck/num/side
    • side 可以是左舷 P,也可以是右舷 S
  • Destination
    • 乘客將登陸的星球。
  • Age
    • 乘客的年齡。
  • VIP
    • 旅客是否在航程中支付了 VIP 服務費用。
  • RoomService, FoodCourt, ShoppingMall, Spa, VRDeck
    • 乘客在各項豪華設施中所支付的費用。
  • Name
    • 乘客的姓名。
  • Transported
    • 乘客是否被傳送到平行時空。
    • 這欄位是 Label,也就是要預測的目標。

最後我們要提交的格式跟原版的鐵達尼號差不多,就是 乘客 ID 是否被傳送 兩個欄位即可

個人覺得這資料集的背景設定還滿有趣的,如果你跟我一樣也看鐵達尼號看到膩的話,可以使用看看這個資料集,之後如果我有完成這個競賽會再放上來分享給大家!

參考資料


歡迎追蹤我的 IG 和 Facebook

Kaggle 發布最新的 Kaggle Models 讓模型的使用變得更方便

Introducing Kaggle Models

Kaggle has released a newest addition: Kaggle Models.

Kaggle Models is where we can discover and use pretrained models and is collaborated with TensorFlow Hub (tfhub.dev) to make a curated set of nearly 2,000 public Google, DeepMind and other models.

Models has a new entry in the left navigation alongside Datasets and Code.

In the Model page, it is organized by the machine learning task they perform (e.g., image classification, Object Detection or Text Classification), but can also apply filters for things like language, license or framework.

Using Models

To Use the models, we can either click “New Notebook” from the model page or use the “Add Model” UI in the notebook editor (similar to datasets).


Kaggle 新功能 Kaggle Models

Kaggle 最近發佈了最新的功能:Kaggle Models!

Kaggle Models 是 Kaggle 跟 TensorFlow Hub 合作,整合了將近 2,000 個 Google、DeepMind 等等的預訓練模型。

現在只要在 Kaggle 左側欄中,就可以看到多了 Models 這個選項(在 Datasets 和 Code 的中間),裡面預設是按照不同的機器學習用途 (Task) 來分類(像是 Image Classification、Object Detection, Text Classification),但也可以用過濾器篩選,像是語言、框架或 Licence。

Kaggle 左側欄中,就可以看到多了 Models 這個選項

Kaggle Models 的使用方法

如果想要使用這些模型,可以從 Models 頁面上點擊 “New Notebook”,或者點擊 notebook editor 中的 “Add Model”(跟使用資料集時差不多)。

裡面預設是按照不同的機器學習用途 (Task) 來分類

參考資料


歡迎追蹤我的 IG 和 Facebook

2022 年 Kaggle 資料科學 & 機器學習現況調查

每年底 Kaggle 都會在網站上做問卷調查,去年底的調查總共收集了 23,997 份來自 173 個不同國家的回覆,我這次用圖文整理翻譯了一些重點。

  1. 1. Kaggle 數據競賽平台現況
  2. 2. 性別趨勢
  3. 3. 居住地
  4. 4. 程式語言熱門度
  5. 5. IDE 工具熱門度
  6. 6. 雲端筆記本
  7. 7. 機器學習框架
  8. 8. Transformer
  9. 9. 雲端服務
  10. 10. Tensor Processing Unit (TPU) 
  11. 參考資料

1. Kaggle 數據競賽平台現況

  • 資料科學家 > 1000 萬名
  • ML 競賽 300+ 場
  • 公開資料集數量 > 17 萬
  • 公開程式碼數量 > 75 萬

2. 性別趨勢

資料科學產業依然維持著性別高度不平衡的狀況

閱讀更多»

AI 到底是如何將文字變影片?解析 Meta 最新 Make-A-Video 架構和技術突破

Meta (原 Facebook) 在 2022/09/29 發佈了最新的文字轉影片 AI,名稱叫做 Make-A-Video,我覺得算是一個滿值得研究的技術突破,也很好奇背後運作的原理,於是這次拜讀了他們發表的 Paper,大概了解一下整個 Text-to-Video (T2V) AI 的架構。

雖然說是文字轉影片,但其實主要的基底還是透過文字轉圖片的模型來實現,因為既然已經有模型可以將文字轉成圖片了,那就不用再造一個輪子去做文字轉影片的模型,畢竟影片也是建築在圖片之上,是由多個圖片所組成的。

由 Make-A-Video 產出的影片範例 (source: Make-A-Video)

過去技術上的瓶頸

研究中有提到,過去文字轉影片的技術一直遲遲無法有進展,有兩個主要原因

閱讀更多»