VSCode:初步使用+Python和Django的配置

初步使用与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电脑)

为什么需要下载

  1. 首先VSCode 自己不运行代码

    • VSCode 只是编辑器,它自己不会执行Python

    • 当你在 VSCode 终端里输入:

      python manage.py runserver
      

      实际是调用你 Mac 系统里的 Python 解释器 来运行,不是 VSCode 内部自己跑的。

  2. 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 里面!

  3. 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的解释器


  1. 打开配置文件

    nano ~/.zshrc  # 如果是 Zsh(macOS 默认)
    # 或
    nano ~/.bashrc  # 如果是 Bash
    
  2. 创建别名(快捷方式): 输入下面配置

    alias python=/opt/miniconda3/bin/python3
    
  3. 保存并退出(按 Ctrl+OEnterCtrl+X),然后重新加载配置:

    source ~/.zshrc  # 或 source ~/.bashrc
    
  4. 查看是否修改成功

    (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)(仅查看)

关键总结

  1. 用户设置:适合全局个人偏好,优先级中等。
  2. 工作区设置:针对项目定制,优先级最高。
  3. 默认设置:只读参考文件,优先级最低。

修改User Settings

  1. 打开命令面板

    • Windows/Linux: Ctrl + Shift + P
    • macOS: Cmd + Shift + P
  2. 输入以下命令并回车:

    Preferences: Open Settings (JSON)
    

    → 这将直接打开用户级的 settings.json 文件。

  3. 选择Open User Settings

  4. 配置 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}"
          }
        ]
      }
    }
    
  5. 安装DjHTML:专为 Django 模板设计的格式化工具(支持 .html.django 文件)。

    conda install -c conda-forge djhtml
    
  6. 下载Run on Save插件,才可以运行"emeraldwalk.runonsave"命令

  7. 注意文件类型:区分到底是Django HTML还是HTML

VScode 集成git

  1. 下载git

  2. 设置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
    
  3. 初始化仓库

  4. 点击commit

  5. 使用 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 → SettingsSSH and GPG keysNew SSH key

      cat ~/.ssh/id_ed25519.pub  # 或 cat ~/.ssh/id_rsa.pub
      
    • 测试 SSH 连接

      ssh -T git@github.com  # 看到 "You've successfully authenticated" 表示成功
      
  6. 在远程创建仓库:要负责这个SSH地址,之后用得上

  7. 关联远程仓库

    • 添加远程地址:在终端运行以下命令(替换为你的仓库地址)

      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 对应的推送地址
      
  8. 点击publish branch或者sync Changes

  9. 其他的pull或者push可以在...里面操作

开发者工具查看错误

  1. 在 VS Code 菜单点击:帮助 > 切换开发人员工具

  2. 在弹出的 Chrome-like 控制台中,点击 “Console” 标签页,查看是否有报错信息,比如:

  3. 把这些错误复制粘贴给AI就可以找到问题的答案

各类插件用处汇总

Run on Save

Run on Save 插件的作用非常简单直接:每次保存文件时,自动执行你自定义的命令行脚本或命令

举个简单例子:

你写了一个 .html 或者.py文件,每次保存时,自动调用djhtml yourfile.htmlblack yourfile.py

如果我们下载了这个插件,并且做如下配置

"emeraldwalk.runonsave": {
  "commands": [
    {
      "match": ".*\\.html$",
      "cmd": "djhtml ${file}"
    },
    {
      "match": ".*\\.py$",
      "cmd": "black ${file}"
    }
  ]
}

上面这个配置做了两件事:

  • 每次保存 .html 文件时 → 自动运行 djhtml
  • 每次保存 .py 文件时 → 自动运行 black

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1909773034@qq.com

×

喜欢就点赞,疼爱就打赏