aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorLeena Miettinen <riitta-leena.miettinen@qt.io>2022-01-28 11:06:12 +0100
committerLeena Miettinen <riitta-leena.miettinen@qt.io>2022-02-01 08:45:18 +0000
commit749a9b27ec1d107779f28ac69a0a11bb24ff9a21 (patch)
tree601088163ad178fbb2b0a7cfcf0bbd6df867f2f1 /doc
parente58f50df2a049b2588242fb58d575f955ec0b59d (diff)
Doc: Describe Language Client Inspector
Users can inspect the communication between Qt Creator and language servers and view server capabilities. Task-number: QTCREATORBUG-26929 Change-Id: I9ad4518eea030ba70dda2f0b956b319b3682af0f Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'doc')
-rw-r--r--doc/qtcreator/images/qtcreator-language-client-inspector-capabilities.pngbin0 -> 21943 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-language-client-inspector-log.pngbin0 -> 24909 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-language-client-inspector-memory-usage.pngbin0 -> 10726 bytes
-rw-r--r--doc/qtcreator/src/editors/creator-only/creator-language-server.qdoc49
-rw-r--r--doc/qtcreator/src/external-resources/external-resources.qdoc6
5 files changed, 52 insertions, 3 deletions
diff --git a/doc/qtcreator/images/qtcreator-language-client-inspector-capabilities.png b/doc/qtcreator/images/qtcreator-language-client-inspector-capabilities.png
new file mode 100644
index 0000000000..e2e12e3624
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-language-client-inspector-capabilities.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-language-client-inspector-log.png b/doc/qtcreator/images/qtcreator-language-client-inspector-log.png
new file mode 100644
index 0000000000..f522fe87d4
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-language-client-inspector-log.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-language-client-inspector-memory-usage.png b/doc/qtcreator/images/qtcreator-language-client-inspector-memory-usage.png
new file mode 100644
index 0000000000..92ab52d28b
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-language-client-inspector-memory-usage.png
Binary files differ
diff --git a/doc/qtcreator/src/editors/creator-only/creator-language-server.qdoc b/doc/qtcreator/src/editors/creator-only/creator-language-server.qdoc
index 02e0a78f31..001e85c146 100644
--- a/doc/qtcreator/src/editors/creator-only/creator-language-server.qdoc
+++ b/doc/qtcreator/src/editors/creator-only/creator-language-server.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2021 The Qt Company Ltd.
+** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -32,7 +32,8 @@
For several programming languages, a \e {language server} is available
that provides information about the code to IDEs as long as they support
- communication via the language server protocol (LSP). This enables the
+ communication via the \l{Language Server Protocol}
+ {language server protocol (LSP)}. This enables the
IDE to provide the following services:
\list
@@ -145,6 +146,7 @@
the Java language server \c .jar file.
\endlist
+
\section1 Supported Locator Filters
The locator enables you to browse not only files, but any items defined by
@@ -158,6 +160,49 @@
definitions in your project
\endlist
+ \section1 Inspecting Language Clients
+
+ \QC sends messages (\e Requests) to the language server and receives
+ responses that contain the requested information if the language server is
+ capable of handling the requests. To inspect the communication between \QC
+ and language servers and view server capabilities, select \uicontrol Tools
+ > \uicontrol {Debug \QC} > \uicontrol {Inspect Language Client}.
+
+ \image qtcreator-language-client-inspector-log.png "Language Client Inspector dialog"
+
+ The dialog shows a list of running language servers. The value of the
+ \uicontrol {Startup behavior} field in the language server options
+ determines when the server is started. The information displayed depends on
+ the language server.
+
+ \uicontrol Log displays additional information about the selected log entry.
+ You can see the \uicontrol {Content length} and \uicontrol {MIME type} of
+ a \uicontrol {Client Message} and \uicontrol {Server Message}, as well as
+ inspect the data sent between \QC and the language server.
+
+ To remove old entries, select \uicontrol Clear.
+
+ \section2 Capabilities
+
+ In \uicontrol Capabilities, you can check whether a language server is
+ capable of a specific task. You cannot modify the server capabilities
+ in this dialog.
+
+ You can view the \uicontrol Name, \uicontrol Value, and \uicontrol Type
+ of the capability.
+
+ \image qtcreator-language-client-inspector-capabilities.png "Language Client Inspector Capabilities tab"
+
+ For some language servers, \uicontrol {Dynamic Capabilities} lists the
+ \uicontrol Methods and \uicontrol Options available.
+
+ \section2 Memory Usage
+
+ For a clangd server, you can inspect the total amount of memory used by a
+ particular component in \uicontrol {Memory Usage}.
+
+ \image qtcreator-language-client-inspector-capabilities.png "Language Client Inspector Capabilities tab"
+
\section1 Reporting Issues
The language service client has been mostly tested with Python and Java.
diff --git a/doc/qtcreator/src/external-resources/external-resources.qdoc b/doc/qtcreator/src/external-resources/external-resources.qdoc
index dc3f15c486..4bc40bc9d6 100644
--- a/doc/qtcreator/src/external-resources/external-resources.qdoc
+++ b/doc/qtcreator/src/external-resources/external-resources.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2021 The Qt Company Ltd.
+** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
@@ -141,3 +141,7 @@
\externalpage https://cmake.org/cmake/help/latest/prop_sf/HEADER_FILE_ONLY.html
\title CMake: HEADER_FILE_ONLY
*/
+/*!
+ \externalpage https://microsoft.github.io/language-server-protocol/
+ \title Language Server Protocol
+*/