Windows系统Python开发环境搭建:从安装配置到VSCode高效开发全指南
1. 项目概述为什么要在Windows上搭建Python开发环境如果你刚拿到一台Windows电脑想开始学习编程或者进行数据分析、自动化脚本开发那么安装Python和配置一个顺手的代码编辑器就是你必须要走的第一步。这听起来像是个基础操作但很多新手会在这里卡住要么是环境变量没配好导致命令行里找不到python命令要么是编辑器里一堆红色波浪线提示找不到模块体验非常糟糕。今天我就以一个过来人的身份带你完整地走一遍在Windows系统上安装Python并用VSCode配置一个“开箱即用”的Python开发环境的全过程。我会把每一步的原理、可能遇到的坑以及我自己的解决经验都揉碎了讲给你听目标是让你看完之后不仅能成功搭好环境还能理解背后的逻辑以后遇到类似问题能自己解决。这个过程的核心其实就是解决两个问题第一让Windows系统认识并能够调用Python解释器第二为你提供一个功能强大、便于写代码和调试的“工作台”。我们将从最官方的渠道下载Python安装包完成安装和环境变量配置然后安装并设置VSCode最后通过一个简单的实例验证整个环境是否工作正常。无论你是完全的编程新手还是从其他平台转到Windows的开发者这篇指南都能让你少走很多弯路。2. 核心思路与工具选型解析2.1 为什么选择Python官方安装包在Windows上安装Python你有好几个选择Python官网的安装程序、微软商店版本、或者通过包管理器如Chocolatey安装。我强烈推荐直接从Python官网下载安装程序。原因很简单可控、纯净、无捆绑。官网的安装程序版本最新并且提供了最完整的安装选项比如是否添加到PATH环境变量、是否安装pip包管理器、是否为所有用户安装等。微软商店的版本虽然安装方便但有时其文件路径和权限管理方式比较特殊可能会在后期引入一些意想不到的兼容性问题特别是当你需要安装一些需要编译的第三方库时。对于初学者从最标准、问题最少的路径开始能避免很多不必要的麻烦。2.2 为什么选择VSCode作为代码编辑器对于Python开发你可以选择PyCharm、Spyder或者轻量级的Sublime Text、Notepad。我推荐VSCode是因为它在功能强大和轻量易用之间取得了绝佳的平衡。VSCode本身启动速度快内存占用相对友好并且通过丰富的扩展市场你可以将它打造成任何语言的开发环境。对于Python微软官方提供了功能极其全面的Python扩展集成了代码智能提示IntelliSense、语法检查Linting、代码格式化、调试、测试、Jupyter笔记本支持等几乎所有你需要的功能。它就像一个高度可定制的“乐高积木”你可以从零开始只安装你需要的功能打造一个完全属于你个人习惯的开发环境。相比之下PyCharm功能全面但略显笨重Sublime Text等又需要大量手动配置才能达到类似效果。2.3 环境配置的核心逻辑PATH与虚拟环境理解下面两个概念是搞定Python环境的关键系统PATH环境变量你可以把它想象成Windows系统的一张“全局通讯录”。当你在命令行CMD或PowerShell里输入一个命令比如python或pip时系统会按照这张通讯录上记录的路径列表一个一个去找有没有对应的可执行程序。如果我们把Python的安装目录比如C:\Python311和它的脚本目录C:\Python311\Scripts添加到PATH里那么无论你在哪个文件夹下打开命令行系统都能找到python.exe和pip.exe这就是“全局可用”。安装程序提供的“Add Python to PATH”选项就是帮你自动完成这个操作。Python虚拟环境Virtual Environment这是Python开发中的“最佳实践”我强烈建议你从第一天起就养成使用它的习惯。想象一下你同时在做项目A和项目B项目A需要Django 3.2而项目B需要Django 4.0。如果你把所有包都安装在全局Python环境下那么这两个版本冲突你只能满足一个项目。虚拟环境的作用就是为每个项目创建一个独立的、隔离的“小房间”。在这个“小房间”里你可以安装特定版本的Python解释器如果需要和项目依赖的第三方库而不会影响到其他“房间”和“大厅”全局环境。这样项目A和项目B就能相安无事。我们后续在VSCode中配置的就是让编辑器识别并使用这个项目专属的“小房间”。3. 详细安装与配置步骤3.1 第一步下载并安装Python首先我们访问Python的官方网站。为了避免下载到过时版本请务必通过搜索引擎查找“Python官网”进入。在官网首页你会看到醒目的下载按钮通常会自动推荐当前系统Windows的最新稳定版。直接点击下载即可目前主流版本是Python 3.11或3.12。下载完成后双击运行安装程序。这里有几个关键选项需要你注意安装类型对于大多数用户我建议直接勾选下方的“Add python.exe to PATH”。这个选项至关重要它会让安装程序自动帮你配置系统环境变量。如果你错过了这一步后续就需要手动配置对新手不太友好。自定义安装点击“Customize installation”可以进行更细致的设置。在接下来的“Optional Features”页面确保“pip”和“py launcher”是勾选上的。pip是Python的包管理工具没有它你几乎无法安装任何第三方库py launcher是一个小工具可以让你在命令行中更方便地切换不同版本的Python。高级选项在“Advanced Options”页面我建议修改安装路径。默认路径通常包含空格和用户名如C:\Users\YourName\AppData...有些古老的库或脚本对路径中的空格处理不好。你可以将其修改为一个简单的路径例如C:\Python311以你的版本号为准。同时勾选“Install for all users”为所有用户安装和“Associate files with Python”将.py文件关联到Python。前者可以避免一些权限问题后者让你双击.py文件时能用Python运行。点击“Install”等待安装完成。完成后千万不要直接关闭窗口留意最后一步可能会有一个“Disable path length limit”的选项如果出现建议点击它。这个选项会解除Windows对PATH变量长度的限制对于需要安装大量包或使用长路径的开发者有益。验证安装按下Win R键输入cmd打开命令提示符然后输入python --version并回车。如果安装和PATH配置成功你会看到类似Python 3.11.4的版本信息。再输入pip --version应该能看到pip的版本和其对应的Python路径。如果提示“不是内部或外部命令”说明PATH没有配置成功需要回头检查或手动添加。注意手动添加PATH的方法。右键点击“此电脑”-“属性”-“高级系统设置”-“环境变量”。在“系统变量”或“用户变量”中找到名为Path的变量点击“编辑”然后“新建”将你的Python安装路径如C:\Python311和脚本路径如C:\Python311\Scripts添加进去。每个路径占一行。3.2 第二步安装并初步配置VSCode前往VSCode官网下载Windows系统的安装包。安装过程非常简单基本一路“下一步”即可。建议在安装向导中勾选“添加到PATH”选项这样以后你就可以在任意文件夹的地址栏里输入code .并回车直接用VSCode打开当前文件夹非常方便。安装完成后首次启动VSCode。你会看到一个干净的界面。为了进行Python开发我们需要安装两个核心扩展点击左侧活动栏的“扩展”图标或按CtrlShiftX。在搜索框中输入python。找到由Microsoft发布的“Python”扩展点击“安装”。这个扩展是Python开发的核心提供了智能提示、调试、格式化等所有功能。为了获得更好的代码风格和体验我建议再安装“Pylance”扩展。它同样是微软出品提供了更快的语言服务器支持代码补全和类型信息提示更强大。安装Python扩展后VSCode通常会推荐你安装Pylance。3.3 第三步创建项目并使用虚拟环境现在让我们创建一个真正的Python项目来验证环境。在你喜欢的位置比如桌面或文档文件夹新建一个文件夹命名为my_python_project。然后用VSCode打开这个文件夹文件 - 打开文件夹。创建虚拟环境这是至关重要的一步。在VSCode中你可以按CtrlShiftP打开命令面板输入Python: Create Environment...并选择。VSCode会提供几种方式对于新手选择“Venv”即可。它会让你选择解释器就选我们刚安装的Python然后自动在项目文件夹下创建一个名为.venv的文件夹里面就是独立的虚拟环境。更“硬核”一点的方法是在VSCode内置的终端里操作。点击“查看”-“终端”或按Ctrl会打开一个终端面板。确保终端路径是你的项目目录然后输入以下命令python -m venv .venv这条命令的意思是调用Python模块-mvenv在当前目录.创建一个名为.venv的虚拟环境。执行成功后你会看到项目目录下多了一个.venv文件夹。激活虚拟环境创建了环境还不够你需要“进入”这个环境。在终端中执行激活脚本# 在CMD或PowerShell中 .venv\Scripts\activate执行成功后你会发现命令提示符前面多了一个(.venv)的前缀这表示你现在终端里所有的Python和pip操作都只影响这个虚拟环境与全局环境无关。为项目选择解释器我们需要告诉VSCode在这个项目里请使用我们刚刚创建的虚拟环境中的Python。再次按CtrlShiftP输入Python: Select Interpreter并选择。在弹出的列表中你应该能看到一个路径指向./.venv/Scripts/python.exe的选项选择它。选择后VSCode左下角的状态栏会显示当前使用的Python解释器路径。3.4 第四步编写并运行你的第一个程序在VSCode左侧的资源管理器右键点击你的项目文件夹选择“新建文件”命名为hello.py。在文件中输入经典的测试代码print(Hello, World!) print(fPython版本是{__import__(sys).version})保存文件后你有多种方式运行它右键运行在编辑器中右键选择“在终端中运行Python文件”。终端命令在已激活虚拟环境的终端里输入python hello.py。使用运行按钮点击编辑器右上角的绿色三角形“运行”按钮。如果一切配置正确你将在终端看到输出Hello, World!以及当前的Python版本信息。这证明你的Python安装、VSCode配置、虚拟环境激活和解释器选择全部正确。4. VSCode高效开发配置与插件推荐4.1 核心工作流配置一个高效的开发环境离不开合理的配置。VSCode的配置保存在项目根目录的.vscode文件夹下的settings.json文件中。你可以通过命令面板CtrlShiftP输入Preferences: Open Settings (JSON)来打开用户或工作区设置。这里分享几个我必改的设置可以极大提升Python开发体验{ // 设置默认终端为PowerShell比CMD更强大 terminal.integrated.defaultProfile.windows: PowerShell, // 自动保存文件防丢失 files.autoSave: afterDelay, // Python相关设置 [python]: { // 设置默认格式化工具为autopep8 editor.defaultFormatter: ms-python.autopep8, // 保存时自动格式化代码 editor.formatOnSave: true, // 保存时自动运行代码整理如排序import语句 editor.codeActionsOnSave: { source.organizeImports: true } }, // 让Python扩展自动激活虚拟环境 python.terminal.activateEnvironment: true, // 设置Pylance为语言服务器性能更好 python.languageServer: Pylance, // 排除一些不需要在文件列表中显示的文件夹 files.exclude: { **/.git: true, **/.svn: true, **/.hg: true, **/CVS: true, **/.DS_Store: true, **/.venv: true, // 隐藏虚拟环境文件夹 **/__pycache__: true // 隐藏Python缓存文件夹 } }4.2 必备插件扩展清单除了官方的Python和Pylance以下插件能让你如虎添翼Code Runner一键运行多种语言的代码片段非常方便快速测试。Python Indent专门优化Python的缩进显示让代码结构一目了然。Python Docstring Generator自动生成函数或类的文档字符串模板遵循PEP 257规范。GitLens如果你使用Git进行版本控制这个插件将Git blame、历史记录等功能深度集成到代码行中超级强大。Rainbow CSV如果你需要处理数据这个插件会用不同颜色高亮CSV文件的列防止看错行。TODO Highlight高亮代码中的注释标签如TODO、FIXME便于追踪待办事项。安装插件只需在扩展商店搜索名称即可。记住插件不是越多越好按需安装保持编辑器的流畅性。4.3 调试功能详解VSCode的调试功能是它的王牌之一。对于Python配置非常简单。在你的项目文件夹下VSCode会自动生成或你可以手动在.vscode文件夹下创建launch.json文件。一个基础的配置如下{ version: 0.2.0, configurations: [ { name: Python: 调试当前文件, type: python, request: launch, program: ${file}, console: integratedTerminal, justMyCode: true } ] }这样你可以在代码行号左侧点击设置断点红色圆点然后按F5或点击调试侧边栏的绿色箭头启动调试。程序会在断点处暂停你可以查看变量值、单步执行是排查复杂Bug的利器。5. 常见问题与故障排除实录即使按照步骤操作你也可能会遇到一些问题。下面是我在帮助他人和自身实践中总结的常见“坑”及其解决方案。5.1 Python安装与PATH相关问题问题1命令行输入python或pip提示“不是内部或外部命令”。原因PATH环境变量未正确配置。解决确认安装时是否勾选了“Add Python to PATH”。如果忘了按上文“注意”部分手动添加。手动添加后必须关闭所有已打开的CMD或PowerShell窗口重新打开一个新的环境变量才会生效。检查添加的路径是否正确特别是Scripts文件夹路径。问题2有多个Python版本如系统自带的Python 2.7和刚装的Python 3.11命令行输入python启动的是旧版本。原因PATH中旧版本的路径在新版本之前。解决调整PATH变量中两个Python路径的顺序将新版本的路径上移。更推荐使用py启动器。在命令行中你可以用py -3来启动最新的Python 3用py -3.11启动特定的3.11版本。pip也可以用py -m pip来调用这样可以精确控制版本。5.2 VSCode与虚拟环境相关问题问题3VSCode终端前面没有(.venv)前缀或者运行代码时提示模块未安装尽管你已经用pip安装了。原因终端未激活虚拟环境或者VSCode使用的解释器不是虚拟环境中的。解决检查终端状态在VSCode终端中手动执行.venv\Scripts\activate激活环境。检查VSCode解释器确认左下角状态栏或命令面板Python: Select Interpreter中选择的是虚拟环境路径./.venv/...。检查集成终端设置确保设置中python.terminal.activateEnvironment: true已启用这样VSCode新建终端时会自动激活环境。问题4在VSCode中导入自己写的模块比如from my_module import something时出现红色波浪线提示“无法解析导入”。原因VSCode的Python扩展特别是Pylance没有正确识别你的项目根目录作为源代码搜索路径。解决在项目根目录创建一个名为.env的文件注意前面有点内容为PYTHONPATH./。这会将当前目录加入Python路径。或者在VSCode的settings.json中为当前工作区添加{ python.analysis.extraPaths: [./] }更规范的做法是使用pip install -e .以“可编辑模式”安装你自己的项目但这需要你的项目有setup.py或pyproject.toml文件。5.3 包管理pip相关问题问题5使用pip install安装包时速度极慢甚至超时失败。原因默认的pip源PyPI服务器在国外。解决永久更换为国内镜像源速度会有质的飞跃。在用户目录C:\Users\你的用户名\下创建一个名为pip的文件夹在里面创建文件pip.ini内容如下[global] index-url https://pypi.tuna.tsinghua.edu.cn/simple trusted-host pypi.tuna.tsinghua.edu.cn这里使用的是清华大学镜像源你也可以替换为阿里云https://mirrors.aliyun.com/pypi/simple/或中科大https://pypi.mirrors.ustc.edu.cn/simple/。问题6安装某些需要编译的包如psycopg2、mysqlclient时失败提示缺少C/C编译工具。原因这些包包含C语言扩展需要在本地编译。解决最佳方案寻找预编译的轮子wheel文件。到 这个非官方网站 查找对应Python版本和系统位数的.whl文件下载然后用pip install 下载的文件名.whl安装。终极方案安装Microsoft Visual C Build Tools。这是一个完整的C编译环境可以解决绝大多数编译问题。5.4 其他实用技巧与心得关于项目结构即使是小项目也建议建立清晰的目录结构。例如将主程序放在项目根目录自定义模块放在一个单独的包如src/或mypackage/里配置文件、数据、文档分门别类。这会让你的项目更专业也便于管理。使用requirements.txt在虚拟环境中使用pip freeze requirements.txt命令可以将当前环境安装的所有包及其版本导出到一个文件中。把这个文件分享给他人或部署到服务器时对方只需执行pip install -r requirements.txt就能一键复现完全相同的环境。这是团队协作和项目部署的标配。善用VSCode的代码片段Snippets如果你发现自己经常重复输入某段代码结构比如一个类的定义、一个Flask路由可以为其创建一个代码片段以后只需输入几个缩写字符就能自动补全极大提升编码效率。

