TFT_eISP noob question about User_Setup.h location

I recently bought the Lilygo T-display and Q-QT boards and wanted to use TFT_eSPI library. As normal, at first it didn’t work.

These boards haven’t got a board definition of their own, so u use esp32-s3-devkitc-1, which hasn’t got a TFT display, so I got thinking how does it know which pins to use for the TFT display? And indeed that was the problem.
After some digging I found a User_Setup.h in the git repository for the boards and copied that at first to the lib folder of my project, and that did nothing, so I moved it to the include folder and that did nothing.
The configuring options.txt file (also in the git repository) said that you can also load settings with a -D prefix in the platformio.ini file, ant, that did work. But I think would rather use the User_Setup.h file.

So the questions are:

What must I do with the User_Setup.h file.
And what are the benefits of loading settings with a -D prefix in the platformio.ini file vs. using the User_Setup.h file.

The code i wrote:

#include <Arduino.h>
#include <TFT_eSPI.h>
#include “User_Setup.h”

TFT_eSPI lcd = TFT_eSPI();

void setup(void)
{
lcd.init();
lcd.fillScreen(TFT_BLUE);
lcd.setRotation(1);
}

void loop()
{

}

Kind regards Bert.