01_vs_QT工具安装和使用

一、常用软件下载地址

1. QT安装方法

  • QT从5.15 开始之后不在提供离线安装包,改用在线安装的方法,使用国内的镜像源安装

1753581261030

2. Visual Studio 安装

  • 离线安装包太大还是改用在线安装的方式

    1753581734779

  • ed2k://|file|cn_visual_studio_professional_2015_with_update_3_x86_x64_dvd_8923256.iso|7745202176|DD35D3D169D553224BE5FB44E074ED5E|/

  • KEY:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

3. Ubuntu1804下载:

4. Centos 7.x版本下载:

二、常用软件配置

2.1 VIM

命令 语义 缩写
set number 代码显示行号 set nu
set nonumber 取消行号显示 set nonu
syntax on 关键词高亮显示 -
set cindent C语法自动缩进 set ci
set autoindent 新行自动缩进 set ai
set shiftwidth=4 缩进宽度4 set sw=4
set tabstop=4 tab键宽度4 set ts=4
set softtabstop=4 制表符宽度4 set st=4
set nobackup 不备份 -
  • vim 常用命令
    • shift+v+g+= 命令格式化
    • ctrl+v+g+shift+i+//+esc 多行注释
    • vsp 文件名称 分割窗口
    • ctr+w 切换分割窗口
    • exit 退出分割窗口
    • !ls 在vim 下使用linux系统命令

2.2 windows 修改CMD字符编码

  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
    • 创建string value选项 autorun
      • 添加 chcp 65001

1753599021613

三、常用集成开发环境的配置和使用

3.1 QT使用

3.1.1 颜色配置

  • tools-> options

    1753596874126

3.1.2 字符编码配置

  • 使用系统的默认字符编码格式

1753596957948

3.1.3 一个工程项目中创建多个c文件

  • 一个项目工程中只能包含一个mian函数入口

1753597779794

  • 需要编译的程序就改为main ,其他代码文件改为main1

    1753597896715

3.1.4 QT代码格式化

3.1.4.1 安装Beautifier插件

  • 点击帮助->关于插件

    1753793418449

  • 勾选Beautifier

    1753793561212

