Skip to content

代码操作

clice 已注册 textDocument/codeAction 支持,但目前始终返回空列表。本页记录预期范围。

快速修复

从附加到 clang / clang-tidy 诊断的 FixItHint 派生的操作。

  • 将编译器 FixItHint 作为快速修复应用
  • 应用 clang-tidy 修复建议
  • source.fixAll — 批量应用文件中所有可用修复(clangd#1446
  • 一次操作修复同类诊断的所有出现(clangd#830
  • 应用编辑位于主文件之外的修复(clangd#1747
  • 遵守客户端代码操作能力(isPreferred、resolve 支持)(clangd#573
  • 可选对代码操作编辑应用格式化(clangd#2476

Include 操作

  • 为未解析的符号添加缺失的 #includeclangd#1017
  • 使用项目相对路径而非绝对路径插入 include(clangd#2010
  • 可配置的 include 样式 — 引号 vs. 尖括号(clangd#1367
  • 移除未使用的 #include(include-cleaner)
  • 遵守 IWYU pragma(exportkeepprivate
  • 建议 using 声明作为限定未解析符号的替代(clangd#976
  • C 文件:建议 <stdlib.h> 而非 <cstdlib>clangd#2246

重构

光标/选区驱动的重构操作。

提取

内联 / 展开

  • 内联变量/函数
  • 展开 auto / 推导类型
  • 展开宏一层(clangd#820

移动 / 定义

  • 将方法体移到类外(out-of-line)
  • 将方法体移到声明处(inline)
  • 从声明生成缺失的方法定义(clangd#445
  • 从类外定义生成缺失的声明(clangd#2454clangd#730

变换

  • 添加 using 声明(clangd#73
  • using namespace 替换为就地限定名称(clangd#1067
  • 移除不必要的类型限定符(clangd#1619
  • 交换 if/else 分支(clangd#466
  • 填充 switch 分支(clangd#807
  • 转换为原始字符串字面量
  • 从使用处创建声明(clangd#467
  • 移除函数/方法(clangd#2580
  • 修改函数参数并更新所有调用点(clangd#460
  • 修复声明/定义签名不匹配(clangd#77
  • 为基类纯虚方法生成存根(clangd#1037
  • 交换二元运算操作数
  • 将无作用域枚举转换为有作用域枚举
  • 生成逐成员构造函数
  • 声明隐式的拷贝/移动特殊成员函数
  • 重命名符号(作为代码操作)
  • Include-cleaner:批量修复未使用/缺失的 include

变更记录

日期变更PR
存根处理器(始终返回空列表)