VSCode怎么运行Python脚本_VSCode执行和调试Python代码的方法教程

答案:在VSCode中运行Python脚本需先安装Python及Python扩展,再通过命令面板选择正确的解释器,随后可点击右上角运行按钮或使用集成终端执行脚本,调试时可设置断点并利用调试控制条进行单步执行、变量监视等操作,常见问题如模块未找到、语法错误、文件路径错误等可通过检查环境配置、依赖安装和路径设置解决。

vscode怎么运行python脚本_vscode执行和调试python代码的方法教程

在VSCode里运行Python脚本,其实核心就是两件事:让VSCode知道用哪个Python解释器来执行你的代码,以及如何触发这个执行过程。最直接的方法就是利用VSCode内置的终端或者它强大的调试功能。只要你的Python环境配置得当,VSCode的Python扩展也安装了,那么无论是点击运行按钮,还是设置断点进行调试,都变得非常直观。

解决方案

要让VSCode顺利地跑起来你的Python代码,我们得先确保几个基础条件满足,然后才能谈到具体的执行和调试。

首先,你得确保系统里已经安装了Python,并且VSCode也已经装好。接着,最关键的一步是安装VSCode的“Python”扩展,这是微软官方出品的,它能提供代码补全、语法检查、调试等一系列功能。装好之后,重启一下VSCode通常是个好习惯。

运行Python脚本

立即学习“Python免费学习笔记(深入)”;

选择Python解释器: 这是第一步,也是最重要的一步。打开你的Python文件后,按

Ctrl+Shift+P

(macOS:

Cmd+Shift+P

) 调出命令面板,输入“Python: Select Interpreter”,然后从列表中选择你想要使用的Python版本。比如,你可能装了Python 3.8、3.9,或者某个虚拟环境里的Python,这里要选对。选错了解释器,轻则代码跑不起来,重则依赖包找不到,那可就麻烦了。

通过编辑器直接运行:

当你打开一个

.py

文件时,VSCode右上角通常会出现一个小的“播放”按钮(一个三角形)。点击它,VSCode就会在集成终端里运行你的脚本。或者,你可以在编辑器里右键点击,选择“Run Python File in Terminal”。这两种方式本质上都是在VSCode的集成终端里执行

python your_script.py

命令。

在集成终端中手动运行:

打开VSCode的集成终端(

Ctrl+``

或者从“View”菜单选择“Terminal”)。确保终端的当前工作目录是你Python脚本所在的目录。如果不是,用

cd

命令切换过去。直接输入

python your_script.py

并回车。这种方式的好处是,你可以带上各种命令行参数,或者在执行前先做一些环境设置。

调试Python代码

调试是找出代码问题、理解程序流程的利器。VSCode的Python调试功能非常强大。

设置断点: 在你想要暂停代码执行的行号左侧点击一下,会出现一个红点,这就是断点。程序运行到这里就会停下来。

启动调试:

点击VSCode左侧活动栏的“运行和调试”图标(一个带有播放按钮的虫子)。如果你是第一次调试,它会提示你选择一个调试配置。最简单的是选择“Python File”,它会直接运行当前打开的Python文件并进入调试模式。如果你需要更复杂的配置,比如传递命令行参数、设置环境变量、或者调试特定的模块,你可以选择“Add Configuration…”来生成一个

launch.json

文件。在这个文件里,你可以自定义各种调试选项。

调试控制:

程序在断点处暂停后,VSCode顶部会出现一个调试控制条:继续 (Continue): 运行到下一个断点或程序结束。单步跳过 (Step Over): 执行当前行,如果当前行是一个函数调用,则跳过函数内部,直接到下一行。单步调试 (Step Into): 如果当前行是一个函数调用,则进入函数内部进行调试。单步跳出 (Step Out): 从当前函数中跳出,回到调用它的地方。重启 (Restart): 重新启动调试会话。停止 (Stop): 停止调试。在调试过程中,你可以在左侧的“变量”面板查看当前作用域内的所有变量值,在“监视”面板添加你特别关心的变量,在“调用堆栈”面板查看函数调用链。这些工具能帮你清晰地了解程序运行时的状态。

如何确保VSCode正确识别我的Python环境?

