在VSCode中设置Qt编写环境

news/2025/9/19 10:25:33/文章来源:https://www.cnblogs.com/yfceshi/p/19100249

在VSCode中设置Qt开发环境

下面是在VSCode中配置Qt开发环境的详细步骤,针对你的macOS环境:

1. 安装必要的VSCode扩展

首先需要安装以下扩展:

  • C/C++ (Microsoft)
  • CMake Tools (Microsoft)
  • Qt Tools (tonka3000)

2. 修改launch.json添加Qt调试配置

打开 .vscode/launch.json 文件并添加以下配置:

launch.json

{
"configurations": [
{
"name": "C/C++: clang 构建和调试活动文件",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "C/C++: clang 生成活动文件"
},
{
"name": "Qt: Debug ShuxueApp",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build-ShuxueApp-Desktop_Qt_5_12_10_clang_64bit-Debug/ShuxueApp.app/Contents/MacOS/ShuxueApp",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [
{
"name": "DYLD_LIBRARY_PATH",
"value": "/Users/admin/Qt/5.12.10/clang_64/lib"
}
],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "Qt: Build ShuxueApp"
}
],
"version": "2.0.0"
}

3. 修改tasks.json添加Qt构建任务

更新 .vscode/tasks.json 文件添加Qt相关任务:

tasks.json

{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: clang 生成活动文件",
"command": "/usr/bin/clang",
"args": [
"-fcolor-diagnostics",
"-fansi-escape-codes",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "调试器生成的任务。"
},
{
"label": "Qt: Build ShuxueApp",
"type": "shell",
"command": "qmake && make",
"options": {
"cwd": "${workspaceFolder}"
},
"group": "build",
"problemMatcher": [
"$gcc"
]
},
{
"label": "Qt: Clean",
"type": "shell",
"command": "make clean",
"options": {
"cwd": "${workspaceFolder}"
},
"group": "build",
"problemMatcher": []
}
],
"version": "2.0.0"
}

4. 创建/更新settings.json添加Qt设置

修改 .vscode/settings.json 文件:

settings.json

{
"git.ignoreLimitWarning": true,
"qttools.qmakePath": "/Users/admin/Qt/5.12.10/clang_64/bin/qmake",
"qttools.cmakePath": "/Applications/CMake.app/Contents/bin/cmake",
"C_Cpp.default.includePath": [
"${workspaceFolder}/**",
"/Users/admin/Qt/5.12.10/clang_64/include/**"
],
"C_Cpp.default.defines": [],
"C_Cpp.default.compilerPath": "/usr/bin/clang",
"C_Cpp.default.cStandard": "c11",
"C_Cpp.default.cppStandard": "c++11"
}

5. 创建c_cpp_properties.json配置IntelliSense

创建新文件 .vscode/c_cpp_properties.json

c_cpp_properties.json

Apply

{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**",
"/Users/admin/Qt/5.12.10/clang_64/include/**"
],
"defines": [],
"macFrameworkPath": [
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c11",
"cppStandard": "c++11",
"intelliSenseMode": "macos-clang-x64"
}
],
"version": 4
}

6. 设置环境变量

为了确保VSCode能够正确找到Qt的库和工具,在你的 .bash_profile 或 .zshrc 中添加以下环境变量:

bash
export PATH="/Users/admin/Qt/5.12.10/clang_64/bin:$PATH"
export DYLD_LIBRARY_PATH="/Users/admin/Qt/5.12.10/clang_64/lib:$DYLD_LIBRARY_PATH"

添加后运行 source ~/.bash_profile 或 source ~/.zshrc 使更改生效。

7. 构建和调试Qt项目

  1. 按 Command+Shift+B 选择 Qt: Build ShuxueApp 构建项目
  2. 按 F5 选择 Qt: Debug ShuxueApp 调试项目

注意事项

  • 确保将上述配置中的Qt路径 /Users/admin/Qt/5.12.10/clang_64/ 替换为你实际的Qt安装路径
  • 如果使用CMake而不是qmake构建项目,可以相应调整tasks.json中的构建命令
  • 对于QML文件的语法高亮和自动完成,Qt Tools扩展提供了很好的支持

完成以上配置后,你应该可以在VSCode中舒适地进行Qt开发了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/907693.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析:【Day 52 】Linux-Jenkins

深入解析:【Day 52 】Linux-Jenkinspre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monac…

本土开发者如何选择代码管理工具?Gitee与GitHub深度对比解析

本土开发者如何选择代码管理工具?Gitee与GitHub深度对比解析 在数字化转型浪潮下,代码管理工具已成为开发者日常工作的必备基础设施。面对国内外众多选择,新手开发者往往陷入选择困难。本文将从本土化开发视角,深入…

MES系统核心组件

核心总览 在半导体工厂中,MES(Manufacturing Execution System,制造执行系统) 是最高层的指挥中枢,它负责管理生产线上从投料开始到成品产出的全部作业流程。而其他各种“XX Server”则是MES这个大脑指挥下的专业…

