JetBrains
IntelliJ: Java的IDE, 安装Python的插件也支持python.
PyCharm
PyCharm: Python的IDE.
Goland
Goland: golang的IDE.
VSCode
IntelliSense & Code Navigation
Go to Definition: F12, 跳转到定义.
Peek Definition: Alt + F12, 速览定义,不跳转.
Go to references: Shift + F12, 转到引用.
frontend
vs-js-debug
vscode内置了js/ts/node的debugger.
https://github.com/microsoft/vscode-js-debug
live server
live preview(html, svg…)
如果用remote-ssh开启live server就是在远程机器上开启5500端口,webroot就是vscode打开的目录.
如果是remote-ssh开发html,用这个preview很方便.
https://github.com/ritwickdey/vscode-live-server
vscode-chrome-debug
打开的是安装vscode的机器上的chrome。
https://github.com/microsoft/vscode-chrome-debug
通过live server监听remote-ssh机器上的5500,可以通过chrome远程调试静态站点。
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "angularjs",
            "type": "chrome",
            "request": "launch",
            "url": "http://remote-ssh-server:5500/path/to/index.html",
            "webRoot": "${workspaceFolder}/path/to/",
        },
    ]
}
python
debuging:
https://code.visualstudio.com/docs/python/debugging
debug current file:
{
    "name": "current file",
    "type": "python",
    "request": "launch",
    "program": "${file}",
    "console": "integratedTerminal",
}
debug with module:
{
    "name": "module",
    "type": "python",
    "request": "launch",
    "module": "module-name",
    "console": "integratedTerminal",
}
debug with attach:
// create ssh tunnel
ssh -2 -L sourceport:localhost:5678 -i identifyfile user@remoteaddress
{
    "name": "Python: Attach",
    "type": "python",
    "request": "attach",
    "port": 5678,
    "host": "localhost",
    "pathMappings": [
        {
            "localRoot": "${workspaceFolder}",
            "remoteRoot": ".",
        }
    ]
}
testing:
https://code.visualstudio.com/docs/python/testing
unittest:
{
    "python.testing.autoTestDiscoverOnSaveEnabled": true,
    "python.testing.unittestArgs": [
        "-v",
        "-s",
        "./tests",
        "-p",
        "test_*.py"
    ],
    "python.testing.pytestEnabled": false,
    "python.testing.nosetestsEnabled": false,
    "python.testing.unittestEnabled": true,
    "restructuredtext.confPath": "${workspaceFolder}/docs",
}
django
https://code.visualstudio.com/docs/python/tutorial-django
debugging:
{
    // 使用 IntelliSense 了解相关属性。
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Django",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/path/to/manage.py",
            "console": "integratedTerminal",
            "args": [
                "runserver",
                "0:8888"
            ],
            "django": true,
            "env": {
            }
        }
    ]
}
golang
https://github.com/golang/vscode-go/blob/master/docs/debugging.md
debugging:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "golang file",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${file}"
        },
        {
            "name": "gin debug",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${workspaceFolder}/backend/main.go"
        },
    ]
}
rest client
调试rest API
https://github.com/Huachao/vscode-restclient
example.api:
@api = http://hostname:port/api/v0
@Authorization = Basic a2FpemVuOkFybUFkbWluMSE=
@Content-Type = application/json
###
GET {{api}}/users HTTP/1.1
Authorization: {{Authorization}}
Content-Type: {{Content-Type}}
### 
POST {{api}}/groupus HTTP/1.1
Authorization: {{Authorization}}
Content-Type: {{Content-Type}}
{
    key: value
}
record
vscode录制.
https://github.com/microsoft/codetour
https://github.com/arciisine/vscode-chronicler
支持远程debug的时候在本地录制,也就是本地是windows,只需要本地安装ffmpeg和chroicler。
MCP
“…/Code/User/settings.json”
https://github.com/GLips/Figma-Context-MCP https://github.com/modelcontextprotocol/servers
{
    "servers": {
        "postgres": {
            "command": "npx",
            "args": [
                "-y",
                "@modelcontextprotocol/server-postgres",
                "postgresql://server?ssl=true&sslmode=require&rejectUnauthorized=false"
            ]
        },
        "redis": {
            "command": "npx",
            "args": [
                "-y",
                "@modelcontextprotocol/server-redis",
                "redis://localhost:6379"
            ]
        },
        "playwright": {
            "command": "npx",
            "args": [
                "@playwright/mcp@latest"
            ]
        },
        "Azure MCP Server": {
            "command": "npx",
            "args": [
                "-y",
                "@azure/mcp@latest",
                "server",
                "start"
            ]
        },
        "memory": {
            "command": "npx",
            "args": [
                "-y",
                "@modelcontextprotocol/server-memory"
            ]
        },
        "sequential-thinking": {
            "command": "npx",
            "args": [
                "-y",
                "@modelcontextprotocol/server-sequential-thinking"
            ]
        },
        "git": {
            "command": "docker",
            "args": [
                "run",
                "--rm",
                "-i",
                "--mount",
                "type=bind,src=${workspaceFolder},dst=/workspace",
                "mcp/git"
            ]
        },
        "filesystem": {
            "command": "npx",
            "args": [
                "-y",
                "@modelcontextprotocol/server-filesystem",
                "${workspaceFolder}"
            ]
        },
        "fetch": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "mcp/fetch"
            ]
        },
        "kubernetes": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-server-kubernetes"
            ]
        }
    }
}