diff --git a/src/plugins/codegeex/codegeex/copilotapi.cpp b/src/plugins/codegeex/codegeex/copilotapi.cpp index 44ef9b8fa..f0d71b07c 100644 --- a/src/plugins/codegeex/codegeex/copilotapi.cpp +++ b/src/plugins/codegeex/codegeex/copilotapi.cpp @@ -5,6 +5,7 @@ #include "src/common/supportfile/language.h" #include "src/services/editor/editorservice.h" #include "src/services/project/projectservice.h" +#include "services/window/windowservice.h" #include #include @@ -20,6 +21,12 @@ using namespace dpfservice; +void sendNotify(uint type, const QString &name, const QString &msg) +{ + auto windowSrv = dpfGetService(WindowService); + windowSrv->notify(type, name, msg, {}); +} + namespace CodeGeeX { CopilotApi::CopilotApi(QObject *parent) : QObject(parent), manager(new QNetworkAccessManager(this)) @@ -252,6 +259,7 @@ void CopilotApi::slotReadReply(QNetworkReply *reply) qCritical() << "Error:" << reply->errorString() << reply->error(); if (reply->error() != QNetworkReply::OperationCanceledError) { auto type = reply->property("responseType").value(); + sendNotify(2, "AI" ,reply->errorString()); emit response(type, "", ""); } } else { diff --git a/src/plugins/codegeex/copilot.cpp b/src/plugins/codegeex/copilot.cpp index 0b78f0e35..1b40722f5 100644 --- a/src/plugins/codegeex/copilot.cpp +++ b/src/plugins/codegeex/copilot.cpp @@ -46,7 +46,8 @@ Copilot::Copilot(QObject *parent) connect(&copilotApi, &CopilotApi::response, [this](CopilotApi::ResponseType responseType, const QString &response, const QString &dstLang) { switch (responseType) { case CopilotApi::multilingual_code_comment: - replaceSelectedText(response); + if (!response.isEmpty()) + replaceSelectedText(response); break; case CopilotApi::inline_completions: if (!responseValid(response))