3.1.4.2 clang-format的配置

  • 编辑>Preferences>美化器->自动格式化

    1753793652716

  • 下载单独版clang-format.exe

    1753794118444

  • 添加clang-format.exe

    1753794238724

  • 添加自定义配置

    1753794273567

  • 自定义个人样式

    Language:        Cpp
    # BasedOnStyle:  Google
    AccessModifierOffset: -4
    AlignAfterOpenBracket: DontAlign
    AlignConsecutiveMacros: true
    AlignConsecutiveAssignments: false
    AlignConsecutiveDeclarations: false
    AlignEscapedNewlines: Left
    AlignOperands:   true
    AlignTrailingComments: true
    AllowAllArgumentsOnNextLine: true
    AllowAllConstructorInitializersOnNextLine: true
    AllowAllParametersOfDeclarationOnNextLine: true
    AllowShortBlocksOnASingleLine: false
    AllowShortCaseLabelsOnASingleLine: false
    AllowShortFunctionsOnASingleLine: InlineOnly
    AllowShortLambdasOnASingleLine: All
    AllowShortIfStatementsOnASingleLine: false
    AllowShortLoopsOnASingleLine: false
    AlwaysBreakAfterDefinitionReturnType: None
    AlwaysBreakAfterReturnType: None
    AlwaysBreakBeforeMultilineStrings: false
    AlwaysBreakTemplateDeclarations: Yes
    BinPackArguments: true
    BinPackParameters: true
    BraceWrapping:
      AfterCaseLabel:  false
      AfterClass:      true
      AfterControlStatement: true
      AfterEnum:       true
      AfterFunction:   true
      AfterNamespace:  true
      AfterObjCDeclaration: false
      AfterStruct:     true
      AfterUnion:      true
      AfterExternBlock: false
      BeforeCatch:     false
      BeforeElse:      true
      IndentBraces:    false
      SplitEmptyFunction: true
      SplitEmptyRecord: true
      SplitEmptyNamespace: true
    BreakBeforeBinaryOperators: None
    BreakBeforeBraces: Custom
    BreakBeforeInheritanceComma: false
    BreakInheritanceList: BeforeColon
    BreakBeforeTernaryOperators: true
    BreakConstructorInitializersBeforeComma: false
    BreakConstructorInitializers: BeforeColon
    BreakAfterJavaFieldAnnotations: false
    BreakStringLiterals: true
    ColumnLimit:     160
    CommentPragmas:  '^ IWYU pragma:'
    CompactNamespaces: false
    ConstructorInitializerAllOnOneLineOrOnePerLine: false
    ConstructorInitializerIndentWidth: 4
    ContinuationIndentWidth: 4
    Cpp11BracedListStyle: false
    DerivePointerAlignment: false
    DisableFormat:   false
    ExperimentalAutoDetectBinPacking: false
    FixNamespaceComments: true
    ForEachMacros:
      - foreach
      - Q_FOREACH
      - BOOST_FOREACH
    IncludeBlocks:   Regroup
    IncludeCategories:
      - Regex:           '^<ext/.*\.h>'
        Priority:        2
      - Regex:           '^<.*\.h>'
        Priority:        1
      - Regex:           '^<.*'
        Priority:        2
      - Regex:           '.*'
        Priority:        3
    IncludeIsMainRegex: '([-_](test|unittest))?$'
    IndentCaseLabels: false
    IndentPPDirectives: None
    IndentWidth:     4
    IndentWrappedFunctionNames: false
    JavaScriptQuotes: Leave
    JavaScriptWrapImports: true
    KeepEmptyLinesAtTheStartOfBlocks: false
    MacroBlockBegin: ''
    MacroBlockEnd:   ''
    MaxEmptyLinesToKeep: 1
    NamespaceIndentation: All
    ObjCBinPackProtocolList: Never
    ObjCBlockIndentWidth: 4
    ObjCSpaceAfterProperty: false
    ObjCSpaceBeforeProtocolList: true
    PenaltyBreakAssignment: 2
    PenaltyBreakBeforeFirstCallParameter: 1
    PenaltyBreakComment: 300
    PenaltyBreakFirstLessLess: 120
    PenaltyBreakString: 1000
    PenaltyBreakTemplateDeclaration: 10
    PenaltyExcessCharacter: 1000000
    PenaltyReturnTypeOnItsOwnLine: 200
    PointerAlignment: Right
    RawStringFormats:
      - Language:        Cpp
        Delimiters:
          - cc
          - CC
          - cpp
          - Cpp
          - CPP
          - 'c++'
          - 'C++'
        CanonicalDelimiter: ''
        BasedOnStyle:    google
      - Language:        TextProto
        Delimiters:
          - pb
          - PB
          - proto
          - PROTO
        EnclosingFunctions:
          - EqualsProto
          - EquivToProto
          - PARSE_PARTIAL_TEXT_PROTO
          - PARSE_TEST_PROTO
          - PARSE_TEXT_PROTO
          - ParseTextOrDie
          - ParseTextProtoOrDie
        CanonicalDelimiter: ''
        BasedOnStyle:    google
    ReflowComments:  true
    SortIncludes:    false
    SortUsingDeclarations: true
    SpaceAfterCStyleCast: false
    SpaceAfterLogicalNot: false
    SpaceAfterTemplateKeyword: true
    SpaceBeforeAssignmentOperators: true
    SpaceBeforeCpp11BracedList: false
    SpaceBeforeCtorInitializerColon: true
    SpaceBeforeInheritanceColon: true
    SpaceBeforeParens: ControlStatements
    SpaceBeforeRangeBasedForLoopColon: true
    SpaceInEmptyParentheses: false
    SpacesBeforeTrailingComments: 1
    SpacesInAngles:  false
    SpacesInContainerLiterals: true
    SpacesInCStyleCastParentheses: false
    SpacesInParentheses: false
    SpacesInSquareBrackets: false
    Standard:        Cpp11
    StatementMacros:
      - Q_UNUSED
      - QT_REQUIRE_VERSION
    TabWidth:        4
    UseTab:          Never
    
  • 自定义样式说明

    Language:        Cpp
    # BasedOnStyle:  Google
     
    AccessModifierOffset: -4
    # 访问修饰符(public, protected, private)相对于类的缩进偏移量。负值表示向左缩进。
     
    AlignAfterOpenBracket: Align
    # 在左括号后对齐参数或元素。
     
    AlignConsecutiveMacros: true
    # 对齐连续的宏定义。
     
    AlignConsecutiveAssignments: false
    # 对齐连续的赋值语句。
     
    AlignConsecutiveDeclarations: false
    # 对齐连续的声明语句。
     
    AlignEscapedNewlines: Left
    # 对齐转义换行符的位置。
     
    AlignOperands:   true
    # 对齐操作符两边的操作数。
     
    AlignTrailingComments: true
    # 对齐行尾注释。
     
    AllowAllArgumentsOnNextLine: true
    # 允许所有函数参数换行到下一行。
     
    AllowAllConstructorInitializersOnNextLine: true
    # 允许所有构造函数初始化列表换行到下一行。
     
    AllowAllParametersOfDeclarationOnNextLine: true
    # 允许所有声明的参数换行到下一行。
     
    AllowShortBlocksOnASingleLine: false
    # 禁止将短代码块放在单行。
     
    AllowShortCaseLabelsOnASingleLine: false
    # 禁止将短的case标签放在单行。
     
    AllowShortFunctionsOnASingleLine: InlineOnly
    # 仅允许内联函数放在单行。
     
    AllowShortLambdasOnASingleLine: All
    # 允许所有短lambda表达式放在单行。
     
    AllowShortIfStatementsOnASingleLine: false
    # 禁止将短的if语句放在单行。
     
    AllowShortLoopsOnASingleLine: false
    # 禁止将短的循环放在单行。
     
    AlwaysBreakAfterDefinitionReturnType: None
    # 定义返回类型后不强制换行。
     
    AlwaysBreakAfterReturnType: None
    # 声明返回类型后不强制换行。
     
    AlwaysBreakBeforeMultilineStrings: false
    # 多行字符串前不强制换行。
     
    AlwaysBreakTemplateDeclarations: Yes
    # 模板声明始终换行。
     
    BinPackArguments: true
    # 将函数参数尽可能放在同一行。
     
    BinPackParameters: true
    # 将函数参数尽可能放在同一行。
     
    BraceWrapping:
      AfterCaseLabel:  false
      # 在case标签之后不换行。
      AfterClass:      true
      # 在类声明之后换行。
      AfterControlStatement: false
      # 在控制语句之后不换行。
      AfterEnum:       true
      # 在枚举之后换行。
      AfterFunction:   true
      # 在函数之后换行。
      AfterNamespace:  false
      # 在命名空间之后不换行。
      AfterObjCDeclaration: false
      # 在Objective-C声明之后不换行。
      AfterStruct:     true
      # 在结构体之后换行。
      AfterUnion:      true
      # 在联合体之后换行。
      AfterExternBlock: false
      # 在外部块之后不换行。
      BeforeCatch:     false
      # 在catch之前不换行。
      BeforeElse:      false
      # 在else之前不换行。
      IndentBraces:    false
      # 不缩进大括号。
      SplitEmptyFunction: true
      # 将空函数分成多行。
      SplitEmptyRecord: true
      # 将空记录分成多行。
      SplitEmptyNamespace: true
      # 将空命名空间分成多行。
     
    BreakBeforeBinaryOperators: None
    # 在二元操作符之前不强制换行。
     
    BreakBeforeBraces: Custom
    # 自定义大括号换行样式。
     
    BreakBeforeInheritanceComma: false
    # 在继承列表中的逗号之前不换行。
     
    BreakInheritanceList: BeforeColon
    # 在继承列表的冒号之前换行。
     
    BreakBeforeTernaryOperators: true
    # 在三元操作符之前换行。
     
    BreakConstructorInitializersBeforeComma: false
    # 在构造函数初始化列表中的逗号之前不换行。
     
    BreakConstructorInitializers: BeforeColon
    # 在构造函数初始化列表的冒号之前换行。
     
    BreakAfterJavaFieldAnnotations: false
    # 在Java字段注解之后不换行。
     
    BreakStringLiterals: true
    # 拆分字符串字面量到多行。
     
    ColumnLimit:     80
    # 每行代码的字符限制为80个。
     
    CommentPragmas:  '^ IWYU pragma:'
    # 注释Pragmas正则表达式。
     
    CompactNamespaces: false
    # 不使用紧凑命名空间格式。
     
    ConstructorInitializerAllOnOneLineOrOnePerLine: false
    # 构造函数初始化列表的格式,false表示允许分行。
     
    ConstructorInitializerIndentWidth: 4
    # 构造函数初始化列表的缩进宽度。
     
    ContinuationIndentWidth: 4
    # 续行的缩进宽度。
     
    Cpp11BracedListStyle: false
    # C++11大括号初始化列表的样式。
     
    DerivePointerAlignment: false
    # 不推导指针对齐方式。
     
    DisableFormat:   false
    # 不禁用格式化。
     
    ExperimentalAutoDetectBinPacking: false
    # 不使用实验性的自动检测BinPacking。
     
    FixNamespaceComments: true
    # 修正命名空间的注释。
     
    ForEachMacros:
      - foreach
      - Q_FOREACH
      - BOOST_FOREACH
    # 自定义的forEach宏。
     
    IncludeBlocks:   Regroup
    # 包含的头文件块重新分组。
     
    IncludeCategories:
      - Regex:           '^<ext/.*\.h>'
        Priority:        2
      - Regex:           '^<.*\.h>'
        Priority:        1
      - Regex:           '^<.*'
        Priority:        2
      - Regex:           '.*'
        Priority:        3
    # 包含文件的优先级类别。
     
    IncludeIsMainRegex: '([-_](test|unittest))?$'
    # 主文件包含正则表达式。
     
    IndentCaseLabels: false
    # 不缩进case标签。
     
    IndentPPDirectives: None
    # 预处理指令不缩进。
     
    IndentWidth:     4
    # 缩进宽度为4。
     
    IndentWrappedFunctionNames: false
    # 函数名称不缩进。
     
    JavaScriptQuotes: Leave
    # 保持JavaScript引号样式。
     
    JavaScriptWrapImports: true
    # 包装JavaScript导入。
     
    KeepEmptyLinesAtTheStartOfBlocks: false
    # 不保留块开始的空行。
     
    MacroBlockBegin: ''
    MacroBlockEnd:   ''
    # 宏块开始和结束标记。
     
    MaxEmptyLinesToKeep: 1
    # 保留最多一行空行。
     
    NamespaceIndentation: None
    # 命名空间不缩进。
     
    ObjCBinPackProtocolList: Never
    # Objective-C协议列表不打包。
     
    ObjCBlockIndentWidth: 4
    # Objective-C块的缩进宽度。
     
    ObjCSpaceAfterProperty: false
    # Objective-C属性之后不加空格。
     
    ObjCSpaceBeforeProtocolList: true
    # Objective-C协议列表之前加空格。
     
    PenaltyBreakAssignment: 2
    # 赋值语句换行的惩罚。
     
    PenaltyBreakBeforeFirstCallParameter: 1
    # 第一个函数调用参数之前换行的惩罚。
     
    PenaltyBreakComment: 300
    # 注释换行的惩罚。
     
    PenaltyBreakFirstLessLess: 120
    # 第一个<<操作符换行的惩罚。
     
    PenaltyBreakString: 1000
    # 字符串换行的惩罚。
     
    PenaltyBreakTemplateDeclaration: 10
    # 模板声明换行的惩罚。
     
    PenaltyExcessCharacter: 1000000
    # 超过字符限制的惩罚。
     
    PenaltyReturnTypeOnItsOwnLine: 200
    # 返回类型换行的惩罚。
     
    PointerAlignment: Right
    # 指针对齐方式为右对齐。
     
    RawStringFormats:
      - Language:        Cpp
        Delimiters:
          - cc
          - CC
          - cpp
          - Cpp
          - CPP
          - 'c++'
          - 'C++'
        CanonicalDelimiter: ''
        BasedOnStyle:    google
      - Language:        TextProto
        Delimiters:
          - pb
          - PB
          - proto
          - PROTO
        EnclosingFunctions:
          - EqualsProto
          - EquivToProto
          - PARSE_PARTIAL_TEXT_PROTO
          - PARSE_TEST_PROTO
          - PARSE_TEXT_PROTO
          - ParseTextOrDie
          - ParseTextProtoOrDie
        CanonicalDelimiter: ''
        BasedOnStyle:    google
    # 原始字符串格式的设置。
     
    ReflowComments:  true
    # 重新排列注释。
     
    SortIncludes:    false
    # 不对包含文件排序。
     
    SortUsingDeclarations: true
    # 对using声明进行排序。
     
    SpaceAfterCStyleCast: false
    # C风格强制转换后不加空格。
     
    SpaceAfterLogicalNot: false
    # 逻辑非操作符后不加空格。
     
    SpaceAfterTemplateKeyword: true
    # template关键字后加空格。
     
    SpaceBeforeAssignmentOperators: true
    # 赋值操作符之前加空格。
     
    SpaceBeforeCpp11BracedList: false
    # C++11大括号初始化列表之前不加空格。
     
    SpaceBeforeCtorInitializerColon: true
    # 构造函数初始化列表的冒号之前加空格。
     
    SpaceBeforeInheritanceColon: true
    # 继承冒号之前加空格。
     
    SpaceBeforeParens: ControlStatements
    # 控制语句前加空格。
     
    SpaceBeforeRangeBasedForLoopColon: true
    # 基于范围的for循环冒号之前加空格。
     
    SpaceInEmptyParentheses: false
    # 空括号中不加空格。
     
    SpacesBeforeTrailingComments: 1
    # 行尾注释前保留一个空格。
     
    SpacesInAngles:  false
    # 尖括号内不加空格。
     
    SpacesInContainerLiterals: true
    # 容器字面量中加空格。
     
    SpacesInCStyleCastParentheses: false
    # C风格强制转换的括号内不加空格。
     
    SpacesInParentheses: false
    # 括号内不加空格。
     
    SpacesInSquareBrackets: false
    # 方括号内不加空格。
     
    Standard:        Cpp11
    # C++标准设置为C++11。
     
    StatementMacros:
      - Q_UNUSED
      - QT_REQUIRE_VERSION
    # 语句宏。
     
    TabWidth:        4
    # 制表符宽度为4。
     
    UseTab:          Never
    # 从不使用制表符,使用空格代替。
    