相关新闻

AI 轻松出图之后,我慌了三个月

AI 轻松出图之后,我慌了三个月

今年开春,组里一个实习生把用 AI 生成的几张概念图甩群里,那质感、那光影,和我们熬两晚画的差不多。我当时盯着屏幕,手心有点冒汗。我做视觉设计六年,第一反应是:完了,我这手艺是不是快不值钱了…

2026/10/18 7:21:07 阅读更多 →
Flutter开发鸿蒙应用实战:加油站优惠查询系统

Flutter开发鸿蒙应用实战:加油站优惠查询系统

1. 为什么选择Flutter开发鸿蒙应用?在移动应用开发领域,跨平台框架Flutter与华为鸿蒙操作系统的结合,正在开辟一条全新的技术路径。作为一名经历过多次跨平台项目实战的开发者,我发现这种组合在特定场景下展现出惊人的优势。Flutt…

2026/10/18 19:34:18 阅读更多 →
2026年6月医学SCI润色公司合规评测:全周期科研服务避坑指南

2026年6月医学SCI润色公司合规评测:全周期科研服务避坑指南

一、正规SCI论文辅导机构的“硬核”判断标准评测显示,2026年国内医学科研服务市场的机构数量已突破1200家,其中具备完整合规资质、可提供全链条服务的机构占比不足17%。大量中小机构以“保录用”“快速见刊”为噱头诱导用户,最终导致32%的医学…

