Skip to content

Visual Studio Code IDE (VSCode)

Visual Studio Code 是一款强大的跨平台源代码编辑器/集成开发环境(IDE),可用于在 Ubuntu、Windows 和 macOS 系统上进行 PX4 开发。

使用 VSCode 进行 PX4 开发的原因如下:

  • 设置简便:真正完成设置仅需几分钟。
  • 丰富的扩展生态系统:能提供 PX4 开发所需的大量工具,包括 C/C++(与 cmake 深度集成)、PythonJinja2、ROS 消息,甚至还有 DroneCAN dsdl。
  • 出色的 Github 集成功能

本主题将介绍如何设置该 IDE 并开始开发。

INFO

虽然还有其他强大的 IDE,但通常需要更多精力才能与 PX4 集成。而使用 VScode,配置信息存储在 PX4/PX4 - Autopilot 代码库中([PX4 - Autopilot/.vscode](https://github.com/PX4/PX4 - Autopilot/tree/main/.vscode)),因此设置过程就像添加项目文件夹一样简单。

操作前提

你必须已经为你的平台安装了命令行 PX4 开发环境,并下载了 Firmware 源代码仓库。

安装与设置

  1. 下载并安装 VSCode(系统会为你提供适合你操作系统的版本)。
  2. 打开 VSCode 并添加 PX4 源代码:
    • 在欢迎页面选择“打开文件夹...”选项(也可以通过菜单:文件 > 打开文件夹): 打开文件夹
    • 会弹出文件选择对话框,选择 PX4 - Autopilot 目录,然后点击 确定。 项目文件和配置信息随后将加载到 VSCode 中。
  3. 在“此工作区有扩展推荐”提示框中点击“全部安装”(该提示框会出现在 IDE 的右下角)。 安装扩展 VSCode 会在左侧打开“扩展”面板,你可以在此查看安装进度。 PX4 加载到 VSCode 资源管理器中
  4. 右下角可能会出现一些通知/提示框。

    TIP

    如果提示框消失了,可以点击底部蓝色栏右侧的小“闹钟”图标。

::: - 如果提示安装新版本的 cmake: - 选择 (正确的版本已随 PX4 开发环境 一起安装)。 - 如果提示登录 github.com 并添加凭证: - 这取决于你自己!它能实现 Github 和 IDE 的深度集成,可能会简化你的工作流程。 - 其他提示是可选的,如果看起来有用可以安装。(或许可以添加这些提示框的截图)

构建 PX4

若要进行构建,请按以下步骤操作:

  1. 选择你的构建目标(“cmake 构建配置”):
    • 当前的 cmake 构建目标 显示在底部的蓝色 配置 栏上(如果这已经是你想要的目标,可以跳过下一步)。 选择 Cmake 构建目标

      INFO

      你选择的 cmake 目标会影响 构建/调试 时提供的目标选项(例如,要进行硬件调试,你必须选择像 px4_fmu - v6 这样的硬件目标)。

::: - 点击配置栏上的目标以显示其他选项,然后选择你想要的目标(这将替换任何已选目标)。 - Cmake 随后将配置你的项目(查看右下角的通知)。 Cmake 配置项目 - 等待配置完成。完成后,通知会消失,你将看到构建位置: Cmake 配置项目完成。 2. 然后你可以从配置栏启动构建(选择 构建调试)。 运行调试或构建

至少进行一次构建后,你就可以使用 [代码补全](#code completion) 和其他 VSCode 功能了。

调试

SITL 调试

若要在 SITL 上调试 PX4,请按以下步骤操作:

  1. 点击侧边栏上的调试图标(红色标记)以显示调试面板。 运行调试
  2. 然后从顶部栏的调试下拉菜单(紫色框)中选择你的调试目标(例如 Debug SITL (Gazebo Iris))。

    INFO

    提供的调试目标(紫色框)与你的构建目标(底部栏上的黄色框)相匹配。例如,要调试 SITL 目标,你的构建目标必须包含 SITL。

::: 3. 点击调试“播放”箭头(顶部栏中调试目标旁边 - 粉色框)开始调试。

调试过程中,你可以设置断点、单步执行代码,像平常一样进行开发。

硬件调试

SWD 调试端口 中的说明解释了如何连接到常见飞行控制器上的 SWD 接口(例如,使用 Dronecode 或 Blackmagic 探针)。

连接到 SWD 接口后,在 VSCode 中进行硬件调试与 SITL 调试 相同,只是你需要选择适合你的调试器类型(和固件)的调试目标 - 例如 jlink (px4_fmu - v5)

TIP

要看到 jlink 选项,你必须已经选择了一个 用于构建固件的 cmake 目标

显示不同探针选项的硬件目标图像

代码补全

为了使代码补全(以及其他智能感知功能)正常工作,你需要有一个有效的配置并 构建代码

完成这些操作后,你无需再做其他操作;工具链会在你输入时自动提供符号提示。

智能感知

故障处理

本节提供了有关设置和构建错误的指导。

Ubuntu 18.04:“Visual Studio Code 无法在这个大型工作区中监视文件更改”

启动时会出现此错误。在某些系统上,应用程序的文件句柄上限为 8192,这意味着 VSCode 可能无法检测到 /PX4 - Autopilot 中的文件修改。

你可以增加这个限制以避免该错误,但会消耗更多内存。请遵循 此处的说明。设置为 65536 应该就足够了。