From ab79d1f970f9f0838c99077eb568a40000ca601c Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 4 Jan 2024 16:50:01 +0100 Subject: [PATCH] Doc: Split up "Parsing C++ Files with the Clang Code Model" Turn "Use compilation databases" into a separate topic. Task-number: QTCREATORBUG-29361 Change-Id: I022dcd1e0f59293be42b0f953084c63349d5600c Reviewed-by: Christian Kandeler Reviewed-by: --- ...eator-clang-diagnostic-configurations.webp | Bin 0 -> 8736 bytes .../qtcreator-projects-settings-clangd.webp | Bin 0 -> 9012 bytes .../src/cmake/creator-projects-cmake.qdoc | 5 +- .../src/editors/creator-code-syntax.qdoc | 2 +- .../editors/creator-editors-writing-code.qdoc | 7 - .../creator-only/creator-clang-codemodel.qdoc | 150 ++++++++++++------ ...cinc => creator-compilation-database.qdoc} | 13 +- .../src/editors/creator-quick-fixes.qdoc | 12 +- .../creator-how-to-select-build-systems.qdoc | 3 +- .../creator-projects-settings-overview.qdoc | 2 +- doc/qtcreator/src/qtcreator-toc.qdoc | 1 - 11 files changed, 122 insertions(+), 73 deletions(-) create mode 100644 doc/qtcreator/images/qtcreator-clang-diagnostic-configurations.webp create mode 100644 doc/qtcreator/images/qtcreator-projects-settings-clangd.webp rename doc/qtcreator/src/editors/creator-only/{creator-compilation-database.qdocinc => creator-compilation-database.qdoc} (84%) diff --git a/doc/qtcreator/images/qtcreator-clang-diagnostic-configurations.webp b/doc/qtcreator/images/qtcreator-clang-diagnostic-configurations.webp new file mode 100644 index 0000000000000000000000000000000000000000..87b9eb990ef41b909deb73fab95ffc3d9977a2d9 GIT binary patch literal 8736 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 literal 0 HcmV?d00001 diff --git a/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc b/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc index 69bcfb3be43..befa3a475e0 100644 --- a/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc +++ b/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc @@ -37,7 +37,7 @@ \list \li For CMake version 3.5 or later, generate a \l{CMake: CMAKE_EXPORT_COMPILE_COMMANDS}{compilation database} and - open that in \QC, as described in \l{Using Compilation Databases}. + open that in \QC, as described in \l{Use compilation databases}. \li Create an ad-hoc project file for a qmake build using \c{qmake -project} and \l{Open projects}{open} that in \QC. Typically, you cannot compile such projects without manual changes. @@ -49,7 +49,8 @@ \sa {Build with CMake}{How To: Build with CMake}, {CMake Build Configuration}, {Configure projects for building}, {Configure projects for running}, - {Debug CMake project files}, {Deploying to Remote Linux}, {Open projects} + {Debug CMake project files}, {Deploying to Remote Linux}, {Open projects}, + {Use compilation databases} */ /*! diff --git a/doc/qtcreator/src/editors/creator-code-syntax.qdoc b/doc/qtcreator/src/editors/creator-code-syntax.qdoc index b6ac6f75f2e..6a8499da49f 100644 --- a/doc/qtcreator/src/editors/creator-code-syntax.qdoc +++ b/doc/qtcreator/src/editors/creator-code-syntax.qdoc @@ -34,7 +34,7 @@ You can use the icons in the tooltip popup to copy the error or warning message to the clipboard, to hide messages of a particular type, - or to \l{Configuring clangd}{change the diagnostics settings}. Select + or to \l{Clangd}{change the diagnostics settings}. Select the \uicontrol {Annotation Settings} link to specify the position of the line annotations. diff --git a/doc/qtcreator/src/editors/creator-editors-writing-code.qdoc b/doc/qtcreator/src/editors/creator-editors-writing-code.qdoc index 78f9fbd84a5..e941197e587 100644 --- a/doc/qtcreator/src/editors/creator-editors-writing-code.qdoc +++ b/doc/qtcreator/src/editors/creator-editors-writing-code.qdoc @@ -89,13 +89,6 @@ You can use a diff editor to compare two versions of a file and view the differences side-by-side in the \uicontrol Edit mode. - - \li \l{Parsing C++ Files with the Clang Code Model} - - The Clang code model offers some of the same services as the - built-in C/C++ code model, such as code - completion, syntactic and semantic highlighting, diagnostics, - tooltips, outline of symbols, and renaming of local symbols. \endif \endlist diff --git a/doc/qtcreator/src/editors/creator-only/creator-clang-codemodel.qdoc b/doc/qtcreator/src/editors/creator-only/creator-clang-codemodel.qdoc index ed812bed750..db2d7262cf7 100644 --- a/doc/qtcreator/src/editors/creator-only/creator-clang-codemodel.qdoc +++ b/doc/qtcreator/src/editors/creator-only/creator-clang-codemodel.qdoc @@ -1,4 +1,4 @@ -// Copyright (C) 2022 The Qt Company Ltd. +// Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only // ********************************************************************** @@ -8,11 +8,14 @@ // ********************************************************************** /*! - \previouspage creator-diff-editor.html \page creator-clang-codemodel.html - \nextpage creator-finding-overview.html + \previouspage creator-reference.html - \title Parsing C++ Files with the Clang Code Model + \ingroup creator-reference + + \title Clang Code Model + + \brief Offers code editing services for C++. The \e {code model} is the part of an IDE that understands the language you are using to write your application. It is the framework that allows \QC @@ -73,7 +76,7 @@ \li Code completion \li Syntactic and semantic highlighting - \li \l{Using Clang Tools}{Diagnostics} + \li \l{Clang Checks}{Diagnostics} \li Outline of symbols \li Tooltips \li Following symbols @@ -84,17 +87,57 @@ To use the built-in code model instead, select \preferences > \uicontrol C++ > \uicontrol clangd, and deselect the \uicontrol {Use clangd} check box. - This setting also exists on the project level, so that you can have the clang-based + This setting also exists on the project level, so that you can have the Clang-based services generally enabled, but switch them off for certain projects, or vice versa. - You can configure Clang diagnostics either globally or separately for: + You can configure Clang diagnostics for: \list - \li Clang code model (globally or at project level) - \li \l{Using Clang Tools}{Clang tools} (globally or at project level) + \li \l{Clang Checks}{Clang code model} (globally or at project level) + \li \l{Configure Clang diagnostics}{Clang tools} (globally or at project + level) \endlist - \section1 Configuring Clang Code Model + \section1 Clangd Indexing + + The clangd \e index provides exact and complete results for services such + as finding references, following symbols under cursor, and using the + locator, even for complex constructs. When you \l{Open projects} + {open a project}, clangd scans the source files to generate the index. For + large projects, this can take a while, but the index is persistent and + re-scanning is incremental, so nothing is lost by closing and re-starting + \QC. + + To temporarily disable global indexing, select + \uicontrol {Toggle Progress Details} (1), and then select \uicontrol X on + the progress bar. + + \image qtcreator-toggle-progress-bar.webp {Toggle Progress Details button} + + By default, \QC runs one clangd process per project. If you have created + \l{Manage sessions}{sessions} that have related projects, you can + specify that the projects in the session should be managed by a single + clangd process. + + The document outline in the \l{Outline} view is backed by clangd's document + symbol support, which makes the results more reliable than before. + + \sa {Code Model}, {Clangd}, {Specify clangd settings}, + {Speficy Clang tools settings}, {Use compilation databases} +*/ + +/*! + \page creator-preferences-cpp-code-model.html + \previouspage creator-reference.html + + \ingroup creator-reference-preferences-cpp + + \title Code Model + + \brief Sets global preferences for the code model. + + The Clang code model offers services such as code completion, syntactic and + semantic highlighting, and diagnostics. To configure the Clang code model globally: @@ -132,36 +175,29 @@ \endlist - \section1 Configuring clangd + \sa {Specify clangd settings}, {Clang Code Model}, {Clangd} +*/ - The clangd \e index provides exact and complete results for services such - as finding references, following symbols under cursor, and using the - locator, even for complex constructs. When you \l{Open projects} - {open a project}, clangd scans the source files to generate the index. For - large projects, this can take a while, but the index is persistent and - re-scanning is incremental, so nothing is lost by closing and re-starting - \QC. +/*! + \page creator-preferences-cpp-clangd.html + \previouspage creator-reference.html - To temporarily disable global indexing, select - \uicontrol {Toggle Progress Details} (1), and then select \uicontrol X on - the progress bar. + \ingroup creator-reference-preferences-cpp - \image qtcreator-toggle-progress-bar.webp {Toggle Progress Details button} + \title Clangd - By default, \QC runs one clangd process per project. If you have created - \l{Manage sessions}{sessions} that have related projects, you can - specify that the projects in the session should be managed by a single - clangd process. + \brief Sets global preferences for the clangd code model. - The document outline in the \l{Outline} view is backed by clangd's document - symbol support, which makes the results more reliable than before. + The Clang project has libraries for parsing C language family source files + and providing you with detailed diagnostics. The clangd \e index provides + exact and complete results for services such as code completion. - To specify settings for clangd: + To set preferences for clangd: \list 1 \li Select \preferences > \uicontrol C++ > \uicontrol Clangd > \uicontrol {Use clangd}. - \image qtcreator-preferences-clangd.webp "Clangd preferences" + \image qtcreator-preferences-clangd.webp {Clangd preferences} \li In \uicontrol {Path to executable}, enter the path to clangd version 14, or later. \li In the \uicontrol {Background indexing} field, select \uicontrol Off @@ -195,24 +231,30 @@ by ignoring big files. Specify the maximum size of files to parse in the field next to 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. + checks to perform. Click the value of the field to select and edit + the checks to perform. \li Select \uicontrol Add to select sessions that should use a single clangd process for indexing. \endlist \section1 Clang Checks + Click the value of the \uicontrol {Diagnostic configuration} field to open + the \uicontrol {Diagnostic Configurations} dialog, where you can select and + edit the checks to perform. + + \image qtcreator-clang-diagnostic-configurations.webp {Diagnostic Configurations dialog} + In addition to using the built-in checks, you can select \uicontrol Copy to create copies of them and edit the copies to fit your needs. - \uicontrol {Build-system warnings} displays warnings as specified - by the build system. - - \uicontrol {Checks for questionable constructs} combines the \c -Wall and - \c -Wextra checks for easily avoidable questionable constructions and some - additional issues. + \list + \li \uicontrol {Build-system warnings} shows warnings as specified + by the build system. + \li \uicontrol {Checks for questionable constructs} combines the \c -Wall + and \c -Wextra checks for easily avoidable questionable constructions + and some additional issues. + \endlist Clang checks begin with \c -W. Each check also has a negative version that begins with \c -Wno. @@ -221,11 +263,27 @@ see \l{https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html} {Options to Request or Suppress Warnings} or the GCC or Clang manual pages. - \section1 Specifying Clang Code Model Settings at Project Level - - You can specify Clang code model settings at project level by selecting - \uicontrol Projects > \uicontrol {clangd}. - - \include creator-compilation-database.qdocinc using compilation databases - + \sa {Specify clangd settings}, {Clang Code Model}, {Code Model} +*/ + +/*! + \page creator-how-to-override-clangd-preferences.html + \previouspage creator-how-tos.html + + \ingroup creator-how-to-projects-configure + + \title Specify clangd settings + + To set clangd preferences for the current project: + + \list 1 + \li Select \uicontrol Projects > \uicontrol {Project Settings} > + \uicontrol {Clangd}. + \image qtcreator-projects-settings-clangd.webp {Clangd preferences for a project} + \li Deselect \uicontrol {Use global settings}. + \li Select \uicontrol {Use clangd}. + \li Specify \uicontrol Clangd preferences for the project. + \endlist + + \sa {Clang Code Model}, {Clangd}, {Code Model} */ diff --git a/doc/qtcreator/src/editors/creator-only/creator-compilation-database.qdocinc b/doc/qtcreator/src/editors/creator-only/creator-compilation-database.qdoc similarity index 84% rename from doc/qtcreator/src/editors/creator-only/creator-compilation-database.qdocinc rename to doc/qtcreator/src/editors/creator-only/creator-compilation-database.qdoc index 68b16bc25be..4bc641fb091 100644 --- a/doc/qtcreator/src/editors/creator-only/creator-compilation-database.qdocinc +++ b/doc/qtcreator/src/editors/creator-only/creator-compilation-database.qdoc @@ -1,10 +1,13 @@ -// Copyright (C) 2020 The Qt Company Ltd. +// Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only /*! -//! [using compilation databases] + \page creator-how-to-use-compilation-databases.html + \previouspage creator-how-tos.html - \section1 Using Compilation Databases + \ingroup creator-how-to-build + + \title Use compilation databases The \l{https://clang.llvm.org/docs/JSONCompilationDatabase.html} {JSON compilation database format} specifies how to replay single builds @@ -34,7 +37,5 @@ database projects in the \uicontrol Projects mode. \sa {Enable and disable plugins}, {Add custom build steps}, - {Configure projects for running} - -//! [using compilation databases] + {Configure projects for running}, {Code Model} */ diff --git a/doc/qtcreator/src/editors/creator-quick-fixes.qdoc b/doc/qtcreator/src/editors/creator-quick-fixes.qdoc index ed482dfcedc..f161a5fe1c5 100644 --- a/doc/qtcreator/src/editors/creator-quick-fixes.qdoc +++ b/doc/qtcreator/src/editors/creator-quick-fixes.qdoc @@ -153,13 +153,11 @@ \section1 Summary of Refactoring Actions \if defined(qtcreator) - If you use the \l{Parsing C++ Files with the Clang Code Model} - {Clang code model} to parse the C++ files, the - \l{http://clang.llvm.org/diagnostics.html}{Clang fix-it hints} - that have been integrated into \QC are also available to you. In addition to - the standard ways of activating refactoring actions, you can select the - actions that are applicable on a line in the context menu in the left margin - of the code editor. + If you use the \l{Clang Code Model}{Clang code model} to parse the C++ files, + you will get \l{http://clang.llvm.org/diagnostics.html}{Clang fix-it hints} + that have been integrated into \QC. Use the standard ways of activating + refactoring actions or select the actions that are applicable on a line in + the context menu in the left margin of the code editor. \section2 Refactoring C++ Code diff --git a/doc/qtcreator/src/projects/creator-only/creator-how-to-select-build-systems.qdoc b/doc/qtcreator/src/projects/creator-only/creator-how-to-select-build-systems.qdoc index 3bb5693f7e3..1add6213144 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-how-to-select-build-systems.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-how-to-select-build-systems.qdoc @@ -44,8 +44,7 @@ generators. Their availability depends on the version of the build tool, host platform, and properties of the host system. Also, a JSON compilation database generator is available if the - \l{Parsing C++ Files with the Clang Code Model}{Clang Code Model plugin} - is enabled (default). + \l{Clang Code Model}{Clang Code Model plugin} is enabled (default). \section1 Set preferences for building and running diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc index f80115490c8..0be778cadb4 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc @@ -79,7 +79,7 @@ the project: \list - \li \l{Parsing C++ Files with the Clang Code Model}{Clangd} + \li \l{Specify clangd settings}{Clangd} \li \l{Using Clang Tools}{Clang Tools} \li \l{Specify code style}{C++ Code Style} \li \l{Set C++ file naming preferences}{C++ File Naming} diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc index 48f47b8988f..8af64c27bb0 100644 --- a/doc/qtcreator/src/qtcreator-toc.qdoc +++ b/doc/qtcreator/src/qtcreator-toc.qdoc @@ -37,7 +37,6 @@ \li \l{Pasting and Fetching Code Snippets} \li \l{Using Text Editing Macros} \li \l{Comparing Files} - \li \l{Parsing C++ Files with the Clang Code Model} \endlist \li \l{Finding} \list