3.1.4.3 格式化当前代码

  • 工具>美化器>ClangFotmat>格式化当前文件

1753796699754

3.1.4.3 设置快捷键

  • 编辑>Preferences>环境>键盘

1753793042872

3.1.4.4 设置代码自动换行

image-20250809175539720

3.1.4.5 设置代码自动提示

  • Help->about plugins ->clangcodemode

image-20250809175617542

3.1.5 代码自动换行

  • Display
    • enable text wrapping

image-20250824144132796

3.1.6 快捷键添加头文件包含代码

  • 创建代码片段

    • 工具 → 选项 → 文本编辑器 → 片段

image-20250824145225403

3.2 visual studio 2019安装配置

3.2.1 安装

1753028238055

3.2.2 代码管理器配置

  • 快捷键自动初始化编辑预备代码

3.2.2.1 打开代码管理器

image-20250810221518505

3.2.2.2 代码管理器C语言文件创建

image-20250810221722796

  • 编辑文件内容

    <?xml version="1.0" encoding="utf-8"?>
    <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    	<CodeSnippet Format="1.0.0">
    		<Header>
    			<Title>#1</Title>
    			<Shortcut>#1</Shortcut>
    			<Description>c语言main函数</Description>
    			<Author>Microsoft Corporation</Author>
    			<SnippetTypes>
    				<SnippetType>Expansion</SnippetType>
    				<SnippetType>SurroundsWith</SnippetType>
    			</SnippetTypes>
    		</Header>
    		<Snippet>
    			<Declarations>
    				<Literal>
    					<ID>expression</ID>
    					<ToolTip>要计算的表达式</ToolTip>
    					<Default>true</Default>
    				</Literal>
    			</Declarations>
    			<Code Language="cpp"><![CDATA[#define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
     
    int main()
    {
     
    	$selected$$end$
     
    	system("pause");
    	return EXIT_SUCCESS;
    }]]>
    			</Code>
    		</Snippet>
    	</CodeSnippet>
    </CodeSnippets>
    

