forked from qt-creator/qt-creator
ClangD: skip automatic code action request
.. after receiving diagnostics since the code actions are already inlined into the diagnostics. Change-Id: I11ed1270344ff5119dd111503d173eef2f340c1d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -755,6 +755,7 @@ ClangdClient::ClangdClient(Project *project, const Utils::FilePath &jsonDbDir)
|
|||||||
caps.clearExperimental();
|
caps.clearExperimental();
|
||||||
setClientCapabilities(caps);
|
setClientCapabilities(caps);
|
||||||
setLocatorsEnabled(false);
|
setLocatorsEnabled(false);
|
||||||
|
setAutoRequestCodeActions(false); // clangd sends code actions inside diagnostics
|
||||||
setProgressTitleForToken(indexingToken(), tr("Parsing C/C++ Files (clangd)"));
|
setProgressTitleForToken(indexingToken(), tr("Parsing C/C++ Files (clangd)"));
|
||||||
setCurrentProject(project);
|
setCurrentProject(project);
|
||||||
|
|
||||||
|
@@ -1317,7 +1317,8 @@ void Client::handleDiagnostics(const PublishDiagnosticsParams ¶ms)
|
|||||||
m_diagnosticManager.setDiagnostics(uri, diagnostics, params.version());
|
m_diagnosticManager.setDiagnostics(uri, diagnostics, params.version());
|
||||||
if (LanguageClientManager::clientForUri(uri) == this) {
|
if (LanguageClientManager::clientForUri(uri) == this) {
|
||||||
m_diagnosticManager.showDiagnostics(uri, m_documentVersions.value(uri.toFilePath()));
|
m_diagnosticManager.showDiagnostics(uri, m_documentVersions.value(uri.toFilePath()));
|
||||||
requestCodeActions(uri, diagnostics);
|
if (m_autoRequestCodeActions)
|
||||||
|
requestCodeActions(uri, diagnostics);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -128,6 +128,7 @@ public:
|
|||||||
|
|
||||||
void setLocatorsEnabled(bool enabled) { m_locatorsEnabled = enabled; }
|
void setLocatorsEnabled(bool enabled) { m_locatorsEnabled = enabled; }
|
||||||
bool locatorsEnabled() const { return m_locatorsEnabled; }
|
bool locatorsEnabled() const { return m_locatorsEnabled; }
|
||||||
|
void setAutoRequestCodeActions(bool enabled) { m_autoRequestCodeActions = enabled; }
|
||||||
|
|
||||||
// document synchronization
|
// document synchronization
|
||||||
void setSupportedLanguage(const LanguageFilter &filter);
|
void setSupportedLanguage(const LanguageFilter &filter);
|
||||||
@@ -281,6 +282,7 @@ private:
|
|||||||
QString m_serverVersion;
|
QString m_serverVersion;
|
||||||
LanguageServerProtocol::SymbolStringifier m_symbolStringifier;
|
LanguageServerProtocol::SymbolStringifier m_symbolStringifier;
|
||||||
bool m_locatorsEnabled = true;
|
bool m_locatorsEnabled = true;
|
||||||
|
bool m_autoRequestCodeActions = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace LanguageClient
|
} // namespace LanguageClient
|
||||||
|
Reference in New Issue
Block a user