$headers = [
'Accept' => 'application/json', // соглашаемся только на json, ибо ничего другого мы обработать не можем
'User-Agent' => 'GuzzleHttp' // а нафига в качестве клиента браузер указывать?
//Cookie тоже не надо - это браузерный инструмент
];
$secretKey = 'key';
$query = [ 'query' => [ 'action' => 'add', 'key' => $secretKey]
$request = new Request('GET', "https://nolimitst.getcourse.ru/pl/api/users/action=add&key=$secretKey", $headers);
$promise = $client->sendAsync($request);
yield - это нужная и не очень сложная фича (в сравнении с async-await). switch case в жаве сильно сложнее, чем в шарпе - только за счёт возможности сделать break к конкретному кейсу.
Такая фича есть и доступна не только для стандартной библиотеки, но и для сторонних пакетов, если разработчик добавил sourcelink - будет самый настоящий оригинальный код из гита, который можно будет даже дебажить через step-into.
Ничего не могу сказать в ответ - студия действительно не такая эргономичная, как среды от жб.
Про asm трейс ничего не скажу. Но стектрейс из сгенерированного кода (лямбды, async-await, yield) действительно страшный. К счастью хоть номер строки пишется.
Ну тут посмею несогласиться. Из-за нехватки всяких сахарный фич код в жаве ужасно раздувается.