3.2.2.3 代码管理器C++语言文件创建

image-20250810221749052

  • 编辑文件内容

    <?xml version="1.0" encoding="utf-8"?>
    <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    	<CodeSnippet Format="1.0.0">
    		<Header>
    			<Title>#2</Title>
    			<Shortcut>#2</Shortcut>
    			<Description>c++语言main函数</Description>
    			<Author>Microsoft Corporation</Author>
    			<SnippetTypes>
    				<SnippetType>Expansion</SnippetType>
    				<SnippetType>SurroundsWith</SnippetType>
    			</SnippetTypes>
    		</Header>
    		<Snippet>
    			<Declarations>
    				<Literal>
    					<ID>expression</ID>
    					<ToolTip>要计算的表达式</ToolTip>
    					<Default>true</Default>
    				</Literal>
    			</Declarations>
    			<Code Language="cpp">
            <![CDATA[#define _CRT_SECURE_NO_WARNINGS
    #include<iostream>
    using namespace std;
     
    int main()
    {
    	
    	$selected$$end$
     
    	system("pause");
    	return 0;
    }]]>
    			</Code>
    		</Snippet>
    	</CodeSnippet>
    </CodeSnippets>
    

3.3.3 安装主题

3.3.3.1 管理扩展

  • 安装Color Theme Editor for Visual Studio 2019

