Skip to content

Visual Studio Code IDE (VSCode)

Visual Studio Code is a powerful cross-platform source code editor/IDE that can be used for PX4 development on Ubuntu, Windows, and macOS.

Є багато причин використання VSCode для розробки PX4:

  • Getting setup really only takes a few minutes.
  • A rich extension ecosystem that enables a huge range of tools needed for PX4 development: C/C++ (with solid cmake integration), Python, Jinja2, ROS messages, and even DroneCAN dsdl.
  • Чудова інтеграція з Github.

Цей розділ пояснює, як налаштувати IDE і почати розробку.

INFO

There are other powerful IDEs, but they typically take more effort to integrate with PX4. With VScode, configuration is stored in the PX4/PX4-Autopilot tree (PX4-Autopilot/.vscode) so the setup process is as simple as adding the project folder.

Передумови

You must already have installed the command line PX4 developer environment for your platform and downloaded the Firmware source code repo.

Installation & Setup

  1. Download and install VSCode (you will be offered the correct version for your OS).

  2. Відкрийте VSCode і додайте вихідний код PX4:

    • Select Open folder ... option on the welcome page (or using the menu: File > Open Folder): Open Folder
    • З'явиться діалогове вікно вибору файлу. Select the PX4-Autopilot directory and then press OK.

    The project files and configuration will then load into VSCode.

  3. Press Install All on the This workspace has extension recommendations prompt (this will appear on the bottom right of the IDE). Install extensions

    VSCode will open the Extensions panel on the left hand side so you can watch the progress of installation.

    PX4 loaded into VSCode Explorer

  4. Багато повідомлень/підказок може з'явитися в правому нижньому куті

    TIP

    If the prompts disappear, click the little "alarm" icon on the right of the bottom blue bar.

:::

  • If prompted to install a new version of cmake:
  • If prompted to sign into github.com and add your credentials:
    • Це ваш розсуд! Це забезпечує глибоку інтеграцію між Github та IDE, що може спростити ваш робочий процес.
  • Інші підказки необов'язкові та можуть бути встановлені, якщо вважаються корисними.

Збірка PX4

Для збірки:

  1. Оберіть свою ціль збірки ("cmake build config"):

    • The current cmake build target is shown on the blue config bar at the bottom (if this is already your desired target, skip to next step). Select Cmake build target

      INFO

      The cmake target you select affects the targets offered for when building/debugging (i.e. for hardware debugging you must select a hardware target like px4_fmu-v6).

:::

  • Натисніть на ціль на панелі config, щоб показати інші параметри та вибрати ту, яка вам потрібна (це замінить обрану ціль).

  • Cmake will then configure your project (see notification in bottom right). Cmake config project

  • Зачекайте, поки налаштування завершиться. When this is done the notification will disappear and you'll be shown the build location: Cmake config project.

  1. You can then kick off a build from the config bar (select either Build or Debug). Run debug or build

After building at least once you can now use [code completion](#code completion) and other VSCode features.

Відлагодження

Налагодження SITL

Для налагодження PX4 в SITL:

  1. Select the debug icon on the sidebar (marked in red) to display the debug panel. Run debug

  2. Then choose your debug target (e.g. Debug SITL (Gazebo Iris)) from the top bar debug dropdown (purple box).

    INFO

    The debug targets that are offered (purple box) match your build target (yellow box on the bottom bar). Наприклад, для налагодження цілей збірки SITL, ваша ціль повинна містити SITL.

:::

  1. Почніть налагодження, натиснувши стрілку "play" налагодження (поруч із ціллю налагодження у верхній панелі - позначено рожевою рамкою).

Під час налагодження ви можете встановити точки зупинки, переходити до коду, на відміну від нормального процесу розробки.

Апаратне налагодження

The instructions in SWD Debug Port explain how to connect to the SWD interface on common flight controllers (for example, using the Dronecode or Blackmagic probes).

After connecting to the SWD interface, hardware debugging in VSCode is then the same as for SITL Debugging except that you select a debug target appropriate for your debugger type (and firmware) - e.g. jlink (px4_fmu-v5).

TIP

To see the jlink option you must have selected a cmake target for building firmware.

Image showing hardware targets with options for the different probes

Автодоповнення коду

In order for the code completion to work (and other IntelliSense magic) you need an active configuration and to have built the code.

Після того, як це зроблено, вам не потрібно нічого робити; інструментарій автоматично запропонує вам символи мови поки ви друкуєте.

IntelliSense

Усунення проблем

Цей розділ включає вказівки для помилок з налаштування та збірки.

Ubuntu 18.04: "Visual Studio Code не може спостерігати за змінами в коді у великому робочому середовищі"

Ця помилка з'являється при старті. On some systems, there is an upper-limit of 8192 file handles imposed on applications, which means that VSCode might not be able to detect file modifications in /PX4-Autopilot.

Ви можете збільшити цей ліміт, щоб уникнути помилки, коштом споживання пам'яті. Follow the instructions here. Значення 65536 має бути більш ніж достатнім.