怎么用VSCode运行代码_VSCode代码执行与调试教程

VSCode中运行和调试代码的核心方法包括:1. 使用内置终端手动执行命令,灵活但需重复输入;2. 通过Code Runner插件一键运行,快捷但功能有限;3. 借助语言扩展与调试器深度调试,支持断点、变量监控、调用堆栈等高级功能,适合复杂项目。配置时需安装对应语言扩展、设置解释器路径、合理使用settings.json和tasks.json,并正确配置launch.json以实现高效开发。常见问题如“Command not found”多因环境变量或工作目录错误,乱码问题源于编码不一致,模块导入错误通常因依赖未安装或环境不匹配,调试失败常因launch.json配置不当,逐一排查可解决。

怎么用vscode运行代码_vscode代码执行与调试教程

VSCode作为一款轻量级但功能强大的代码编辑器,其代码运行和调试能力是许多开发者选择它的关键。简单来说,在VSCode里跑代码,你可以通过内置终端手动执行命令,也可以利用方便的Code Runner插件一键运行,而更深入的调试则依赖于各语言的专属扩展和强大的调试器。选择哪种方式,往往取决于你项目的复杂度和具体需求。

解决方案

在VSCode中运行和调试代码,主要有以下几种核心方法,它们各有侧重,适用于不同的场景:

1. 利用内置终端手动执行代码

这是最基础也最灵活的方式。VSCode集成了功能完备的终端,你可以像在系统命令行一样,直接输入命令来运行你的代码。

如何打开: 通常通过快捷键

Ctrl +
(反引号)

或者点击菜单栏

终端(Terminal) -> 新建终端(New Terminal)

执行示例:Python:

python your_script.py

Node.js (JavaScript):

node your_script.js

C/C++ (编译后运行):

gcc your_code.c -o your_code

(编译)

./your_code

(运行)Java (编译后运行):

javac YourClass.java

(编译)

java YourClass

(运行)优点: 灵活性高,完全掌控执行过程,适合各种语言和复杂的命令行参数。缺点: 每次运行都需要手动输入命令,对于频繁测试的小片段代码可能稍显繁琐。

2. 使用Code Runner扩展一键运行

对于那些只想快速看到代码执行结果、不涉及复杂配置或调试的场景,Code Runner扩展简直是神器。

安装: 在VSCode扩展市场搜索 “Code Runner” 并安装。如何使用: 安装后,你会在编辑器的右上角看到一个“运行”按钮(类似播放图标),或者在代码文件内右键选择

Run Code

,也可以使用快捷键

Ctrl+Alt+N

优点: 极其方便快捷,一键执行,结果直接显示在输出窗口。缺点: 主要用于简单的代码执行,对复杂的项目结构、命令行参数传递或交互式输入支持有限,也不提供调试功能。

3. 借助语言扩展和内置调试器进行深度调试

这是VSCode最强大的功能之一,也是开发复杂应用时不可或缺的工具。它允许你逐行执行代码,检查变量状态,跟踪程序流程。

核心概念:

语言扩展: 每种语言通常都有官方或社区提供的VSCode扩展(如Python扩展、JavaScript/TypeScript扩展、C/C++扩展等),它们提供了语言支持、智能感知、格式化以及最重要的——调试器集成。

launch.json

文件: 这是VSCode调试器的配置文件,定义了如何启动你的应用程序进行调试。它位于工作区根目录下的

.vscode

文件夹中。断点 (Breakpoints): 在代码行号旁边点击即可设置,程序执行到此处会暂停。

调试步骤:

安装语言扩展: 根据你的编程语言,在扩展市场安装对应的扩展。配置

launch.json

打开调试视图(左侧边栏的虫子图标)。点击齿轮图标,选择你的环境(例如

Python

Node.js

)。VSCode会自动生成一个基础的

launch.json

文件。根据需要修改配置,例如指定启动文件 (

program

)、传递参数 (

args

)、设置工作目录 (

cwd

) 等。示例 (Python):