image-20250824145624435

  • 安装NightOwl主题

3.3.3.2 使用主题

  • 选择主题面板

image-20250824145953504

3.3 QT和VS快捷键

3.3.1 通用编辑快捷键

功能 Qt Creator Visual Studio
保存文件 Ctrl + S Ctrl + S
撤销 Ctrl + Z Ctrl + Z
重做 Ctrl + Shift + Z Ctrl + Y
复制 Ctrl + C Ctrl + C
剪切 Ctrl + X Ctrl + X
粘贴 Ctrl + V Ctrl + V
全选 Ctrl + A Ctrl + A
查找 Ctrl + F Ctrl + F
替换 Ctrl + R Ctrl + H
行注释/取消注释 Ctrl + / Ctrl + K, Ctrl + C / Ctrl + K, Ctrl + U
快速复制一行 ctrl+alt+⬇

3.3.2 代码导航

功能 Qt Creator Visual Studio
跳转到定义 F2Ctrl + 点击 F12
返回上一个位置 Alt + ← Ctrl + - (减号)
前进到下一个位置 Alt + → Ctrl + Shift + -
查找所有引用 Ctrl + Shift + U Shift + F12
打开文件 Ctrl + K Ctrl + , (搜索文件)
切换头文件/源文件 F4 Ctrl + K, Ctrl + O (需插件)

