跨平台C/C++开发软件CLion使用教程:入门指南(二)

2023-11-13

本篇教程主要介绍 CLion 入门指南里关于协助编码的内容。

点击获CLion官方正式版

自动完成

Ctrl+SpaceCLion 中的基本补全在您键入时工作,并提供所有可用补全的列表。要过滤此列表并仅查看与预期类型匹配的建议,请使用智能完成Ctrl+Shift+Space:

代码生成

即使是空类或新的 C/C++ 文件也包含样板代码,CLion 会自动生成这些代码。例如,当您添加一个新类时,CLion 会创建一个标头,其中已经放置了存根代码和标头保护,以及包含它的相应源文件。

最有用的代码生成功能之一是从使用中创建。它可以帮助您在想法出现时专注于这些想法并处理日常事务。例如,当您调用尚未实现的函数时,无需中断流程:按下Alt+Enter以生成您可以稍后返回的存根代码。Create from usage也适用于变量和类:

要在代码中的任何位置获取代码生成选项列表,请按Alt+Insert以调用Generate菜单:

这些选项可以帮助您跳过大量代码编写。除了生成构造函数/析构函数、getter/setter、各种操作符之外,还可以快速覆盖和实现函数:

实时模板是生成整个代码结构的工具。在Settings / Preferences |中找到即用型模板列表 编辑 | 实时模板。要将模板粘贴到您的代码中,请调用Code | 插入实时模板或按Ctrl+J,例如:

要使用循环和条件语句(如if、while、for、 )快速包围您的代码#ifdef,请调用Code | 环绕或按Ctrl+Alt+T:

意图和快速修复

当您在代码中的符号旁边看到一个灯泡时,这意味着 CLion 的代码分析发现了潜在问题或可能需要进行的更改:

  • 红色感叹号灯泡指示错误并让您为其选择快速修复。
  • 黄色灯泡表示一个或多个意图动作可用。

单击灯泡图标(或按Alt+Enter)并选择最合适的操作或快速修复:

检查

在动态代码分析期间,CLion 会突出显示可疑代码并在右侧装订线中显示彩色条纹。您可以将鼠标悬停在条纹上以查看问题描述并单击它以跳转到相应的问题。装订线顶部的标志指示整体文件状态:

CLion 不仅可以检测编译错误,还可以检测代码效率低下的问题,例如未使用的变量或死代码。此外,它还集成了一组可定制的Clang-tidy 检查。

要启用或禁用检查,请配置其严重性级别(检查是否应引发错误或仅显示为警告)并设置范围,转到设置/首选项 | 编辑 | 检查。

您还可以根据需要对整个项目或自定义范围运行检查,并在单独的窗口中查看结果。为此,请致电代码 | 检查代码或使用代码 | 分析代码 | 按名称运行检查以Ctrl+Alt+Shift+I进行特定检查。

在结果工具窗口中,您可以一次批量应用多个问题的快速修复。在描述选项卡中单击部分修复:

重构

重构有助于在不添加新功能的情况下改进代码,使其更简洁、更易于阅读和维护。使用主菜单的Refactor部分或调用Refactor This...Ctrl+Alt+Shift+T来获取当前位置可用的重构列表:

例如:

  • Rename 重Shift+F6命名所有引用中的符号;
  • 更改签名Ctrl+F6添加、删除或重新排序函数参数,更改返回类型,或更新函数名称(影响所有用法);
  • InlineCtrl+Alt+N / Extract内联或提取函数、typedef、变量、参数、定义或常量;
  • Pull Members Up/Down ( Refactor | Pull Members Up / Push Members Down ) 将类成员安全地移动到基类或子类。

以上就是CLion入门指南中关于协助编码的的相关介绍,更多关于CLion教程的内容可进入官网查看。

CLion| 下载试用

CLion是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跨平台C/C++开发软件CLion使用教程:入门指南(二) 的相关文章