2026/10/18 19:34:21 阅读更多 →

最新新闻

基于Socket的TCP Linux聊天系统实战:从协议设计到文件传输

基于Socket的TCP Linux聊天系统实战:从协议设计到文件传输

做过Linux网络编程的人,大概率都自己动手写过聊天程序。但很多人的练习项目在“能收发字符串”这一步就停了,再往上基本就是查文档、复制粘贴、能跑就算完。这里想完整分享一个我自己完整搭过的项目,基于Socket的TCP协议Linux聊天系统&#x…

2026/10/19 14:17:57 阅读更多 →
CLI驱动的Git原生代码审查工具open-code-review

CLI驱动的Git原生代码审查工具open-code-review

1. 项目概述:这不是又一个“AI写代码”玩具,而是一套可嵌入开发流程的轻量级代码审查协作者 “open-code-review”这个名字乍一听像某个开源项目仓库名,但拆开来看——open(开放)、code(代码)、…

2026/10/19 14:17:57 阅读更多 →
2025 CTF备赛必备:BurpSuite与IDA核心使用要点

2025 CTF备赛必备:BurpSuite与IDA核心使用要点

2025年的CTF备赛圈里,话题绕不开两个名字:BurpSuite和IDA。前者是Web方向拦截分析流量的标准装备,后者是逆向方向打开二进制文件的默认入口。只要你想认真打CTF,这两把刀迟早要上手。不过我这两年带队伍、带新人的过程中发现一个很…