易基因:多组学整合分析揭示DNA甲基化与基因组改变在肿瘤进化中的协同驱动机制|Nat Genet/IF29重磅

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 近日,伦敦大学学院癌症研究所Nnennaya Kanu和弗朗西斯克里克研究所Peter Van Loo团队合作在国际遗传学Top期刊《自然遗传学》(Nature Genetics)发…

AI 视频模型大比拼(2025年7月版):价格、效果与分辨率

AI 视频模型大比拼(2025年7月版):价格、效果与分辨率pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

为什么芯片行业需要私有化部署软件?

在芯片研发过程中,每天产生的大量设计数据、测试结果和知识产权,构成了企业的核心竞争优势。一旦这些数据泄露,不仅可能导致数百万美元的研发投入付诸东流,更可能让企业在全球竞争中失去领先地位。 近年来,芯片行…

C++ std::string

C++ 标准库中的 std::string 是处理字符串的核心类,封装了字符串的存储、管理和操作,相比 C 风格的 char* 更安全、易用。 1、基本概念 1.1 基本特性 std::string 定义在 <string> 头文件中(属于 std 命名空间…

MathType数学公式编辑器v7.9.1

MathType全球最受欢迎的专业数学公式编辑器工具软件,可视化公式编辑器轻松创建数学方程式和化学公式。兼容Office Word、PowerPoint、Pages、Keynote、Numbers 等700多种办公软件,用于编辑数学试卷、书籍、报刊、论文…

git常见冲突场景及解决办法 - 指南

git常见冲突场景及解决办法 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&…

有关字节的基础知识

什么是字节位(bit):是计算机 内部数据 存储的最小单位,11001100是一个八位二进制数。字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写B来表示。字符:是指计算机中使用的字母、数字、字和符号 1bit表…

strip去符号前后对比

strip去符号前后对比 strip 是 binutils 中用于给二进制文件(可执行程序、静态库、动态库)去符号信息的工具。它只修改符号表,不碰指令内容,因此去除符号后的二进制文件中,各部分指令和原来是完全一一对应的,各s…

2025 ICPC网络赛第一场 L cover

给一个长度为 \(n\) 的序列 \(\{a_n\}\) 和 \(m\) 个操作,其中第 \(i\) 个操作是把区间 \([l_i,r_i]\) 都赋值为 \(c_i\)。 现在按顺序遍历每个操作,每个操作可执行可不执行。 最大化序列的颜色段数,即 \(1+\sum\li…

实用指南:22 C++11 初始化新姿势:{} 统一初始化(省等号)+initializer_list 底层解析

实用指南:22 C++11 初始化新姿势:{} 统一初始化(省等号)+initializer_list 底层解析2025-09-19 10:07 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important;…

第九届电气、机械与计算机工程国际学术会议(ICEMCE 2025)

第九届电气、机械与计算机工程国际学术会议(ICEMCE 2025) 2025 9th International Conference on Electrical, Mechanical and Computer Engineering ICEMCE系列会议属一年一度的国际学术会议,因其影响力及重要性,…

第六届大数据、人工智能与物联网工程国际会议(ICBAIE 2025)

第六届大数据、人工智能与物联网工程国际会议(ICBAIE 2025) 2025 6th International Conference on Big Data, Artificial Intelligence and Internet of Things Engineering 第六届大数据、人工智能与物联网工程国际…

文件自动同步软件用哪个好,高效选择指南

内容概要 在数字化办公日益普及的今天,文件自动同步软件已成为提升团队协作效率的重要工具。面对市场上琳琅满目的选择,“文件自动同步软件用哪个好”成为了许多企业IT管理者和个人用户共同关注的问题。本指南将深入…

【初赛】指针 - Slayer

指针的性质是理解其行为和使用方式的核心,主要包括以下几个方面: 1. 指针是存储地址的变量 指针的本质是一个变量,但其存储的不是数据本身,而是另一个变量(或内存单元)的内存地址。例如:int a = 10; int* p = &…

国产化FPGA-2050-基于JFMK50T4(XC7A50T)的核心板

基于JFMK50T4(XC7A50T)的核心板(IEB-PS-3051-邮票孔) 一、核心板概述板卡基于JFMK50T4国产化FPGA芯片,设计的一款工业级核心板,板卡集成主芯片、电源、DDR、配置芯片,大大减轻客户的扩展开发困难。丰富的IO和…

hbase学习2

一、表管理操作创建表 hbase create 表名, 列族1, 列族2, ...示例:创建student表,有info和score两个列族 create student, info, score 2. 查看所有表 hbase list 3. 查看表描述 hbase describe 表名 describe stude…

exl 表格手动导入mysql

exl 表格手动导入mysql数据如,有一份exl表格如何整理成导入的sql A 35 =A2&B2 ="""&"&C2&"&"""&"," ="""&if("…