Cursor 透過可重現的環境、Notebook 支援,以及 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 與 Agent 皆能理解資料科學函式庫,包括 pandas、NumPy、scikit-learn,以及 SQL magic 命令

資料庫整合

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

透過 MCP

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 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 等資料視覺化函式庫。這個代理可以自動產生視覺化程式碼,讓你更快更輕鬆地探索資料,同時建立可重現、可分享的成果。
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 逐步分析並說明複雜的資料轉換。

環境可重現性

開發容器

開發容器能幫你在團隊成員與部署環境之間維持一致的執行階段與相依套件。它們可以消除環境特定的錯誤,並縮短新成員的上手時間。 要使用開發容器,先在你的儲存庫根目錄建立 .devcontainer 資料夾。接著建立 devcontainer.jsonDockerfilerequirements.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”
這種做法能在需要時擴充運算資源,同時維持一致的工具鏈。相同的開發容器設定可在本機與遠端環境中一致運作。