这真的是个老生常谈的问题,但它又是如此关键,以至于我每次帮朋友解决VSCode Python问题时,第一步都是问:“你选对解释器了吗?”很多时候,代码没法运行,或者依赖包找不到,根源就在这里。

VSCode识别Python环境主要依赖于它安装的Python扩展。这个扩展会扫描你的系统,尝试找到所有已安装的Python解释器,包括那些在虚拟环境(如

venv

conda

)里的。

选择解释器的正确姿势:

命令面板大法: 最稳妥的方法是使用

Ctrl+Shift+P

(macOS:

Cmd+Shift+P

) 调出命令面板,然后输入“Python: Select Interpreter”。VSCode会列出它找到的所有Python解释器。这里你得仔细看看,确保选中了你项目所需的那个。比如,你的项目可能依赖Python 3.9,但你误选了系统自带的Python 3.8,那肯定会出问题。

虚拟环境的优先级: 如果你的项目使用了虚拟环境(强烈推荐!),那么在项目文件夹内打开VSCode时,Python扩展通常会智能地检测到这个虚拟环境,并将其推荐为默认解释器。如果没自动选上,你也可以通过上述命令面板手动选择。选择虚拟环境的好处是,项目的依赖包都安装在这个独立的环境里,不会污染全局Python,也不会与其他项目的依赖冲突。

settings.json

的幕后: 虽然现在VSCode更推荐通过UI来选择解释器,但了解其背后的机制也很有用。当你选择一个解释器后,VSCode会在你的工作区(

.vscode

文件夹下的

settings.json

)或用户设置中更新

"python.defaultInterpreterPath"

(或者更旧的

"python.pythonPath"

)这个配置项。这个路径就是VSCode用来启动Python进程的解释器路径。如果你遇到解释器选择上的怪异行为,检查这个文件有时能发现端倪。

可能遇到的坑:

找不到解释器: 确保Python已经正确安装,并且其路径被添加到了系统的环境变量PATH中。如果你使用的是Windows,安装Python时勾选“Add Python to PATH”非常重要。虚拟环境未激活: 有时候你虽然选择了虚拟环境的解释器,但终端里显示的还是全局Python。这通常是因为VSCode的终端默认没有“激活”虚拟环境。你可以在终端里手动运行虚拟环境的激活脚本(例如

source .venv/bin/activate

..venvScriptsactivate

),或者在

launch.json

中配置

"justMyCode": false

来确保调试器能正确进入虚拟环境。多版本Python冲突: 尤其是在macOS或Linux上,系统可能自带一个老版本的Python。确保你的VSCode指向的是你手动安装的、更新的Python版本。

VSCode调试Python时,有哪些高级技巧可以提升效率?

调试不仅仅是设置断点、单步执行那么简单。VSCode提供了很多高级调试功能,用好了能大大提升我们排查问题和理解代码的效率。在我看来,这些技巧才是真正让VSCode调试变得强大的地方。

条件断点 (Conditional Breakpoints):

你有没有遇到过一个循环执行几千次,但你只关心某个特定条件下的迭代?普通断点会让你点到手软。右键点击断点,选择“Edit Breakpoint”,然后输入一个Python表达式。只有当这个表达式评估为

True

时,断点才会触发。比如,

i == 100

或者

my_variable is None

。这简直是调试大数据量或复杂逻辑时的救星。

日志点 (Logpoints):

有时候你不想暂停程序,只想在某个点打印一些变量值,但又不想改动代码加

print()

。右键点击断点,选择“Add Logpoint”。输入一个字符串,里面可以包含用大括号包起来的Python表达式,比如

Value of x: {x}, y: {y}

。程序执行到这里时,它会在调试控制台打印这条信息,但不会暂停执行。这比频繁地添加和删除

print

语句优雅多了。

变量观察 (Watch Expressions):

在调试过程中,左侧的“变量”面板会显示当前作用域内的所有变量。但如果你有很多变量,或者只想关注某个表达式的值,比如

len(my_list)

,那么“监视”面板就派上用场了。在“监视”面板中点击加号,输入你想观察的变量名或表达式。它会实时更新这些值,即使它们不在当前作用域的直接显示列表中。

修改变量值 (Changing Variable Values):