3.3.3 调试相关

功能 Qt Creator Visual Studio
开始调试 F5 F5
继续运行 F5 F5
单步进入 F11 F11
单步跳过 F10 F10
单步跳出 Shift + F11 Shift + F11
添加/删除断点 F9 F9
查看变量值 悬停或调试窗口 悬停或调试窗口

3.3.4 代码生成与重构

功能 Qt Creator Visual Studio
自动补全 Ctrl + Space Ctrl + Space
生成函数定义 Alt + Enter (快速修复) Ctrl + . (快速操作)
重命名符号 Ctrl + Shift + R F2
格式化代码 Ctrl + I Ctrl + K, Ctrl + D
提取为函数/变量 需手动操作 Ctrl + R, Ctrl + M

3.3.5 窗口管理

功能 Qt Creator Visual Studio
切换输出面板 Alt + 1-4 Ctrl + Alt + O
切换项目视图 Alt + 0 Ctrl + Alt + L
全屏模式 Ctrl + Shift + F11 Shift + Alt + Enter
拆分编辑器窗口 Ctrl + E, 2 Ctrl + \

3.3.6 Qt Creator 特有快捷键

  1. 设计模式:
    • 切换设计/编辑视图:F3
    • 预览 UI 设计:Alt + Shift + R
  2. Qt 信号槽:
    • 跳转到槽函数:Alt + Enter (在信号上)
  3. 项目构建:
    • 构建当前项目:Ctrl + B
    • 运行:Ctrl + R

3.3.7 Visual Studio 特有快捷键

  1. 解决方案管理:
    • 生成解决方案:F7
    • 重新生成:Ctrl + Alt + F7
  2. 多光标操作:
    • 添加光标:Alt + 点击
    • 块选择:Shift + Alt + 方向键
  3. Git 集成:
    • 提交更改:Ctrl + Shift + G

3.3.8 总结

  • Qt Creator:更适合 Qt 开发,快捷键设计简洁,与 Qt 框架深度集成(如信号槽跳转)。
  • Visual Studio:功能更全面,支持复杂项目管理和多语言开发(如 C#、C++),快捷键更丰富但需记忆组合键。

建议根据开发环境自定义快捷键(Qt Creator:工具 > 选项 > 环境 > 键盘;VS:工具 > 选项 > 环境 > 键盘)。

posted @ 2025-08-24 15:08  citong  阅读(25)  评论(0)    收藏  举报