初步使用与Python配置
一个重要的快捷键
Windows: ctrl
+Shift
+P
Mac: command
+Shift
+P
这个快捷键之所以重要,是因为这个快捷键包含了VSCode所以的设置
按Esc
可以退出
设置中文界面

Mac:
command
+Shift
+P
输入language,设置语言
选择Configure Display Language
选择之后会出现各种语言,我们选择中文,然后重启VSCode,之后VSCode就会变成中文模式
VSCode的基本概念
Workspace:工作空间。可以理解成一个项目的文件夹,可以设置和项目代码的各种东西
setting:设置
extensions:拓展。比如上面的设置的中文插件。

配置Python环境
VSCode是一个通用的IDE,可以用来开发任何语言的程序,但是需要安装相关的插件。
安装Python插件。

工作区Workspace

上图中的WS1就是一个工作空间
我们在设置的时候,一般会有两种设置:①用户(全局)②工作区(只作用于WS1这个文件夹的范围)
如上图,我在工作区这级别设置,对应的WS1下的.vscode
文件夹下有1个settings.json
的文件夹,内容如下:
{
"workbench.colorTheme": "Red"
}
也就是上面的配置,会在这里settings.json
文件中生成配置文件。表明工作区设置的配置,只作用于当前工作空间(WS1
)。
如果我们settings.json
的配置内容全部删掉,那么VSCode会变成之前的默认配置。
将文件夹加到工作区
应用场景:比如由于历史的原因,有好几个项目并不是在一个总的文件夹下,那么这个时候就可以使用将文件夹添加到工作区
。

这个时候,ws1和ws2同属于一个工作区(无标题)。

如果我们想把这个工作区保存为一个文件,这样下次就可以再次使用这个工作区。我们需要将工作区另存为...

然后给这个工作区取名字

最后这个工作区就就变成test工作区了

并且会生成一个test.code-workspace
文件,双击这个文件,vscode就会自动打开这个Test工作区
文件里的内容如下:
{
"folders": [
{
"path": "ws1"
},
{
"path": "ws2"
}
],
"settings": {}
}
运行选定的内容

转到定义

点击转到定义
就可以查看函数定义的地方(源码)。
对应变量,就可以看到一开始变量定义的地方
快捷键:按住command
+单击鼠标左键
配置Django的环境
下载相关插件
插件名称 | 开发者 | 核心功能 | 依赖关系 | 适用场景 |
---|---|---|---|---|
Python | Microsoft | - 基础语法高亮、代码补全 - 调试支持(Debugging) - 虚拟环境管理 - 测试框架集成(pytest/unittest) - 集成终端运行 Python 脚本 |
无 | 所有 Python 项目(包括 Django)的基础开发 |
Pylance | Microsoft | - 基于类型检查的超快代码补全 - 类型推断与文档提示 - 精准的导入导航 - 增强 Django ORM 和视图的补全 |
需先安装 Python 插件 | 需要高效补全和类型检查的 Python/Django 项目 |
Django | Batisteo(社区) | - Django 模板语法高亮(.html 文件)- 模板标签补全( {% %} 、{{ }} ) - 基础项目结构识别( settings.py 等) |
无 | 需要开发 Django 前端模板时 |
下载Command Line Developer Tools(MAC电脑)
为什么需要下载
首先VSCode 自己不运行代码
VSCode 只是编辑器,它自己不会执行Python。
当你在 VSCode 终端里输入:
python manage.py runserver
实际是调用你 Mac 系统里的 Python 解释器 来运行,不是 VSCode 内部自己跑的。
Python 解释器需要调用底层系统资源,比如:
你在 Python 做的事 背后调用了什么系统东西 import ssl
需要链接系统的 OpenSSL 动态库,验证加密连接 socket
启动服务器(比如 Django 的开发服务器)需要使用系统提供的 socket API,需要头文件 pip install
某些模块(比如 Pillow,cryptography,mysqlclient)需要系统的 C 编译器(clang)、make、头文件来编译C扩展 Python虚拟环境创建、模块管理 需要链接系统的基本开发工具 而这些系统层面的东西(比如:C编译器(clang);make工具;头文件(比如 OpenSSL.h) )统统打包在 Command Line Developer Tools 里面!
Python 执行流程示意图(Mac上)
┌──────────────────────────────┐ │ VSCode / Terminal │ └──────────────────────────────┘ │ ▼ ┌──────────────────────────────┐ │ 调用系统的 Python 解释器 │ └──────────────────────────────┘ │ ▼ ┌────────────────────────────────────────┐ │ Python 在运行你的程序时 │ └────────────────────────────────────────┘ │ ┌──────────────┼───────────────────────┐ ▼ ▼ ┌────────────────────┐ ┌────────────────────┐ │ 使用标准Python功能 │ │ 需要访问系统资源 │ │(算术、逻辑、字符串) │ │(SSL、Socket、C扩展包) │ └────────────────────┘ └────────────────────┘ │ ▼ ┌─────────────────────────────────────┐ │ 系统开发者工具(Command Line Tools) │ │ - C编译器(clang) │ │ - 系统头文件(openssl.h等) │ │ - 构建工具(make) │ └─────────────────────────────────────┘
Pycharm为什么没有强制要求下载
PyCharm(特别是社区版/专业版)是一个完整的开发IDE,它不像VSCode那么轻量:
它自己内置了很多东西,比如:
- 虚拟环境(venv)创建器,不依赖系统 make
- 包管理器(pipenv, poetry支持)
- 调用解释器时,有自己的调度层,不直接依赖 Mac 系统的底层 C工具链
- 安装 Python 包时,能优先使用预编译的
.whl
wheel 文件(直接安装,不需要本地编译)
所以,很多轻度的开发工作,PyCharm可以用自己的内部机制搞定,不靠系统Command Line Tools。
如何安装
当我在Terminal 运行python manage.py runserver
的时候,系统会自动提示我安装
直接在终端(Terminal)输入这一行命令:
xcode-select --install
然后,会弹出一个安装窗口,提示如下:
“需要安装命令行开发者工具。要现在安装吗?”
你点击安装(Install),等待自动下载和安装完成就可以了。
安装大概需要:5~10分钟(取决于你的网速)。
选择解释器

