forked from qt-creator/qt-creator
Doc: Adapt clang code model documentation
We use clangd now. Update screenshots and remove duplicates. Change-Id: Ie3e7e565c2b564b7c20284a5f752b4accf12f37a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
This commit is contained in:
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 4.0 KiB |
Binary file not shown.
Before Width: | Height: | Size: 11 KiB |
Binary file not shown.
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 12 KiB |
@@ -65,7 +65,7 @@
|
|||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
\QC comes with a plugin that provides some of these services
|
\QC comes with a plugin that provides some of these services
|
||||||
for C++ on top of \l{http://clang.llvm.org/}{Clang}.
|
for C++ on top of \l{https://clangd.llvm.org/}{Clangd}.
|
||||||
|
|
||||||
\section1 About the Clang Code Model
|
\section1 About the Clang Code Model
|
||||||
|
|
||||||
@@ -75,6 +75,8 @@
|
|||||||
set or a close approximation, as when using the built-in \QC code model.
|
set or a close approximation, as when using the built-in \QC code model.
|
||||||
Clang focuses on detailed information for diagnostics, which is really
|
Clang focuses on detailed information for diagnostics, which is really
|
||||||
useful if the code contains typos, for example.
|
useful if the code contains typos, for example.
|
||||||
|
We make use of these libraries via the clangd tool, which implements
|
||||||
|
an \l{https://microsoft.github.io/language-server-protocol/}{LSP} server.
|
||||||
|
|
||||||
Clang keeps up with the development of the C++ language. At the time of this
|
Clang keeps up with the development of the C++ language. At the time of this
|
||||||
writing, it supports C++98/03, C++11, C++14, C++17, C89, C99, Objective-C,
|
writing, it supports C++98/03, C++11, C++14, C++17, C89, C99, Objective-C,
|
||||||
@@ -98,14 +100,16 @@
|
|||||||
\li \l{Using Clang Tools}{Diagnostics}
|
\li \l{Using Clang Tools}{Diagnostics}
|
||||||
\li Outline of symbols
|
\li Outline of symbols
|
||||||
\li Tooltips
|
\li Tooltips
|
||||||
\li Renaming of local symbols
|
\li Following symbols
|
||||||
|
\li Renaming symbols
|
||||||
|
\li Finding occurrences of symbols
|
||||||
|
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
To use the built-in code model instead, select \uicontrol Help >
|
To use the built-in code model instead, select \uicontrol Tools > \uicontrol Options >
|
||||||
\uicontrol {About Plugins} > \uicontrol C++, and deselect the
|
\uicontrol C++ > \uicontrol clangd, and deselect the \uicontrol {Use clangd} check box.
|
||||||
\uicontrol ClangCodeModel check box. Select \uicontrol {Restart Now}
|
This setting also exists on the project level, so that you can have the clang-based
|
||||||
to restart \QC and have the changes take effect.
|
services generally enabled, but switch them off for for certain projects, or vice versa.
|
||||||
|
|
||||||
You can configure Clang diagnostics either globally or separately for:
|
You can configure Clang diagnostics either globally or separately for:
|
||||||
|
|
||||||
@@ -138,13 +142,6 @@
|
|||||||
edit the value for the \uicontrol {Do not index files greater than}
|
edit the value for the \uicontrol {Do not index files greater than}
|
||||||
check box. To index all files, deselect the check box.
|
check box. To index all files, deselect the check box.
|
||||||
|
|
||||||
\li The \uicontrol {Diagnostic Configuration} field shows the Clang
|
|
||||||
checks to perform. Click the value of the field to open the
|
|
||||||
\uicontrol {Diagnostic Configurations} dialog, where you can
|
|
||||||
select and edit the checks to perform.
|
|
||||||
|
|
||||||
\image qtcreator-diagnostics-configuration.png
|
|
||||||
|
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
\section1 Configuring clangd
|
\section1 Configuring clangd
|
||||||
@@ -179,6 +176,10 @@
|
|||||||
\li In \uicontrol {Document update threshold}, specify the amount of
|
\li In \uicontrol {Document update threshold}, specify the amount of
|
||||||
time \QC waits before sending document changes to the server.
|
time \QC waits before sending document changes to the server.
|
||||||
If the document changes again while waiting, this timeout is reset.
|
If the document changes again while waiting, this timeout is reset.
|
||||||
|
\li The \uicontrol {Diagnostic Configuration} field shows the Clang
|
||||||
|
checks to perform. Click the value of the field to open the
|
||||||
|
\uicontrol {Diagnostic Configurations} dialog, where you can
|
||||||
|
select and edit the checks to perform.
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
\section1 Clang Checks
|
\section1 Clang Checks
|
||||||
@@ -203,16 +204,7 @@
|
|||||||
\section1 Specifying Clang Code Model Settings at Project Level
|
\section1 Specifying Clang Code Model Settings at Project Level
|
||||||
|
|
||||||
You can specify Clang code model settings at project level by selecting
|
You can specify Clang code model settings at project level by selecting
|
||||||
\uicontrol Projects > \uicontrol {Clang Code Model}.
|
\uicontrol Projects > \uicontrol {clangd}.
|
||||||
|
|
||||||
In addition to configuring the diagnostics,
|
|
||||||
you can select the \uicontrol {Enable MSVC-compliant template parsing} check
|
|
||||||
box to parse templates in a MSVC-compliant way. This enables Clang to parse
|
|
||||||
headers for example from Active Template Library (ATL) or Windows Runtime
|
|
||||||
Library (WRL). However, using the relaxed and extended rules means that no
|
|
||||||
highlighting or completion can be provided within template functions.
|
|
||||||
|
|
||||||
\image qtcreator-clang-code-model-build-settings.png
|
|
||||||
|
|
||||||
\include creator-compilation-database.qdocinc using compilation databases
|
\include creator-compilation-database.qdocinc using compilation databases
|
||||||
|
|
||||||
|
@@ -112,15 +112,15 @@
|
|||||||
|
|
||||||
\li \l{Using Custom Output Parsers}{Custom Output Parsers}
|
\li \l{Using Custom Output Parsers}{Custom Output Parsers}
|
||||||
|
|
||||||
\li \l{Parsing C++ Files with the Clang Code Model}
|
|
||||||
{Clang Code Model}
|
|
||||||
|
|
||||||
\li \l{Applying Refactoring Actions}{Quick Fixes}
|
\li \l{Applying Refactoring Actions}{Quick Fixes}
|
||||||
|
|
||||||
\li \l{Using Clang Tools}{Clang Tools}
|
\li \l{Using Clang Tools}{Clang Tools}
|
||||||
|
|
||||||
\li \l{To-Do Entries}{To-Do} (experimental)
|
\li \l{To-Do Entries}{To-Do} (experimental)
|
||||||
|
|
||||||
|
\li \l{Parsing C++ Files with the Clang Code Model}
|
||||||
|
{Clangd}
|
||||||
|
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
If you have multiple projects open in \QC, select the project to configure
|
If you have multiple projects open in \QC, select the project to configure
|
||||||
|
Reference in New Issue
Block a user