Cursor 透過可重現的環境、Notebook 支援,以及 AI 驅動的程式碼助理,提供整合式的資料科學開發工具。這份指南涵蓋 Python、R 與 SQL 工作流程的基本設定範式。
若要獲得完整的 Notebook 支援,請下載由 ms-toolsai 發佈的 Jupyter(id: ms-toolsai.jupyter)擴充功能。
Cursor 透過整合的儲存格執行,支援 .ipynb 與 .py 檔案。Tab、Inline Edit 與 Agents
在 Notebook 中的運作方式與在其他程式碼檔案中相同。
關鍵功能:
- 內嵌儲存格執行:直接在編輯器介面內執行程式碼
- Tab、Inline Edit 與 Agent 都能理解資料科學常用的函式庫,包括 pandas、NumPy、scikit-learn,以及 SQL magic 指令
可以透過兩種主要機制將資料庫與 Cursor 整合:MCP 伺服器與擴充功能(Extensions)。
- MCP Servers 讓你的代理(Agents)能連線到你的資料庫
- Extensions 讓整個 IDE 與你的資料庫整合
MCP 伺服器讓你的代理可以直接對資料庫執行查詢。這讓代理能自行選擇是否查詢資料庫、撰寫合適的查詢、執行指令並分析輸出,以上全都能作為同一個持續進行的任務的一部分。
例如,你可以透過在 Cursor 中加入以下的 MCP 設定,把 Postgres 資料庫連到你的 Cursor 執行個體:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://localhost/mydb"
]
}
}
}
想更深入了解 MCP,請參考我們的 MCP 文件。
安裝特定資料庫的擴充功能(PostgreSQL、BigQuery、SQLite、Snowflake),即可直接在編輯器中執行查詢。這能省去在不同工具間切換的麻煩,並讓 AI 協助進行查詢效能最佳化。
-- Cursor 會為索引、視窗函式與查詢最佳化提供建議
SELECT
user_id,
event_type,
COUNT(*) as 事件次數,
RANK() OVER (PARTITION BY user_id ORDER BY COUNT(*) DESC) as 次數排名
FROM events
WHERE created_at >= NOW() - INTERVAL '7 days'
GROUP BY user_id, event_type;
用 Agents 來分析慢查詢、提出效能優化建議,或為查詢結果產生視覺化程式碼。Cursor 了解 SQL 脈絡,並能根據你的資料結構推薦合適的圖表類型。
Cursor 的 AI 協助也擴及 Matplotlib、Plotly、Seaborn 等資料視覺化函式庫。Agent 可以為資料視覺化產生程式碼,幫你快速、輕鬆地探索資料,同時建立可重現、可分享的成果。
import plotly.express as px
import pandas as pd
# AI 會根據資料欄位自動建議適合的圖表類型
df = pd.read_csv('sales_data.csv')
fig = px.scatter(df, x='advertising_spend', y='revenue',
color='region', size='customer_count',
title='各區域營收與廣告支出的關係'
fig.show()
可以用現有的 Jupyter 筆記本嗎?
可以,Cursor 能開啟 .ipynb 檔,支援完整的儲存格執行與 AI 補全。
怎麼處理塞不進記憶體的大型資料集?
使用像 Dask 這種分散式運算函式庫,或透過 Remote-SSH 連到更大機器上的 Spark 叢集。
Cursor 支援 R 和 SQL 檔嗎?
可以,Cursor 為 R 指令稿(.R)與 SQL 檔(.sql)提供 AI 協助與語法高亮。
推薦怎麼分享開發環境?
把 .devcontainer 資料夾提交到版控。隊友開啟專案時就能自動重建環境。
怎麼除錯資料處理管線?
用 Cursor 的整合除錯器在 Python 腳本中設中斷點,或利用 Agent 逐步分析並說明複雜的資料轉換。
開發容器能幫你在團隊成員與部署環境之間維持一致的執行階段與相依性。它們可以消除與環境相關的錯誤,並縮短新成員的上手時間。
要使用開發容器,先在你的儲存庫根目錄建立一個 .devcontainer 資料夾。接著建立 devcontainer.json、Dockerfile 和 requirements.txt 檔案。
// .devcontainer/devcontainer.json
{
"name": "ds-env",
"build": { "dockerfile": "Dockerfile" },
"features": {
"ghcr.io/devcontainers/features/python:1": { "version": "3.11" }
},
"postCreateCommand": "pip install -r requirements.txt"
}
# .devcontainer/Dockerfile
FROM mcr.microsoft.com/devcontainers/python:3.11
COPY requirements.txt .
RUN pip install --upgrade pip && \
pip install -r requirements.txt
# requirements.txt
pandas==2.3.0
numpy
# 加入這個專案需要的其他相依套件
Cursor 會自動偵測 devcontainer,並提示你在容器中重新開啟專案。或者,也可以用 Command Palette(Ctrl+Shift+P)手動在容器中重新開啟,搜尋 Reopen in Container 即可。
開發容器帶來幾個優勢:
- 相依隔離 可避免不同專案之間的衝突
- 可重現的建置 確保在開發與正式環境中的行為一致
- 精簡化的上手流程 讓新成員不需手動設定就能立即開始
當你的工作需要更多運算資源、GPU,或存取私有資料集時,可以連線到遠端機器,同時維持本機的開發環境。
- 佈建雲端實例或存取具備所需資源的企業內部伺服器
- 將你的儲存庫(包含
.devcontainer 設定)複製到遠端機器
- 透過 Cursor 連線:Ctrl+Shift+P → “Remote-SSH: Connect to Host”
這種做法能在彈性擴充運算資源的同時維持一致的工具鏈。相同的開發容器設定可同時適用於本機與遠端環境。