调试时发现某个变量值不对,想临时改一下看看后续逻辑?在“变量”面板中,你可以直接双击一个变量的值,然后输入新值并回车。这能让你在不重启程序的情况下,快速测试不同的输入或状态。

自定义

launch.json

:深入调试配置

当你需要更精细的控制,比如传递命令行参数、设置环境变量、或者调试特定的模块时,

launch.json

是你的好朋友。点击调试面板顶部的齿轮图标,选择“Python File”,VSCode会为你生成一个

launch.json

文件。你可以添加多个配置(

configurations

数组),每个配置都有自己的

name

type

request

launch

用于启动,

attach

用于附加到已运行进程)、

program

(要运行的脚本)、

args

(命令行参数)、

cwd

(工作目录)、

env

(环境变量)等。例如,调试一个需要特定参数的脚本:

{    "name": "Run Script with Args",    "type": "python",    "request": "launch",    "program": "${file}", // 当前打开的文件    "args": ["--input", "data.txt", "--output", "result.csv"],    "console": "integratedTerminal"}

再比如,调试一个web应用,需要设置环境变量:

{    "name": "Debug Flask App",    "type": "python",    "request": "launch",    "module": "flask",    "env": {        "FLASK_APP": "app.py",        "FLASK_ENV": "development"    },    "args": ["run", "--no-debugger", "--no-reloader"],    "jinja": true,    "console": "integratedTerminal"}

通过

launch.json

,你可以为不同的场景创建不同的调试配置,避免每次调试都手动设置。

远程调试 (Remote Debugging):

如果你的Python代码运行在远程服务器、Docker容器或WSL中,你仍然可以使用VSCode进行调试。这通常涉及到在远程环境安装

debugpy

库,并在

launch.json

中配置一个

attach

类型的调试配置。例如,在远程机器上运行

python -m debugpy --listen 5678 --wait-for-client your_script.py

,然后在VSCode中配置:

{    "name": "Python: Remote Attach",    "type": "python",    "request": "attach",    "port": 5678,    "host": "localhost" // 或者远程服务器的IP}

这能让你在本地VSCode享受完整的调试体验,仿佛代码就在本地运行一样。

运行Python脚本时,常见的错误和解决方案是什么?

在VSCode里跑Python,虽然大多数时候都很顺滑,但总会遇到那么几个让你挠头的错误。这些错误往往不是VSCode本身的问题,而是环境、路径或代码逻辑上的疏忽。我个人就没少踩这些坑,所以总结一些常见的错误和对应的解决方案,希望能帮你少走弯路。

ModuleNotFoundError: No module named 'xxx'

问题描述: 这是最常见的错误之一,意味着Python解释器找不到你代码中

import

的某个模块或包。解决方案:检查依赖是否安装: 你是不是忘了

pip install xxx

?或者你的项目依赖文件

requirements.txt

里有,但你没运行

pip install -r requirements.txt

解释器选择是否正确: 确保VSCode当前使用的Python解释器是你安装了这些依赖的那个。比如,你可能在全局Python里装了

requests

,但VSCode却在用一个没有

requests

的虚拟环境。参考上面“如何确保VSCode正确识别我的Python环境?”部分。

sys.path

问题: 有时候是因为Python找不到你的模块文件。确保你的模块文件在Python的搜索路径中。如果你的脚本需要导入同目录下的其他模块,通常是没问题的。但如果是子目录或者其他地方,你可能需要调整

PYTHONPATH

环境变量,或者确保你的项目结构符合Python的包规范。

SyntaxError: invalid syntax

IndentationError: expected an indented block

问题描述: Python对语法和缩进要求非常严格。

SyntaxError

通常是写错了关键字、括号不匹配等;

IndentationError

则是因为缩进不一致(比如混用了空格和Tab,或者缩进层级不对)。解决方案:Linter提示: VSCode的Python扩展集成了Pylint、Flake8等Linter工具。它们会在你写代码的时候就标出这些语法错误,通常红色的波浪线或下划线很显眼。注意看这些提示。仔细检查代码: 尤其是在复制粘贴代码后,很容易引入隐藏的字符或错误的缩进。VSCode可以帮助你显示空白字符(

Ctrl+Shift+P

-> “Toggle Render Whitespace”)。统一缩进: 在VSCode底部状态栏,你可以看到当前文件的缩进方式(比如“Spaces: 4”)。确保整个项目都使用统一的缩进方式。

FileNotFoundError: [Errno 2] No such file or directory: 'xxx.txt'

问题描述: 你的Python脚本尝试打开或访问一个文件,但系统找不到这个文件。解决方案:相对路径与绝对路径: 当你用相对路径(比如

data.txt

)访问文件时,Python会从当前工作目录开始查找。确认当前工作目录: 在脚本中打印

import os; print(os.getcwd())

来查看程序运行时认为的当前工作目录是哪里。调整工作目录: 如果你的脚本在

/project/src/main.py

,而数据文件在

/project/data/data.txt

,那么直接在

main.py

里写

open('data/data.txt')

可能就会出错,因为相对路径是相对于

main.py

所在的目录。你可以:将VSCode的终端工作目录切换到

/project

。在

launch.json

中设置

cwd

字段,比如

"cwd": "${workspaceFolder}"

。使用

os.path.join(os.path.dirname(__file__), '..', 'data', 'data.txt')

来构建相对于脚本文件本身的路径。文件路径拼写: 检查文件名和路径是否完全正确,包括大小写。

PermissionError: [Errno 13] Permission denied: 'xxx.txt'

问题描述: 你的Python脚本没有权限读取或写入某个文件或目录。解决方案:检查文件/目录权限:操作系统层面,确保你的用户账户对目标文件或目录有读写权限。在Linux/macOS上,可以使用

ls -l

chmod

命令;在Windows上,右键文件/文件夹 -> 属性 -> 安全。避免在系统关键目录操作: 尽量不要尝试在系统盘根目录、程序文件目录等受保护的区域进行文件操作。临时解决方案(不推荐长期): 在Windows上,有时以管理员身份运行VSCode可以绕过权限问题,但这通常表明你的程序设计或文件存放位置有问题,不是一个好的长期方案。

解释器未找到或VSCode无法启动Python进程

问题描述: VSCode报告无法找到Python解释器,或者在尝试运行/调试时报错说无法启动Python进程。解决方案:Python是否正确安装并添加到PATH: 确保Python本身已经正确安装,并且其可执行文件(

python.exe

python3

)的路径在系统的环境变量PATH中。VSCode中重新选择解释器: 即使你之前选择过,有时环境变动后,VSCode可能会“忘记”。重新通过

Ctrl+Shift+P

-> “Python: Select Interpreter”来选择一次。重启VSCode: 有时候,简单的重启可以解决一些VSCode内部状态同步的问题。检查VSCode日志: 可以在“Help”菜单中找到“Toggle Developer Tools”,在Console里查看是否有更详细的错误信息。

这些错误虽然烦人,但大多数都有明确的解决方案。关键是理解错误信息背后的含义,并系统性地排查。一个良好的开发习惯,比如使用虚拟环境、定期检查依赖、注意文件路径,可以大大减少这些问题的发生。

以上就是VSCode怎么运行Python脚本_VSCode执行和调试Python代码的方法教程的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/17537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
wps office怎么进行翻译-wps office进行翻译的方法
上一篇 2025年12月2日 21:16:28
Hadoop系列之一:大数据存储及处理平台产生的背景
下一篇 2025年12月2日 21:16:31

相关推荐

  • 修复Django电商项目中AJAX过滤产品列表图片不显示问题

    在Django电商项目中,当使用AJAX动态加载过滤后的产品列表时,常遇到图片无法正常显示的问题。这通常是由于前端模板中图片加载方式(如data-setbg属性结合JavaScript库)与AJAX动态内容更新机制不兼容所致。解决方案是直接在AJAX返回的HTML中使用标准的标签来渲染图片,确保浏览…

    2026年5月10日
    000
  • 开源免费PHP工具 PHP开发效率提升利器

    推荐开源免费PHP开发工具以提升效率:VS Code、Sublime Text轻量高效,PhpStorm专业强大;调试用Xdebug、Kint、Ray;依赖管理选Composer;代码质量工具包括PHPStan、Psalm、PHP_CodeSniffer;数据库管理可用%ignore_a_1%MyA…

    2026年5月10日
    000
  • Matplotlib 地图中多类型图例的创建与优化

    Matplotlib 地图中多类型图例的创建与优化Matplotlib 地图中多类型图例的创建与优化Matplotlib 地图中多类型图例的创建与优化Matplotlib 地图中多类型图例的创建与优化

    本教程旨在解决matplotlib地图可视化中,如何在一个图例中同时展示颜色块(如区域分类)和自定义标记(如特定兴趣点)的问题。文章详细介绍了当传统`patch`对象无法正确显示标记时,如何利用`matplotlib.lines.line2d`创建标记图例句柄,并将其与颜色块图例句柄合并,从而生成一…

    2026年5月10日 用户投稿
    100
  • Golang JSON序列化:控制敏感字段暴露的最佳实践

    本教程探讨golang中如何高效控制结构体字段在json序列化时的可见性。当需要将包含敏感信息的结构体数组转换为json响应时,通过利用`encoding/json`包提供的结构体标签,特别是`json:”-“`,可以轻松实现对特定字段的忽略,从而避免敏感数据泄露,确保api…

    2026年5月10日
    000
  • 利用海象运算符简化条件赋值:Python教程与最佳实践

    本文旨在探讨Python中海象运算符(:=)在条件赋值场景下的应用。通过对比传统if/else语句与海象运算符,以及条件表达式,分析海象运算符在简化代码、提高可读性方面的优势与局限性。并通过具体示例,展示如何在列表推导式等场景下合理使用海象运算符,同时强调其潜在的复杂性及替代方案,帮助开发者更好地掌…

    2026年5月10日
    100
  • 怎么在PHP代码中实现图片上传功能_PHP图片上传功能实现与安全处理教程

    首先创建含enctype的HTML表单,再用PHP接收文件,检查目录、移动临时文件,验证类型与大小,生成唯一文件名,并调整php.ini限制以确保上传成功。 如果您尝试在PHP项目中添加图片上传功能,但服务器无法正确接收或保存文件,则可能是由于表单配置、文件处理逻辑或安全限制的问题。以下是实现该功能…

    2026年5月10日
    100
  • 比特币新手教程 比特币交易平台有哪些

    比特币是一种去中心化的数字货币,基于区块链技术实现点对点交易,具有匿名性、有限发行和不可篡改等特点;新手可通过交易所购买,P2P交易获得比特币,常用平台包括Binance、OKX和Huobi;交易流程包括注册账户、实名认证、绑定支付方式、充值法币并下单购买,可选择市价单或限价单;比特币存储方式有交易…

    2026年5月10日
    000
  • vscode上怎么运行html_vscode上运行html步骤【指南】

    首先保存文件为.html格式,再通过浏览器或Live Server插件打开预览;推荐安装Live Server实现本地服务器运行与实时刷新,提升开发体验。 在 VS Code 上运行 HTML 文件并不需要复杂的配置,只需几个简单步骤即可预览页面效果。VS Code 本身是一个代码编辑器,不直接运行…

    2026年5月10日
    100
  • RichHandler与Rich Progress集成:解决显示冲突的教程

    在使用rich库的`richhandler`进行日志输出并同时使用`progress`组件时,可能会遇到显示错乱或溢出问题。这通常是由于为`richhandler`和`progress`分别创建了独立的`console`实例导致的。解决方案是确保日志处理器和进度条组件共享同一个`console`实例…

    2026年5月10日
    000
  • 修复点击时按钮抖动:CSS垂直对齐实践

    本文探讨了在Web开发中,交互式按钮(如播放/暂停按钮)在点击时发生意外垂直位移的问题。通过分析CSS样式变化对元素布局的影响,我们发现这是由于按钮不同状态下的边框样式和内边距改变,以及默认的垂直对齐行为共同作用所致。核心解决方案是利用CSS的vertical-align属性,将其设置为middle…

    2026年5月10日
    000
  • 使用 Jupyter Notebook 进行探索性数据分析

    Jupyter Notebook通过单元格实现代码与Markdown结合,支持数据导入(pandas)、清洗(fillna)、探索(matplotlib/seaborn可视化)、统计分析(describe/corr)和特征工程,便于记录与分享分析过程。 Jupyter Notebook 是进行探索性…

    2026年5月10日
    000
  • 前端缓存策略与JavaScript存储管理

    根据数据特性选择合适的存储方式并制定清晰的读写与清理逻辑,能显著提升前端性能;合理运用Cookie、localStorage、sessionStorage、IndexedDB及Cache API,结合缓存策略与定期清理机制,可在保证用户体验的同时避免安全与性能隐患。 前端缓存和JavaScript存…

    2026年5月10日
    100
  • HTML5网页如何实现手势操作 HTML5网页移动端交互的处理技巧

    首先利用原生touch事件实现滑动判断,再通过preventDefault解决滚动冲突,接着引入Hammer.js处理复杂手势,最后通过优化点击区域、避免事件冲突和增加视觉反馈提升体验。 在移动端浏览器中,HTML5网页可以通过触摸事件实现手势操作,提升用户体验。虽然原生JavaScript提供了基…

    2026年5月10日
    000
  • 深入理解 Express.js 中 next() 参数的作用与中间件机制

    本文深入探讨 express.js 中间件函数中的 `next()` 参数。它负责将控制权传递给请求-响应周期中的下一个中间件或路由处理程序。文章将详细解释 `next()` 的工作原理、中间件的注册与执行顺序,以及不正确使用 `next()` 可能导致请求挂起的风险,并通过代码示例和实际应用场景,…

    2026年5月10日
    000
  • Python命令怎样使用profile分析脚本性能 Python命令性能分析的基础教程

    使用Python的cProfile模块分析脚本性能最直接的方式是通过命令行执行python -m cProfile your_script.py,它会输出每个函数的调用次数、总耗时、累积耗时等关键指标,帮助定位性能瓶颈;为进一步分析,可将结果保存为文件python -m cProfile -o ou…

    2026年5月10日
    000
  • Python递归函数追踪与性能考量:以序列打印为例

    本文深入探讨了Python中一种递归打印序列元素的方法,并着重演示了如何通过引入缩进参数来有效追踪递归函数的执行流程和参数变化。通过实际代码示例,文章揭示了递归调用可能带来的潜在性能开销,特别是对调用栈空间的需求,以及Python默认递归深度限制可能导致的错误,为读者提供了理解和优化递归算法的实用见…

    2026年5月10日
    000
  • python中zip函数详解 python多序列压缩zip函数应用场景

    zip函数的应用场景包括:1) 同时遍历多个序列,2) 合并多个列表的数据,3) 数据分析和科学计算中的元素运算,4) 处理csv文件,5) 性能优化。zip函数是一个强大的工具,能够简化代码并提高处理多个序列时的效率。 在Python中,zip函数是一个非常有用的工具,它能够将多个可迭代对象打包成…

    2026年5月10日
    000
  • JavaScript 动态菜单点击高亮效果实现教程

    本教程详细介绍了如何使用 JavaScript 实现动态菜单的点击高亮功能。通过事件委托和状态管理,当用户点击菜单项时,被点击项会高亮显示(绿色),同时其他菜单项恢复默认样式(白色)。这种方法避免了不必要的DOM操作,提高了性能和代码可维护性,确保了无论点击方向如何,功能都能稳定运行。 动态菜单高亮…

    2026年5月10日
    200
  • c++如何实现UDP通信_c++基于UDP的网络通信示例

    UDP通信基于套接字实现,适用于实时性要求高的场景。1. 流程包括创建套接字、绑定地址(接收方)、发送(sendto)与接收(recvfrom)数据、关闭套接字;2. 服务端监听指定端口,接收客户端消息并回传;3. 客户端发送消息至服务端并接收响应;4. 跨平台需处理Winsock初始化与库链接,编…

    2026年5月10日
    000
  • 谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    使用谷歌浏览器的开发者工具截图步骤:1. 按ctrl+shift+i(windows/linux)或cmd+option+i(mac)打开开发者工具。2. 点击右上角三个点,选择”更多工具”,再选择”截图”。3. 选择截取整个页面。推荐的谷歌浏览器扩展…

    2026年5月10日 用户投稿
    100

发表回复

登录后才能评论
关注微信