command
+Shift
+P
进入设置
输入Selected Interpreter
就可以选择解释器。
设置默认的Python解释器
(base) x@MacBook-Pro Database_demo % conda list | grep django
django 5.1.3 py312hecd8cb5_0
(base) x@MacBook-Pro Database_demo % which python
python: aliased to python3
(base) x@MacBook-Pro Database_demo % which python3
/usr/bin/python3
我Django安装在conda下面,所有我想用conda的解释器。
但是目前我在命令行里输入python manage.py runserver
的时候,用到是/usr/bin/python3
的解释器
打开配置文件
nano ~/.zshrc # 如果是 Zsh(macOS 默认) # 或 nano ~/.bashrc # 如果是 Bash
创建别名(快捷方式): 输入下面配置
alias python=/opt/miniconda3/bin/python3
保存并退出(按
Ctrl+O
→Enter
→Ctrl+X
),然后重新加载配置:source ~/.zshrc # 或 source ~/.bashrc
查看是否修改成功
(base) xieshaolin@xieshaolindeMacBook-Pro Database_demo % which python python: aliased to /opt/miniconda3/bin/python3
运行Django项目
在Terminal 运行
python manage.py runserver
设置运行按钮

找到run and debug
,选择create a launch.json file
.

选择Python Debugger

选择Django

选择manage.py

