One of the applications installed in the Virtual Machine (VirtualBox) PDAControlMV based on Linux Lubuntu 20.04 LTS is ESP-IDF.

How to download and Install PDAControlMV
ESP-IDF
ESP-IDF (Espressif IoT Development Framework) is the official programming platform Espressif for ESP32 modules.

ESP32 Module

Materials and where to buy them
Create Applications in ESP-IDF
El framework ESP-IDF permite compilar y ejecutar aplicaciones de 2 maneras con:
The ESP-IDF framework allows compiling and running applications in 2 ways with:
idf.py based Python
Commands for idf.py
- idf.py build : compile application.
- idf.py -p PORT flash / example: idf.py -p /dev/ttyUSB0 flash : compile and program the application.
- idf.py p /dev/ttyUSB0 flash monitor : compile program and debug application.
Complete information: github espressif
Cmake based in C y C++
Commands for make
- make all : compile application.
- make flash : compile and program the application.
- make monitor : run IDF Monitor, the display debugging ESP32.
- make flash monitor : compile program and debug application.
- make menuconfig : Enable the application settings menu.
- make clean : clean project.
I recommend using make flash monitor, as it performs all 3 actions.
Initial test “Hello World”

Video: Complete Tutorial
Conclusion
I recommend using ESP-IDF if you plan to create professional applications or projects in ESP32, this platform has FreeRTOS and debugging tools superior to those available in the Arduino IDE.