I go with PlatformIO and Arduino as framework (#include <Arduino.h> on top of the main.cpp file) for all my ESP32 projects… All the library dependencies are managed through the platformio.ini file. Works perfectly!
I used this combination because I found USB device support in Arduino framework lacking flexibility.