这个时候就创建好了launch.json
文件了。并且在VSCode的顶部,有一个Python Debugger: Django
的按钮。点击就可以启动Django
项目。
代替在Terminal输入python manage.py runserver
以下是launch.json
的内容
{
"version": "0.2.0",
"configurations": [
{
"name": "Python Debugger: Django",
"type": "debugpy",
"request": "launch",
"args": [
"runserver"
],
"django": true,
"autoStartBrowser": false,
"program": "${workspaceFolder}/manage.py"
}
]
}
字段 | 解释 |
---|---|
"version": "0.2.0" |
launch.json 的版本号(VSCode标准格式,通常不用动) |
"configurations" |
一个数组,里面可以放多个调试配置(这里只有一个) |
内部这一组配置:
字段 | 解释 |
---|---|
"name": "Python Debugger: Django" |
这是你在 VSCode 运行时看到的配置名称(随便取,比如”Django服务器”) |
"type": "debugpy" |
告诉 VSCode 使用 debugpy 这个 Python调试器(官方推荐的调试后端) |
"request": "launch" |
表示你想启动(launch)一个新进程(不是attach到已有进程) |
"args": ["runserver"] |
给 manage.py 传的命令行参数,这里是执行 python manage.py runserver |
"django": true |
指定这是 Django 项目(重要!否则 VSCode调试器不知道是Django项目) |
"autoStartBrowser": false |
不要自动帮你打开浏览器(比如默认打开 http://127.0.0.1:8000) |
"program": "${workspaceFolder}/manage.py" |
指定要运行的 Python 文件,这里是你的 Django 启动器 manage.py |
如果你希望启动后,自动打开浏览器访问,比如 http://127.0.0.1:8000
,可以设置:
"autoStartBrowser": true,
"args": [
"runserver",
"127.0.0.1:8000"
],
创建APP
在Terminal 运行
python manage.py startapp app1
设置按钮
在launch.json
文件中增加一个配置,如下面的Create Django App
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
// 指定调试配置的版本号(固定为 "0.2.0"),用于兼容 VSCode 的调试协议。
"version": "0.2.0",
// 定义多个调试配置的数组,每个对象代表一个独立的调试场景。
"configurations": [
{
"name": "Create Django App",
// 指定调试器类型:"debugpy":Python 的官方调试器(替代旧版 "python")。
"type": "debugpy",
"request": "launch",
"args": [
"startapp", // Django 创建新应用的命令。
"${input:app_name}" // 引用 inputs 中定义的变量,运行时弹出输入框要求用户填写应用名称
],
"program": "${workspaceFolder}/manage.py"
},
{
"name": "Run Django Server",
"type": "debugpy",
"request": "launch",
"args": [
"runserver"
],
"django": true,
"autoStartBrowser": false,
"program": "${workspaceFolder}/manage.py"
}
],
// inputs 声明输入变量,用于动态获取用户输入的值(如应用名称、端口号等)。
"inputs": [
{
"id": "app_name", // 变量的唯一标识符(在 ${input:app_name} 中引用)。
"type": "promptString", // 输入类型:"promptString":弹出文本框让用户输入字符串。
"description": "Please enter the name of the app" // 输入框的提示文本(告诉用户需要输入什么)
}
]
}
修改后,就可以有一个Create Django App
的按钮

点击这个按钮,就可以创建APP

VSCode 连接数据库
下载一个与MySQL相关的拓展
下载一个关于MySQL的extension。有非常多类似的extension。这是我的下载

扩展名称 | 核心能力 | 数据库支持 | 适合角色 |
---|---|---|---|
Database Client (JDBC) | 企业级数据库管理,JDBC 协议支持 | MySQL/Oracle/SQL Server 等 | 企业 DBA/Java 开发者 |
MySQL (Database Client) | 开源数据库图形化管理,SSH 隧道 | MySQL/PostgreSQL/Redis | 全栈开发者/运维人员 |
- MySQL 和 Database Client 扩展冲突吗?
不冲突,但功能重叠,建议按需选择(优先推荐 MySQL 扩展,体验更优)。
连接数据库
command
+Shift
+P
,输入Database Client: Add Connection

配置链接参数,包括ip 和 密码等等

代码格式化
单个类型文件的格式化
官方文档
找到settings

找打 format on save,并勾选

下载Black formatter
的VSCode插件
将Black formatter
设置为默认的formatter

为不同文件类型分配专用格式化工具
三张settings.json文件
对比项 | 用户设置 (User Settings) | 工作区设置 (Workspace Settings) | 默认设置 (Default Settings) |
---|---|---|---|
文件路径 | 系统用户目录下的 User/settings.json |
项目内的 .https://linresource.uk/operationsAndTools/VScodePythonDjangoStarter/settings.json |
VSCode 安装目录(只读,不可修改) |
作用范围 | 全局(所有项目) | 仅当前项目 | 所有用户的默认值(参考基准) |
优先级 | 中(被工作区覆盖) | 高(覆盖用户设置) | 低(仅作为默认值参考) |
适用场景 | 个人编辑器偏好(主题、字体等) | 项目特定配置(如 Python 路径、格式化规则) | 查看 VSCode 出厂默认配置 |
是否需手动创建 | 否(安装 VSCode 后自动生成) | 是(需在项目内创建 .vscode 文件夹) |
否(内置文件) |
修改方式 | 命令面板输入 Preferences: Open User Settings (JSON) |
在项目内创建 .https://linresource.uk/operationsAndTools/VScodePythonDjangoStarter/settings.json |
命令面板输入 Preferences: Open Default Settings (JSON) (仅查看) |
关键总结
- 用户设置:适合全局个人偏好,优先级中等。
- 工作区设置:针对项目定制,优先级最高。
- 默认设置:只读参考文件,优先级最低。
修改User Settings

