4. 特性列表

4.1. .maca文件识别

识别 .maca 后缀为MXMACA语言,图标为 image12 ,VSCode状态栏显示为 MXMACA C++ ,如图 4.1 所示。

../_images/image13.png

图 4.1 .maca文件识别

4.2. 错误和告警诊断

  • 编写代码时,实时显示编译报错和告警信息。

../_images/image14.png

图 4.2 实时显示编译报错和告警信息

  • 自动修复

    提示正确代码,点击后可自动修复。如图 4.3 所示,点击 image15 图标后,可以选择修正错误的函数名。

../_images/image16.png

图 4.3 代码自动修复

  • clang-tidy检查

    集成了clang-tidy,可在编程规范、错误等方面提供更充分的检查。具体使用方式参考 Clang-Tidy相关文档

4.3. 代码补全

  • 编写代码时,给出可能的全称候选列表,供快速输入

../_images/image17.png

图 4.4 提供全称候选列表

  • 命名空间和头文件自动插入

    编写代码时,可以自动插入命名空间或头文件。对于插入命名空间,键入变量或函数时,在候选列表中可以看到带有完整命名空间的变量或函数。对于插入头文件,键入足够信息后回车确认,即可将头文件插入顶部。

    例如图 4.5 所示,键入 std::string 后,回车确认,可以按字母顺序自动插入其所属的C++标准库头文件 <string> 到文件顶部。头文件插入成功后如图 4.6 所示。

../_images/image18.png

图 4.5 插入头文件

../_images/image19.png

图 4.6 头文件插入成功

  • 函数参数提示

    编写代码时,给出调用函数的入参信息。

../_images/image20.png

图 4.7 函数参数提示

4.4. 跳转

查找到定义、声明、引用等,包括MXMACA安装包中的头文件,以及MXMACA的各类API、宏、类型的声明或定义。如图 4.8 所示,在感兴趣的变量、函数上单击右键打开菜单,可选择对应的条目。

../_images/image21.png

图 4.8 跳转

4.5. 工程导航

  • 文件大纲

    OUTLINE 栏目显示文件大纲,便于浏览并跳转到本文件的所有符号。如图 4.9 所示,在 EXPLORER 窗口打开 Outline ,即可看到该栏目。

../_images/image22.png

图 4.9 OUTLINE栏目显示

  • 搜索符号

    Ctrl+P打开搜索栏,如图 4.10 所示,输入 @ 搜索本文件,或输入 # 搜索本工程的符号。

../_images/image23.png

图 4.10 搜索本文件或本工程

  • 显示当前函数的调用关系

    图 4.11 所示,在函数上右键打开菜单,选择 Show Call Hierarchy ,左侧窗口中会出现调用链。

../_images/image24.png

图 4.11 显示函数调用链

4.6. 悬停

鼠标悬停时显示符号更多的信息,如图 4.12 所示。

../_images/image25.png

图 4.12 悬停显示

4.7. 代码规范化

集成了clang-format,可以对代码格式进行规范化处理。如图 4.13 所示,选中一部分代码后,在右键菜单选择 Format Selection ,可以将第25行自动修复为缩进2格,修复后如图 4.14 所示。也可以选择 Format Document ,对整个文件进行处理。

clang-format的使用详情可参考 ClangFormat相关文档

../_images/image26.png

图 4.13 选择代码规范化

../_images/image27.png

图 4.14 代码修复成功

4.8. 代码重构

  • 重命名符号

    在任一需修改处选择 Rename Symbol ,输入新符号名,所有引用的地方都会自动修改。

    1. 在任一 h_A 变量处打开右键菜单,点击 Rename Symbol

      ../_images/image28.png

      图 4.15 选择重命名符号

    2. 在文本框中输入新名称 hostA

      ../_images/image29.png

      图 4.16 输入新变量名称

    3. 回车确认后,所有的 h_A 都修改为 hostA

      ../_images/image30.png

      图 4.17 重命名成功

  • 更多重构方式

    支持抽取表达式为变量、抽取多行语句为函数、展开宏或auto类型。如图 4.18 所示,选中对应内容后,在右键菜单选择 Refactor… ,根据提示进行后续操作。

    ../_images/image31.png

    图 4.18 抽取

    • 抽取表达式为变量:

      ../_images/image32.png

      图 4.19 选择抽取表达式为变量

      ../_images/image33.png

      图 4.20 抽取为变量成功

    • 抽取语句为函数:

      ../_images/image34.png

      图 4.21 选择抽取语句为函数

      ../_images/image35.png

      图 4.22 抽取为函数成功

    • 展开宏:

      ../_images/image36.png

      图 4.23 展开宏

      ../_images/image37.png

      图 4.24 展开宏成功

4.9. 关键字高亮

除了常规的C/C++语言外,也支持MXMACA C/C++语言关键字、宏等高亮。

4.10. 源文件与头文件切换

支持在源文件和头文件之间快速切换。如图 4.25 所示,在源文件任意位置点击右键,在菜单中选择 Switch Between Source/Header

../_images/image38.png

图 4.25 源文件与头文件切换

4.11. 显示AST

支持显示某段代码的抽象语法树信息,辅助开发者编写、理解代码。如图 4.26 所示,选中一段代码后,在右键菜单选择 Show AST ,左侧显示抽象语法树如图 4.27 所示。

../_images/image39.png

图 4.26 选择显示AST

../_images/image40.png

图 4.27 显示抽象语法树

4.12. 显示MXMACA预处理后文件

支持显示device侧预处理后文件。如图 4.28 所示,在右键菜单选择 Show MXMACA Preprocessor Output ,在新的编辑窗口生成预处理后文件,同时右下角会弹出编译命令,如图 4.29 所示,供开发者核对。

../_images/image41.png

图 4.28 显示MXMACA预处理后文件

../_images/image42.png

图 4.29 预处理后文件窗口