Cursor 透過可重現的環境、筆記本支援,以及 AI 驅動的程式碼助理,提供整合的資料科學開發工具。這份指南涵蓋 Python、R 與 SQL 工作流程的基本設定範式。

Notebook 開發

若要獲得完整的 Notebook 支援,請下載由 ms-toolsai 發佈的 Jupyter(id: ms-toolsai.jupyter)擴充套件。
Cursor 支援以整合的儲存格執行來處理 .ipynb.py 檔案。Tab、Inline Edit 和 Agents 在 Notebook 中的運作方式與在其他程式碼檔案中相同。 關鍵功能:
  • Inline cell execution 可直接在編輯器介面中執行程式碼
  • Tab、Inline Edit 和 Agents 能理解資料科學函式庫(包含 pandas、NumPy、scikit-learn)以及 SQL magic 指令

資料庫整合

可以透過兩種主要機制將資料庫與 Cursor 整合:MCP 伺服器與擴充功能(Extensions)。
  • MCP 伺服器 讓你的代理(Agents)能連線到你的資料庫
  • 擴充功能 讓你的整體 IDE 與資料庫整合

透過 MCP

MCP 伺服器允許你的代理直接對資料庫發出查詢。這讓代理可以選擇查詢資料庫、撰寫適當的查詢、執行命令並分析輸出,全部作為持續任務的一部分。 例如,你可以將以下的 MCP 設定 加到 Cursor,將 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 event_count,
    RANK() OVER (PARTITION BY user_id ORDER BY COUNT(*) DESC) as frequency_rank
FROM events
WHERE created_at >= NOW() - INTERVAL '7 days'
GROUP BY user_id, event_type;
使用代理來分析慢查詢、提出效能改進建議,或為查詢結果產生視覺化程式碼。Cursor 了解 SQL 脈絡,並能依據你的資料結構推薦合適的圖表類型。
Snowflake 擴充功能

資料視覺化

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='Revenue vs Advertising Spend by Region')
fig.show()

常見問題

我可以使用現有的 Jupyter 筆記本嗎? 可以,Cursor 能開啟 .ipynb 檔案,支援完整的儲存格執行與 AI 補全。 我該怎麼處理放不進記憶體的大型資料集? 使用像 Dask 這類的分散式運算函式庫,或透過 Remote-SSH 連線到規模更大的機器上的 Spark 叢集。 Cursor 有支援 R 和 SQL 檔案嗎? 有,Cursor 為 R 腳本(.R)和 SQL 檔案(.sql)提供 AI 協助與語法高亮。 分享開發環境的建議做法是什麼?.devcontainer 資料夾提交到版本控制。團隊成員在開啟專案時就能自動重建環境。 我要怎麼偵錯資料處理管線? 用 Cursor 的整合偵錯工具在 Python 腳本中設定中斷點,或用 Agent 逐步分析並解釋複雜的資料轉換。

環境可重現性

開發容器

開發容器能幫你在團隊成員與部署環境之間確保一致的執行環境與相依套件。它們可以消除特定環境的 bug,並減少新成員的上手時間。 要使用開發容器,先在你的版本庫根目錄建立一個 .devcontainer 資料夾。接著建立 devcontainer.jsonDockerfile,以及 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
# add other dependencies you need for your project
Cursor 會自動偵測 devcontainer,並提示你在容器中重新開啟專案。或者,你也可以透過 Command Palette(Ctrl+Shift+P)手動在容器中重新開啟,搜尋 Reopen in Container 開發容器具備多項優勢:
  • 相依隔離 可避免不同專案之間的衝突
  • 可重現的建置 確保在開發與生產環境的行為一致
  • 簡化的上手流程 讓新成員無需手動設定即可立即開始

透過 SSH 進行遠端開發

當你的分析需要額外的運算資源、GPU,或存取私有資料集時,可以連線到遠端機器,同時維持本機的開發環境。
  1. 佈建雲端執行個體,或存取具備所需資源的自有伺服器
  2. 將你的版本庫(包含 .devcontainer 設定)複製到遠端機器
  3. 透過 Cursor 連線:Ctrl+Shift+P → “Remote-SSH: Connect to Host”
這種做法能在彈性擴充運算資源的同時維持一致的工具鏈。相同的開發容器設定可同時適用於本機與遠端環境。