AgentSkillsCN

ide-diagnostics

使用 IDE MCP 进行 VS Code 语言诊断和 Jupyter 代码执行。可用于检查类型错误、在笔记本中运行 Python 代码,或获取实时代码分析。在请求诊断、类型检查或笔记本执行时触发。

SKILL.md
--- frontmatter
name: ide-diagnostics
description: VS Code language diagnostics and Jupyter code execution using IDE MCP. Use for checking type errors, running Python code in notebooks, or getting real-time code analysis. Triggers on requests for diagnostics, type checking, or notebook execution.

IDE Integration

VS Code integration for language diagnostics and Jupyter notebook execution.

Available Tools

getDiagnostics

Get language server diagnostics (errors, warnings, hints) from VS Code.

python
# Get all diagnostics
result = mcp__ide__getDiagnostics()

# Get diagnostics for specific file
result = mcp__ide__getDiagnostics(uri="file:///path/to/file.ts")

Response Format

python
{
    "diagnostics": {
        "file:///path/to/file.ts": [
            {
                "severity": "error",
                "message": "Type 'string' is not assignable to type 'number'",
                "range": {
                    "start": {"line": 10, "character": 5},
                    "end": {"line": 10, "character": 15}
                },
                "source": "typescript",
                "code": 2322
            }
        ]
    }
}

Severity Levels

LevelDescription
errorMust be fixed
warningShould be reviewed
infoInformational
hintSuggestions

executeCode

Execute Python code in the current Jupyter kernel.

python
# Execute Python code
result = mcp__ide__executeCode(code="print('Hello World')")

# Multi-line code
result = mcp__ide__executeCode(code="""
import pandas as pd
df = pd.read_csv('data.csv')
print(df.head())
""")

Response Format

python
{
    "outputs": [
        {
            "type": "text",  # or "image", "error", "stream"
            "content": "Hello World",
            "mimeType": "text/plain"
        }
    ],
    "executionCount": 1
}

Output Types

TypeDescription
textText output
streamstdout/stderr
imageVisualizations
errorExecution errors

Common Use Cases

Pre-commit Type Check

python
# Check for errors before committing
diagnostics = mcp__ide__getDiagnostics()

errors = []
for file, issues in diagnostics["diagnostics"].items():
    file_errors = [i for i in issues if i["severity"] == "error"]
    if file_errors:
        errors.extend(file_errors)

if errors:
    print(f"Found {len(errors)} errors - fix before committing")

Data Analysis in Notebook

python
# Load and explore data
mcp__ide__executeCode(code="""
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('sales.csv')
print(df.describe())
""")

# Create visualization
mcp__ide__executeCode(code="""
df.groupby('month')['revenue'].sum().plot(kind='bar')
plt.title('Monthly Revenue')
plt.show()
""")

Variable Inspection

python
# Check variable state
mcp__ide__executeCode(code="print(type(my_var), repr(my_var))")

# Inspect DataFrame
mcp__ide__executeCode(code="display(df.info())")

Important Notes

  1. Kernel state persists - Variables remain between executeCode calls
  2. Restart clears state - Kernel restart removes all variables
  3. Diagnostics are real-time - Reflect current file state
  4. File URI format - Use file:///absolute/path for specific files

Best Practices

  1. Check diagnostics before commits - Catch errors early
  2. Use executeCode for exploration - Interactive data analysis
  3. Preserve kernel state - Avoid unnecessary recomputation
  4. Handle errors gracefully - Check output type for errors