打开命令面板:
- Windows/Linux:
Ctrl + Shift + P
- macOS:
Cmd + Shift + P
- Windows/Linux:
输入以下命令并回车:
Preferences: Open Settings (JSON)
→ 这将直接打开用户级的
settings.json
文件。选择
Open User Settings
配置 VSCode 的
settings.json
{ // 1. Python 格式化设置(使用 black) "editor.formatOnSave": true, "[python]": { "editor.defaultFormatter": "ms-python.python" }, "python.formatting.provider": "black", "python.formatting.blackArgs": [ "--line-length=88" ], // 2. HTML 文件禁用默认格式器(避免 VSCode 默认处理 HTML) "[html]": { "editor.defaultFormatter": null }, // 3. Run on Save 插件配置:保存 HTML 文件时调用 djhtml "emeraldwalk.runonsave": { "commands": [ { "match": ".*\\.html$", "cmd": "djhtml ${file}" } ] } }
安装
DjHTML
:专为 Django 模板设计的格式化工具(支持.html
和.django
文件)。conda install -c conda-forge djhtml
下载
Run on Save
插件,才可以运行"emeraldwalk.runonsave"
命令注意文件类型:区分到底是Django HTML还是HTML
VScode 集成git
下载git
设置git的用户名和邮箱。如果开始不设置,后面commit的时候会报错。
# 设置 username git config --global user.name "username" # 设置 email git config --global user.email useremail@qq.com # 查看 username 和 email git config user.name git config user.email
初始化仓库
点击commit
使用 SSH 协议进行身份认证
生成SSH秘钥
ssh-keygen -t ed25519 -C "your_email@example.com" # 生成密钥(默认存到 ~/.ssh/id_ed25519) ssh-keygen -t rsa -b 4096 -C "your_email@example.com" # 生成 RSA-4096 密钥
ed25519
是一种现代、高效且安全的椭圆曲线加密算法(对比传统的 RSA 算法更轻量级)。特性 ed25519
传统 rsa
(如rsa4096
)密钥长度 短(256 位) 长(至少 2048 位) 生成速度 快(约 1 秒) 慢(尤其大密钥) 安全性 高(抗量子计算潜力) 依赖密钥长度 GitHub 支持 ✅ 完全支持 ✅ 支持但逐步淘汰 复制公钥到GitHub → Settings → SSH and GPG keys → New SSH key
cat ~/.ssh/id_ed25519.pub # 或 cat ~/.ssh/id_rsa.pub
测试 SSH 连接
ssh -T git@github.com # 看到 "You've successfully authenticated" 表示成功
在远程创建仓库:要负责这个SSH地址,之后用得上
关联远程仓库
添加远程地址:在终端运行以下命令(替换为你的仓库地址)
git remote add origin https://github.com/Xie-Shaolin/git-test.git # 或使用 SSH(推荐):origin 是远程的名字 git remote add origin git@github.com:Xie-Shaolin/git-test.git
验证远程仓库
git remote -v # 应显示 origin 对应的推送地址
点击
publish branch
或者sync Changes
其他的pull或者push可以在
...
里面操作
开发者工具查看错误
在 VS Code 菜单点击:
帮助 > 切换开发人员工具
在弹出的 Chrome-like 控制台中,点击 “Console” 标签页,查看是否有报错信息,比如:
把这些错误复制粘贴给AI就可以找到问题的答案
各类插件用处汇总
Run on Save
Run on Save
插件的作用非常简单直接:每次保存文件时,自动执行你自定义的命令行脚本或命令。
举个简单例子:
你写了一个 .html
或者.py
文件,每次保存时,自动调用djhtml yourfile.html
和black yourfile.py
。
如果我们下载了这个插件,并且做如下配置
"emeraldwalk.runonsave": {
"commands": [
{
"match": ".*\\.html$",
"cmd": "djhtml ${file}"
},
{
"match": ".*\\.py$",
"cmd": "black ${file}"
}
]
}
上面这个配置做了两件事:
- 每次保存
.html
文件时 → 自动运行djhtml
- 每次保存
.py
文件时 → 自动运行black
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1909773034@qq.com