{    "version": "0.2.0",    "configurations": [        {            "name": "Python: Current File",            "type": "python",            "request": "launch",            "program": "${file}", // 调试当前打开的文件            "console": "integratedTerminal", // 在集成终端运行            "justMyCode": true        }    ]}

示例 (Node.js):

{    "version": "0.2.0",    "configurations": [        {            "type": "node",            "request": "launch",            "name": "Launch Program",            "skipFiles": [                "/**"            ],            "program": "${workspaceFolder}/app.js" // 调试项目根目录下的app.js        }    ]}

设置断点: 在你想要程序暂停的代码行号左侧点击,会出现一个红点。启动调试: 在调试视图中选择正确的配置,然后点击绿色的“播放”按钮(或按

F5

)。调试操作: 程序会在断点处暂停。你可以使用调试控制面板上的按钮进行操作:

F10

(Step Over): 逐行执行,跳过函数内部。

F11

(Step Into): 进入函数内部执行。

Shift+F11

(Step Out): 跳出当前函数。

F5

(Continue): 继续执行直到下一个断点或程序结束。

Shift+F5

(Stop): 停止调试。查看变量: 在调试视图的“变量”面板中,你可以实时查看当前作用域内所有变量的值。

优点: 能够深入理解代码执行逻辑,定位和修复bug效率极高,支持条件断点、日志点、观察表达式等高级功能。

缺点: 需要一定的配置学习成本,特别是

launch.json

的编写。

如何配置VSCode以高效运行特定语言代码?

配置VSCode以适应不同语言的高效运行,其实就是为你的开发环境“量身定制”一套工具链。这不仅仅是安装一个扩展那么简单,更涉及到对解释器/编译器的管理、环境路径的设置,甚至是工作区特定的行为调整。我个人觉得,这一步做得好不好,直接影响了后续开发的流畅度。

1. 安装核心语言扩展:这是第一步,也是最重要的一步。比如,如果你写Python,就得安装“Python”扩展;写JavaScript/TypeScript,那“JavaScript and TypeScript Language Features”是内置的,但你可能还需要“ESLint”、“Prettier”等来辅助。C++开发者则需要“C/C++”扩展。这些扩展不仅提供语法高亮、智能感知,更重要的是它们集成了语言服务器和调试器。

2. 配置语言解释器/编译器路径:很多时候,VSCode并不知道你的Python解释器装在哪里,或者你的Java JDK路径在哪。

Python: 安装Python扩展后,它通常会提示你选择一个Python解释器。你可以在VSCode底部的状态栏点击当前显示的Python版本,或者通过

Ctrl+Shift+P

搜索

Python: Select Interpreter

来指定。如果你用虚拟环境(我强烈推荐这么做),这里选择虚拟环境里的解释器非常关键。Node.js: Node.js通常是全局安装的,VSCode通常能自动找到。但如果你有多个Node.js版本管理工具(如

nvm

),确保终端中激活的是你想要的版本。C/C++: 你需要确保系统上安装了GCC、Clang或MSVC等编译器。VSCode的C/C++扩展会尝试找到它们。如果找不到,你需要手动配置

c_cpp_properties.json

文件,指定编译器的路径。Java: 安装“Extension Pack for Java”后,它会引导你设置JDK路径。

3.

settings.json

的妙用:VSCode的

settings.json

文件是你的配置中心。你可以在这里定义全局设置,也可以为特定的工作区(项目)定义局部设置。

全局设置: 影响所有项目。比如,你可以设置

files.autoSave

onFocusChange

,或者

editor.fontSize

工作区设置: 仅对当前项目生效。比如,你可能希望某个项目的Python解释器固定在特定的虚拟环境中,或者为某个项目禁用某个扩展。在

.vscode

文件夹下创建

settings.json

就可以实现。我经常用它来定义特定项目的代码格式化规则,这样团队协作时大家的代码风格就能保持一致。

4. 任务(Tasks)配置:对于一些需要编译、打包或者运行测试的场景,VSCode的任务功能非常实用。你可以通过

Ctrl+Shift+P

搜索

Tasks: Configure Task

来创建

tasks.json

文件。

示例 (编译C++):

{    "version": "2.0.0",    "tasks": [        {            "label": "build my c++ project",            "type": "shell",            "command": "g++",            "args": [                "-g",                "${file}",                "-o",                "${fileDirname}/${fileBasenameNoExtension}"            ],            "group": {                "kind": "build",                "isDefault": true            },            "problemMatcher": [                "$gcc"            ],            "detail": "Generated task for C++ build"        }    ]}

这样,你就可以通过

Ctrl+Shift+B

一键编译当前C++文件了。

配置的精髓在于,它让你能更少地去想“怎么运行”,而更多地去关注“写什么代码”。一开始可能有点摸不着头脑,但一旦掌握了,效率提升是巨大的。

调试功能在VSCode中如何发挥最大作用?

VSCode的调试功能,在我看来,是它最能体现“生产力工具”价值的地方。它不仅仅是让代码跑起来,更是让你能“看透”代码在做什么。要让调试功能发挥最大作用,我们需要跳出“F5然后等结果”的思维定式,真正去利用它的各种高级特性。

1. 深入理解断点类型:断点不只有普通断点。

条件断点 (Conditional Breakpoints): 当你只关心某个特定条件发生时的代码状态时,这个功能非常有用。右键点击断点,选择“编辑断点”,然后输入一个条件表达式。比如,在一个循环里,你可以设置

i == 100

,这样只有当

i

等于100时程序才会暂停。这比你手动点100次“下一步”要高效得多。日志点 (Logpoints): 有时候你不想程序暂停,只是想在特定位置输出一些变量的值。日志点就是为此设计的。它不会中断程序执行,而是在调试控制台输出你指定的信息。这就像在代码里加了

console.log()

print()

,但你不需要修改代码,也不需要重新启动程序。函数断点 (Function Breakpoints): 在某些语言(如JavaScript)中,你可以在函数名上设置断点,无论该函数在哪里被调用,都会暂停。异常断点 (Exception Breakpoints): 在调试视图的“断点”面板里,你可以勾选在捕获或未捕获的异常处暂停。这对于定位那些意料之外的错误非常有帮助。

2. 善用变量、监视和调用堆栈:调试时,这三个面板是你的眼睛。

变量 (Variables): 实时显示当前作用域内所有变量的值。它会随着你单步执行而动态更新。理解变量的生命周期和作用域变化,是解决bug的关键。监视 (Watch): 你可以手动添加你特别关心的变量或表达式到“监视”面板。即使这些变量不在当前作用域内,或者你需要查看一个复杂表达式的实时结果,它都能帮你。比如,你可以监视一个对象的某个深层属性,或者一个函数的返回值。调用堆栈 (Call Stack): 显示程序当前执行到的函数调用链。通过它,你可以清晰地看到程序是如何从一个函数跳到另一个函数的,这对理解程序流程和定位问题来源至关重要。我经常通过查看调用堆栈来回溯,找出哪个函数调用导致了当前的状态异常。

3.

launch.json

的高级配置:

launch.json

远不止定义一个

program

路径那么简单。

request

类型: 除了最常见的

launch

(启动并调试新进程),还有

attach

(附加到已运行的进程)。当你需要调试一个已经在运行的服务,或者一个容器内的应用时,

attach

就派上用场了。环境配置 (

env

,

envFile

): 你可以在这里设置环境变量,这对一些依赖特定环境配置的应用程序非常有用。比如数据库连接字符串、API密钥等。工作目录 (

cwd

): 确保你的程序在正确的目录下运行,特别是当你的程序需要读取相对路径文件时。多配置和复合启动 (Compound Launch): 你可以在

launch.json

中定义多个调试配置,甚至创建一个“复合启动”来同时启动并调试多个服务(比如前端和后端)。这对于微服务架构或者全栈开发来说是极其强大的功能。

4. 远程调试:当你开发的应用程序运行在虚拟机、Docker容器或者远程服务器上时,VSCode的远程调试功能就显得尤为重要。这通常需要特定的语言扩展支持,并在远程机器上安装相应的调试代理。配置过程可能略复杂,但一旦设置好,你就能像调试本地代码一样调试远程代码,大大提升了开发效率。

在我看来,调试不仅仅是找出bug,更是一种学习和理解代码运行机制的有效方式。当你一步步跟着代码走,观察变量变化,理解调用堆栈,你会对程序的内部运作有更深刻的认识。

运行代码时常见的坑和解决方案是什么?

在VSCode里运行代码,哪怕是经验丰富的开发者,也难免会遇到一些“小插曲”。这些问题往往不涉及复杂的逻辑错误,而是环境、配置或路径等基础性的“坑”。理解这些常见问题及其解决方案,能帮你省下不少抓耳挠腮的时间。

1. “Command not found”或“No such file or directory”:路径与环境配置的噩梦

问题描述: 这是最常见的错误之一。终端提示找不到你的解释器(如

Python

node

)或者找不到你试图运行的文件。深层原因:系统PATH环境变量问题: 你的操作系统没有将解释器/编译器的安装路径添加到环境变量中,导致终端无法识别这些命令。VSCode工作区路径问题: 你在终端中执行命令时,当前的工作目录不是你代码文件所在的目录,或者你的代码引用了错误的相对路径。虚拟环境未激活: 对于Python等语言,如果你使用了虚拟环境,但终端中没有激活它,那么它将找不到虚拟环境特有的库或解释器。解决方案:检查系统PATH: 确保你的编程语言解释器/编译器的安装目录已经正确添加到系统的PATH环境变量中。在Windows上,这通常在“系统属性”->“高级”->“环境变量”中设置;在macOS/Linux上,通常在

.bashrc

.zshrc

文件中配置。确认VSCode工作区: 确保你打开的是包含你代码的正确文件夹。在终端中,可以使用

pwd

(Linux/macOS) 或

cd

(Windows) 命令查看当前目录,并使用

cd

命令切换到正确的目录。激活虚拟环境: 如果使用Python虚拟环境,在VSCode终端中手动激活它(例如

source .venv/bin/activate

),或者在VSCode的Python扩展中选择正确的解释器,它通常会自动激活。检查文件路径: 确保你的代码中引用的任何文件路径都是正确的,特别是相对路径。

2. 乱码问题:编码不统一的烦恼

问题描述: 终端输出中出现无法识别的字符,或者你的代码在读取文件时出现编码错误。深层原因: 你的代码文件编码、终端编码和程序读取文件时指定的编码不一致。解决方案:统一文件编码: 尽量将所有代码文件保存为UTF-8编码。VSCode默认就是UTF-8,但如果你从其他编辑器复制过来或者下载的文件,可能不是。你可以在VSCode右下角点击编码类型(通常是“UTF-8”),然后选择“通过编码重新打开”或“通过编码保存”。设置终端编码: 确保VSCode集成终端的编码设置与你的系统终端编码一致。在

settings.json

中,可以设置

terminal.integrated.defaultProfile.windows

terminal.integrated.shellArgs.linux

等,确保终端能正确显示UTF-8字符。程序内指定编码: 在你的代码中明确指定文件读写时的编码。例如,Python中

open('file.txt', 'r', encoding='utf-8')

3. “Module not found”或“ImportError”:依赖管理不当

问题描述: 你的程序运行时提示找不到某个模块或库。深层原因:依赖未安装: 你在代码中使用了某个库,但没有通过包管理器(如

pip

npm

)安装它。安装到错误的环境: 库安装到了全局环境,而你的程序运行在虚拟环境中,或者反之。解决方案:安装缺失的依赖: 根据你的语言,使用相应的包管理器安装。例如

pip install requests

(Python) 或

npm install express

(Node.js)。确保环境一致: 如果你使用了虚拟环境,请确保你在激活虚拟环境的终端中安装了所有依赖。VSCode的Python扩展在这方面做得很好,它会根据你选择的解释器自动使用对应的包管理器。检查

requirements.txt

/

package.json

确保所有依赖都列在项目配置文件中,并定期更新。

4. 调试器无法启动/附加:

launch.json

配置错误

问题描述: 启动调试时,调试器没有按预期工作,或者报错“无法附加到进程”。深层原因:

launch.json

文件中的配置项有误,比如

program

路径不对,或者

port

冲突,或者调试器类型 (

type

) 不匹配。解决方案:仔细检查

launch.json

确保

program

字段指向正确的启动文件,

cwd

(工作目录) 设置正确。

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

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月1日 05:42:18
下一篇 2025年11月1日 05:46:50

相关推荐

  • 如何解决本地图片在使用 mask JS 库时出现的跨域错误?

    如何跨越localhost使用本地图片? 问题: 在本地使用mask js库时,引入本地图片会报跨域错误。 解决方案: 要解决此问题,需要使用本地服务器启动文件,以http或https协议访问图片,而不是使用file://协议。例如: python -m http.server 8000 然后,可以…

    2025年12月24日
    200
  • 使用 Mask 导入本地图片时,如何解决跨域问题?

    跨域疑难:如何解决 mask 引入本地图片产生的跨域问题? 在使用 mask 导入本地图片时,你可能会遇到令人沮丧的跨域错误。为什么会出现跨域问题呢?让我们深入了解一下: mask 框架假设你以 http(s) 协议加载你的 html 文件,而当使用 file:// 协议打开本地文件时,就会产生跨域…

    2025年12月24日
    200
  • 为什么在 React 组件中无法获得 Tailwind CSS 语法提示?

    为什么在 React 组件中无法获得 Tailwind CSS 语法提示? 你在 VSCode 中编写 HTML 文件时,可以正常获取 Tailwind CSS 语法提示。但当你尝试在 React 组件中编写 Tailwind CSS 时,这些提示却消失不见了。这是什么原因造成的? 解决方案 要解决…

    2025年12月24日
    000
  • 如何在 VSCode 中为 React 组件启用 Tailwind CSS 提示?

    在 vscode 中为 react 组件启用 tailwind css 提示 如果你在使用 vscode 编写 react 组件时,发现 tailwind css 提示无法正常显示,这里有一个解决方法: 安装 tailwind css intellisense 插件 这是实现代码提示的关键,确保你已…

    2025年12月24日
    200
  • Vue3 中如何将页面上的 PX 单位转换为 REM?

    vue3 下如何实现某个页面 px 自适应到 rem? 在 vue3 中,您可以在某个页面中使用 px 转 rem 的自适应功能,以免影响其他项目 ui 框架。以下是实现方法: 使用 jquery 获取页面宽度,并将其作为基准值。例如,使用 375 作为基准,您可以在页面 mounted 生命周期函…

    2025年12月24日
    000
  • 如何实现 Vue 3 项目中特定页面自适应,避免影响全局 UI 框架?

    自适应页面 px 到 rem 插件探索 在 vue 3 项目中,开发者有时需要让某个特定页面具有自适应大小,即根据不同分辨率自动调整 px 到 rem 的转换。然而,传统的 px-to-rem 插件可能会影响整个项目的 ui 框架。 为了解决这个问题,这里提供了一种利用 javascript 和 v…

    2025年12月24日
    000
  • Vue 3 页面如何实现 px to rem 自适应?

    如何在 vue 3 页面中实现 px to rem 自适应? 在 vue 项目中,有时需要让特定的页面进行 px to rem 自适应,以实现自动缩放。以下是一个可用的解决方案: 使用 javascript 获取页面宽度,并以 375px 作为基准值。例如: let appwidth = $(‘#a…

    2025年12月24日
    400
  • CSS 砌体 Catness

    css 就像技术中的其他东西一样 – 它总是在变化和发展。该领域正在进行的开发是 css 网格布局模块级别 3,也称为 css masonry 布局。 theo 制作了一段视频,介绍了它的开发方式以及苹果和谷歌就如何实施它进行的辩论。 所有这些让我很高兴尝试 css 砌体! webkit…

    好文分享 2025年12月24日
    000
  • 正则表达式在文本验证中的常见问题有哪些?

    正则表达式助力文本输入验证 在文本输入框的验证中,经常遇到需要限定输入内容的情况。例如,输入框只能输入整数,第一位可以为负号。对于不会使用正则表达式的人来说,这可能是个难题。下面我们将提供三种正则表达式,分别满足不同的验证要求。 1. 可选负号,任意数量数字 如果输入框中允许第一位为负号,后面可输入…

    2025年12月24日
    000
  • 如何解决VSCode中折叠部分的代码复制问题?

    Vscode中折叠代码的复制方法 当Vscode中的代码过多时,可以将其折叠起来以方便查看和编辑。不过,有时用户可能会发现折叠后复制代码时只复制了显示的部分,而折叠部分没有被复制。以下是如何解决此问题的方法: 使用快捷键Ctrl+C直接复制 当代码折叠时,直接使用Ctrl+C快捷键复制即可复制所有代…

    2025年12月24日
    000
  • 如何复制折叠的代码?

    Visual Studio Code 中如何复制折叠的代码? Visual Studio Code (vscode) 中,当遇到过长的代码时,为了提高可读性和简洁性,开发人员会经常使用折叠功能将代码折叠起来。然而,在折叠代码后,直接按住 Ctrl + C 复制代码时,只会复制展开的部分,而折叠的部分…

    2025年12月24日
    000
  • 如何在 VS Code 中解决折叠代码复制问题?

    解决 VS Code 折叠代码复制问题 在 VS Code 中使用折叠功能可以帮助组织长代码,但使用复制功能时,可能会遇到只复制可见部分的问题。以下是如何解决此问题: 当代码被折叠时,可以使用以下简单操作复制整个折叠代码: 按下 Ctrl + C (Windows/Linux) 或 Cmd + C …

    2025年12月24日
    000
  • 如何在 VSCode 复制折叠的代码?

    如何复制折叠的 VSCode 代码 使用 VSCode 时,代码过长可能会造成不便。在折叠代码后,发现无法正常复制折叠的部分,令人感到烦恼。本文将介绍一种解决方案,帮助你轻松复制折叠的 VSCode 代码。 问题:如何复制折叠起来的 VSCode 代码? 当你折叠代码后,直接选中复制只会复制未折叠的…

    2025年12月24日
    000
  • CSS 太棒了!

    我正在学习什么 css 赋予了页面活力。多年来,css 变得越来越强大,并且已经开始用于制作以前需要 javascript 的动画。本周我一直在研究它的一些更高级的属性。 媒体查询 媒体查询几乎已经成为新时代设备的必需品。随着智能手机的出现,通过手机消费媒体的人比任何其他设备都多。因此,网站必须在移…

    2025年12月24日
    000
  • 为什么多年的经验让我选择全栈而不是平均栈

    在全栈和平均栈开发方面工作了 6 年多,我可以告诉您,虽然这两种方法都是流行且有效的方法,但它们满足不同的需求,并且有自己的优点和缺点。这两个堆栈都可以帮助您创建 Web 应用程序,但它们的实现方式却截然不同。如果您在两者之间难以选择,我希望我在两者之间的经验能给您一些有用的见解。 在这篇文章中,我…

    2025年12月24日
    000
  • 姜戈顺风

    本教程演示如何在新项目中从头开始配置 django 和 tailwindcss。 django 设置 创建一个名为 .venv 的新虚拟环境。 # windows$ python -m venv .venv$ .venvscriptsactivate.ps1(.venv) $# macos/linu…

    2025年12月24日
    000
  • 试验 Tailwind CSS:快速指南

    tailwind css 是一个实用性优先的 css 框架,因其灵活性和易用性而在 web 开发人员中广受欢迎。 tailwind css 在 npm 上的每周下载量超过 950 万次(2024 年 8 月 5 日),显然它是 web 开发社区的最爱。在这篇博文中,我们将探讨如何在不设置本地开发环境…

    2025年12月24日
    000
  • 花 $o 学习这些编程语言或免费

    → Python → JavaScript → Java → C# → 红宝石 → 斯威夫特 → 科特林 → C++ → PHP → 出发 → R → 打字稿 []https://x.com/e_opore/status/1811567830594388315?t=_j4nncuiy2wfbm7ic…

    2025年12月24日
    000
  • 为什么前端固定定位会发生移动问题?

    前端固定定位为什么会出现移动现象? 在进行前端开发时,我们经常会使用CSS中的position属性来控制元素的定位。其中,固定定位(position: fixed)是一种常用的定位方式,它可以让元素相对于浏览器窗口进行定位,保持在页面的固定位置不动。 然而,有时候我们会遇到一个问题:在使用固定定位时…

    2025年12月24日
    000
  • 从初学到专业:掌握这五种前端CSS框架

    CSS是网站设计中重要的一部分,它控制着网站的外观和布局。前端开发人员为了让页面更加美观和易于使用,通常使用CSS框架。这篇文章将带领您了解这五种前端CSS框架,从入门到精通。 Bootstrap Bootstrap是最受欢迎的CSS框架之一。它由Twitter公司开发,具有可定制的响应式网格系统、…

    2025年12月24日
    200

发表回复

登录后才能评论
关注微信