随机推荐

  • Keras利用卷积神经网络(CNN)识别手写数字(环境python3.5)

    今天介绍如何利用卷积神经网络进行MNIST数据集的手写数字识别 即将手写数字图像images识别为数字标签labels 目录 数据预处理 模型建立 评估模型准确率 进行预测 建模思路如下图 数据预处理 MNIST数据集共有训练数据60 00
  • json to dart工具

    工具链接https javiercbk github io json to dart
  • 单片机开发---ESP32S3移植lvgl+触摸屏

    书接上文 单片机开发 ESP32 S3模块上手 本章内容 熟悉一下ESP32S3的开发 修改范例程序的lvgl 使之能够匹配现在的显示屏 具体工作大概为通过SPI接口连接一块SPI串口屏幕 并且适配lvgl 最后加上触摸屏作为输入 屏幕 用
  • 判断是pc端还是移动端

    Navigator对象 Navigator 对象包含有关浏览器的信息 下面的userAgent 属性是一个只读的字符串 声明了浏览器用于 HTTP 请求的用户代理头的值 所以我们可以通过判断navigator useragent里面是否有某
  • 微信小程序-拒绝了语音权限后,重新授权

    效果图 第一步 封装在utils里 哪个页面需要的话 直接调用 export function impower var t this wx authorize scope scope record success res fail wx s
  • 递归解决八皇后回溯算法

    问题简述 八皇后问题是一个古来而著名的问题 该问题是19世纪著名的数学家高斯同学提出来的 在8 8的国际象棋上摆放八个皇后 使其不能互相的攻击 也就是说 任意的两个皇后不能放在同一行或则是同一个列或者是同一个对角线上 问有多少个摆放的方法
  • Skywalking-9.6.0系列之本地源码编译并启动

    Skywalking相信有很多人使用过 通过容器或者下载安装包进行安装的 今天从源代码角度 拉取 构建 启动 官方文档步骤简洁明了 我这边会结合自己遇到的一些问题做出总结 当前构建资源版本 MAC 10 15 7 IDEA 2021 2 n
  • 正版steam gta5如何免登录教程

    gta5中文叫做侠盗猎车手5 是一款围绕犯罪为主题的开放式动作冒险游戏 凭借其全新的雷霆引擎 不一样的战斗方式 乃至今日仍受到众多玩家的喜爱 这么受欢迎的游戏当然需要付费购买啦 这可让许多小伙伴们都望而止步 为了满足玩家们的游戏需求 小编此
  • 常用的加解密技术(2)

    公开密钥体系 公开密钥密码体制是现代密码学的最重要的发明和进展 一般理解密码学 Cryptography 就是保护信息传递的机密性 但这仅仅是当今密码学主题的一个方面 对信息发送与接收人的真实身份的验证 对所发出 接收信息在事后的不可抵赖以
  • python切片的总结

    目录 介绍切片 格式 1 切割单个值 2 切割完整对象 3 start和end全部取正数的情况 4 start和end全部取负数的情况 5 start和end正负混合情况 7 切片中的三个参数为表达式 8 切片可以操作其他的对象 总结 介绍
  • Centos7 防火墙详细操作

    centos7 通过firewall cmd命令添加防火墙白名单 1 查看防护墙状态 firewall cmd state 或 systemctl status firewalld active running gt 表示防火墙已经开启 i
  • iOS进阶_NSURLConnection(被弃用的原因:Connection的缺点)

    NSURLConnection下载 我们在前面的文章中介绍了MAC电脑搭建Apache服务器 在Sites文件夹中放置一个视频文件MVVM mp4 pbb 通过NSURLConnection进行下载 访问http localhost 我们可
  • 局部变量和静态局部变量

    一 局部变量 局部变量也叫auto自动变量 auto可写可不写 一般情况下代码块 内部定义的变量都是自动变量 它有如下特点 1 作用域 a 在一个函数内定义 只在函数范围内 也就是在定义变量的 之内 有效 b 在复合语句中定义 只在复合语句
  • 解决GridView控件的居中问题

    先简单介绍一下GridView控件 它被称为列表视图控件 用于在一个列表中显示数据源的值 其中每列表示一个字段 每行表示一条记录 简单来讲 就是一个列表 可以将数据源绑定到该列表控件上 在浏览器上显示出来就是存放着数据的列表 我在VS201
  • jetbrains IDE 关闭自动提示

    去掉Auto display code completion前面的对勾
  • python基础知识之函数的定义及用法

    目录 前言 一 函数的定义和调用 1 函数的作用 2 函数名的命名规范 3 函数的返回值 return 4 调用函数 二 函数的参数 1 函数形参和实参 2 参数传递的两种形式 3 函数定义的三种形参 三 函数的作用域 1 全局变量 2 局
  • Android 5.0学习之AnimatedVectorDrawable

    http blog csdn net cym492224103 article details 41677825 前言 示例代码地址 animated vector drawable 几句代码 几个配置文件即可实现以上效果 流畅的体验 无缝
  • replaceAll用法 (vue搜索框过滤数据高亮显示)

    举例 vue搜索框过滤数据高亮显示 在计算属性里面写一个方法 先用filter过滤item 然后用indexof方法查找是否包含 item name index0f this txt gt 1 indexof gt 1表示包含 this t
  • 01-不是过去的原因而是现在目的

    01 不是过去的原因而是现在目的 例1 如我们现在不敢或不喜欢与人交往的性格 甚至闭门不出 我们很自然的认识是受小时候在父母虐待下长大或父母关系不和 或在学校 职场收到耻辱 家庭环境等过去因素的影响而留下心灵创伤 也就是我们内心把原因归结为
  • 跨平台C/C++开发软件CLion使用教程:入门指南(二)

    本篇教程主要介绍 CLion 入门指南里关于协助编码的内容 点击获CLion官方正式版 自动完成 Ctrl SpaceCLion 中的基本补全在您键入时工作 并提供所有可用补全的列表 要过滤此列表并仅查看与预期类型匹配的建议 请使用智能完成