2026/10/19 14:17:57 阅读更多 →
open-code-review:面向人脑认知的可解释代码审查系统

open-code-review:面向人脑认知的可解释代码审查系统

1. 项目概述:这不是又一个代码审查工具,而是一次对“人如何协作理解代码”的重新建模 “open-code-review”这个名字乍听像某个开源项目的代号,但拆开来看——open,不是指“开源”,而是指“开放性”;code r…

2026/10/19 14:17:57 阅读更多 →
Docker容器化Python环境:Dockerfile与compose最佳实践

Docker容器化Python环境:Dockerfile与compose最佳实践

说实话,做了这么多年开发,每次新同事入职、或者我自己换台电脑重新拉项目,最头疼的都不是业务代码本身,而是Python环境那一堆破事:解释器版本对不上、某个包编译报错缺系统库、全局site-packages被各种项目依赖搅成一锅…

2026/10/19 14:17:57 阅读更多 →
基于Atlas的MySQL读写分离与分库分表实践指南

基于Atlas的MySQL读写分离与分库分表实践指南

1. 项目整体设计与适用场景解析1.1 这个项目到底解决什么问题做后端开发的人应该都有这种感觉:业务量一上来,数据库最先扛不住。单库单表跑到一定量级,写入并发和查询延迟都会明显恶化,这时候大部分人第一反应是上缓存、做读写分离…

2026/10/19 14:16:37 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →