VSCode安装计划

无论是 C语言Python算法AI数据分析 都不用再折腾。

最终达到的开发环境:

复制代码
复制代码

VSCode

├── C/C++

│ ├── GCC (MinGW-w64)

│ ├── GDB 调试

│ ├── Make

│ └── 一键编译运行

├── Python

│ ├── Miniconda

│ ├── Conda环境

│ ├── Pylance

│ ├── Ruff

│ ├── Black

│ └── Debug

├── Git

├── CMake

└── 常用插件

1️⃣、Miniconda

不推荐安装Conda的原因是conda整体挺大的, 不适合完全安装,如果有需要,也可以安装conda。

安装参考教程:Miniconda安装(最好别进行虚拟环境的操作)

个人建议别安装到C盘,后期的包、虚拟环境一系列几十个G很占用C盘空间。

按照上述教程安装之后,解决方案:直接编辑 .condarc 文件

使用"Win+R"快捷键,打开运行窗口,输入"CMD",按下回车 ,进入命令提示符,输入命令

"notepad C:\Users\FangYuan\.condarc" 其中,FangYuan是我的用户名,根据自己的用户名进行修改,

复制代码
notepad C:\Users\FangYuan\.condarc

将".condarc"中的配置文件按需修改,修改完记得"CTRL+S"保持

每一项解释

channels

复制代码
复制代码
channels:
  - defaults

保持默认即可。

真正访问哪个服务器,由下面的 default_channels 决定。


default_channels

复制代码
复制代码
default_channels:

把默认官方源替换成清华镜像。

以后:

复制代码
复制代码
conda install numpy

实际上访问的是:

复制代码
复制代码
https://mirrors.tuna.tsinghua.edu.cn

而不是:

复制代码
复制代码
repo.anaconda.com

show_channel_urls

复制代码
复制代码
show_channel_urls: true

安装包时显示来源,例如:

复制代码
复制代码
https://mirrors.tuna...

方便确认是否走镜像。


channel_priority

复制代码
复制代码
channel_priority: strict

这是我最推荐打开的一项。

作用:

Conda 在解析依赖时:

只优先使用同一个 Channel。

避免:

复制代码
复制代码
numpy 来自 A

scipy 来自 B

pytorch 来自 C

导致依赖冲突。

对于 AI 项目,建议保持:

复制代码
复制代码
strict

solver

复制代码
复制代码
solver: libmamba

Conda 25+ 默认就是 libmamba。

解析速度通常比旧求解器快很多。

建议保留。


auto_activate_base

复制代码
复制代码
auto_activate_base: false

很多开发者喜欢关闭。

打开 CMD:

以前:

复制代码
复制代码
(base)
C:\>

关闭以后:

复制代码
复制代码
C:\>

真正需要的时候:

复制代码
复制代码
conda activate vscode

这样终端更干净。

如果你喜欢默认进入 (base),可以改回:

复制代码
复制代码
auto_activate_base: true

最好别直接用bas环境,自己创个虚拟环境:使用 Anaconda 创建 Python 虚拟环境_conda创建python虚拟环境-CSDN博客

记得添加环境变量,另外配置清华源:【Python】Anaconda以及Pip配置清华镜像源-CSDN博客

2️⃣、安装VSCode

VSConde安装教程参考:

VSCode安装配置使用教程(最新版超详细保姆级含插件)一文就够了_vscode使用教程-CSDN博客

3️⃣Git

即使现在不用,以后几乎一定会用。

参考教程:详细介绍:保姆级教程:Windows Git 安装全流程,手把手带你从 0 到 1 (2025版) - ljbguanli - 博客园

安装完成后,使用cmd,输入

复制代码
git --version

如果输出版本号

复制代码
git version 2.xx.xx

说明成功。

4️⃣GCC(C语言编译器)

Windows 推荐

MinGW-w64 (WinLibs版本)

MinGW-w64安装教程:

Windows使用winlibs安装MinGW-w64-CSDN博客

5️⃣、VSCode插件推荐

1、LeetCode :解决 VS Code 中的 LeetCode 问题

2、 **Markdown All in One:**可以在左边书写,右边即时预览。下图替大家展示了常用的快捷键,以供查阅。

安装完这个需要配置环境,

1、Python环境,添加环境变量

按"CTRL+SHIFT+P"快捷搜索,输入"python select interpreter"

选择你想要添加的环境(最好是自定义虚拟环境,建议不要在基础环境上安装太多包)

新建一个test.py文件测试一下环境是否配置好

python 复制代码
import sys; print(sys.executable)

(2个运行方法,1、右键单击空白处,选择在终端中运行Python文件)

2、右上角小三角运行,在专用终端中运行python文件,结果显示是你的Python环境路径就对了

2、新建一个hello.c文件

cpp 复制代码
#include <stdio.h>

int main(void)
{
    printf("Hello, World!\n");
    return 0;
}

并在左侧建立两个配置文件,1、task.json

cpp 复制代码
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 生成活动文件",
            "command": "E:\\Code_all\\Code_software\\mingw64\\bin\\gcc.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

2、launch.json

cpp 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C Clean Debug (Professional)",
            "type": "cppdbg",
            "request": "launch",

            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "cwd": "${fileDirname}",

            "stopAtEntry": false,
            "environment": [],

            // ⭐关键:用终端,不用调试控制台
            "console": "integratedTerminal",
            "externalConsole": false,

            "MIMode": "gdb",
            "miDebuggerPath": "E:\\Code_all\\Code_software\\mingw64\\bin\\gdb.exe",

            "preLaunchTask": "C/C++: gcc.exe 生成活动文件",

            // ⭐关闭调试日志
            "logging": {
                "engineLogging": false,
                "trace": false,
                "programOutput": false
            },

            "setupCommands": [
                {
                    "description": "pretty print",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

3、按"CTRL+SHIFT+P"搜索:setting.json

cpp 复制代码
{
    // =========================
    // Python(Conda 环境绑定)
    // =========================
    "python.defaultInterpreterPath": "E:\\Code_all\\Conda\\envs\\vscode\\python.exe",
    "python.terminal.activateEnvironment": true,

    // =========================
    // Python 代码质量工具
    // =========================
    "editor.formatOnSave": true,

    "[python]": {
        "editor.defaultFormatter": "ms-python.black-formatter"
    },

    "editor.codeActionsOnSave": {
        "source.fixAll": "explicit",
        "source.organizeImports": "explicit"
    },

    // =========================
    // C/C++ 核心配置
    // =========================
    "C_Cpp.intelliSenseEngine": "default",
    "C_Cpp.errorSquiggles": "enabled",
    "C_Cpp.autocomplete": "default",
    "C_Cpp.formatting": "default",

    // =========================
    // ⭐ Debug 专业级优化(新增重点)
    // =========================

    // 禁止 Debug Console 自动弹出(关键)
    "debug.internalConsoleOptions": "neverOpen",

    // 调试结束自动关闭
    "debug.console.closeOnEnd": true,

    // ⭐ 强制调试输出走终端(避免"脏 debug console")
    "console": "integratedTerminal",

    // =========================
    // 终端优化
    // =========================
    "terminal.integrated.defaultProfile.windows": "PowerShell",
    "terminal.integrated.scrollback": 5000,

    // =========================
    // 编辑器体验
    // =========================
    "editor.fontSize": 16,
    "editor.minimap.enabled": false,
    "workbench.startupEditor": "none",
    "files.autoSave": "afterDelay",
    "files.autoSaveDelay": 800,

    // =========================
    // UI & 代码提示
    // =========================
    "editor.suggest.snippetsPreventQuickSuggestions": false
}