summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorTim Jenßen <tim.jenssen@qt.io>2023-03-26 15:58:49 +0200
committerTim Jenßen <tim.jenssen@qt.io>2023-03-26 16:26:18 +0200
commitfeabda3aa78b7861ae03f1cc2296e8adf34ba038 (patch)
tree9bc06c7eeb6fca92e8cdd273908f7350260a8cb8 /doc
parent359ea5d55a9452d70c20754c2380b1bf1c704c04 (diff)
parentf7639f458a4b87263e96de70f26554a660148bc3 (diff)
downloadqt-creator-feabda3aa78b7861ae03f1cc2296e8adf34ba038.tar.gz
Merge remote-tracking branch 'origin/10.0' into qds/dev
bigger conflicts resolved at: src/plugins/qmldesigner/CMakeLists.txt src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp Change-Id: I08e2a109d8e37cbd77225129854e9e633725bfc7
Diffstat (limited to 'doc')
-rw-r--r--doc/CMakeLists.txt4
-rw-r--r--doc/qtcreator/examples/accelbubble/CMakeLists.txt11
-rw-r--r--doc/qtcreator/examples/transitions/CMakeLists.txt16
-rw-r--r--doc/qtcreator/images/creator-toggle-progress-bar.pngbin18077 -> 0 bytes
-rw-r--r--doc/qtcreator/images/extraimages/images/5OiIqFTjUZI.jpgbin0 -> 57742 bytes
-rw-r--r--doc/qtcreator/images/extraimages/qtcreator-extraimages.qdocconf3
-rw-r--r--doc/qtcreator/images/icons/languageclient.pngbin0 -> 283 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-add-breakpoint.pngbin11338 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-add-breakpoint.webpbin0 -> 7654 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-android-build-apk-step.pngbin13157 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-android-manifest-editor-app-icon.pngbin24737 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-android-manifest-editor-app-icon.webpbin0 -> 15356 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-android-manifest-editor-package.pngbin11248 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-android-manifest-editor-package.webpbin0 -> 4646 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-android-manifest-editor-permissions.pngbin5383 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-android-manifest-editor-permissions.webpbin0 -> 2754 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-android-manifest-editor-services.pngbin5924 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-android-manifest-editor-splash-screen.pngbin10588 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-android-manifest-editor-splash-screen.webpbin0 -> 5304 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-android-sdk-manager.pngbin10398 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-android-sdk-manager.webpbin0 -> 11794 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-autotests-options-boost.pngbin4389 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-autotests-options-catch2.pngbin5782 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-autotests-options-ctest.pngbin7002 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-autotests-options-google.pngbin4837 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-autotests-options-qt.pngbin5531 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-autotests-options.pngbin12388 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-build-settings-android-apk.webpbin0 -> 7334 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-build-settings-cmake-configure.webpbin0 -> 5270 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-build-settings-cmake-current.webpbin0 -> 16632 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-build-settings-cmake-initial.webpbin0 -> 12268 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-call-hierarchy-view.pngbin0 -> 1773 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-clang-code-model-options.pngbin4700 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-clang-tidy-view.webpbin0 -> 3538 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-cmake-build-settings-initial.pngbin24618 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-cmake-build-settings.pngbin21459 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-code-style-clang-format-global.webpbin0 -> 15310 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-code-style-clang-format-project.webpbin0 -> 10152 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-code-style-clang-format.pngbin20662 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-debug-breakpoints.pngbin3034 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-debug-breakpoints.webpbin0 -> 3384 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-debugger-breakpoint-preset.pngbin3383 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-debugger-breakpoint-preset.webpbin0 -> 3196 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-debugger-modules.webpbin0 -> 7760 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-debugger-source-files.webpbin0 -> 2226 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-debugger-threads.webpbin0 -> 4800 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-debugger-views-initial.webpbin0 -> 3974 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-debugger-views.pngbin34578 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-debugger-views.webpbin0 -> 9742 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-editortoolbar-symbols.pngbin24161 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-editortoolbar-symbols.webpbin0 -> 10548 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-files-to-analyze.pngbin5402 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-files-to-analyze.webpbin0 -> 4454 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-gerrit-options.pngbin10027 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-new-project.pngbin12918 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-new-project.webpbin0 -> 9902 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-new-qt-quick-project.pngbin12659 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-options-code-style-cpp.pngbin13876 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-pprunsettings.pngbin13198 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-cmake-formatter.webpbin0 -> 4310 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-cmake-general.pngbin4094 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-cmake-general.webpbin0 -> 3968 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-cmake-tools.pngbin17395 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-cmake-tools.webpbin0 -> 8720 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-code-model.webpbin0 -> 3942 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-devices-docker-device.pngbin0 -> 26560 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-devices-docker-device.webpbin31232 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-testing-boosttest.webpbin0 -> 4036 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-testing-catchtest.webpbin0 -> 4424 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-testing-ctest.webpbin0 -> 4476 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-testing-general.webpbin0 -> 8014 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-testing-googletest.webpbin0 -> 3942 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-testing-qttest.webpbin0 -> 4594 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-vcs-bazaar.webpbin0 -> 4034 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-vcs-clearcase.webpbin0 -> 9296 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-vcs-cvs.webpbin0 -> 4176 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-vcs-fossil.webpbin0 -> 5442 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-vcs-general.webpbin0 -> 5224 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-vcs-gerrit.webpbin0 -> 5052 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-vcs-git.webpbin0 -> 5634 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-vcs-mercurial.webpbin0 -> 4090 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-vcs-perforce.webpbin0 -> 5030 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-preferences-vcs-subversion.webpbin0 -> 5168 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-project-qt-quick-details.webpbin0 -> 6528 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-project-qt-quick.webpbin0 -> 9638 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-python-interpreter-edit-mode.webpbin0 -> 5834 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-qml-js-editing.pngbin5888 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-qml-js-editing.webpbin0 -> 6992 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-run-settings-python.webpbin0 -> 6058 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-settings-run-desktop.webpbin0 -> 10152 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-settings-run.pngbin24017 -> 0 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-settings-run.webpbin0 -> 19066 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-toggle-progress-bar.webpbin0 -> 1946 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-typo-clang.pngbin19902 -> 23566 bytes
-rw-r--r--doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc6
-rw-r--r--doc/qtcreator/src/analyze/creator-clang-static-analyzer.qdoc69
-rw-r--r--doc/qtcreator/src/analyze/creator-cppcheck.qdoc2
-rw-r--r--doc/qtcreator/src/analyze/creator-ctf-visualizer.qdoc14
-rw-r--r--doc/qtcreator/src/analyze/creator-heob.qdoc4
-rw-r--r--doc/qtcreator/src/analyze/creator-valgrind.qdoc6
-rw-r--r--doc/qtcreator/src/android/androiddev.qdoc131
-rw-r--r--doc/qtcreator/src/android/deploying-android.qdoc311
-rw-r--r--doc/qtcreator/src/baremetal/creator-baremetal-dev.qdoc5
-rw-r--r--doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc179
-rw-r--r--doc/qtcreator/src/cmake/creator-projects-cmake.qdoc46
-rw-r--r--doc/qtcreator/src/conan/creator-projects-conan.qdoc4
-rw-r--r--doc/qtcreator/src/debugger/creator-debug-views.qdoc (renamed from doc/qtcreator/src/debugger/creator-debugger-common.qdocinc)318
-rw-r--r--doc/qtcreator/src/debugger/creator-only/creator-debugger-settings.qdoc (renamed from doc/qtcreator/src/debugger/creator-only/creator-debugger-settings.qdocinc)39
-rw-r--r--doc/qtcreator/src/debugger/creator-only/creator-debugger-setup.qdoc118
-rw-r--r--doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc697
-rw-r--r--doc/qtcreator/src/debugger/qtquick-debugger-example.qdoc4
-rw-r--r--doc/qtcreator/src/debugger/qtquick-debugging.qdoc13
-rw-r--r--doc/qtcreator/src/docker/creator-docker.qdoc58
-rw-r--r--doc/qtcreator/src/editors/creator-clangformat.qdocinc61
-rw-r--r--doc/qtcreator/src/editors/creator-code-completion.qdoc12
-rw-r--r--doc/qtcreator/src/editors/creator-code-indentation.qdoc84
-rw-r--r--doc/qtcreator/src/editors/creator-code-syntax.qdoc24
-rw-r--r--doc/qtcreator/src/editors/creator-coding-edit-mode.qdoc20
-rw-r--r--doc/qtcreator/src/editors/creator-coding.qdoc4
-rw-r--r--doc/qtcreator/src/editors/creator-editors-writing-code.qdoc6
-rw-r--r--doc/qtcreator/src/editors/creator-finding.qdoc2
-rw-r--r--doc/qtcreator/src/editors/creator-locator.qdoc10
-rw-r--r--doc/qtcreator/src/editors/creator-only/creator-beautifier.qdoc21
-rw-r--r--doc/qtcreator/src/editors/creator-only/creator-clang-codemodel.qdoc29
-rw-r--r--doc/qtcreator/src/editors/creator-only/creator-compilation-database.qdocinc2
-rw-r--r--doc/qtcreator/src/editors/creator-only/creator-fakevim.qdoc2
-rw-r--r--doc/qtcreator/src/editors/creator-only/creator-language-server.qdoc32
-rw-r--r--doc/qtcreator/src/editors/creator-only/creator-mime-types.qdoc4
-rw-r--r--doc/qtcreator/src/editors/creator-only/creator-modeling.qdoc17
-rw-r--r--doc/qtcreator/src/editors/creator-only/creator-scxml.qdoc16
-rw-r--r--doc/qtcreator/src/editors/creator-quick-fixes.qdoc6
-rw-r--r--doc/qtcreator/src/editors/creator-search.qdoc3
-rw-r--r--doc/qtcreator/src/editors/creator-semantic-highlighting.qdoc4
-rw-r--r--doc/qtcreator/src/howto/creator-external-tools.qdoc2
-rw-r--r--doc/qtcreator/src/howto/creator-help.qdoc16
-rw-r--r--doc/qtcreator/src/howto/creator-keyboard-shortcuts.qdoc8
-rw-r--r--doc/qtcreator/src/howto/creator-only/creator-autotest.qdoc247
-rw-r--r--doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc10
-rw-r--r--doc/qtcreator/src/howto/creator-only/creator-squish.qdoc2
-rw-r--r--doc/qtcreator/src/howto/creator-only/creator-task-lists.qdoc2
-rw-r--r--doc/qtcreator/src/howto/creator-only/qtcreator-faq.qdoc12
-rw-r--r--doc/qtcreator/src/incredibuild/creator-projects-incredibuild-building.qdoc6
-rw-r--r--doc/qtcreator/src/linux-mobile/b2qtdev.qdoc52
-rw-r--r--doc/qtcreator/src/linux-mobile/creator-embedded-platforms.qdoc20
-rw-r--r--doc/qtcreator/src/overview/creator-acknowledgements.qdoc14
-rw-r--r--doc/qtcreator/src/overview/creator-only/creator-advanced.qdoc2
-rw-r--r--doc/qtcreator/src/overview/creator-only/creator-configuring.qdoc8
-rw-r--r--doc/qtcreator/src/overview/creator-only/creator-design-overview.qdoc4
-rw-r--r--doc/qtcreator/src/overview/creator-only/creator-getting-started.qdoc5
-rw-r--r--doc/qtcreator/src/overview/creator-only/creator-glossary.qdoc23
-rw-r--r--doc/qtcreator/src/overview/creator-only/creator-help-overview.qdoc2
-rw-r--r--doc/qtcreator/src/overview/creator-only/creator-issues.qdoc6
-rw-r--r--doc/qtcreator/src/overview/creator-only/creator-mobile-platforms.qdoc6
-rw-r--r--doc/qtcreator/src/overview/creator-only/creator-overview.qdoc17
-rw-r--r--doc/qtcreator/src/overview/creator-only/mobile-app-design.qdoc2
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-files-creating.qdoc8
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-build-systems.qdocinc10
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-building-running.qdoc6
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-building.qdoc6
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc6
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc33
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards-json.qdocinc44
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards.qdoc8
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-generic.qdoc4
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc2
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-nimble.qdoc2
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-opening.qdoc2
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-other.qdoc2
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-qt-versions.qdoc2
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-settings-build-qbs.qdoc27
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc21
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-settings-code-style.qdoc39
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc2
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc11
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-settings-run.qdoc6
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc2
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-targets.qdoc5
-rw-r--r--doc/qtcreator/src/projects/creator-projects-running.qdoc2
-rw-r--r--doc/qtcreator/src/projects/qtcreator-variables.qdocinc2
-rw-r--r--doc/qtcreator/src/python/creator-python-project.qdocinc37
-rw-r--r--doc/qtcreator/src/qnx/creator-developing-qnx.qdoc5
-rw-r--r--doc/qtcreator/src/qnx/creator-projects-running-qnx.qdocinc4
-rw-r--r--doc/qtcreator/src/qtcreator-toc.qdoc22
-rw-r--r--doc/qtcreator/src/qtcreator.qdoc2
-rw-r--r--doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc2
-rw-r--r--doc/qtcreator/src/qtquick/creator-only/qtquick-app-development.qdoc2
-rw-r--r--doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc10
-rw-r--r--doc/qtcreator/src/qtquick/creator-only/qtquick-creating.qdoc43
-rw-r--r--doc/qtcreator/src/qtquick/creator-only/qtquick-designer-plugin.qdoc2
-rw-r--r--doc/qtcreator/src/qtquick/creator-only/qtquick-tutorial-create-empty-project.qdocinc14
-rw-r--r--doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc8
-rw-r--r--doc/qtcreator/src/qtquick/qtquick-modules-with-plugins.qdoc4
-rw-r--r--doc/qtcreator/src/qtquick/qtquick-profiler.qdoc2
-rw-r--r--doc/qtcreator/src/qtquick/qtquick-toolbars.qdoc5
-rw-r--r--doc/qtcreator/src/user-interface/creator-file-system-view.qdoc9
-rw-r--r--doc/qtcreator/src/user-interface/creator-projects-view.qdoc21
-rw-r--r--doc/qtcreator/src/user-interface/creator-ui.qdoc23
-rw-r--r--doc/qtcreator/src/user-interface/creator-views.qdoc21
-rw-r--r--doc/qtcreator/src/vcs/creator-only/creator-vcs-bazaar.qdoc20
-rw-r--r--doc/qtcreator/src/vcs/creator-only/creator-vcs-clearcase.qdoc27
-rw-r--r--doc/qtcreator/src/vcs/creator-only/creator-vcs-cvs.qdoc28
-rw-r--r--doc/qtcreator/src/vcs/creator-only/creator-vcs-fossil.qdoc92
-rw-r--r--doc/qtcreator/src/vcs/creator-only/creator-vcs-gitlab.qdoc2
-rw-r--r--doc/qtcreator/src/vcs/creator-only/creator-vcs-mercurial.qdoc19
-rw-r--r--doc/qtcreator/src/vcs/creator-only/creator-vcs-options.qdocinc27
-rw-r--r--doc/qtcreator/src/vcs/creator-only/creator-vcs-perforce.qdoc22
-rw-r--r--doc/qtcreator/src/vcs/creator-only/creator-vcs-subversion.qdoc31
-rw-r--r--doc/qtcreator/src/vcs/creator-only/creator-vcs.qdoc33
-rw-r--r--doc/qtcreator/src/vcs/creator-vcs-git.qdoc57
-rw-r--r--doc/qtcreator/src/widgets/qtdesigner-app-tutorial.qdoc2
-rw-r--r--doc/qtcreator/src/widgets/qtdesigner-overview.qdoc4
-rw-r--r--doc/qtcreator/src/widgets/qtdesigner-plugins.qdoc2
-rw-r--r--doc/qtcreatordev/config/qtcreator-developer.qdocconf2
-rw-r--r--doc/qtcreatordev/examples/exampleplugin/CMakeLists.txt29
-rw-r--r--doc/qtcreatordev/examples/exampleplugin/example.cpp43
-rw-r--r--doc/qtcreatordev/examples/exampleplugin/example.h2
-rw-r--r--doc/qtcreatordev/examples/exampleplugin/example_global.h4
-rw-r--r--doc/qtcreatordev/examples/exampleplugin/exampleconstants.h2
-rw-r--r--doc/qtcreatordev/examples/exampleplugin/examplefunctions.h9
-rw-r--r--doc/qtcreatordev/examples/exampleplugin/tst_mytest.cpp21
-rw-r--r--doc/qtcreatordev/src/coding-style.qdoc75
-rw-r--r--doc/qtcreatordev/src/creating-plugins.qdoc6
-rw-r--r--doc/qtcreatordev/src/plugin-metadata.qdoc7
-rw-r--r--doc/qtcreatordev/src/plugin-tests.qdoc103
-rw-r--r--doc/qtcreatordev/src/qtcreator-module.qdoc5
-rw-r--r--doc/qtcreatordev/src/qtcreator-ui-text.qdoc2
-rw-r--r--doc/qtdesignstudio/examples/Loginui1/imports/loginui1/EventListModel.qml2
-rw-r--r--doc/qtdesignstudio/examples/Loginui1/imports/loginui1/EventListSimulator.qml2
-rw-r--r--doc/qtdesignstudio/examples/Loginui1/src/main.cpp2
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/DirectoryFontLoader.qml2
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc6
231 files changed, 2496 insertions, 1565 deletions
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 077d181493..23cada0590 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -25,7 +25,9 @@ function(_find_all_includes _ret_includes _ret_framework_paths)
# framework path
if (APPLE)
- get_target_property(_qt_target Qt5::Core LOCATION) # <fw_path>/QtCore.framework/QtCore
+ # version-less target Qt::Core is an interface library that links to QtX::Core
+ get_target_property(_qt_core Qt::Core INTERFACE_LINK_LIBRARIES)
+ get_target_property(_qt_target ${_qt_core} LOCATION) # <fw_path>/QtCore.framework/QtCore
get_filename_component(_qt_loc "${_qt_target}" DIRECTORY)
set("${_ret_framework_paths}" "${_qt_loc}/.." PARENT_SCOPE)
endif()
diff --git a/doc/qtcreator/examples/accelbubble/CMakeLists.txt b/doc/qtcreator/examples/accelbubble/CMakeLists.txt
index 5210b67a25..868e5ea133 100644
--- a/doc/qtcreator/examples/accelbubble/CMakeLists.txt
+++ b/doc/qtcreator/examples/accelbubble/CMakeLists.txt
@@ -2,10 +2,11 @@ cmake_minimum_required(VERSION 3.16)
project(accelbubble VERSION 0.1 LANGUAGES CXX)
-set(CMAKE_AUTOMOC ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
-find_package(Qt6 6.2 COMPONENTS Quick Sensors Svg Xml REQUIRED)
+find_package(Qt6 6.4 REQUIRED COMPONENTS Quick Sensors Svg Xml)
+
+qt_standard_project_setup()
qt_add_executable(appaccelbubble
main.cpp
@@ -15,7 +16,7 @@ qt_add_executable(appaccelbubble
qt_add_qml_module(appaccelbubble
URI accelbubble
VERSION 1.0
- QML_FILES main.qml
+ QML_FILES Main.qml
RESOURCES Bluebubble.svg
)
@@ -37,4 +38,8 @@ target_compile_definitions(appaccelbubble
target_link_libraries(appaccelbubble
PRIVATE Qt6::Quick Qt6::Sensors Qt6::Svg Qt6::Xml)
+install(TARGETS appaccelbubble
+ BUNDLE DESTINATION .
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
qt_finalize_executable(appaccelbubble)
diff --git a/doc/qtcreator/examples/transitions/CMakeLists.txt b/doc/qtcreator/examples/transitions/CMakeLists.txt
index 1ebc965be5..3dec945039 100644
--- a/doc/qtcreator/examples/transitions/CMakeLists.txt
+++ b/doc/qtcreator/examples/transitions/CMakeLists.txt
@@ -2,10 +2,11 @@ cmake_minimum_required(VERSION 3.16)
project(transitions VERSION 0.1 LANGUAGES CXX)
-set(CMAKE_AUTOMOC ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
-find_package(Qt6 6.2 COMPONENTS Quick REQUIRED)
+find_package(Qt6 6.4 REQUIRED COMPONENTS Quick)
+
+qt_standard_project_setup()
qt_add_executable(apptransitions
main.cpp
@@ -14,7 +15,7 @@ qt_add_executable(apptransitions
qt_add_qml_module(apptransitions
URI transitions
VERSION 1.0
- QML_FILES main.qml Page.qml
+ QML_FILES Main.qml Page.qml
RESOURCES qt-logo.png
)
@@ -26,7 +27,10 @@ set_target_properties(apptransitions PROPERTIES
WIN32_EXECUTABLE TRUE
)
-target_compile_definitions(apptransitions
- PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
target_link_libraries(apptransitions
- PRIVATE Qt6::Quick)
+ PRIVATE Qt6::Quick
+)
+
+install(TARGETS apptransitions
+ BUNDLE DESTINATION .
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/doc/qtcreator/images/creator-toggle-progress-bar.png b/doc/qtcreator/images/creator-toggle-progress-bar.png
deleted file mode 100644
index 4d041e363c..0000000000
--- a/doc/qtcreator/images/creator-toggle-progress-bar.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/extraimages/images/5OiIqFTjUZI.jpg b/doc/qtcreator/images/extraimages/images/5OiIqFTjUZI.jpg
new file mode 100644
index 0000000000..91dbba8327
--- /dev/null
+++ b/doc/qtcreator/images/extraimages/images/5OiIqFTjUZI.jpg
Binary files differ
diff --git a/doc/qtcreator/images/extraimages/qtcreator-extraimages.qdocconf b/doc/qtcreator/images/extraimages/qtcreator-extraimages.qdocconf
index af81e51192..200058d4a4 100644
--- a/doc/qtcreator/images/extraimages/qtcreator-extraimages.qdocconf
+++ b/doc/qtcreator/images/extraimages/qtcreator-extraimages.qdocconf
@@ -1,2 +1,3 @@
{HTML.extraimages,qhp.QtCreator.extraFiles} += \
- images/commercial.png
+ images/commercial.png \
+ images/5OiIqFTjUZI.jpg
diff --git a/doc/qtcreator/images/icons/languageclient.png b/doc/qtcreator/images/icons/languageclient.png
new file mode 100644
index 0000000000..878b4df4b9
--- /dev/null
+++ b/doc/qtcreator/images/icons/languageclient.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-add-breakpoint.png b/doc/qtcreator/images/qtcreator-add-breakpoint.png
deleted file mode 100644
index 1a399df7b9..0000000000
--- a/doc/qtcreator/images/qtcreator-add-breakpoint.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-add-breakpoint.webp b/doc/qtcreator/images/qtcreator-add-breakpoint.webp
new file mode 100644
index 0000000000..8bef878050
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-add-breakpoint.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-android-build-apk-step.png b/doc/qtcreator/images/qtcreator-android-build-apk-step.png
deleted file mode 100644
index 8e3b7c43e0..0000000000
--- a/doc/qtcreator/images/qtcreator-android-build-apk-step.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-android-manifest-editor-app-icon.png b/doc/qtcreator/images/qtcreator-android-manifest-editor-app-icon.png
deleted file mode 100644
index 60678658b1..0000000000
--- a/doc/qtcreator/images/qtcreator-android-manifest-editor-app-icon.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-android-manifest-editor-app-icon.webp b/doc/qtcreator/images/qtcreator-android-manifest-editor-app-icon.webp
new file mode 100644
index 0000000000..b596da36f8
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-android-manifest-editor-app-icon.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-android-manifest-editor-package.png b/doc/qtcreator/images/qtcreator-android-manifest-editor-package.png
deleted file mode 100644
index 843ca804bf..0000000000
--- a/doc/qtcreator/images/qtcreator-android-manifest-editor-package.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-android-manifest-editor-package.webp b/doc/qtcreator/images/qtcreator-android-manifest-editor-package.webp
new file mode 100644
index 0000000000..bc4546b838
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-android-manifest-editor-package.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-android-manifest-editor-permissions.png b/doc/qtcreator/images/qtcreator-android-manifest-editor-permissions.png
deleted file mode 100644
index 3918c8fb7a..0000000000
--- a/doc/qtcreator/images/qtcreator-android-manifest-editor-permissions.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-android-manifest-editor-permissions.webp b/doc/qtcreator/images/qtcreator-android-manifest-editor-permissions.webp
new file mode 100644
index 0000000000..84c434e53d
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-android-manifest-editor-permissions.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-android-manifest-editor-services.png b/doc/qtcreator/images/qtcreator-android-manifest-editor-services.png
deleted file mode 100644
index d9850e54ea..0000000000
--- a/doc/qtcreator/images/qtcreator-android-manifest-editor-services.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-android-manifest-editor-splash-screen.png b/doc/qtcreator/images/qtcreator-android-manifest-editor-splash-screen.png
deleted file mode 100644
index d90e58b33f..0000000000
--- a/doc/qtcreator/images/qtcreator-android-manifest-editor-splash-screen.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-android-manifest-editor-splash-screen.webp b/doc/qtcreator/images/qtcreator-android-manifest-editor-splash-screen.webp
new file mode 100644
index 0000000000..b03558c66c
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-android-manifest-editor-splash-screen.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-android-sdk-manager.png b/doc/qtcreator/images/qtcreator-android-sdk-manager.png
deleted file mode 100644
index 7f24683d74..0000000000
--- a/doc/qtcreator/images/qtcreator-android-sdk-manager.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-android-sdk-manager.webp b/doc/qtcreator/images/qtcreator-android-sdk-manager.webp
new file mode 100644
index 0000000000..89a1900c90
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-android-sdk-manager.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-autotests-options-boost.png b/doc/qtcreator/images/qtcreator-autotests-options-boost.png
deleted file mode 100644
index fedb2a7a15..0000000000
--- a/doc/qtcreator/images/qtcreator-autotests-options-boost.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-autotests-options-catch2.png b/doc/qtcreator/images/qtcreator-autotests-options-catch2.png
deleted file mode 100644
index 347f497247..0000000000
--- a/doc/qtcreator/images/qtcreator-autotests-options-catch2.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-autotests-options-ctest.png b/doc/qtcreator/images/qtcreator-autotests-options-ctest.png
deleted file mode 100644
index 071cba4a71..0000000000
--- a/doc/qtcreator/images/qtcreator-autotests-options-ctest.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-autotests-options-google.png b/doc/qtcreator/images/qtcreator-autotests-options-google.png
deleted file mode 100644
index 640da46fd5..0000000000
--- a/doc/qtcreator/images/qtcreator-autotests-options-google.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-autotests-options-qt.png b/doc/qtcreator/images/qtcreator-autotests-options-qt.png
deleted file mode 100644
index 808ac1109e..0000000000
--- a/doc/qtcreator/images/qtcreator-autotests-options-qt.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-autotests-options.png b/doc/qtcreator/images/qtcreator-autotests-options.png
deleted file mode 100644
index 4d945f6c93..0000000000
--- a/doc/qtcreator/images/qtcreator-autotests-options.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-build-settings-android-apk.webp b/doc/qtcreator/images/qtcreator-build-settings-android-apk.webp
new file mode 100644
index 0000000000..a0d28c9ecb
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-build-settings-android-apk.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-build-settings-cmake-configure.webp b/doc/qtcreator/images/qtcreator-build-settings-cmake-configure.webp
new file mode 100644
index 0000000000..4b38b162f4
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-build-settings-cmake-configure.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-build-settings-cmake-current.webp b/doc/qtcreator/images/qtcreator-build-settings-cmake-current.webp
new file mode 100644
index 0000000000..24278f8dcc
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-build-settings-cmake-current.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-build-settings-cmake-initial.webp b/doc/qtcreator/images/qtcreator-build-settings-cmake-initial.webp
new file mode 100644
index 0000000000..cee22f09f6
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-build-settings-cmake-initial.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-call-hierarchy-view.png b/doc/qtcreator/images/qtcreator-call-hierarchy-view.png
new file mode 100644
index 0000000000..95f0c87dd3
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-call-hierarchy-view.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-clang-code-model-options.png b/doc/qtcreator/images/qtcreator-clang-code-model-options.png
deleted file mode 100644
index 7bc9edcafd..0000000000
--- a/doc/qtcreator/images/qtcreator-clang-code-model-options.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-clang-tidy-view.webp b/doc/qtcreator/images/qtcreator-clang-tidy-view.webp
new file mode 100644
index 0000000000..1a914a683a
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-clang-tidy-view.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-cmake-build-settings-initial.png b/doc/qtcreator/images/qtcreator-cmake-build-settings-initial.png
deleted file mode 100644
index 3392c8ee67..0000000000
--- a/doc/qtcreator/images/qtcreator-cmake-build-settings-initial.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-cmake-build-settings.png b/doc/qtcreator/images/qtcreator-cmake-build-settings.png
deleted file mode 100644
index 9c88b064d6..0000000000
--- a/doc/qtcreator/images/qtcreator-cmake-build-settings.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-code-style-clang-format-global.webp b/doc/qtcreator/images/qtcreator-code-style-clang-format-global.webp
new file mode 100644
index 0000000000..c012f83ce9
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-code-style-clang-format-global.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-code-style-clang-format-project.webp b/doc/qtcreator/images/qtcreator-code-style-clang-format-project.webp
new file mode 100644
index 0000000000..dc4aefecd1
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-code-style-clang-format-project.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-code-style-clang-format.png b/doc/qtcreator/images/qtcreator-code-style-clang-format.png
deleted file mode 100644
index 66d7fb782f..0000000000
--- a/doc/qtcreator/images/qtcreator-code-style-clang-format.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-debug-breakpoints.png b/doc/qtcreator/images/qtcreator-debug-breakpoints.png
deleted file mode 100644
index 7594830661..0000000000
--- a/doc/qtcreator/images/qtcreator-debug-breakpoints.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-debug-breakpoints.webp b/doc/qtcreator/images/qtcreator-debug-breakpoints.webp
new file mode 100644
index 0000000000..69c22405a2
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-debug-breakpoints.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-debugger-breakpoint-preset.png b/doc/qtcreator/images/qtcreator-debugger-breakpoint-preset.png
deleted file mode 100644
index e5fa486f2e..0000000000
--- a/doc/qtcreator/images/qtcreator-debugger-breakpoint-preset.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-debugger-breakpoint-preset.webp b/doc/qtcreator/images/qtcreator-debugger-breakpoint-preset.webp
new file mode 100644
index 0000000000..9fd3335126
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-debugger-breakpoint-preset.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-debugger-modules.webp b/doc/qtcreator/images/qtcreator-debugger-modules.webp
new file mode 100644
index 0000000000..e4af9e817d
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-debugger-modules.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-debugger-source-files.webp b/doc/qtcreator/images/qtcreator-debugger-source-files.webp
new file mode 100644
index 0000000000..7f8faabd4f
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-debugger-source-files.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-debugger-threads.webp b/doc/qtcreator/images/qtcreator-debugger-threads.webp
new file mode 100644
index 0000000000..1a84d6ae2b
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-debugger-threads.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-debugger-views-initial.webp b/doc/qtcreator/images/qtcreator-debugger-views-initial.webp
new file mode 100644
index 0000000000..be250d19aa
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-debugger-views-initial.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-debugger-views.png b/doc/qtcreator/images/qtcreator-debugger-views.png
deleted file mode 100644
index 32e9257269..0000000000
--- a/doc/qtcreator/images/qtcreator-debugger-views.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-debugger-views.webp b/doc/qtcreator/images/qtcreator-debugger-views.webp
new file mode 100644
index 0000000000..6d81d538f5
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-debugger-views.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-editortoolbar-symbols.png b/doc/qtcreator/images/qtcreator-editortoolbar-symbols.png
deleted file mode 100644
index 8128c7ae13..0000000000
--- a/doc/qtcreator/images/qtcreator-editortoolbar-symbols.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-editortoolbar-symbols.webp b/doc/qtcreator/images/qtcreator-editortoolbar-symbols.webp
new file mode 100644
index 0000000000..4c26207b89
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-editortoolbar-symbols.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-files-to-analyze.png b/doc/qtcreator/images/qtcreator-files-to-analyze.png
deleted file mode 100644
index add972f337..0000000000
--- a/doc/qtcreator/images/qtcreator-files-to-analyze.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-files-to-analyze.webp b/doc/qtcreator/images/qtcreator-files-to-analyze.webp
new file mode 100644
index 0000000000..c219e48ec8
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-files-to-analyze.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-gerrit-options.png b/doc/qtcreator/images/qtcreator-gerrit-options.png
deleted file mode 100644
index 2cade60b9d..0000000000
--- a/doc/qtcreator/images/qtcreator-gerrit-options.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-new-project.png b/doc/qtcreator/images/qtcreator-new-project.png
deleted file mode 100644
index c1d2a37113..0000000000
--- a/doc/qtcreator/images/qtcreator-new-project.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-new-project.webp b/doc/qtcreator/images/qtcreator-new-project.webp
new file mode 100644
index 0000000000..1c0570b8b6
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-new-project.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-new-qt-quick-project.png b/doc/qtcreator/images/qtcreator-new-qt-quick-project.png
deleted file mode 100644
index ec773f7f5f..0000000000
--- a/doc/qtcreator/images/qtcreator-new-qt-quick-project.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-options-code-style-cpp.png b/doc/qtcreator/images/qtcreator-options-code-style-cpp.png
deleted file mode 100644
index e3bd18a59c..0000000000
--- a/doc/qtcreator/images/qtcreator-options-code-style-cpp.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-pprunsettings.png b/doc/qtcreator/images/qtcreator-pprunsettings.png
deleted file mode 100644
index dab1d9e1cf..0000000000
--- a/doc/qtcreator/images/qtcreator-pprunsettings.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-cmake-formatter.webp b/doc/qtcreator/images/qtcreator-preferences-cmake-formatter.webp
new file mode 100644
index 0000000000..a61b2d7270
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-cmake-formatter.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-cmake-general.png b/doc/qtcreator/images/qtcreator-preferences-cmake-general.png
deleted file mode 100644
index fc096178c7..0000000000
--- a/doc/qtcreator/images/qtcreator-preferences-cmake-general.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-cmake-general.webp b/doc/qtcreator/images/qtcreator-preferences-cmake-general.webp
new file mode 100644
index 0000000000..2eef4e57ee
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-cmake-general.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-cmake-tools.png b/doc/qtcreator/images/qtcreator-preferences-cmake-tools.png
deleted file mode 100644
index c7abce1977..0000000000
--- a/doc/qtcreator/images/qtcreator-preferences-cmake-tools.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-cmake-tools.webp b/doc/qtcreator/images/qtcreator-preferences-cmake-tools.webp
new file mode 100644
index 0000000000..2e5e7d4ef9
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-cmake-tools.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-code-model.webp b/doc/qtcreator/images/qtcreator-preferences-code-model.webp
new file mode 100644
index 0000000000..9cd9458fe5
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-code-model.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-devices-docker-device.png b/doc/qtcreator/images/qtcreator-preferences-devices-docker-device.png
new file mode 100644
index 0000000000..6465c5ae50
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-devices-docker-device.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-devices-docker-device.webp b/doc/qtcreator/images/qtcreator-preferences-devices-docker-device.webp
deleted file mode 100644
index 413112c939..0000000000
--- a/doc/qtcreator/images/qtcreator-preferences-devices-docker-device.webp
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-testing-boosttest.webp b/doc/qtcreator/images/qtcreator-preferences-testing-boosttest.webp
new file mode 100644
index 0000000000..5f29bae2b6
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-testing-boosttest.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-testing-catchtest.webp b/doc/qtcreator/images/qtcreator-preferences-testing-catchtest.webp
new file mode 100644
index 0000000000..3e5cadcb2f
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-testing-catchtest.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-testing-ctest.webp b/doc/qtcreator/images/qtcreator-preferences-testing-ctest.webp
new file mode 100644
index 0000000000..2394370dc8
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-testing-ctest.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-testing-general.webp b/doc/qtcreator/images/qtcreator-preferences-testing-general.webp
new file mode 100644
index 0000000000..0b92925e6a
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-testing-general.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-testing-googletest.webp b/doc/qtcreator/images/qtcreator-preferences-testing-googletest.webp
new file mode 100644
index 0000000000..1a60a66ae9
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-testing-googletest.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-testing-qttest.webp b/doc/qtcreator/images/qtcreator-preferences-testing-qttest.webp
new file mode 100644
index 0000000000..f6df07907e
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-testing-qttest.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-vcs-bazaar.webp b/doc/qtcreator/images/qtcreator-preferences-vcs-bazaar.webp
new file mode 100644
index 0000000000..2a4b0ca0c0
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-vcs-bazaar.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-vcs-clearcase.webp b/doc/qtcreator/images/qtcreator-preferences-vcs-clearcase.webp
new file mode 100644
index 0000000000..fd8a080e84
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-vcs-clearcase.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-vcs-cvs.webp b/doc/qtcreator/images/qtcreator-preferences-vcs-cvs.webp
new file mode 100644
index 0000000000..109724b33a
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-vcs-cvs.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-vcs-fossil.webp b/doc/qtcreator/images/qtcreator-preferences-vcs-fossil.webp
new file mode 100644
index 0000000000..fda21471c1
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-vcs-fossil.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-vcs-general.webp b/doc/qtcreator/images/qtcreator-preferences-vcs-general.webp
new file mode 100644
index 0000000000..b6206a71d0
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-vcs-general.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-vcs-gerrit.webp b/doc/qtcreator/images/qtcreator-preferences-vcs-gerrit.webp
new file mode 100644
index 0000000000..a0e212e9b7
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-vcs-gerrit.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-vcs-git.webp b/doc/qtcreator/images/qtcreator-preferences-vcs-git.webp
new file mode 100644
index 0000000000..1d76dc557b
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-vcs-git.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-vcs-mercurial.webp b/doc/qtcreator/images/qtcreator-preferences-vcs-mercurial.webp
new file mode 100644
index 0000000000..19b84bccce
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-vcs-mercurial.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-vcs-perforce.webp b/doc/qtcreator/images/qtcreator-preferences-vcs-perforce.webp
new file mode 100644
index 0000000000..fb05c9695c
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-vcs-perforce.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-vcs-subversion.webp b/doc/qtcreator/images/qtcreator-preferences-vcs-subversion.webp
new file mode 100644
index 0000000000..3cebe59669
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-preferences-vcs-subversion.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-project-qt-quick-details.webp b/doc/qtcreator/images/qtcreator-project-qt-quick-details.webp
new file mode 100644
index 0000000000..ab33bfb835
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-project-qt-quick-details.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-project-qt-quick.webp b/doc/qtcreator/images/qtcreator-project-qt-quick.webp
new file mode 100644
index 0000000000..48a83d2dda
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-project-qt-quick.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-python-interpreter-edit-mode.webp b/doc/qtcreator/images/qtcreator-python-interpreter-edit-mode.webp
new file mode 100644
index 0000000000..fbf09f8751
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-python-interpreter-edit-mode.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-qml-js-editing.png b/doc/qtcreator/images/qtcreator-qml-js-editing.png
deleted file mode 100644
index 731c97f1c2..0000000000
--- a/doc/qtcreator/images/qtcreator-qml-js-editing.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-qml-js-editing.webp b/doc/qtcreator/images/qtcreator-qml-js-editing.webp
new file mode 100644
index 0000000000..ab9a9f4842
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-qml-js-editing.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-run-settings-python.webp b/doc/qtcreator/images/qtcreator-run-settings-python.webp
new file mode 100644
index 0000000000..341a931a17
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-run-settings-python.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-settings-run-desktop.webp b/doc/qtcreator/images/qtcreator-settings-run-desktop.webp
new file mode 100644
index 0000000000..989eaee8a7
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-settings-run-desktop.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-settings-run.png b/doc/qtcreator/images/qtcreator-settings-run.png
deleted file mode 100644
index 3df81e9daf..0000000000
--- a/doc/qtcreator/images/qtcreator-settings-run.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-settings-run.webp b/doc/qtcreator/images/qtcreator-settings-run.webp
new file mode 100644
index 0000000000..b998f92bdb
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-settings-run.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-toggle-progress-bar.webp b/doc/qtcreator/images/qtcreator-toggle-progress-bar.webp
new file mode 100644
index 0000000000..c8438ae002
--- /dev/null
+++ b/doc/qtcreator/images/qtcreator-toggle-progress-bar.webp
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-typo-clang.png b/doc/qtcreator/images/qtcreator-typo-clang.png
index 76722d658e..2d0b6bd5d1 100644
--- a/doc/qtcreator/images/qtcreator-typo-clang.png
+++ b/doc/qtcreator/images/qtcreator-typo-clang.png
Binary files differ
diff --git a/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc b/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc
index 1254040e34..abc780fe19 100644
--- a/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc
+++ b/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc
@@ -29,8 +29,8 @@
Profile builds produce optimized binaries with separate debug symbols and
should generally be used for profiling.
- To manually set up a build configuration to provide separate debug symbols,
- edit the project build settings:
+ To manually set up a build configuration that generates separate debug
+ symbols, edit the project build settings:
\list 1
\li To generate debug symbols also for applications compiled in release
@@ -294,7 +294,7 @@
events to move the cursor in the code editor to the part of the code the
event is associated with.
- As the Perf tool only provides periodic samples, the Performance Analyzer
+ As the Perf tool only collects periodic samples, the Performance Analyzer
cannot determine the exact time when a function was called or when it
returned. You can, however, see exactly when a sample was taken in the
second row of each thread. The Performance Analyzer assumes that if the same
diff --git a/doc/qtcreator/src/analyze/creator-clang-static-analyzer.qdoc b/doc/qtcreator/src/analyze/creator-clang-static-analyzer.qdoc
index 673b9096b3..06f5e6275b 100644
--- a/doc/qtcreator/src/analyze/creator-clang-static-analyzer.qdoc
+++ b/doc/qtcreator/src/analyze/creator-clang-static-analyzer.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2020 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -20,84 +20,85 @@
\list
\li \l{https://clang.llvm.org/extra/clang-tidy/}{Clang-Tidy}, which
- provides diagnostics and fixes for typical programming errors,
+ has diagnostics and fixes for typical programming errors,
such as style violations or interface misuse.
\li \l{https://github.com/KDE/clazy/blob/master/README.md}{Clazy}, which
helps Clang understand Qt semantics. It displays Qt related compiler
warnings, ranging from unnecessary memory allocation to misuse of
- API and provides refactoring actions for fixing some of the issues.
+ API and has refactoring actions for fixing some of the issues.
\endlist
\note The Clang static analyzer checks are a part of Clang-Tidy. To use
- the checks you must create a custom configuration for the Clang tools and
+ the checks, you must create a custom configuration for the Clang tools and
enable them for Clang-Tidy.
- Clang tools are delivered and installed with \QC, and therefore you do not
- need to set them up separately.
+ \QC comes with the Clang tools, so you do not need to set them up separately.
In addition to running the tools to collect diagnostics, you can select
\inlineimage icons/open.png
to load diagnostics from \l{https://yaml.org/}{YAML} files that you exported
using the \c {-export fixes} option.
- \section1 Running Clang Tools
+ \section1 Running Clang-Tidy and Clazy
- To run the Clang tools to analyze the currently open file:
+ To run Clang-Tidy or Clazy to analyze the currently open file:
\list
\li Select the \inlineimage icons/debugger_singleinstructionmode.png
- (\uicontrol {Analyze File}) button on the editor toolbar.
+ (\uicontrol {Analyze File}) button on the editor toolbar, and then
+ select the tool: \uicontrol {Clang-Tidy} or \uicontrol {Clazy}.
\li Select \uicontrol Tools > \uicontrol {C++} >
- \uicontrol {Analyze Current File}.
+ \uicontrol {Analyze Current File with Clang-Tidy} or
+ \uicontrol {Analyze Current File with Clazy}.
\endlist
- To run the Clang tools to analyze an open project:
+ To run Clang-Tidy or Clazy to analyze an open project:
\list 1
- \li Select \uicontrol Analyze > \uicontrol {Clang-Tidy and Clazy}.
-
- \image qtcreator-files-to-analyze.png "Files to Analyze dialog"
+ \li Select \uicontrol Analyze > \uicontrol {Clang-Tidy} or
+ \uicontrol {Clazy}.
\li Select the files to apply the checks to.
+ \image qtcreator-files-to-analyze.webp {Files to Analyze dialog}
+
\li Select \uicontrol Analyze to start the checks.
\endlist
- The found issues are displayed in the \uicontrol {Clang-Tidy and Clazy}
- view:
+ The \uicontrol {Clang-Tidy} or \uicontrol {Clazy} view shows the issues:
- \image qtcreator-clang-tools.png "Clang-Tidy and Clazy view"
+ \image qtcreator-clang-tidy-view.webp {Clang-Tidy view}
\note If you select \uicontrol Debug in the mode selector to open the
- \uicontrol Debug mode and then select \uicontrol {Clang-Tidy and Clazy},
- you must select the \inlineimage icons/qtcreator-analyze-start-button.png
- (\uicontrol Start) button to open the \uicontrol {Files to Analyze}
- dialog.
+ \uicontrol Debug mode and then select \uicontrol {Clang-Tidy} or
+ \uicontrol {Clazy}, you must select the
+ \inlineimage icons/qtcreator-analyze-start-button.png
+ (\uicontrol Start) button to open the \uicontrol {Files to Analyze} dialog.
Double-click an issue to move to the location where the issue appears in
the code editor.
If a fixit exists for an issue, you can select the check box next to the
issue to schedule it for fixing. Select the \uicontrol {Select Fixits}
- check box to select all fixits. You can see the status of an issue by
- hovering the mouse pointer over the icon next to the check box.
+ check box to select all fixits. To see the status of an issue, hover the
+ mouse pointer over the icon next to the check box.
To see more information about an issue that is marked with the
\inlineimage icons/refactormarker.png
icon, hover the mouse pointer over the line.
- You can disable particular type of checks either globally or for a
- particular project by selecting \uicontrol {Disable This Check} or
+ To disable checks of a particular type either globally or for a
+ particular project, select \uicontrol {Disable This Check} or
\uicontrol {Disable These Checks} in the context menu.
Select the \inlineimage icons/settings.png
button to customize Clang diagnostics for the current project.
- \image qtcreator-clang-tools-options-customized.png "Clang Tools customized settings"
+ \image qtcreator-clang-tools-options-customized.png {Clang Tools customized settings}
To restore the global settings, select \uicontrol {Restore Global Settings}.
To view and modify the global settings, select the link in
@@ -113,14 +114,14 @@
\li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Analyzer >
\uicontrol {Clang Tools}.
- \image qtcreator-clang-tools-options.png "Clang Tools preferences"
+ \image qtcreator-clang-tools-options.png {Clang Tools preferences}
\li In the \uicontrol Clang-Tidy and \uicontrol Clazy-Standalone fields,
set the paths to the executables to use.
\li To build the project before running the Clang tools, select the
\uicontrol {Build the project before analysis} check box. The Clang
- tools do not require the project to be built before analysis, but
+ tools do not require that you build the project before analysis, but
they might display misleading warnings about files missing that are
generated during the build. For big projects, not building the
project might save some time.
@@ -137,11 +138,11 @@
\uicontrol {Diagnostic Configurations} dialog, where you can
select and edit the checks to perform.
- \image qtcreator-clang-tools-diagnostics-configuration.png "Diagnostics Configuration dialog"
+ \image qtcreator-clang-tools-diagnostics-configuration.png {Diagnostics Configuration dialog}
\li Select \uicontrol Copy to copy the selected diagnostics for editing.
- \image qtcreator-clang-copy-diagnostic-configuration.png "Copy Diagnostic Configuration dialog"
+ \image qtcreator-clang-copy-diagnostic-configuration.png {Copy Diagnostic Configuration dialog}
\li In the \uicontrol {Diagnostic configuration name} field, give the
configuration a name, and then select \uicontrol OK.
@@ -157,7 +158,7 @@
To filter the checks, enter a string in the
\uicontrol {Filter by name} field.
- \image qtcreator-clang-tidy.png "Clang-Tidy Checks tab"
+ \image qtcreator-clang-tidy.png {Clang-Tidy Checks tab}
For more information about the available checkers, see
\l{https://clang-analyzer.llvm.org/available_checks.html}
@@ -169,7 +170,7 @@
\li In the \uicontrol {Clazy Checks} tab, select the level of Clazy
checks to perform.
- \image qtcreator-clazy.png "Clazy Checks tab"
+ \image qtcreator-clazy.png {Clazy Checks tab}
\li In the \uicontrol Filters field, select topics to view
only checks related to those areas in the \uicontrol Checks field.
@@ -191,8 +192,8 @@
\section2 Selecting Clazy Check Levels
The Clazy checks are divided into levels from 0 to 3. The checks at level 0
- are very stable and provide hardly any false positives, while the checks at
- level 3 can be considered experimental. You can select the checks to perform
+ are very stable and show hardly any false positives, while the checks at
+ level 3 are experimental. You can select the checks to perform
at each level. To include the checks from the lower levels automatically,
select the \uicontrol {Enable lower levels automatically} check box.
diff --git a/doc/qtcreator/src/analyze/creator-cppcheck.qdoc b/doc/qtcreator/src/analyze/creator-cppcheck.qdoc
index a3232b5f9f..a77c8dfe7f 100644
--- a/doc/qtcreator/src/analyze/creator-cppcheck.qdoc
+++ b/doc/qtcreator/src/analyze/creator-cppcheck.qdoc
@@ -49,7 +49,7 @@
\li In the \uicontrol {Ignored file patterns} field, enter a filter
for ignoring files that match the pattern (wildcard). You can enter
multiple patterns separated by commas. Even though Cppcheck is not
- run on files that match the provided patterns, they might be
+ run on files that match the patterns, they might be
implicitly checked if other files include them.
\li Select the \uicontrol {Inconclusive errors} check box to also
mark possible false positives.
diff --git a/doc/qtcreator/src/analyze/creator-ctf-visualizer.qdoc b/doc/qtcreator/src/analyze/creator-ctf-visualizer.qdoc
index bbdfa7c87e..a2bf118f3f 100644
--- a/doc/qtcreator/src/analyze/creator-ctf-visualizer.qdoc
+++ b/doc/qtcreator/src/analyze/creator-ctf-visualizer.qdoc
@@ -18,13 +18,13 @@
JavaScript down to the C++ and all the way to the kernel space. This
enables you to measure the performance of an application and to check
whether it is CPU or I/O bound or influenced by other applications
- running on the same system. Tracing provides insight into what a system is
+ running on the same system. Tracing gives insight into what a system is
doing and why an application is performing in a particular way. It indicates
how the hardware is utilized and what the kernel and application are doing.
- Tracing information can also provide you additional insight into the data
- collected by \l{Profiling QML Applications}{QML Profiler}. For example, you
- could check why a trivial binding evaluation is taking so long. This might
+ Tracing information can tell you more about the data that
+ \l{Profiling QML Applications}{QML Profiler} collects. For example, you
+ can check why a trivial binding evaluation is taking so long. This might
be caused by C++ being executed or the disk I/O being slow.
Several tracing tools (such as \c {chrome://about}) can generate information
@@ -110,7 +110,7 @@
LTTng is a tracing toolkit for Linux that you can apply on embedded Linux
systems to find out how to optimize the startup time of an application.
- Since Qt 5.13, Qt provides a set of kernel trace points and a tracing
+ Since Qt 5.13, Qt has a set of kernel trace points and a tracing
subsystem for custom user space trace points.
\section2 Configuring the Kernel
@@ -180,7 +180,7 @@
Scheduler switch trace points are reached when an application is switched
out due to predemption, for example, when another process gets the chance
- to run on the CPU core. Enable scheduler schwitch trace points to record
+ to run on the CPU core. Enable scheduler switch trace points to record
the thread that is currently running and the process it belongs to, as
well as the time when the process started and stopped.
@@ -212,7 +212,7 @@
\li Count memory page allocations
\endlist
- To generate JSON files that contain the trace data in Chrome Trace Format,
+ To generate JSON files that have the trace data in Chrome Trace Format,
enter the following command on the command line:
\code
diff --git a/doc/qtcreator/src/analyze/creator-heob.qdoc b/doc/qtcreator/src/analyze/creator-heob.qdoc
index f18f2f60e1..3fbd2d6228 100644
--- a/doc/qtcreator/src/analyze/creator-heob.qdoc
+++ b/doc/qtcreator/src/analyze/creator-heob.qdoc
@@ -44,7 +44,7 @@
\image qtcreator-heob.png
- Heob raises an access violation on buffer overruns and provides stack traces
+ Heob raises an access violation on buffer overruns and records stack traces
of the offending instruction and buffer allocation. The results are
displayed when Heob exits normally.
@@ -156,7 +156,7 @@
the reachable blocks in the results file.
Select \uicontrol {Fuzzy Detect Leak Types} to mark memory blocks
- \e reachable or \e {indirectly lost} if they contain references to any
+ \e reachable or \e {indirectly lost} if they have references to any
address. This option is useful when used with some custom allocators (such
as \c av_malloc() in \c ffmpeg) that keep only an address somewhere inside
the allocation block and do not refer directly to the start of an allocated
diff --git a/doc/qtcreator/src/analyze/creator-valgrind.qdoc b/doc/qtcreator/src/analyze/creator-valgrind.qdoc
index 9c6564cc85..f905cb1766 100644
--- a/doc/qtcreator/src/analyze/creator-valgrind.qdoc
+++ b/doc/qtcreator/src/analyze/creator-valgrind.qdoc
@@ -83,7 +83,7 @@
To specify global settings for Valgrind, select \uicontrol Edit >
\uicontrol Preferences > \uicontrol Analyzer. The \uicontrol
- {Memcheck Memory Analysis Options} group contains Memcheck options.
+ {Memcheck Memory Analysis Options} group has Memcheck options.
In \uicontrol {Extra Memcheck arguments}, specify additional arguments
for launching the executable.
@@ -127,7 +127,7 @@
at startup. A default suppression file is created by the ./configure script
when the system is built.
- You can write your own suppression files if parts of your project contain
+ You can write your own suppression files if parts of your project have
errors you cannot fix and you do not want to be reminded of them. Click
\uicontrol Add in the \uicontrol {MemCheck Memory Analysis} dialog to add
the suppression files.
@@ -270,7 +270,7 @@
To specify global settings for Valgrind, select \uicontrol Edit >
\uicontrol Preferences > \uicontrol Analyzer. The \uicontrol
- {Callgrind Profiling Options} group contains Callgrind options.
+ {Callgrind Profiling Options} group has Callgrind options.
\image qtcreator-valgrind-callgrind-options.png "Valgrind options"
diff --git a/doc/qtcreator/src/android/androiddev.qdoc b/doc/qtcreator/src/android/androiddev.qdoc
index 4474d04c71..a171476b13 100644
--- a/doc/qtcreator/src/android/androiddev.qdoc
+++ b/doc/qtcreator/src/android/androiddev.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2022 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -8,36 +8,37 @@
\title Connecting Android Devices
- You can connect Android devices to the development PC using USB cables
- to build, run, debug, and analyze applications from \QC. Devices with
- Android version 4.1 (API level 16) or later are supported when developing
- with Qt 5 and devices with Android version 6.0 (API level 23) when
- developing with Qt 6.
+ You can connect Android devices to the development PC using USB cables to
+ build, run, debug, and analyze applications from \QC.
- To develop for Android, you must have a tool chain for building applications
- for Android devices installed on the development PC. \QC can automatically
+ To develop for Android, you must install a tool chain for building
+ applications for Android devices on the development PC. \QC can automatically
download and install the tool chain and create a suitable build and run
- \l{glossary-buildandrun-kit}{kit} that contains the tool chain and the Qt
+ \l{glossary-buildandrun-kit}{kit} that has the tool chain and the Qt
version for Android for the device's architecture.
- Starting from Qt 5.14.0, the Qt for Android package contains all the
- architectures (ABIs) installed as one.
-
To enable helpful code editing features for Java, such as code completion,
highlighting, function tooltips, and navigating in code, add a
\l{Java Language Server}{Java language server}.
- The Android Debug Bridge (adb) command line tool is integrated to \QC to
- enable you to deploy applications to connected Android devices, to run
- them, and to read their logs. It includes a client and server that run on
+ \QC integrates the Android Debug Bridge (\c adb) command line tool for
+ deploying applications to Android devices, running them, and reading their
+ logs. The \c adb tool includes a client and server that run on
the development host and a daemon that runs on the emulator or device.
+ The following video shows the whole process from installing Qt for Android
+ to debugging an application on an Android device:
+
+ \youtube 5OiIqFTjUZI
+
\section1 Requirements
To use \QC to develop Qt applications for Android, you need
- \l{Qt for Android} 5.2, or later, and the tool chain that \QC
- can automatically download, install, and configure for you.
- For more information, see \l{Manually Installing the Prerequisites}.
+ \l {Qt for Android} and a tool chain that \QC can automatically
+ download, install, and configure for you. For more information
+ about the requirements for developing with a particular Qt version,
+ see the documentation for that Qt version. The links in this manual
+ lead to the latest released Qt reference documentation.
\section1 Specifying Android Device Settings
@@ -58,42 +59,39 @@
\uicontrol Android on Windows and Linux or \uicontrol {\QC} >
\uicontrol Preferences > \uicontrol Devices > \uicontrol Android on
\macos.
- \image qtcreator-options-android-main.png "Android preferences"
+ \image qtcreator-options-android-main.png {Android preferences}
\li In the \uicontrol {JDK location} field, set the path to the JDK.
\QC checks the JDK installation and reports errors.
By default, \QC tries to find a supported \l{AdoptOpenJDK} or
- \l{OpenJDK} installation. If none is found, you must set the path
- manually. If you don't have a supported JDK installed, select
+ \l{OpenJDK} installation. If it cannot find one, you must set the
+ path manually. If you have not installed a supported JDK, select
\inlineimage icons/online.png
to open the JDK download web page in the default browser.
- \note We recommended using a 64-bit JDK because the 32-bit one
- might cause issues with \c cmdline-tools, and some packages might
- not be listed.
+ \note Use a 64-bit JDK because the 32-bit one might cause issues with
+ \c cmdline-tools, and some packages might not appear in the list.
\li In the \uicontrol {Android SDK location} field, set the path to the
- folder where you want the \l{Android SDK Command-line Tools} to be
- installed.
+ folder to install the \l{Android SDK Command-line Tools}.
\li Select \uicontrol {Set Up SDK} to automatically download and extract
the Android SDK Command-line Tools to the selected path.
- The SDK Manager checks whether the tool chain is installed.
- If packages are missing or updates are needed, the SDK Manager
- offers to add or remove those packages. Before taking action, it
- prompts you to accept the changes it is about to make. In addition,
- it prompts you to accept Google licenses, as necessary.
- \li The installed NDK versions are listed in
- \uicontrol {Android NDK list}.
- The locked items were installed by the SDK Manager,
- and can only be modified from the \uicontrol {Android SDK Manager}
- dialog. For more information, see \l{Managing Android NDK Packages}.
+ The SDK Manager checks that you have the necessary tools. If you need
+ more packages or updates, the SDK Manager offers to add or remove
+ the appropriate packages. Before taking action, it prompts you to
+ accept the changes. In addition, it prompts you to accept Google
+ licenses, as necessary.
+ \li The \uicontrol {Android NDK list} lists the installed NDK versions.
+ The SDK Manager installed the locked items. You can modify them only
+ from the \uicontrol {Android SDK Manager} dialog. For more
+ information, see \l{Managing Android NDK Packages}.
\li Select the \uicontrol {Automatically create kits for Android tool chains}
check box to allow \QC to create the kits for you. \QC displays a
warning if it cannot find a suitable Qt version.
\li Optionally, in the \uicontrol {Android OpenSSL Settings} group, set
the path to the prebuilt OpenSSL libraries.
- For Qt applications that require OpenSSL support, \QC allows to
+ For Qt applications that require OpenSSL support, you can
quickly add the \l {Android OpenSSL support} to your project.
For more information, see \l{Adding External Libraries}.
\li Select \uicontrol {Download OpenSSL} to download the OpenSSL
@@ -103,21 +101,20 @@
\section2 Manual Setup
- \note We recommend that you use the latest Android SDK Command-Line Tools.
- Using Android SDK Tools version 25.2.5 or earlier is not supported because
- they cannot be fully integrated with \QC.
+ \note Use the latest Android SDK Command-Line Tools. \QC does not support
+ Android SDK Tools version 25.2.5 or earlier because it cannot fully
+ integrate them.
However, if the automatic setup does not meet your needs, you can download
and install Android SDK Command-line Tools, and then install or update the
- NDKs, tools and packages needed for development. For more information, see
+ necessary NDKs, tools, and packages. For more information, see
\l{Getting Started with Qt for Android}.
\section2 Viewing Android Tool Chain Settings
- The Android SDK Command-Line Tools download URL, the essential
- packages list, and the appropriate NDK for each Qt version are defined in a JSON
- configuration file. The file is located under the user's \QC
- resource folder:
+ A JSON configuration file defines the Android SDK Command-Line Tools download
+ URL, the essential packages list, and the appropriate NDK for each Qt version.
+ The file is in the \QC resource folder:
\badcode
# Linux and macOS
@@ -127,8 +124,8 @@
C:\Users\Username\AppData\Local\QtProject\qtcreator\android\sdk_definitions.json
\endcode
- For example, the SDK configuration file defines the NDK version 19.2.5345600
- to be used for Qt 5.12.0 to 5.12.5 and Qt 5.13.0 to 5.13.1 versions:
+ For example, the SDK configuration file sets the NDK version 19.2.5345600
+ for use with Qt 5.12.0 to 5.12.5 and Qt 5.13.0 to 5.13.1:
\badcode
"specific_qt_versions": [
@@ -150,10 +147,10 @@
Linux or \uicontrol {\QC} > \uicontrol Preferences > \uicontrol Devices >
\uicontrol Android on \macos.
- \image qtcreator-options-android-sdk-tools.png "Android NDK and SDK checks"
+ \image qtcreator-options-android-sdk-tools.png {Android NDK and SDK checks}
- The locked versions were installed by the SDK Manager, and can only
- be modified from the \uicontrol {Android SDK Manager} dialog.
+ The SDK Manager installed the locked items. You can modify them only
+ in the \uicontrol {Android SDK Manager} dialog.
For more information, see \l{Managing Android SDK Packages}.
To manually download NDKs, select \inlineimage icons/online.png
@@ -169,11 +166,11 @@
\section2 Managing Android SDK Packages
- Since Android SDK Tools version 25.3.0, only a command-line tool,
- \l {sdkmanager}, is provided by Android for SDK package management.
- To make SDK management easier, \QC provides an SDK Manager for
+ Since Android SDK Tools version 25.3.0, Android has only a command-line
+ tool, \l {sdkmanager}, for SDK package management. To make SDK management
+ easier, \QC has an SDK Manager for
installing, updating, and removing SDK packages. You can still use
- sdkmanager for advanced SDK management.
+ \c sdkmanager for advanced SDK management.
To view the installed Android SDK packages, select \uicontrol Edit >
\uicontrol Preferences > \uicontrol Devices > \uicontrol Android >
@@ -181,7 +178,7 @@
\uicontrol Preferences > \uicontrol Devices > \uicontrol Android >
\uicontrol {SDK Manager} on \macos.
- \image qtcreator-android-sdk-manager.png "Android SDK Manager"
+ \image qtcreator-android-sdk-manager.webp {Android SDK Manager}
You can show packages for the release channel you select in
\uicontrol {Show Packages} > \uicontrol Channel. Common channel IDs include
@@ -194,27 +191,27 @@
\uicontrol {Update Installed}. Select the packages to update, and then
select \uicontrol Apply.
- To specify advanced sdkmanager settings, select
+ To specify advanced \c sdkmanager settings, select
\uicontrol {Advanced Options} and enter arguments in the
- \uicontrol {SDK Manager arguments} field. The available arguments are listed
- and described in \uicontrol {Available arguments}.
+ \uicontrol {SDK Manager arguments} field. \uicontrol {Available arguments}
+ lists the arguments with descriptions.
- \image qtcreator-android-sdk-manager-arguments.png "Android SDK Manager Arguments dialog"
+ \image qtcreator-android-sdk-manager-arguments.png {Android SDK Manager Arguments dialog}
\section1 Managing Android Virtual Devices (AVD)
- The available AVDs are listed in \uicontrol Edit > \uicontrol Preferences
+ To view the available AVDs, select \uicontrol Edit > \uicontrol Preferences
> \uicontrol Devices on Windows and Linux or \uicontrol {\QC} >
\uicontrol Preferences > \uicontrol Devices > on \macos. You can add more
AVDs.
- \image qtcreator-android-avd-manager.png "Android device in Devices"
+ \image qtcreator-android-avd-manager.png {Android device in Devices}
You can see the status of the selected device in \uicontrol {Current state}.
To update the status information, select \uicontrol Refresh.
To start an AVD, select \uicontrol {Start AVD}. Usually, you don't need to
- start AVDs separately because they are automatically started when you
+ start AVDs separately because \QC starts them when you
select them in the \l{Building for Multiple Platforms}{kit selector} to
\l{Deploying to Android}{deploy applications} to them.
@@ -223,7 +220,7 @@
To specify options for starting an AVD, select \uicontrol {AVD Arguments}.
- \image qtcreator-android-avd-arguments.png "Startup options for AVDs"
+ \image qtcreator-android-avd-arguments.png {Startup options for AVDs}
Specify the options in \uicontrol {Emulator command-line startup options}.
For available options, see \l{Start the emulator from the command line}.
@@ -247,7 +244,7 @@
or \uicontrol {\QC} > \uicontrol Preferences > \uicontrol Devices >
\uicontrol Add > \uicontrol {Android Device} on \macos to open the
\uicontrol {Create New AVD} dialog.
- \image qtcreator-android-create-avd.png "Create New AVD dialog"
+ \image qtcreator-android-create-avd.png {Create New AVD dialog}
\li Set the name, definition, architecture, target API level, and
SD card size of the device.
\li Select \uicontrol OK to create the AVD.
@@ -258,9 +255,9 @@
\section1 Debugging on Android Devices
- Debugging is enabled in different ways on different Android devices.
+ You enable debugging in different ways on different Android devices.
Look for \uicontrol {USB Debugging} under \uicontrol {Developer Options}. On
- some devices \uicontrol {Developer Options} is hidden and becomes visible
+ some devices, \uicontrol {Developer Options} is hidden and becomes visible
only when you tap the \uicontrol {Build number} field in \uicontrol Settings
> \uicontrol About several times. For more information, see
\l {Configure on-device developer options}.
@@ -269,7 +266,7 @@
the application for debugging.
\note \QC cannot debug applications on Android devices if Android Studio is
- running. If the following message is displayed in \l {Application Output},
+ running. If the following message appears in \l {Application Output},
close Android Studio and try again:
\badcode
diff --git a/doc/qtcreator/src/android/deploying-android.qdoc b/doc/qtcreator/src/android/deploying-android.qdoc
index 87a79e21bd..0e1c2e7fde 100644
--- a/doc/qtcreator/src/android/deploying-android.qdoc
+++ b/doc/qtcreator/src/android/deploying-android.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2022 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -8,24 +8,25 @@
\title Deploying to Android
- On Android, applications are distributed in specially structured types of
- ZIP packages called Application Packages (APK) or Android App Bundles (AAB).
- APK files can be downloaded to and executed on a device, whereas AAB is
- intended to be interpreted by the Google Play store and is used to generate
- APK files.
+ Android applications are packaged as ZIP files called Application Packages
+ (APK) or Android App Bundles (AAB). You can install and run APK files on a
+ device. You can upload AAB files to the Google Play store.
\l{Qt for Android} has binaries for armv7a, arm64-v8a, x86, and x86-64.
To support several different ABIs in your application, build an AAB that
- contains binaries for each of the ABIs. The Google Play store uses the
- AAB to generate optimized APK packages for the devices issuing the download
- request and automatically signs them with your publisher key.
+ has binaries for each of the ABIs. The Google Play store uses the AAB
+ to generate optimized APK packages for the devices that request download
+ and automatically signs them with your publisher key.
\QC supports the following methods of deployment for Android applications:
\list
\li As a stand-alone, distributable application package (APK).
- \li Since Qt 5.14.0, as an app bundle (AAB), intended for distribution
- in the Google Play store.
+ \li As an app bundle (AAB) for distribution in the Google Play store.
+
+ All Qt versions do not support AABs. Qt 6.3.0 and later support
+ multi-abi builds for applications that you build with CMake. For
+ more information, see \l{Qt for Android - Building User Projects}.
\endlist
\note Since \QC 4.12, Ministro is not supported.
@@ -39,56 +40,27 @@
\section1 Packaging Applications
- Because bundling applications as APK packages is not
- trivial, Qt 5 provides a deployment tool called \c androiddeployqt.
- When you deploy an application using a \e {Qt for Android kit}, \QC uses
- the \c androiddeployqt tool to create the necessary files and to bundle them
- into an APK:
-
- \list
-
- \li Java files, which serve as the entry point into your application and
- that automatically load Qt and execute the native code in your
- application.
-
- \li AndroidManifest.xml, which provides meta-information about your
- application.
-
- \li Other XML files, which specify the dependencies of your application.
-
- \li Resource files.
-
- \li Libraries and QML files, which can be included in the project
- depending on the deployment method that you select.
-
- \li Gradle wrappers that are needed to download and use Gradle.
-
- \li Gradle script that is needed by Java IDEs, such as Android Studio.
- It allows the user to extend the Java part without copying our Java
- sources. It also allows the IDEs to provide code completion, syntax
- highlighting, and so on.
-
- \endlist
-
- The Gradle wrappers and scripts are bundled only if you use Gradle to build
- the application packages. For more information, see
- \l{Connecting Android Devices}.
+ Because bundling applications as APK packages is not trivial, Qt has the
+ \l {The androiddeployqt Tool}{androiddeployqt} tool. When you deploy an
+ application using a \e {Qt for Android kit}, \QC runs the tool to
+ create the necessary files and to bundle them into an APK. For more
+ information, see \l{Android Package Templates}.
To view the packages that the \c androiddeployqt tool created, select the
\uicontrol {Open package location after build} check box.
\section2 Specifying Deployment Settings
- The available deployment settings are listed in the \uicontrol Method field.
+ The \uicontrol Method field lists deployment settings.
To add deployment methods for a project, select \uicontrol Add.
- \image qtcreator-android-deployment-settings.png "Deployment settings"
+ \image qtcreator-android-deployment-settings.png {Deployment settings}
To rename the current deployment method, select \uicontrol Rename.
To remove the current deployment method, select \uicontrol Remove.
- The packages are deployed on the Android device that you select in the
+ \QC deploys the packages on the Android device that you select in the
\l{Building for Multiple Platforms}{kit selector}. To add devices, select
\uicontrol Manage.
@@ -107,14 +79,13 @@
\uicontrol Projects > \uicontrol {Build & Run} > \uicontrol Build >
\uicontrol {Build Android APK} > \uicontrol Details.
- \image qtcreator-android-build-apk-step.png "Build Android APK step"
+ \image qtcreator-build-settings-android-apk.webp {Build Android APK step}
- The \c androiddeployqt tool uses the configuration information to
- create APKs. For more information about the available options, see
- \l{androiddeployqt}.
+ The \c androiddeployqt tool create APKs based on the settings. For more
+ information about the available options, see \l{androiddeployqt}.
You can view information about what the \c androiddeployqt tool is doing in
- \l {Compile Output}. To view additional information, select the
+ \l {Compile Output}. To view more information, select the
\uicontrol {Verbose output} check box.
Select \uicontrol {Add debug server} to include the debug server binary
@@ -122,36 +93,31 @@
\section3 Selecting API Level
- In the \uicontrol {Android build platform SDK} field, you can select the
- API level to use for building the application. Usually, you should select
- the highest API level available.
+ In the \uicontrol {Android build platform SDK} field, select the
+ \l{What is API Level?}{API level} to use for building the application.
+ Usually, you should select the highest API level available.
- \note For Qt 5.12.0 to 5.12.5 and Qt 5.13.0 to 5.13.1, Android build
- platform SDK 28 should be used. For more recent versions than Qt 5.13.1,
- build platform SDK 29 or the most recent one should be used.
-
- This field does not specify the minimum supported API level nor the target
- API level, which you can specify in the Android manifest. See
- \l{Editing Manifest Files}. For more information about Android API levels, see
- \l{What is API Level?}.
+ Usually, you should use the highest version of the Android SDK
+ build-tools for building. If necessary, select another version
+ in the \uicontrol {Android build-tools version} field.
\section3 Building AABs
For testing the application locally, use the APK format because
- the package can be uploaded directly to the device and run. For
- distribution to the Google Play store, create an AAB by selecting
+ \QC can install and run the package on the device. For distribution
+ to the Google Play store, create an AAB by selecting
the \uicontrol {Build Android App Bundle (*.aab)} check box.
When building with CMake, you can view the selected ABIs in
\uicontrol {Initial Configuration} in the \uicontrol CMake section.
You can set additional ABIs as values of the \c ANDROID_ABI key:
- \image qtcreator-android-cmake-settings.png "CMake settings for building AABs"
+ \image qtcreator-android-cmake-settings.png {CMake settings for building AABs}
When building with Qbs or qmake, you can select the ABIs in the
\uicontrol ABIs field in the \uicontrol {Build Steps}:
- \image qtcreator-android-build-steps.png "qmake settings for building AABs"
+ \image qtcreator-android-build-steps.png {qmake settings for building AABs}
\section3 Signing Android Packages
@@ -166,27 +132,27 @@
You can use \QC to generate a keystore and a \e {self-signed} certificate.
The generated certificate has the structure of an X.509 v3 digital
- certificate. It contains information about the version, serial number, and
+ certificate. It has information about the version, serial number, and
validity period of the certificate, the ID of the algorithm that is used to
encrypt the data, the organization that issued the certificate, and the
\e subject (owner) of the certificate. In case of a self-signed certificate,
the issuer and owner of the certificate are the same. In addition, the
- certificate contains information about the algorithm that is used to sign
+ certificate has information about the algorithm that is used to sign
the certificate, as well as the signature of the certificate.
- The keystore is protected by a password. In addition, you can protect each
+ A password protects the keystore. In addition, you can protect each
alias with its individual password.
When you sign an Android application, you must select a keystore that
- contains certificates and a certificate alias from the keystore. The public
- key (certificate) for the alias is embedded into the APK during signing.
+ has certificates and a certificate alias from the keystore. The signing
+ process embeds the public key (certificate) for the alias into the APK.
To create a keystore and a self-signed certificate:
\list 1
\li In the \uicontrol Keystore field, select \uicontrol Create to create
- a new keystore that contains one key pair in the
+ a new keystore that has one key pair in the
\uicontrol {Create a Keystore and a Certificate} dialog:
\image qtcreator-android-certificate.png
@@ -221,7 +187,7 @@
keystore.
\li In the \uicontrol {Certificate alias} field, select an alias from the list
- of key pairs that the keystore contains.
+ of key pairs that the keystore has.
\li Select the \uicontrol {Sign package} check box to use the alias to
sign the Android package.
@@ -250,8 +216,92 @@
You can use the configuration options to specify all the settings you need
for the \c androiddeployqt tool. You only need an Android manifest file
to specify Android-specific settings, such as the application icon.
- However, the manifest file is needed when you want to publish the package
- in the Play Store.
+ However, you need the manifest file to publish the package in the Play Store.
+ For more information about manifest files, see
+ \l {Qt Android Manifest File Configuration}.
+
+ If you use CMake as the build system, you must specify the Android package
+ source directory, \c QT_ANDROID_PACKAGE_SOURCE_DIR, in the CMakeList.txt
+ file, as instructed in the \l{Locking Device Orientation}
+ {mobile device tutorial}.
+
+ To use \QC to create an Android manifest file and to open it in the Android
+ Manifest Editor:
+
+ \list 1
+
+ \li Select \uicontrol Projects > \uicontrol Build >
+ \uicontrol {Build Android APK} > \uicontrol {Create Templates}.
+
+ \li Check the path in \uicontrol {Android package source directory}.
+
+ \image qtcreator-android-create-template.png {Create Template dialog}
+
+ \li Select \uicontrol {Copy the Gradle files to Android directory} if you
+ plan to extend the Java part of your Qt application.
+
+ \li Select \uicontrol Finish to copy the template files to the \c android
+ directory and to open the manifest file for editing.
+
+ \image qtcreator-android-manifest-editor-package.webp {Package info in Android Manifest Editor}
+
+ \endlist
+
+ The following table summarizes the options you can set.
+
+ \table
+ \header
+ \li Option
+ \li Value
+ \row
+ \li \uicontrol {Package name}
+ \li A valid \l{Package Names}{package name} for the application.
+ For example, \c {org.example.myapplication}.
+ An automatically generated Java launcher that is packaged with the
+ application into an APK launches the application.
+ \row
+ \li \uicontrol {Version code}
+ \li An internal version number for the package that determines whether
+ one version of the application is more recent than another.
+ \row
+ \li \uicontrol {Version name}
+ \li The version number that is visible to users.
+ \row
+ \li \uicontrol {Minimum required SDK}
+ \li The minimum API level required to run the application if you set it
+ manually in the manifest file.
+ \row
+ \li \uicontrol {Target SDK}
+ \li The targeted API level of the application if you set it manually in
+ the manifest file.
+ \row
+ \li \uicontrol {Application name}
+ \li The application's name.
+ \row
+ \li \uicontrol {Activity name}
+ \li An activity name.
+ \row
+ \li \uicontrol {Style extraction}
+ \li The method that Qt uses to determine which \l{Styling}{UI style}
+ to use.
+ \row
+ \li \uicontrol {Screen orientation}
+ \li How to determine \l{Screen Orientation}{screen orientation}.
+ \row
+ \li \uicontrol {Application icon}
+ \li Images to use as \l{Icons}{application icons} depending on screen
+ resolution.
+ \row
+ \li \uicontrol {Splash screen}
+ \li Images to display as \l{Splash Screens}{splash screens} depending on
+ the screen orientation and resolution.
+ \row
+ \li \uicontrol Permissions
+ \li The \l{Setting Permissions}{permissions} that the application needs.
+ \endtable
+
+ On the top header, select the \uicontrol {XML Source} tab to edit the file
+ in XML format.
\section2 Package Names
@@ -378,7 +428,7 @@
\li Locks the orientation to its current rotation, whatever that is.
\endtable
- \section2 Icons and Splash Screens
+ \section2 Icons
You can set different images to be shown as application icons and splash
screens on low, medium, high, and extra high DPI displays. The following
@@ -399,16 +449,17 @@
high, and extra high DPI displays, as needed. Alternatively, set the icons
for each resolution separately.
- \image qtcreator-android-manifest-editor-app-icon.png "Application icons in Android Manifest Editor"
+ \image qtcreator-android-manifest-editor-app-icon.webp {Application icons in Android Manifest Editor}
+
+ \section2 Splash Screens
Specify settings for splash screens in the \uicontrol {Splash screen} tab.
Select images to display as splash screens depending on the device
orientation and screen resolution.
- \image qtcreator-android-manifest-editor-splash-screen.png "Splash screens in Android Manifest Editor"
+ \image qtcreator-android-manifest-editor-splash-screen.webp {Splash screens in Android Manifest Editor}
- By default, the splash screen is hidden automatically
- when an activity is drawn. To keep it visible until
+ By default, drawing an activity hides the splash screen. To keep it visible until
\l{https://doc.qt.io/qt-6/qnativeinterface-qandroidapplication.html#hideSplashScreen}
{QNativeInterface::QAndroidApplication::hideSplashScreen()} is
called, select the \uicontrol {Sticky splash screen} check box.
@@ -424,102 +475,22 @@
Select \uicontrol {Clear All} to reset all settings or remove all images.
- \section2 Android Manifest Editor
-
- If you use qmake as the build system, you can create an Android manifest
- file and edit it in \QC.
-
- To create an Android manifest file and to open it in the Android Manifest
- Editor:
-
- \list 1
-
- \li Select \uicontrol Projects > \uicontrol Build >
- \uicontrol {Build Android APK} > \uicontrol {Create Templates}.
-
- \li Check the path in \uicontrol {Android package source directory}.
-
- \image qtcreator-android-create-template.png "Create Template dialog"
-
- \li Select \uicontrol {Copy the Gradle files to Android directory} if you
- plan to extend the Java part of your Qt application.
-
- \li Select \uicontrol Finish to copy the template files to the \c android
- directory and to open the manifest file for editing.
-
- \li In the \uicontrol {Package name} field, enter a valid
- \l{Package Names}{package name} for the application.
- For example, \c {org.example.myapplication}.
- The application is launched by an automatically generated Java launcher
- that is packaged with the application into an Android package (.apk).
-
- \image qtcreator-android-manifest-editor-package.png "Package info in Android Manifest Editor"
-
- \li You can specify an internal version number for the package in the
- \uicontrol {Version code} field. It is used to determine whether one version of
- the application is more recent than another. In the \uicontrol {Version name}
- field, specify the version number that is shown to users.
-
- \li In the \uicontrol {Minimum required SDK} field, select the minimum API level
- required to run the application. The minimum supported API level for \QC is
- android-9. However, Qt versions might have different minimum API levels, and
- therefore \QC does not allow you to select an API level that the Qt version
- specified for the kit does not support.
-
- \li In the \uicontrol {Target SDK} field, select the targeted API level of the
- application. This affects the activation of some compatibility features in
- the OS. The value used by the \c androiddeployqt tool by default is 14, which
- means that the overflow button in the system navigation bar will not be
- enabled by default.
-
- \li In the \uicontrol {Application name} field, set the application's name.
-
- \li In the \uicontrol {Activity name} field, set an activity name.
-
- \li In the \uicontrol {Style extraction} field, set the method that Qt
- uses to \l{Styling}{determine which UI style to use}.
-
- \li In the \uicontrol {Screen orientation} field, select the option for
- determining \l{Screen Orientation}{screen orientation}.
-
- \li In \uicontrol {Application icon}, specify images to use as application
- icons depending on screen resolution.
+ \section2 Setting Permissions
- \li In \uicontrol {Splash screen}, select images to display as splash
- screens depending on the screen orientation and resolution.
-
- \li In \uicontrol {Android services}, select \uicontrol Add to add a service.
- You must enter at least a service class name for a new service. If you select
- \uicontrol {Run in external process}, you also need to enter a process name.
- If you select \uicontrol {Run in external library}, you need to enter a library name.
- Service arguments are mandatory for a service that is not run in an external
- library. For more information about writing service code and structure of services,
- see \l{Android Services}.
-
- \image qtcreator-android-manifest-editor-services.png "Android services in Android Manifest Editor"
-
- \li In the \uicontrol Permissions field, you can specify the permissions that your
- application needs. Starting from Android 6.0 (API 23), permissions have to be
- requested at runtime (see \l{QtAndroidPrivate::requestPermission()}). For
- lower Android API levels, users are asked to grant the permissions when they
+ Starting from Android 6.0 (API 23), applications have to request permissions
+ at runtime (see \l{QtAndroidPrivate::requestPermission()}). For
+ lower Android API levels, users have to grant the permissions when they
install the application. Android OS then grants the application access to the
appropriate data and features.
- \image qtcreator-android-manifest-editor-permissions.png "Permissions in Android Manifest Editor"
+ \image qtcreator-android-manifest-editor-permissions.webp {Permissions in Android Manifest Editor}
- \li Select the \uicontrol {Include default permissions for Qt modules} and
+ Select the \uicontrol {Include default permissions for Qt modules} and
\uicontrol {Include default features for Qt modules} check boxes to add the
permissions needed by Qt libraries. This can be
\c {android.permission.WRITE_EXTERNAL_STORAGE} for \l{Qt Core} or
- \c {android.permission.ACCESS_COARSE_LOCATION} for
- \l{https://doc.qt.io/qt-5.15/qtlocation-index.html}{Qt Location}.
-
- \li To add a permission, select it from the list, and then click \uicontrol Add.
-
- \endlist
-
- On the top header, select the \uicontrol {XML Source} tab to edit the file
- in XML format.
+ \c {android.permission.ACCESS_BACKGROUND_LOCATION} for \l{Qt Positioning}.
+ To add a permission, select it from the list, and then click \uicontrol Add.
*/
diff --git a/doc/qtcreator/src/baremetal/creator-baremetal-dev.qdoc b/doc/qtcreator/src/baremetal/creator-baremetal-dev.qdoc
index 0f928c6ec8..5d943b7ed7 100644
--- a/doc/qtcreator/src/baremetal/creator-baremetal-dev.qdoc
+++ b/doc/qtcreator/src/baremetal/creator-baremetal-dev.qdoc
@@ -157,7 +157,7 @@
\include creator-baremetal-settings.qdocinc baremetal-common
\li In the \uicontrol {Root scripts directory} field, enter the
- path to the directory that contains configuration scripts.
+ path to the directory that has configuration scripts.
\li In the \uicontrol {Configuration file} field, enter the path
to the device configuration file.
@@ -186,8 +186,7 @@
verbose logging.
\li Select the \uicontrol {Extended mode} check box to continue
- listening for connection requests after after the connection
- is closed.
+ listening for connection requests after the connection is closed.
\li Select the \uicontrol {Reset on connection} check box to
reset the board when the connection is created.
diff --git a/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc b/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc
index b3195cfd21..dac77727a8 100644
--- a/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc
+++ b/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc
@@ -16,68 +16,73 @@
the \l{Specifying Build Settings}{Build Settings} of the project.
Alternatively, you can use CMake presets to configure CMake.
- The \uicontrol Configuration field displays the effective CMake call that
- is constructed by using the values of the \uicontrol {Build directory} and
+ The \uicontrol Configure field displays the effective CMake call that
+ \QC constructs using the values of the \uicontrol {Build directory} and
\uicontrol {Build type} fields.
- \image qtcreator-cmake-build-settings-initial.png "CMake build settings"
-
- \uicontrol {Initial Configuration} lists the variables that are used to
- configure the CMake project for the first time. The default values that
- are inherited from the kit's CMake configuration are displayed in italic.
- The initial configuration list of variables is saved in the project's source
- directory as the \e CMakeLists.txt.user file.
-
- \uicontrol {Current Configuration} lists the CMake variables in the
- \c cmake-file-api JSON export in the \c {.cmake/api/v1/reply} directory.
- The variables that are inherited from the initial configuration are
- displayed in italic. Mismatched values are displayed in red.
-
- You can view and edit the actual values of the variables that are passed
- to CMake. Variable names are listed in the \uicontrol Key column and their
- current values in the \uicontrol Value column. For more information about
- the available variables, select \uicontrol Help in the context menu or see
- \l{CMake: cmake-variables(7)}. For more information about Qt-specific
- variables, see \l{CMake Variable Reference}.
+ \image qtcreator-build-settings-cmake-configure.webp {CMake configure command}
You can specify additional CMake options, such as \c {--find-debug},
\c {--trace-expand}, or \c {--warn-uninitialized}, in
\uicontrol {Additional CMake options}. For more information about
- the available options, click the link in the field name or see
- \l{CMake: cmake(1)}.
-
- After successfully running CMake, you can view and modify the current
- configuration in \uicontrol {Current Configuration}.
+ the options, click the link in the field name or see \l{CMake: cmake(1)}.
Select \uicontrol {Kit Configuration} to edit the CMake settings for the
build and run kit selected for the project.
+ \section1 Initial Configuration
+
+ \image qtcreator-build-settings-cmake-initial.webp {Initial CMake configuration}
+
+ \uicontrol {Initial Configuration} lists the variables that \QC uses to
+ configure the CMake project for the first time. It shows the default values
+ that come from the kit's CMake configuration in italics. \QC saves the
+ initial configuration list of variables in the project's source
+ directory as the \e CMakeLists.txt.user file.
+
+ \section1 Current Configuration
+
+ \image qtcreator-build-settings-cmake-current.webp {Current CMake configuration}
+
+ \uicontrol {Current Configuration} lists the CMake variables in the
+ \c cmake-file-api JSON export in the \c {.cmake/api/v1/reply} directory.
+ It shows the variables that come from the initial configuration in italics
+ and mismatched values in red.
+
+ After selecting the \uicontrol {Run CMake} button, you can view and
+ change the actual values of the variables that \QC passes to CMake.
+ The \uicontrol Key column lists variable names, and the \uicontrol Value
+ column lists their current values. For more information about the variables,
+ select \uicontrol Help in the context menu or see
+ \l{CMake: cmake-variables(7)}. For more information about Qt-specific
+ variables, see \l{CMake Variable Reference}.
+
\section1 CMake Presets
You can use CMake presets files to specify common configure, build, and test
- options and share them with others. \c CMakePresets.json contains options for
- project-wide builds, whereas \c CMakeUserPresets.json contains options for
+ options and share them with others. \c CMakePresets.json has options for
+ project-wide builds, whereas \c CMakeUserPresets.json has options for
your local builds.
Create the presets files in the format described in
\l{https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html}
{cmake-presets(7)} and store them in project's root directory.
- \QC supports presets up to version 3 (introduced in CMake 3.21), but version
- checking is not enforced. All the fields from version 3 are read and used if
- present. Test presets are not supported.
+ \QC supports presets up to version 3 (introduced in CMake 3.21), but does not
+ enforce version checking. It reads and uses all the fields from version 3 if
+ present. It does not support test presets.
You can import the presets the first time you \l {Opening Projects}
{open a project}, when no \c CMakeLists.txt.user file exists or you have
disabled all kits in the project. To update changes to the
\c CMakePresets.json file, delete the \c CMakeLists.txt.user file.
- \image qtcreator-cmake-presets-configure.webp "Opening a project that contains Cmake presets"
+ \image qtcreator-cmake-presets-configure.webp {Opening a project that has CMake presets}
You can view the presets in the \uicontrol {Initial Configuration} field and
in the environment configuration field below it.
- \image qtcreator-cmake-presets-environment.webp "CMake environment configuration"
+ \image qtcreator-cmake-presets-environment.webp {CMake environment configuration}
\section2 Configure Presets
@@ -189,6 +194,47 @@
\uicontrol Edit > \uicontrol Preferences > \uicontrol CMake >
\uicontrol Tools.
+ \section2 MSVC Example
+
+ When using MSVC compilers with NMAKE Makefiles, Ninja, or Ninja
+ Multi-Config generators, you can use the \c external strategy for
+ the \c architecture and \c toolset fields. This lets \QC set up
+ the Visual C++ environment before invoking CMake.
+
+ For example:
+
+ \badcode
+ "generator": "Ninja Multi-Config",
+ "toolset": {
+ "value": "v142,host=x64",
+ "strategy": "external"
+ },
+ "architecture": {
+ "value": "x64",
+ "strategy": "external"
+ },
+ \endcode
+
+ If you use MSVC compilers with non-VS generators and have several compilers
+ in the \c PATH, you might also have to specify the compiler to use in
+ \c cacheVariables or \c environmentVariables:
+
+ \badcode
+ "generator": "Ninja Multi-Config",
+ "toolset": {
+ "value": "v142,host=x64",
+ "strategy": "external"
+ },
+ "architecture": {
+ "value": "x64",
+ "strategy": "external"
+ },
+ "cacheVariables": {
+ "CMAKE_C_COMPILER": "cl.exe",
+ "CMAKE_CXX_COMPILER": "cl.exe"
+ }
+ \endcode
+
\section2 Using Conditions
The following configure presets are used if they match \c condition. That is,
@@ -251,9 +297,19 @@
are passed to CMake in \uicontrol {Initial Configuration} or
\uicontrol {Current Configuration}.
- \image qtcreator-cmake-build-settings.png "CMake variables"
+ \image qtcreator-build-settings-cmake-current.webp {Current CMake configuration}
- To view all variables, select the \uicontrol Advanced check box.
+ You can select several variables and apply an action to them. To clear
+ the selection, click anywhere in the view.
+
+ To change the environment variable values for the CMake build environment,
+ select \uicontrol {Batch Edit}. For more information, see \l{Batch Editing}.
+
+ To build using the current configuration, select \uicontrol {Run CMake}.
+ While building, the button text changes to \uicontrol {Stop CMake}. Select
+ the button to cancel the current build.
+
+ \section2 Adding Variables
To add variables, select \uicontrol Add, and then select the type of
the variable that you are adding: \uicontrol Boolean, \uicontrol String,
@@ -268,36 +324,40 @@
To copy the name or value of the selected variable to the clipboard,
select \uicontrol Copy in the context menu.
- To modify the value of a variable, double-click it, or select it,
+ \section2 Changing Variable Values
+
+ To change the value of a variable, double-click it, or select it,
and then select \uicontrol Edit. If the initial, current, and kit
configuration get out of sync, select \uicontrol {Apply Kit Value} or
\uicontrol {Apply Initial Configuration Value} in the context menu in
\uicontrol {Initial Configuration} or \uicontrol {Current Configuration}.
- You can apply actions to multiple variables at a time. To clear
- the selection, select \uicontrol {Clear Selection}.
-
- To remove the selected variables, select \uicontrol Unset. To undo
- the removal, select \uicontrol Set.
-
To reset all the changes that you made, select \uicontrol Reset.
- To modify the environment variable values for the CMake build environment,
- select \uicontrol {Batch Edit}. For more information, see \l{Batch Editing}.
-
- To build using the current configuration, select \uicontrol {Run CMake}.
- While building, the button text changes to \uicontrol {Stop CMake}. Select
- the button to cancel the current build.
-
The variable values that you change are passed via \c -D<option>=<value>
to CMake, which stores the options in the CMakeCache.txt file. This means
that if you remove the build directory, all the custom variables that are
not part of the initial CMake configuration are also removed.
- To reconfigure a project using the modified variable values,
+ To reconfigure a project using the changed variable values,
select \uicontrol Build > \uicontrol {Clear CMake Configuration}, which
removes the CMakeCache.txt file. This enables you to do a full rebuild.
+ \section2 Removing Variables
+
+ To remove the selected variables, select \uicontrol Unset. To undo
+ the removal, select \uicontrol Set.
+
+ \section2 Viewing Advanced Variables
+
+ To view all variables, select the \uicontrol Advanced check box.
+
+ To view all variables by default, select \uicontrol Edit >
+ \uicontrol Preferences > \uicontrol CMake > \uicontrol General >
+ \uicontrol {Show advanced options by default}.
+
+ \image qtcreator-preferences-cmake-general.webp "General tab in CMake Preferences"
+
\section1 Re-configuring with Initial Variables
To reset CMake variables to the initial ones, select
@@ -311,21 +371,19 @@
\uicontrol Preferences > \uicontrol CMake > \uicontrol General >
\uicontrol {Ask before re-configuring with initial parameters}.
- \image qtcreator-preferences-cmake-general.png "General tab in CMake Preferences"
-
\section1 Viewing CMake Output
Output from CMake is displayed next to the \uicontrol {Build Settings} and
\uicontrol {Run Settings} panes in the \uicontrol Projects mode.
- \image qtcreator-build-cmake-output.png "CMake output in Projects mode"
+ \image qtcreator-build-cmake-output.png {CMake output in Projects mode}
To clear the search results, select the \inlineimage icons/clean_pane_small.png
(\uicontrol Clear) button.
You can enter a string in the \uicontrol Filter field to filter output.
To specify filtering options, select the
- \inlineimage icons/magnifier.png "Filtering options menu"
+ \inlineimage icons/magnifier.png {Filtering options menu}
button. You can filter output by using regular expressions or
case-sensitivity. Select \uicontrol {Show Non-matching Lines} to
hide the lines that match the filter.
@@ -350,7 +408,7 @@
You can add arguments to pass to CMake and the generator and targets for
the build command in \uicontrol {Build Steps}.
- \image qtcreator-cmake-build-steps.png "CMake build steps"
+ \image qtcreator-cmake-build-steps.png {CMake build steps}
\note While the other CMake generators are installed together with Qt,
you usually need to install Ninja yourself.
@@ -366,10 +424,10 @@
variable.
\li In \uicontrol Projects > \uicontrol {Build & Run} > \uicontrol Build
> \uicontrol {Build Settings}, select \uicontrol {Kit Configuration}.
- \image qtcreator-cmake-kit-configuration.png "Kit CMake Configuration dialog"
+ \image qtcreator-cmake-kit-configuration.png {Kit CMake Configuration dialog}
\li Select \uicontrol Change next to the \uicontrol {CMake generator}
field to open the \uicontrol {CMake Generator} dialog.
- \image qtcreator-cmake-generator.png "CMake Generator dialog"
+ \image qtcreator-cmake-generator.png {CMake Generator dialog}
\li In \uicontrol Generator, select \uicontrol Ninja.
\li Select \uicontrol OK to save your changes and close the dialog.
\li Select \uicontrol Close to close the
@@ -393,6 +451,13 @@
CMake script that installs dependencies from a \c conanfile.txt,
\c conanfile.py, or \c vcpkg.json file in the project source directory.
+ \section1 QTC_RUN Environment Variable
+
+ \QC sets the environment variable \c QTC_RUN to \c 1 when executing
+ the \c cmake process.
+
+ This enables the CMake code to detect if it's being executed from \QC.
+
\section1 CMake Clean Steps
When building with CMake, you can add arguments to pass to CMake and the
diff --git a/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc b/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc
index 53ac406590..1baa0b08f5 100644
--- a/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc
+++ b/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2022 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -34,9 +34,12 @@
\QC automatically runs CMake to refresh project information when you edit
a \c CMakeLists.txt configuration file in a project. Project information is
- also automatically refreshed when you build the project.
+ also automatically refreshed when you build the project. To disable this
+ behavior, select \uicontrol Edit > \uicontrol Preferences > \uicontrol CMake
+ > \uicontrol General, and then deselect the \uicontrol {Autorun CMake}
+ check box.
- \image qtcreator-projects-view-edit.png "CMake project in Projects view"
+ \image qtcreator-projects-view-edit.png {CMake project in Projects view}
If \QC cannot load the CMake project, the \l Projects view shows a
\uicontrol {<File System>} project node to avoid scanning the file
@@ -85,7 +88,7 @@
\li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol CMake >
\uicontrol Tools.
- \image qtcreator-preferences-cmake-tools.png "Tools tab in CMake Preferences"
+ \image qtcreator-preferences-cmake-tools.webp {Tools tab in CMake Preferences}
\li The \uicontrol Name field displays a name for the CMake
installation.
@@ -94,11 +97,7 @@
executable.
\li The \uicontrol {Help file} field displays the path to the
- CMake help file (.qch) provided by and installed with CMake.
-
- \li Deselect the \uicontrol {Autorun CMake} check box if you do not want
- to automatically run CMake every time when you save changes to
- \c {CMakeLists.txt} files.
+ CMake help file (.qch) that comes with CMake.
\li Select \uicontrol Apply to save your changes.
@@ -120,7 +119,7 @@
The kit also specifies the CMake generator that is used for producing
project files for \QC and the initial configuration parameters:
- \image qtcreator-kits-cmake.png
+ \image qtcreator-kits-cmake.png {Kits preferences}
For more information, see \l {Adding Kits}.
@@ -155,6 +154,33 @@
Warnings and errors are displayed in \l {Issues}.
+ \section1 Formatting CMake Files
+
+ You can use the \c {cmake-format} tool to format any text in CMake files that
+ you do not guard with a pair of fences. You must install the tool and tell
+ \QC where you installed it. For more information about the tool and how to
+ install it, see \l{https://cmake-format.readthedocs.io/en/latest/index.html}
+ {cmake language tools}.
+
+ To automatically format CMake files upon file save:
+
+ \list 1
+ \li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol CMake >
+ \uicontrol Formatter.
+ \image qtcreator-preferences-cmake-formatter.webp {Formatter tab in CMake Preferences}
+ \li In \uicontrol {CMakeFormat command}, enter the path to
+ \c {cmake-format.exe}.
+ \li Select \uicontrol {Enable auto format on file save} to automatically
+ format CMake files when you save them.
+ \li In \uicontrol {Restrict to MIME types}, add the \l{Editing MIME Types}
+ {MIME types} of the files to format, separated by semicolons. The
+ default value, \c {text/x-cmake} formats CMake files. If the field is
+ empty, all files are formatted.
+ \li Select the \uicontrol {Restrict to files contained in the current
+ project} check box to only format CMake files that belong to the
+ current project.
+ \endlist
+
\section1 Adding External Libraries to CMake Projects
Through external libraries, \QC can support code completion and syntax
diff --git a/doc/qtcreator/src/conan/creator-projects-conan.qdoc b/doc/qtcreator/src/conan/creator-projects-conan.qdoc
index 855e2818df..2076a10f90 100644
--- a/doc/qtcreator/src/conan/creator-projects-conan.qdoc
+++ b/doc/qtcreator/src/conan/creator-projects-conan.qdoc
@@ -28,8 +28,8 @@
sources. Because the client has a local cache for package storage, you can
work offline, as long as no new packages are needed from remote servers.
- To use Conan, install it by using the Qt installer or the tools provided by
- your operating system. For example, on Windows, you can use the
+ To use Conan, install it by using the Qt installer or the tools that
+ your operating system has. For example, on Windows, you can use the
\c {choco install conan} or \c {pip install conan} command.
To enable the experimental Conan plugin, select \uicontrol Help >
diff --git a/doc/qtcreator/src/debugger/creator-debugger-common.qdocinc b/doc/qtcreator/src/debugger/creator-debug-views.qdoc
index 1226853275..d1c2adff5f 100644
--- a/doc/qtcreator/src/debugger/creator-debugger-common.qdocinc
+++ b/doc/qtcreator/src/debugger/creator-debug-views.qdoc
@@ -1,13 +1,57 @@
-// Copyright (C) 2022 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
+ \page creator-stack-view.html
+ \if defined(qtdesignstudio)
+ \previouspage creator-debugging-qml.html
+ \else
+ \previouspage creator-debug-mode.html
+ \endif
+ \nextpage creator-breakpoints-view.html
+
+ \title Viewing Call Stack Trace
+
+ When the application being debugged is interrupted, \QC displays the nested
+ function calls leading to the current position as a call stack trace. This
+ stack trace is built up from call stack frames, each representing a
+ particular function. For each function, \QC tries to retrieve the file name
+ and line number of the corresponding source file. This data is shown in the
+ \uicontrol Stack view.
+
+ \image qtcreator-debug-stack.png {Stack view}
-//! [debugger-breakpoints]
+ Since the call stack leading to the current position may originate or go
+ through code for which no debug information is available, not all stack
+ frames have corresponding source locations. Stack frames without
+ corresponding source locations are grayed out.
+
+ If you click a frame with a known source location, the text editor jumps to
+ the corresponding location and updates the
+ \l {Local Variables and Function Parameters}{Locals} and
+ \l {Evaluating Expressions}{Expressions} views, making it seem like the
+ application was interrupted before entering the function.
- \section1 Setting Breakpoints
+ \section1 Loading QML Stack
+
+ To find out which QML file is causing a Qt Quick application to crash,
+ select \uicontrol {Load QML Stack} in the context menu in the
+ \uicontrol Stack view. The debugger tries to retrieve the JavaScript stack
+ from the stopped executable and prepends the frames to the C++ frames,
+ should it find any. You can click a frame in the QML stack to open the QML
+ file in the editor.
+*/
+/*!
+ \page creator-breakpoints-view.html
+ \previouspage creator-stack-view.html
+ \if defined(qtdesignstudio)
+ \nextpage creator-locals-view.html
+ \else
+ \nextpage creator-threads-view.html
+ \endif
+ \title Setting Breakpoints
You can associate breakpoints with:
@@ -25,8 +69,8 @@
\li Executing some system calls
- \li Changes in a block of memory at a particular address when a
- program is running
+ \li Changes in a block of memory at a particular address when an
+ application is running
\li Emitting QML signals
@@ -34,26 +78,30 @@
\endlist
- The interruption of a program by a breakpoint can be restricted with certain
- conditions.
+ A breakpoint interrupts the application every time the application reaches
+ its location unless you specify a boolean condition for it. The breakpoint
+ evaluates the expression each time the application passes it, and the
+ application stops only if the condition evaluates to \c true.
+
+ \section1 Unclaimed and Claimed Breakpoints
Breakpoints come in two varieties: \c unclaimed and \c claimed.
An unclaimed breakpoint represents a task to interrupt the debugged
- program and passes the control to you later. It has two states:
+ application and passes the control to you later. It has two states:
\c pending and \c implanted.
Unclaimed breakpoints are stored as a part of a session and exist
- independently of whether a program is being debugged or not. They
+ independently of whether an application is being debugged or not. They
are listed in the \uicontrol {Breakpoint Preset} view and in the
editor using the \inlineimage icons/qtcreator-unclaimed-breakpoint-icon.png
(\uicontrol {Unclaimed Breakpoint}) icon, when they refer to a position
in code.
- \image qtcreator-debugger-breakpoint-preset.png "Breakpoint Preset" view
+ \image qtcreator-debugger-breakpoint-preset.webp {Breakpoint Preset view}
When a debugger starts, the debugging backend identifies breakpoints
from the set of unclaimed breakpoints that might be handled by the
- debugged program and claims them for its own exclusive use. Claimed
+ debugged application and claims them for its own exclusive use. Claimed
breakpoints are listed in the \uicontrol {Breakpoints} view of the
running debugger. This view only exists while the debugger is running.
@@ -74,13 +122,13 @@
\uicontrol{Breakpoint Preset} view.
When an implanted breakpoint is hit during the execution of the
- debugged program, control is passed back to you.
- You can then examine the state of the interrupted program, or
+ debugged application, control is passed back to you.
+ You can then examine the state of the interrupted application, or
continue execution either line-by-line or continuously.
- \image qtcreator-debug-breakpoints.png "Breakpoints view"
+ \image qtcreator-debug-breakpoints.webp {Breakpoints view}
- \section2 Adding Breakpoints
+ \section1 Adding Breakpoints
To add breakpoints:
@@ -92,7 +140,7 @@
\li In the code editor, click the left margin or press \key F9
(\key F8 on \macos) on a particular line you want the
- program to stop.
+ application to stop.
\li In the \uicontrol {Breakpoint Preset} view or the
\uicontrol Breakpoints view:
@@ -105,30 +153,76 @@
\endlist
\li In the \uicontrol {Breakpoint type} field, select the location in the
- program code where you want the program to stop. The other options
- to specify depend on the selected location.
-
- \image qtcreator-add-breakpoint.png "Add Breakpoints" dialog
+ application code where you want the application to stop.
- \li In the \uicontrol Condition field, set the condition to be evaluated
- before stopping at the breakpoint if the condition evaluates as
- true.
+ \image qtcreator-add-breakpoint.webp {Add Breakpoints} dialog
+ \endlist
- \li In the \uicontrol Ignore field, specify the number of times that the
- breakpoint is ignored before the program stops.
+ Deselect the \uicontrol Enabled check box to make the breakpoint temporarily
+ inoperative as if you had deleted it, but keep the information about the
+ breakpoint, so that you can enable it again later.
- \li In the \uicontrol Commands field, specify the commands to execute
- when the program stops; one command on a line. GDB executes the
- commands in the order in which they are specified.
+ The other options to specify depend on the location you select, such as file
+ name and line number, address, expression, or function name. The following
+ table summarizes the advanced options.
- \endlist
+ \table
+ \header
+ \li Option
+ \li Value
+ \row
+ \li \uicontrol Condition
+ \li The condition to evaluate before stopping at the breakpoint if the
+ condition evaluates as \c true.
+ \row
+ \li \uicontrol {Ignore count}
+ \li The number of times to ignore the breakpoint before the application
+ stops.
+ \row
+ \li \uicontrol {Thread specification}
+ \li
+ \row
+ \li \uicontrol Path
+ \li Determines how to specify the path when setting breakpoints:
+ \list
+ \li \uicontrol {Use Engine Default} is the preferred setting of
+ the debugger engine.
+ \li \uicontrol {Use Full Path} passes the full path to avoid
+ ambiguity if several modules contain files with the same
+ name. This is the engine default for CDB and LLDB.
+ \li \uicontrol {Use File Name} passes the file name only. This is
+ useful when the location of the source tree does not match
+ the one used when building the modules. This is the engine
+ default for GDB as using full paths can be slow with it.
+ \endlist
+ \row
+ \li \uicontrol Module
+ \li Specify the module (base name of the library or executable) for
+ function or file type breakpoints to speed up debugger startup
+ (CDB, LLDB).
+ \row
+ \li \uicontrol Commands
+ \li Commands to execute when the application stops. List one command per
+ line. GDB executes the commands in the order in which you specify
+ them.
+ \row
+ \li \uicontrol {Tracepoint only}
+ \li A \e tracepoint lets you log information about the application
+ without adding log statements or otherwise modifying your code.
+ You can set conditions for the tracepoint.
+ \row
+ \li \uicontrol Message
+ \li The tracepoint message to show in \l {Application Output}.
+ \endtable
\if defined(qtcreator)
- \section2 Specifying Breakpoint Settings
+ \section1 Specifying Breakpoint Settings
You can specify settings for breakpoints in \uicontrol Edit >
\uicontrol Preferences > \uicontrol Debugger. For more information,
- see \l{Specifying Debugger Settings}.
+ see \l{Debugger Preferences}.
+
+ \image qtcreator-debugger-general-options.png {General tab in Debugger preferences}
To use a full absolute path in breakpoints, select the
\uicontrol {Set breakpoints using a full absolute path} check box.
@@ -155,14 +249,14 @@
You can automatically add breakpoints on some functions to catch error
and warning messages. For more information, see \l{Specifying CDB Settings}
- and \l{Specifying Extended GDB Settings}.
+ and \l{Specifying GDB Settings}.
For more information on breakpoints, see
\l{http://sourceware.org/gdb/onlinedocs/gdb/Breakpoints.html#Breakpoints}
{Breakpoints, Watchpoints, and Catchpoints} in GDB documentation.
\endif
- \section2 Moving Breakpoints
+ \section1 Moving Breakpoints
To move a breakpoint:
@@ -175,7 +269,7 @@
line number in the \uicontrol {Line number} field.
\endlist
- \section2 Deleting Breakpoints
+ \section1 Deleting Breakpoints
To delete breakpoints:
@@ -195,7 +289,7 @@
\endlist
- \section2 Enabling and Disabling Breakpoints
+ \section1 Enabling and Disabling Breakpoints
To temporarily disable a breakpoint without deleting it and losing associated
data like conditions and commands:
@@ -205,7 +299,7 @@
\li Right-click the breakpoint marker in the text editor and select
\uicontrol{Disable Breakpoint}.
- \li Select a line that contains a breakpoint and press \key Ctrl+F9
+ \li Select a line that has a breakpoint and press \key Ctrl+F9
(\key Ctrl+F8 on \macos).
\li In the \uicontrol {Breakpoint Preset} view or the
@@ -220,12 +314,12 @@
disabled breakpoint. To re-enable a breakpoint, use any of the above
methods.
- With the notable exception of data breakpoints, breakpoints retain their
- enabled or disabled state when the debugged program is restarted.
+ Other than data breakpoints retain their enabled or disabled state when the
+ debugged application is restarted.
- \section2 Setting Data Breakpoints
+ \section1 Setting Data Breakpoints
- A \e {data breakpoint} stops the program when data is read or written at the
+ A \e {data breakpoint} stops the application when data is read or written at the
specified address.
To set a data breakpoint at an address:
@@ -250,55 +344,29 @@
\uicontrol {Add Data Breakpoint at Object's Address} in the
context menu to set the data breakpoint.
- Data breakpoints will be disabled when the debugged program exits, as it
- is unlikely that the used addresses will stay the same at the next program
+ Data breakpoints will be disabled when the debugged application exits, as it
+ is unlikely that the used addresses will stay the same at the next application
launch. If you really want a data breakpoint to be active again, re-enable
it manually.
+*/
-//! [debugger-breakpoints]
-
-//! [debugger-call-stack-trace]
-
- \section1 Viewing Call Stack Trace
-
- When the program being debugged is interrupted, \QC displays the nested
- function calls leading to the current position as a call stack trace. This
- stack trace is built up from call stack frames, each representing a
- particular function. For each function, \QC tries to retrieve the file name
- and line number of the corresponding source file. This data is shown in the
- \uicontrol Stack view.
-
- \image qtcreator-debug-stack.png
-
- Since the call stack leading to the current position may originate or go
- through code for which no debug information is available, not all stack
- frames have corresponding source locations. Stack frames without
- corresponding source locations are grayed out in the \uicontrol Stack view.
-
- If you click a frame with a known source location, the text editor jumps to
- the corresponding location and updates the \uicontrol {Locals} and
- \uicontrol {Expressions} views, making it seem like the program
- was interrupted before entering the function.
-
- To find out which QML file is causing a Qt Quick 2 application to crash,
- select \uicontrol {Load QML Stack} in the context menu in the
- \uicontrol Stack view. The debugger tries to retrieve the JavaScript stack
- from the stopped executable and prepends the frames to the C++ frames,
- should it find any. You can click a frame in the QML stack to open the QML
- file in the editor.
-
-//! [debugger-call-stack-trace]
-
-//! [debugger-locals]
+/*!
+ \page creator-locals-view.html
+ \if defined(qtdesignstudio)
+ \previouspage creator-breakpoints-view.html
+ \else
+ \previouspage creator-source-files-view.html
+ \endif
+ \nextpage creator-expressions-view.html
- \section1 Local Variables and Function Parameters
+ \title Local Variables and Function Parameters
- The Locals view consists of the \uicontrol Locals pane and the
+ The \uicontrol {Locals} view consists of the \uicontrol Locals pane and the
\uicontrol {Return Value} pane (hidden when empty).
- \image qtcreator-locals.png "Locals view"
+ \image qtcreator-locals.png {Locals view}
- Whenever a program stops under the control of the debugger, it retrieves
+ Whenever an application stops under the control of the debugger, it retrieves
information about the topmost stack frame and displays it in the
\uicontrol {Locals} view. The \uicontrol Locals pane shows
information about parameters of the function in that frame as well as the
@@ -310,12 +378,18 @@
objects will be displayed. Select \uicontrol {Use dynamic object type for
display} in the context menu. Keep in mind that choosing the dynamic type
might be slower.
+*/
-//! [debugger-locals]
-
-//! [debugger-expressions]
+/*!
+ \page creator-expressions-view.html
+ \previouspage creator-locals-view.html
+ \if defined(qtdesignstudio)
+ \nextpage creator-qml-debugging-example.html
+ \else
+ \nextpage creator-registers-view.html
+ \endif
- \section1 Evaluating Expressions
+ \title Evaluating Expressions
To compute values of arithmetic expressions or function calls, use
expression evaluators in the \uicontrol Expressions view. To insert a new
@@ -324,7 +398,7 @@
\uicontrol {Add New Expression Evaluator} from the context menu, or drag and
drop an expression from the code editor.
- \image qtcreator-debugger-expressions.png
+ \image qtcreator-debugger-expressions.png {Expressions view}
\note Expression evaluators are powerful, but slow down debugger operation
significantly. It is advisable to not use them excessively, and to remove
@@ -336,16 +410,12 @@
The QML debugger can evaluate JavaScript expressions.
-//! [debugger-expressions]
-
-//! [debugger-expressions-cpp]
-
+ \if defined(qtcreator)
GDB, LLDB and CDB support the evaluation of simple C and C++ expressions.
- Functions can be called
- only if they are actually compiled into the debugged executable or a library
- used by the executable. Most notably, inlined functions such as most
- \c{operator[]} implementations of standard containers are typically \e{not}
- available.
+ Functions can be called only if they are actually compiled into the debugged
+ executable or a library used by the executable. Most notably, inlined
+ functions such as most \c{operator[]} implementations of standard containers
+ are typically \e{not} available.
When using GDB or LLDB as backend, a special ranged syntax can be used to
display multiple values with one expression. A sub-expression of form
@@ -357,49 +427,38 @@
value and type, you can examine and traverse the low-level layout of object
data.
- \table
- \row
- \li \b{Note:}
-
- \row
- \li GDB and LLDB, and therefore \QC's debugger, also work for optimized
- builds on Linux and \macos. Optimization can lead to re-ordering
- of instructions or removal of some local variables, causing the
- \uicontrol {Locals} and \uicontrol {Expressions} view to show
- unexpected data.
- \row
- \li The debug information provided by GCC does not include enough
- information about the time when a variable is initialized.
- Therefore, \QC can not tell whether the contents of a local
- variable contains "real data", or "initial noise". If a QObject
- appears uninitialized, its value is reported as
- \uicontrol {not in scope}. Not all uninitialized objects,
- however, can be recognized as such.
- \endtable
+ GDB and LLDB, and therefore \QC's debugger, also work for optimized
+ builds on Linux and \macos. Optimization can lead to re-ordering
+ of instructions or removal of some local variables, causing the
+ \uicontrol {Locals} and \uicontrol {Expressions} view to show
+ unexpected data.
- \note The set of evaluated expressions is saved in your session.
+ The debug information from GCC does not include enough
+ information about the time when a variable is initialized.
+ Therefore, \QC can not tell whether the contents of a local
+ variable are \e {real data} or \e {initial noise}. If a QObject
+ appears uninitialized, its value is reported as
+ \uicontrol {not in scope}. Not all uninitialized objects,
+ however, can be recognized as such.
-//! [debugger-expressions-cpp]
-
-//! [debugger-qt-basic-objects]
+ \note The set of evaluated expressions is saved in your session.
\section1 Inspecting Basic Qt Objects
- The \uicontrol {Locals} and \uicontrol {Expressions} views also provide access
- to the most powerful feature of the debugger: comprehensive display of data
- belonging to Qt's basic objects. For example, in case of QObject, instead of
- displaying a pointer to some private data structure, you see a list of
+ The most powerful feature of the debugger is that the \uicontrol {Locals}
+ and \uicontrol {Expressions} views show the data that belongs to
+ Qt's basic objects. For example, in case of QObject, instead of
+ a pointer to some private data structure, you see a list of
children, signals, and slots.
Similarly, instead of displaying many pointers and integers, \QC's debugger
displays the contents of a QHash or QMap in an orderly manner. Also, the
- debugger displays access data for QFileInfo and provides access to the
- \e real contents of QVariant.
+ debugger shows access data for QFileInfo and the \e real contents of QVariant.
Right-click in the \uicontrol {Locals} or the \uicontrol {Expressions} view
- to open a context menu that provides additional options for viewing data. The
- available options depend on the type of the current items, and are provided
- by the \l{Using Debugging Helpers}{Debugging Helpers}. Typically,
+ to open a context menu that has more options for viewing data. The
+ available options depend on the type of the current items, and come from
+ the \l{Using Debugging Helpers}{Debugging Helpers}. Typically,
string-like data, such as \c{QByteArray} and \c{std::string}, offer a
selection of encodings, as well as the possibility to use a full editor
window. Map-like data, such as \c{QMap}, \c{QHash}, and \c{std::map}, offer
@@ -410,7 +469,7 @@
You can use the \uicontrol {Locals} and \uicontrol {Expressions} view to change
the contents of variables of simple data types, for example, \c int, \c float,
- \c QString and \c std::string when the program is interrupted. To do so,
+ \c QString and \c std::string when the application is interrupted. To do so,
click the \uicontrol Value column, modify the value with the inplace editor,
and press \key Enter (or \key Return).
@@ -420,6 +479,5 @@
You can enable tooltips in the main editor displaying this information.
For more information, see \l{See the value of variables in tooltips while debugging}.
-
-//! [debugger-qt-basic-objects]
+ \endif
*/
diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger-settings.qdocinc b/doc/qtcreator/src/debugger/creator-only/creator-debugger-settings.qdoc
index 057f43aa41..334e3c86a6 100644
--- a/doc/qtcreator/src/debugger/creator-only/creator-debugger-settings.qdocinc
+++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger-settings.qdoc
@@ -1,11 +1,12 @@
-// Copyright (C) 2021 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
+ \page creator-debugger-preferences.html
+ \previouspage creator-remote-debugging.html
+ \nextpage creator-debugging-helpers.html
-//! [debugger-settings]
-
- \section1 Specifying Debugger Settings
+ \title Debugger Preferences
To specify settings for managing debugger processes, select \uicontrol Edit
> \uicontrol Preferences > \uicontrol Debugger. In the \uicontrol General tab,
@@ -22,10 +23,10 @@
output is sent to the system log. To override this behavior, select
the \uicontrol {Force logging to console} check box. This sets
\c QT_LOGGING_TO_CONSOLE=1 in the environment of the debugged
- program, which effectively prevents storing debug output in
+ application, which effectively prevents storing debug output in
system logs.
- \section2 Mapping Source Paths
+ \section1 Mapping Source Paths
To enable the debugger to step into the code and display the source code
when using a copy of the source tree at a location different from the one
@@ -47,7 +48,7 @@
of the source tree on the local machine.
\endlist
- \section2 Specifying GDB Settings
+ \section1 Specifying GDB Settings
To specify settings for managing the GDB process, select \uicontrol Edit >
\uicontrol Preferences > \uicontrol Debugger > \uicontrol GDB.
@@ -95,7 +96,7 @@
future, select the \uicontrol {Use automatic symbol cache} check box.
To execute GDB commands after GDB has been started, but before the debugged
- program is started or attached, and before the debugging helpers are
+ application is started or attached, and before the debugging helpers are
initialized, enter them in the \uicontrol {Additional Startup Commands}
field.
@@ -110,16 +111,11 @@
To execute arbitrary Python scripts, use
\c {python execfile('/path/to/script.py')}.
- \section2 Specifying Extended GDB Settings
-
- To specify extended settings for GBD, select \uicontrol Edit >
- \uicontrol Preferences > \uicontrol Debugger > \uicontrol {GDB Extended}.
- The settings give access to advanced or experimental functions of GDB.
+ The settings in the \uicontrol Extended group give access to advanced
+ or experimental functions of GDB.
Enabling them may negatively impact your debugging experience, so use
them with care.
- \image qtcreator-gdb-extended-options.png "GDB Extended preferences"
-
To use asynchronous mode to control the inferior, select the
respective check box.
@@ -138,7 +134,7 @@
To keep debugging all children after a fork, select the
\uicontrol {Debug all child processes} check box.
- \section2 Specifying CDB Settings
+ \section1 Specifying CDB Settings
To specify settings for managing the CDB process, select \uicontrol Edit >
\uicontrol Preferences > \uicontrol Debugger > \uicontrol CDB.
@@ -175,9 +171,8 @@
source code editor, select the \uicontrol {Correct breakpoint location}
check box. For more information, see \l{Setting Breakpoints}.
- To use the abstraction layer provided by Python Dumper
- classes to create a description of data items displayed
- in the \uicontrol Locals and \uicontrol Expressions
+ To use the abstraction layer of Python Dumper classes to create a description
+ of data items in the \uicontrol Locals and \uicontrol Expressions
views, select the \uicontrol {Use Python dumper} check box.
For more information, see \l{Debugging Helper Implementation}.
@@ -185,10 +180,10 @@
in \l Issues, select the check boxes
in the \uicontrol {Add Exceptions to Issues View} group.
- \section2 Setting CDB Paths on Windows
+ \section1 Setting CDB Paths on Windows
To obtain debugging information for the operating system libraries for
- debugging Windows applications, add the Symbol Server provided by Microsoft
+ debugging Windows applications, add the Microsoft Symbol Server
to the symbol search path of the debugger:
\list 1
@@ -208,6 +203,4 @@
To use the Source Server infrastructure for fetching missing source files
directly from version control or the web, enter the following string in
the \uicontrol {Source Paths} field: \c srv*.
-
-//! [debugger-settings]
*/
diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger-setup.qdoc b/doc/qtcreator/src/debugger/creator-only/creator-debugger-setup.qdoc
index 7e61aa9ddb..d457abc4f9 100644
--- a/doc/qtcreator/src/debugger/creator-only/creator-debugger-setup.qdoc
+++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger-setup.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2021 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -15,48 +15,57 @@
\title Setting Up Debugger
- The main debugger settings are associated with the
- \l{glossary-buildandrun-kit}{kit} you build and run your project with. To
+ The main debugger preferences are associated with the
+ \l{Adding Kits}{kit} you build and run your project with. To
specify the debugger and compiler to use for each kit, select
\uicontrol Edit > \uicontrol Preferences > \uicontrol Kits.
+ \image qtcreator-kits.png {Kits preferences}
+
You need to set up the debugger only if the automatic setup fails because
- the native debugger is missing (as is usually the case for the CDB debugger
- on Windows, which you always must install yourself) or because the installed
- version is not supported (for example, when your system contains no, or an
- outdated version of GDB and you want to use a locally installed replacement
- instead).
+ the native debugger is missing (for example, you must install the CDB
+ debugger on Windows yourself) or because \QC does not support the installed
+ version. For example, when your system does not have GDB
+ installed or the installed version is outdated, and you want to use a locally
+ installed replacement instead.
- \note If you need to change the debugger to use for an automatically
- detected \l{glossary-buildandrun-kit}{kit}, you can \uicontrol Clone the
- kit and change the parameters in the clone. Make sure to select the cloned
- kit for your project.
+ To change the debugger in an automatically detected kit, select
+ \uicontrol Edit > \uicontrol Preferences > \uicontrol Kits >
+ \uicontrol Clone to create a copy of the kit, and change the
+ parameters in the cloned kit. Make sure to enable the cloned kit
+ for your project.
If the debugger you want to use is not automatically detected, select
\uicontrol Edit > \uicontrol Preferences > \uicontrol Kits >
\uicontrol Debuggers > \uicontrol Add to add it.
- \note To use the debugging tools for Windows, you must install them and add
- the Symbol Server provided by Microsoft to the symbol search path of the
- debugger. For more information, see \l{Setting CDB Paths on Windows}.
+ \image qtcreator-preferences-kits-debuggers.webp {Debuggers tab in Kits preferences}
+
+ To use the debugging tools for Windows, you must install them.
+ Optionally, you can set up the Microsoft Symbol Server if you need
+ symbol information from Microsoft modules that is not found locally.
+ For more information, see \l{Setting CDB Paths on Windows}.
- \note To use the Free Software Foundation (FSF) version of GDB on \macos, you
- must sign it and modify your \l{glossary-buildandrun-kit}{kit} settings.
+ To use the Free Software Foundation (FSF) version of GDB on \macos, you
+ must sign it and modify your kit preferences.
- This section explains the options you have for debugging C++ code and
- provides installation notes for the supported native debuggers. It also
- applies for code in other compiled languages such as C, FORTRAN, Ada.
+ This section describes the options you have for debugging C++ and Python code
+ and installing the supported native debuggers. It also
+ applies to code in other compiled languages such as C, FORTRAN, and Ada.
- For more information on the debugger modes, see
- \l{Launching the Debugger in Different Modes}.
+ For more information about launching the debugger in different modes, see
+ \l{Debugger Operating Modes}.
\section1 Supported Native Debugger Versions
- \QC supports native debuggers when working with compiled code. On
- most supported platforms, the GNU Symbolic Debugger GDB can be used. On
- Microsoft Windows, when using the Microsoft tool chain, the Microsoft
- Console Debugger CDB is needed. On \macos and Linux, the LLDB debugger
- can be used.
+ \QC supports native debuggers for debugging compiled code.
+ On most supported platforms, you can use the GNU Symbolic Debugger (GDB).
+ On Microsoft Windows, when using the Microsoft tool chain, you need the
+ Microsoft Console Debugger (CDB). On \macos and Linux, you can use the LLDB
+ debugger. On all supported platforms, you can use PDB to debug Python source
+ code.
+
+ \note You need a debugger version built with Python scripting support.
The following table summarizes the support for debugging C++ code:
@@ -89,28 +98,26 @@
\section2 Supported GDB Versions
- Starting with version 3.1, \QC requires the Python scripting extension. GDB
- builds without Python scripting are not supported anymore and will not work.
- The minimum supported version is GDB 7.5 using Python version 2.7, or 3.3,
- or newer.
+ Use GDB 7.5, or later, with the Python scripting extension and Python version
+ 3.3, or later.
For remote debugging using GDB and GDB server, the minimum supported version
of GDB server on the target \l{glossary-device}{device} is 7.0.
\section2 Supported CDB Versions
- All versions of CDB targeting platforms supported by Qt are supported by
- \QC.
+ \QC supports all versions of CDB targeting platforms that Qt supports.
\section2 Supported LLDB Versions
The LLDB native debugger has similar functionality to the GDB debugger. LLDB
- is the default debugger in Xcode on \macos for supporting C++ on the desktop.
+ is the default debugger in Xcode on \macos for C++ on the desktop.
LLDB is typically used with the Clang compiler (even though you can use it
with GCC, too).
On \macos you can use the LLDB version delivered with Xcode or build from source.
- The minimum supported version is LLDB 320.4.
+ The minimum supported version is LLDB 320.4. You need a LLDB version built
+ with Python support.
On Linux, the minimum supported version is LLDB 3.8.
@@ -145,8 +152,7 @@
\section1 Installing Native Debuggers
- The following sections provide information about installing native
- debuggers.
+ The following sections describe installing native debuggers.
\section2 GDB
@@ -183,24 +189,15 @@
the required files in
\c{"%ProgramFiles%\Debugging Tools for Windows"}.
- \section3 Symbol Server
-
- It is highly recommended that you add the Symbol Server provided
- by Microsoft to the symbol search path of the debugger. The
- Symbol Server provides you with debugging information for the
- operating system libraries for debugging Windows applications.
- For more information, see
- \l{Setting CDB Paths on Windows}.
-
\section2 Debugging Tools for \macos
- The Qt binary distribution contains both debug and release
- variants of the libraries. But you have to explicitly tell the
+ The Qt binary distribution has both debug and release
+ variants of the libraries. However, you have to explicitly tell the
runtime linker that you want to use the debug libraries even if
your application is compiled as debug, as release is the default
library.
- If you use a qmake based project in \QC, you can set a flag in
+ If you use a qmake based project in \QC, you can set a flag in
your \l{glossary-run-config}{run configuration}, in
\uicontrol Projects mode. In the run configuration, select
\uicontrol{Use debug version of frameworks}.
@@ -213,6 +210,27 @@
We recommend using the LLDB version that is delivered with the latest Xcode.
+ \section2 PDB
+
+ \l{https://docs.python.org/3/library/pdb.html}{PDB} is a source code debugger
+ for Python applications. You can use it to debug projects that have a
+ \l {Creating Widget-Based Qt for Python Applications}{.pyproject}
+ configuration file.
+
+ You must install Python and set the interpreter to use in \uicontrol Projects
+ > \uicontrol Run:
+
+ \image qtcreator-run-settings-python.webp {Run settings for a Python project}
+
+ Start debugging the \c main.py file. If you encounter problems, check the
+ active build target in the kit selector.
+
+ \QC does not support mixed-mode debugging, but you can attach GDB to the
+ Python interpreter to debug the C++ implementation of the corresponding
+ Python code. For more information, see
+ \l{https://doc.qt.io/qtforpython-6/tutorials/debugging/qtcreator/qtcreator.html}
+ {Debugging PySide with Qt Creator (Linux)}.
+
\section1 Setting up FSF GDB for \macos
To use FSF GDB on \macos, you must sign it and add it to the \QC
@@ -267,7 +285,7 @@
(\c $HOME/gdb72/bin/fsfgdb, but with an explicit value for
\c $HOME).
- \li To use the debugger, add the kit in the \uicontrol {Build Settings}
+ \li To use the debugger, enable the kit in the \uicontrol {Build Settings}
of the project.
\endlist
diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc
index 35d598d4c6..1009f765ab 100644
--- a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc
+++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2021 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -14,10 +14,32 @@
\title Debugging
- \QC provides a debugger plugin that acts as an interface between the \QC
- core and external native debuggers such as the GNU Symbolic Debugger (GDB),
- the Microsoft Console Debugger (CDB), a QML/JavaScript debugger, and the
- debugger of the low level virtual machine (LLVM) project, LLDB.
+ A debugger lets you see what happens \e inside an application while it runs
+ or when it crashes. A debugger can do the following to help you find errors
+ in the application:
+
+ \list
+ \li Start the application with parameters that specify its behavior.
+ \li Stop the application when conditions are met.
+ \li Examine what happens when the application stops.
+ \li Make changes in the application when you fix an error and continue
+ to find the next one.
+ \endlist
+
+ The \QC debugger plugin acts as an interface between the \QC
+ core and external native debuggers that you can use to:
+
+ \list
+ \li Debug executable binary files - GNU Symbolic Debugger (GDB),
+ the Microsoft Console Debugger (CDB), and the debugger of the
+ low level virtual machine (LLVM) project, LLDB.
+ \li Debug QML and Java code and Qt Quick applications -
+ QML/JavaScript debugger.
+ \li Debug Python source code - PDB.
+ \endlist
+
+ The following sections describe how to set up, launch, and interact with the
+ debugger:
\list
@@ -36,11 +58,34 @@
\key F5. Other, less common start options are available in the
\uicontrol Debug > \uicontrol {Start Debugging} menu.
- \li \l{Interacting with the Debugger}
+ \li \l{Debug Mode Views}
- You can use the tool views in the \uicontrol Debug mode to inspect the
+ Use the views in the \uicontrol Debug mode to inspect the
state of your application while debugging.
+ \li \l{Stopping Applications}
+
+ You can interrupt a running application before it terminates
+ or to find out why the application does not work correctly.
+ Set breakpoints to stop the application for examining and changing
+ variables, setting new breakpoints or removing old ones, and then
+ continue running the application.
+
+ \li \l{Examining Data}
+
+ You can examine variable values and data structures in detail.
+
+ \li \l{Remote Debugging}
+
+ You can debug an application that runs on a remote target with the
+ necessary helper processes also running.
+
+ \li \l{Debugger Preferences}
+
+ Specify preferences for managing debugger processes. You can specify
+ preferences that are common to all debuggers, or the native debugger
+ that you use, GDB or CDB.
+
\li \l{Using Debugging Helpers}
\QC is able to show complex data types in a customized,
@@ -85,44 +130,47 @@
debugger, select the \inlineimage icons/qtcreator-debug-button.png
(\uicontrol {Start Debugging of Startup Project}) button or press \key F5.
- \QC checks whether the compiled program is up-to-date, and rebuilds and
- deploys it if the \uicontrol {Build before deploying} field is set to
- build the whole project or the application to run and the
- \uicontrol {Always deploy before running} check box is selected in
+ \QC checks whether the compiled application is up-to-date, and rebuilds and
+ deploys it if you set the \uicontrol {Build before deploying} field to
+ build the whole project or the application to run and select he
+ \uicontrol {Always deploy before running} check box in
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Build & Run} >
- \uicontrol General. To debug the program without deploying
+ \uicontrol General. To debug the application without deploying
it, select \uicontrol Debug > \uicontrol {Start Debugging} >
\uicontrol {Start Debugging Without Deployment}.
- The debugger then takes over and starts the program with suitable
+ The debugger then takes over and starts the application with suitable
parameters.
When using GDB or CDB as debug backend, you can specify additional commands
- to execute before and after the backend and debugged program are started or
+ to execute before and after the backend and debugged application are started or
attached in \uicontrol Edit > \uicontrol Preferences > \uicontrol Debugger >
\uicontrol GDB and \uicontrol CDB. For more information, see
- \l{Specifying Debugger Settings}.
+ \l{Debugger Preferences}.
- To allow reading the user's default .gdbinit file on debugger startup,
+ To let the debugger read the user's default .gdbinit file when it starts,
select the \uicontrol {Load .gdbinit file on startup} check box in
GDB settings. For more information, see \l{Specifying GDB Settings}.
- \note Starting a C++ program in the debugger can take a long time, typically
- in the range of several seconds to minutes if complex features are used.
+ \note Starting a C++ application under the control of the debugger can take
+ a long time. Typically, in the range of several seconds to minutes if you use
+ complex features.
+
+ For \l {Creating Widget-Based Qt for Python Applications}{Python} projects,
+ start debugging the \c main.py file. If you encounter problems, check the
+ active build target in the \l{Building for Multiple Platforms}{kit selector}.
- \section1 Launching the Debugger in Different Modes
+ \section1 Debugger Operating Modes
The debugger plugin can run the native debuggers in various operating modes
- depending on where and how the debugged process is started and run. Some of
+ depending on where and how you start and run the debugged process. Some of
the modes are only available for a particular operating system or platform.
In general, \key F5 and the \uicontrol {Start Debugging of Startup Project}
- button are set up in a
- way to start the operating mode that is commonly used in a given context. So
- if the current project is set up as a C++ application using the \MinGW
- toolchain targeting desktop Windows, the GDB engine will be started in Start
- Internal mode. If the current project is a QML application using C++
- plugins, a "mixed" QML/C++ engine will be started, with the C++ parts being
+ button start the operating mode that fits the context. So, for a C++
+ application that uses the \MinGW toolchain targeting desktop Windows, the GDB
+ engine starts in \e {start internal} mode. For a QML application that uses C++
+ plugins, a \e mixed QML/C++ engine starts, with the C++ parts being
handled by GDB and GDB server remote debugging.
Change the run configuration parameters (such as
@@ -134,24 +182,24 @@
\list
- \li \b{Start Internal} to debug applications developed inside \QC such as
- a Qt based GUI application.
+ \li \e{Start internal} to debug applications developed inside \QC, such as
+ a Qt Widgets-based application.
- \li \b{Start External} to start and debug processes without a proper \QC
+ \li \e{Start external} to start and debug processes without a proper \QC
project setup, either locally or on a remote machine.
- \li \b{Attach} to debug processes already started and running outside
+ \li \e{Attach} to debug processes already started and running outside
\QC, either locally or on a remote machine.
- \li \b{Core} to debug crashed processes on Unix.
+ \li \e{Core} to debug crashed processes on Unix.
- \li \b{Post-mortem} to debug crashed processes on Windows.
+ \li \e{Post-mortem} to debug crashed processes on Windows.
\endlist
- \section2 Launching in Start Internal Mode
+ \section2 Start Internal
- Start Internal mode is the default start mode for most projects, including
+ Start internal mode is the default start mode for most projects, including
all projects using a desktop Qt version and plain C++ projects.
If you need a console window to operate your application, for example
@@ -166,19 +214,19 @@
override the console set in the Windows system environment variables.
Note that the native console does not prompt on application exit.
- To launch the debugger in Start Internal mode, click the
+ To launch the debugger in start internal mode, click the
\uicontrol {Start Debugging} button for the active project.
You can specify breakpoints before or after launching the debugger.
For more information, see \l{Setting Breakpoints}.
- \section2 Launching in Start External Mode
+ \section2 Start External
- You can debug any executable already present on your local or on a remote
+ You can debug any executable on your local or on a remote
machine without using a project. You specify a build and run kit that
identifies the device to debug the application on.
- While this mode does not strictly require a project to be opened in \QC,
+ While this mode does not strictly require a project to be open in \QC,
opening it makes setting breakpoints and stepping through the code easier.
To start and debug an external application:
@@ -216,7 +264,7 @@
configuration to use.
\endlist
- \section2 Launching in Attach Mode
+ \section2 Attach
You can attach the debugger to applications that are already running or
instruct the debugger to attach to an application when it starts.
@@ -240,7 +288,7 @@
To terminate the selected process, select \uicontrol {Kill Process}.
- While this mode does not strictly require a project to be opened in \QC,
+ While this mode does not strictly require a project to be open in \QC,
opening it makes setting breakpoints and stepping through the code easier.
You can specify breakpoints before or after attaching the debugger to the
@@ -267,14 +315,14 @@
process to start.
\endlist
- \section2 Launching in Core Mode
+ \section2 Core
- The Core mode is used to inspect \e {core} files (crash dumps) that are
+ Use the core mode to inspect \e {core} files (crash dumps) that are
generated from crashed processes on Linux and Unix systems if the system is
set up to allow this.
To enable the dumping of core files on a Unix system, enter the following
- command in the shell from which the application will be launched:
+ command in the shell from which the application is launched:
\code
ulimit -c unlimited
@@ -295,7 +343,7 @@
\li In the \uicontrol {Core file} field, specify the core file to
inspect.
\li In the \uicontrol {Executable of symbol file} field, specify
- a file that contains debug information corresponding to the
+ a file that has debug information corresponding to the
core file. Typically, this is the executable file or a \c {.debug}
file if the debug information is stored separately from the
executable.
@@ -305,12 +353,12 @@
the \c sysroot to use instead of the default \c sysroot.
\endlist
- Also in this mode, using a properly configured project containing the
- sources of the crashed program is not strictly necessary, but helpful.
+ Even though using a properly configured project that has the sources of the
+ crashed application is not strictly necessary, it is helpful.
- \section2 Launching in Post-Mortem Mode
+ \section2 Post-Mortem
- The post-mortem mode is available only on Windows, if you have installed the
+ The post-mortem mode is available only on Windows, if you installed the
debugging tools for Windows.
The \QC installation program asks you whether you want to register \QC as a
@@ -320,13 +368,17 @@
You can launch the debugger in the post-mortem mode if an application
crashes on Windows. Click the \uicontrol {Debug in \QC} button in the error
- message that is displayed by the Windows operating system.
-
+ message from the Windows operating system.
+*/
- \section1 Remote Debugging
+/*!
+ \page creator-remote-debugging.html
+ \previouspage creator-debugger-examining-data.html
+ \nextpage creator-debugger-preferences.html
- \QC provides very easy access to remote debugging.
+ \title Remote Debugging
+ \QC makes remote debugging easy.
In general, the remote debugging setup consist of a probe running on the
remote machine and a counterpart running on the host side. The probe is
either integrated into the running process (e.g. for QML debugging) or runs
@@ -344,7 +396,7 @@
Special use cases, such as attaching to a running process on the target,
might still require manual setup.
- \section3 Using GDB
+ \section1 Using GDB
When debugging on a target supported by GDB server, a local GDB process
talks to a GDB server running on the remote machine that controls the
@@ -414,14 +466,13 @@
To increase the timeout in the \uicontrol {GDB timeout} field, select
\uicontrol Edit > \uicontrol Preferences > \uicontrol Debugger >
\uicontrol GDB. For more information about settings that you can specify
- to manage the GDB process, see \l{Specifying GDB Settings} and
- \l{Specifying Extended GDB Settings}.
+ to manage the GDB process, see \l{Specifying GDB Settings}.
For more information about connecting with \c {target extended-remote} mode
in GDB, see \l{https://sourceware.org/gdb/onlinedocs/gdb/Connecting.html}
{Debugging with GDB: Connecting to a Remote Target}.
- \section3 Using CDB
+ \section1 Using CDB
In remote mode, the local CDB process talks to a CDB process that runs on
the remote machine. The process is started with special command line options
@@ -431,7 +482,7 @@
\list 1
\li Install the \e{Debugging Tools for Windows} on the remote machine.
- The installation folder contains the CDB command line executable
+ The installation folder has the CDB command line executable
(\c cdb.exe).
\li Copy the \QC CDB extension library and the dependencies from the Qt installation
@@ -496,71 +547,125 @@
\page creator-debug-mode.html
\if defined(qtdesignstudio)
\previouspage studio-debugging.html
- \nextpage creator-debugging-qml.html
\else
\previouspage creator-debugger-operating-modes.html
- \nextpage creator-debugging-helpers.html
\endif
+ \nextpage creator-stack-view.html
- \title Interacting with the Debugger
+ \title Debug Mode Views
- You can use the \QC \uicontrol Debug mode to inspect the state of your
- application while debugging. You can interact with the debugger in several
- ways, including the following:
+ In the \uicontrol Debug mode, you can inspect the state of your
+ application while debugging.
- \list
+ \image qtcreator-debugger-views.webp {Debug mode views while debugging}
+
+ You can interact with the debugger in many ways:
- \li Go through a program line-by-line or instruction-by-instruction.
+ \list
- \li Interrupt running programs.
+ \li Interrupt running applications.
\li Set breakpoints.
+ \li Step through an application line-by-line or
+ instruction-by-instruction.
+
\li Examine the contents of the call stack.
\li Examine and modify contents of local and global variables.
\li Examine and modify registers and memory contents of
- the debugged program.
+ the debugged application.
\li Examine the list of loaded shared libraries.
\li Disassemble sections of code.
+ \endlist
- \omit
- \li Create snapshots of the current state of the debugged program
- and re-examine them later.
- \endomit
+ The following table summarizes the \uicontrol Debug mode views with links to
+ more information.
+
+ \table
+ \header
+ \li View
+ \li Purpose
+ \li Learn More
+ \row
+ \li Stack
+ \li Examine the nested function calls leading to the current position
+ as a call stack trace.
+ \li \l {Viewing Call Stack Trace}
+ \row
+ \li Breakpoint Preset
+
+ Breakpoints
+ \li Set \e {breakpoints} with conditions to make the application stop in
+ a controlled way. A \e {watchpoint} stops the application when the
+ value of an expression changes.
+ \li \l {Setting Breakpoints}
+ \row
+ \li Threads
+ \li Switch between threads.
+ \li \l {Viewing Threads}
+ \row
+ \li Modules
+ \li View information about modules included in the application.
+ \li \l {Viewing Modules}
+ \row
+ \li Source Files
+ \li View a list of source files included in the project.
+ \li \l {Viewing Source Files}
+ \row
+ \li Locals
+ \li View information about the parameters of the function in the topmost
+ stack frame and local variables.
+ \li \l {Local Variables and Function Parameters}
+ \row
+ \li Expressions
+ \li Compute values of arithmetic expressions or function calls.
+ \li \l {Evaluating Expressions}
+ \row
+ \li Registers
+ \li View the current state of the CPU registers to examine the
+ application at the machine level.
+ \li \l {Viewing and Editing Register State}
+ \row
+ \li Peripheral Registers
+ \li View the current state of peripheral registers.
+ \li
+ \row
+ \li Debugger Log
+ \li View debug output to find out why the debugger does not work.
+
+ The log view acts as a console, so you can send the contents
+ of the line under the text cursor in the log directly to the
+ native debugger.
+ \li \l{Troubleshooting Debugger}
- \endlist
+ \l {Directly Interacting with Native Debuggers}
+ \row
+ \li Disassembler
+ \li View disassembled code for the current function.
+ \li \l {Viewing Disassembled Code}
+ \row
+ \li Editor
+ \li Open the current source file in the text editor for changing it.
+ \li \l {Working in Edit Mode}
+ \endtable
+
+ \section1 Managing Debug Views
- \QC displays the raw information provided by the native debuggers in a clear
- and concise manner with the goal to simplify the debugging process as much
- as possible without losing the power of the native debuggers.
-
- In addition to the generic IDE functionality provided by stack view, views
- for locals and expressions, registers, and so on, \QC includes features to
- make debugging Qt-based applications easy. The debugger plugin understands
- the internal layout of several Qt classes, for example, QString, the Qt
- containers, and most importantly QObject (and classes derived from it), as
- well as most containers of the C++ Standard Library and some GCC extensions.
- This deeper understanding is used to present objects of such classes in a
- useful way.
-
- \section1 Using the Debugger
-
- In \uicontrol Debug mode, you can use several views to interact with the
- program you are debugging. The availability of views depends on whether
- you are debugging C++ or QML. Frequently used views are shown by
- default and rarely used ones are hidden. To change the default settings,
- select \uicontrol View > \uicontrol Views, and then select views to
- display or hide. Alternatively, you can enable or disable views from the
- context menu of the title bar of any visible debugger view.
-
- \image qtcreator-debugger-views.png "Debug mode views"
-
- You can drag and drop the views in \QC to new positions on the screen. The
- size and position of views are saved for future sessions. Select
+ When you are not debugging, the \uicontrol Debug mode shows the
+ \uicontrol {Debugger Preset} perspective:
+
+ \image qtcreator-debugger-views-initial.webp {Initial Debug mode views}
+
+ During debugging, the mode shows the views that you usually need to
+ debug C++ or QML applications. To show other views or to hide views,
+ select \uicontrol Views.
+
+ You can drag the views in \QC to new positions on the screen. \QC saves the
+ size and position of views as a perspective for future sessions. Select
\uicontrol View > \uicontrol Views > \uicontrol {Reset to Default Layout}
to reset the views to their original sizes and positions.
@@ -570,29 +675,74 @@
To show and hide columns in views, toggle \uicontrol {Show Column} in
the context menu.
- Once the program starts running under the control of the debugger, it
- behaves and performs as usual. You can interrupt a running C++ program by
- selecting \uicontrol Debug > \uicontrol Interrupt. The program is
- automatically interrupted when a breakpoint is hit.
+ \section1 Customizing Debug Views
- Once the program stops, \QC:
+ To change the appearance and behavior of the debug views, set preferences
+ in \uicontrol Edit > \uicontrol Preferences > \uicontrol Debugger >
+ \uicontrol General.
+
+ \image qtcreator-debugger-general-options.png {General tab in Debugger preferences}
+
+ For example, you can:
\list
+ \li Use alternating row colors in debug views.
+ \li Adopt font size changes from the main editor.
+ \li Show tooltips in the main editor while you are debugging.
+ \li Close temporary source and memory views and switch to the previously
+ used \QC mode when the debugger exits.
+ \li Bring \QC to the foreground when the debugged application is
+ interrupted.
+ \endlist
- \li Retrieves data representing the call stack at the program's current
- position.
+ For more information, see \l{Debugger Preferences}.
+*/
- \li Retrieves the contents of local variables.
+/*!
+ \page creator-debugger-stopping.html
+ \previouspage creator-disassembler-view.html
+ \nextpage creator-debugger-examining-data.html
- \li Examines \uicontrol Expressions.
+ \title Stopping Applications
- \li Updates the \uicontrol Registers, \uicontrol Modules, and
- \uicontrol Disassembler views if you are debugging the C++ based
- applications.
+ Once the application starts running under the control of the debugger, it
+ behaves and performs as usual.
+
+ To interrupt a running C++ application, select \uicontrol Debug >
+ \uicontrol Interrupt. The debugger automatically interrupts
+ the application when it hits a \l {Setting Breakpoints}{breakpoint}.
+
+ Once the application stops, \QC:
+
+ \list
+
+ \li Retrieves data representing the \l{Viewing Call Stack Trace}
+ {call stack} at the application's current position.
+
+ \li Retrieves the contents of \l{Local Variables and Function Parameters}
+ {local variables}.
+
+ \li Examines \l{Evaluating Expressions}{expressions}.
+
+ \li Updates the \l{Viewing and Editing Register State}{Registers},
+ \l{Viewing Modules}{Modules}, and \l{Viewing Disassembled Code}
+ {Disassembler} views if you are debugging C++ based applications.
\endlist
+ You can \l{Examining Data}{Examine} and change variables, set or remove
+ breakpoints, and then continue running the application.
+*/
+
+/*!
+ \page creator-debugger-examining-data.html
+ \previouspage creator-debugger-stopping.html
+ \nextpage creator-remote-debugging.html
- You can use the \uicontrol Debug mode views to examine the data in more detail.
+ \title Examining Data
+
+ Use the \l{Local Variables and Function Parameters}{Locals} and
+ \l{Evaluating Expressions}{Expressions} views to examine the data
+ in more detail.
You can use the following keyboard shortcuts:
@@ -609,9 +759,9 @@
\li To leave the current function or subfunction, press \key {Shift+F11}
(\key {Command+Shift+T} on \macos).
- \li To continue running the program, press \key F5.
+ \li To continue running the application, press \key F5.
- \li To run to the line containing the cursor, press \key {Ctrl+F10}
+ \li To run to the line that has the cursor, press \key {Ctrl+F10}
(\key {Shift+F8} on \macos).
\li To run to the selected function when you are stepping into a nested
@@ -619,57 +769,52 @@
\endlist
- It is also possible to continue executing the program until the current
+ You can continue executing the application until the current
function completes or jump to an arbitrary position in the current function.
- \section2 Stepping Into Code
+ \section1 Stepping Into Code
+
+ Use the following buttons to step through the code:
+
+ \table
+ \header
+ \li Button
+ \li Function
+ \li Description
+ \row
+ \li \inlineimage icons/qtcreator-debug-button-stop.png
+ \li \uicontrol {Stop Debugger}
+ \li Stops the debugger.
+ \row
+ \li \inlineimage icons/debugger_stepover_small.png
+ \li \uicontrol {Step Over}
+ \li Steps over the next line inside the function being debugged. It
+ executes the call and moves to the next line to be executed in
+ the function.
+ \row
+ \li \inlineimage icons/debugger_stepinto_small.png
+ \li \uicontrol {Step Into}
+ \li Steps into the line that it is currently on. For a function call,
+ goes into the function and is ready to continue.
+ \row
+ \li \inlineimage icons/debugger_stepout_small.png
+ \li \uicontrol {Step Out}
+ \li Finishes executing the function and exits to the function that
+ it was called from.
+ \row
+ \li \inlineimage icons/qtcreator-debugging-continue.png
+ \li \uicontrol {Continue}
+ \li Resumes application execution at the address where it last
+ stopped.
+ \endtable
When using GDB as the debugging backend, you can compress several steps
into one step for less noisy debugging. For more information, see
\l{Specifying GDB Settings}.
- The extended GDB settings provide the option to step backwards in code,
+ The extended GDB settings have the option to step backwards in code,
but this option should be used with care, as it is slow and unstable on the
- GDB side. For more information, see \l{Specifying Extended GDB Settings}.
-
- \section2 Customizing Debug Views
-
- You can change the appearance and behavior of the debug views by specifying
- settings in \uicontrol Preferences > \uicontrol Debugger. For example, you can:
-
- \list
- \li Use alternating row colors in debug views.
- \li Adopt font size changes from the main editor.
- \li Have tooltips displayed in the main editor while you are debugging.
- \li Close temporary source and memory views and switch to the previously
- used \QC mode when the debugger exits.
- \li Bring \QC to the foreground when the debugged application is
- interrupted.
- \endlist
-
- For more information, see \l{Specifying Debugger Settings}.
-
- \include creator-debugger-common.qdocinc debugger-breakpoints
- \include creator-debugger-common.qdocinc debugger-call-stack-trace
- \include creator-debugger-common.qdocinc debugger-locals
- \include creator-debugger-common.qdocinc debugger-expressions
- \include creator-debugger-common.qdocinc debugger-expressions-cpp
- \include creator-debugger-common.qdocinc debugger-qt-basic-objects
-
- \section1 Directly Interacting with Native Debuggers
-
- In some cases, it is convenient to directly interact with the command line
- of the native debugger. In \QC, you can use the left pane of the
- \uicontrol {Debugger Log} view for that purpose. When you press
- \key {Ctrl+Enter}, the contents of the line under the text cursor are sent
- directly to the native debugger. Alternatively, you can use the line edit at
- the bottom of the view. Output is displayed in the right pane of the
- \uicontrol {Debugger Log} view.
-
- \note Usually, you do not need this feature because \QC provides you
- with better ways to handle the task. For example, instead of using the GDB
- \c print command from the command line, you can evaluate an expression in
- the \uicontrol {Expressions} view.
+ GDB side. For more information, see \l{Specifying GDB Settings}.
\section1 Debugging C++ Based Applications
@@ -701,130 +846,228 @@
\section2 Stepping into Frameworks in \macos
In \macos, external libraries are usually built into so-called Frameworks,
- which may contain both release and debug versions of the library. When you
+ which may have both release and debug versions of the library. When you
run applications on the \macos desktop, the release version of Frameworks is
used by default. To step into Frameworks, select the
\uicontrol {Use debug versions of Frameworks} option in the project run
settings.
- \section2 Viewing Threads
+ \omit
+ \section2 Creating Snapshots
+
+ A snapshot has the complete state of the debugged application at a time,
+ including the full memory contents.
+
+ To create snapshots of a debugged application, select \uicontrol {Create Snapshot}
+ in the context menu in the \uicontrol {Debugger Perspectives} view.
+
+ Double-click on entries in the \uicontrol {Debugger Perspectives} view to
+ switch between snapshots. The debug mode views are updated to reflect the state
+ of the application at time of taking the snapshot.
+
+ \note Creating snapshots involves creating core files of the debugged process,
+ requiring significant amount of disk space. For details, see
+ \l{https://sourceware.org/gdb/onlinedocs/gdb/Core-File-Generation.html}.
+
+ \endomit
+*/
+
+/*!
+ \page creator-threads-view.html
+ \previouspage creator-breakpoints-view.html
+ \nextpage creator-modules-view.html
+
+ \title Viewing Threads
+
+ An application can have more than one thread of execution that share one
+ address space, which means that they can examine and change the same
+ variables. However, each thread has its own registers, execution stack,
+ and possibly private memory.
- If a multi-threaded program is interrupted, the \uicontrol Threads view or
- the combobox named \uicontrol Threads in the debugger status bar can be used
- to switch from one thread to another. The \uicontrol Stack view adjusts
- itself accordingly.
+ When a multi-threaded application is interrupted, you can view the threads
+ currently active in the application and switch between them in the
+ \uicontrol Threads view (1):
- \section2 Viewing Modules
+ \image qtcreator-debugger-threads.webp {Threads view}
+
+ You can also select a thread in the \uicontrol Threads field (2) on the
+ debugger toolbar.
+
+ This allows you to select the thread that is in the focus of the debugger.
+
+ The \l {Viewing Call Stack Trace}{Stack} view adjusts its contents
+ accordingly.
+*/
+
+/*!
+ \page creator-modules-view.html
+ \previouspage creator-threads-view.html
+ \nextpage creator-source-files-view.html
+
+ \title Viewing Modules
The \uicontrol Modules view displays information that the debugger plugin
- has about modules included in the application that is being debugged. A
- module is a dynamic link library (\c {.dll}) in Windows, a shared object
- (\c {.so}) in Linux, and a dynamic shared library (\c {.dylib}) in \macos.
+ has about modules included in the application that is being debugged.
+
+ A module is:
+
+ \list
+ \li A dynamic link library (\c {.dll}) in Windows
+ \li A shared object (\c {.so}) in Linux
+ \li A dynamic shared library (\c {.dylib}) in \macos
+ \endlist
+
+ \image qtcreator-debugger-modules.webp {Modules view}
In addition, the view displays symbols within the modules and indicates
- where each module was loaded.
+ where each module was loaded. Right-click column headers to show and
+ hide columns in the view.
- Right-click the view to open a context menu that contains menu items for:
+ Right-click the view to select the following actions:
\list
- \li Updating the module list
+ \li Update the module list
+
+ \li Show source files for a module
+
+ \li Show dependencies between modules (Windows only)
- \li Loading symbols for modules
+ \li Load symbols for modules
- \li Examining modules
+ \li Examine modules
- \li Editing module files
+ \li Edit module files
- \li Showing symbols in modules
+ \li Show symbols in modules
- \li Showing dependencies between modules (Windows only)
+ \li Show sections in modules
+
+ \li Set \l{Debugger Preferences}{debugger preferences}
\endlist
- By default, the \uicontrol Modules view is hidden.
+ By default, the \uicontrol Modules view is hidden. To show it, select it in
+ \uicontrol Views on the debugger toolbar.
+
+ \section1 Breaking on Loading Modules in CDB
When using CDB as debug backend, you can specify that the debugger should
break when application modules are loaded or unloaded. To enable breaking
for the specified modules, select \uicontrol Edit > \uicontrol Preferences >
- \uicontrol Debugger > \uicontrol CDB. For more information, see
- \l{Specifying CDB Settings}.
+ \uicontrol Debugger > \uicontrol CDB.
+
+ \image qtcreator-cdb-options.png {CDB tab in Debugger preferences}
+
+ For more information, see \l{Specifying CDB Settings}.
+*/
+
+/*!
+ \page creator-source-files-view.html
+ \previouspage creator-modules-view.html
+ \nextpage creator-locals-view.html
- \section2 Viewing Source Files
+ \title Viewing Source Files
The \uicontrol {Source Files} view lists all the source files included in
the project. If you cannot step into an instruction, you can check whether
the source file is actually part of the project, or whether it was compiled
elsewhere. The view shows the path to each file in the file system.
- Right-click the view to open a context menu that contains menu items for
- reloading data and opening files.
+ \image qtcreator-debugger-source-files.webp {Source Files view}
- To enable the debugger to step into the code and display the source code
- when using a copy of the source tree at a location different from the one
- at which the libraries were built, you can map source paths to target
- paths. For more information, see \l{Mapping Source Paths}.
+ Right-click the view to select the following actions:
- By default, the \uicontrol {Source Files} view is hidden.
+ \list
+ \li Reload data
+ \li Open the selected file
+ \li Set \l{Debugger Preferences}{debugger preferences}
+ \endlist
- \section2 Viewing Disassembled Code
+ By default, the \uicontrol {Source Files} view is hidden. To show it, select
+ it in \uicontrol Views on the debugger toolbar.
- The \uicontrol Disassembler view displays disassembled code for the current
- function.
+ \section1 External Sources
- The \uicontrol Disassembler view is useful for low-level commands for checking
- single instructions, such as \uicontrol {Step Into} and \uicontrol {Step Over}.
- By default, the \uicontrol Disassembler view is hidden.
+ To enable the debugger to step into the code and display the source code
+ when using a copy of the source tree at a location different from the one
+ at which the libraries were built, you can map source paths to target
+ paths in \uicontrol Edit > \uicontrol Preferences > \uicontrol Debugger >
+ \uicontrol General:
- To access the \uicontrol Disassembler view, check
- \uicontrol Debug > \uicontrol {Operate by Instruction} while the debugger is
- running. Alternatively, click the
- \inlineimage icons/debugger_singleinstructionmode.png
- (\uicontrol {Operate by Instruction}) tool button on the debugger tool bar.
+ \image qtcreator-debugger-general-options.png {General tab in Debugger preferences}
- By default, GDB shows AT&T style disassembly. To switch to the Intel style,
- select \uicontrol Edit > \uicontrol Preferences > \uicontrol Debugger >
- \uicontrol GDB > \uicontrol {Use Intel style disassembly}.
+ For more information, see \l{Mapping Source Paths}.
+*/
+
+/*!
+ \page creator-registers-view.html
+ \previouspage creator-expressions-view.html
+ \nextpage creator-debugger-log-view.html
- \section2 Viewing and Editing Register State
+ \title Viewing and Editing Register State
The \uicontrol Registers view displays the current state of the CPU registers.
Depending on the CPU type, there will be different registers available. The
values of registers that recently have changed are highlighted in red and empty
register values as well as leading zeroes are grayed out.
- In addition it is possible to edit the content of registers while the program is
+ In addition it is possible to edit the content of registers while the application is
stopped. This applies to both General-purpose and Special-purpose registers.
Registers can be edited in the standard condensed view or in their particular parts
if the register is displayed expanded.
By default, the \uicontrol Registers view is hidden.
+*/
- \omit
- \section2 Creating Snapshots
+/*!
+ \page creator-debugger-log-view.html
+ \previouspage creator-registers-view.html
+ \nextpage creator-disassembler-view.html
- A snapshot contains the complete state of the debugged program at a time,
- including the full memory contents.
+ \title Directly Interacting with Native Debuggers
- To create snapshots of a debugged program, select \uicontrol {Create Snapshot}
- in the context menu in the \uicontrol {Debugger Perspectives} view.
+ In some cases, it is convenient to directly interact with the command line
+ of the native debugger. In \QC, you can use the left pane of the
+ \uicontrol {Debugger Log} view for that purpose. When you press
+ \key {Ctrl+Enter}, the contents of the line under the text cursor are sent
+ directly to the native debugger. Alternatively, you can use the line edit at
+ the bottom of the view. Output is displayed in the right pane of the
+ \uicontrol {Debugger Log} view.
- Double-click on entries in the \uicontrol {Debugger Perspectives} view to
- switch between snapshots. The debugger views are updated to reflect the state
- of the program at time of taking the snapshot.
+ \note Usually, you do not need this feature because \QC offers better ways to
+ handle the task. For example, instead of using the GDB
+ \c print command from the command line, you can evaluate an expression in
+ the \uicontrol {Expressions} view.
+*/
- \note Creating snapshots involves creating core files of the debugged process,
- requiring significant amount of disk space. For details, see
- \l{https://sourceware.org/gdb/onlinedocs/gdb/Core-File-Generation.html}.
+/*!
+ \page creator-disassembler-view.html
+ \previouspage creator-debugger-log-view.html
+ \nextpage creator-debugger-stopping.html
- \endomit
+ \title Viewing Disassembled Code
- \include creator-debugger-settings.qdocinc debugger-settings
-*/
+ The \uicontrol Disassembler view displays disassembled code for the current
+ function.
+
+ The \uicontrol Disassembler view is useful for low-level commands for checking
+ single instructions, such as \uicontrol {Step Into} and \uicontrol {Step Over}.
+ By default, the \uicontrol Disassembler view is hidden.
+ To access the \uicontrol Disassembler view, check
+ \uicontrol Debug > \uicontrol {Operate by Instruction} while the debugger is
+ running. Alternatively, click the
+ \inlineimage icons/debugger_singleinstructionmode.png
+ (\uicontrol {Operate by Instruction}) tool button on the debugger toolbar.
+
+ By default, GDB shows AT&T style disassembly. To switch to the Intel style,
+ select \uicontrol Edit > \uicontrol Preferences > \uicontrol Debugger >
+ \uicontrol GDB > \uicontrol {Use Intel style disassembly}.
+*/
/*!
- \previouspage creator-debug-mode.html
+ \previouspage creator-debugger-preferences.html
\page creator-debugging-helpers.html
\nextpage creator-debugging-qml.html
@@ -935,7 +1178,7 @@
\QC application package, where it is located in the
\c Contents/resources/debugger folder.
- The \c personaltypes.py file contains one example implementation:
+ The \c personaltypes.py file has one example implementation:
\quotefromfile ../../../share/qtcreator/debugger/personaltypes.py
\skipto qdump__
@@ -998,7 +1241,7 @@
\list
- \li \c d of type \c Dumper, an object containing the current settings and
+ \li \c d of type \c Dumper, an object that has the current settings and
providing facilities to build up an object representing a part of
the \uicontrol Locals and \uicontrol Expressions views.
@@ -1094,9 +1337,9 @@
As the format is not guaranteed to be stable, it is strongly recommended
not to generate the wire format directly, but to use the abstraction
- layer provided by the Python Dumper classes, specifically the \c{Dumper}
+ layer of the Python Dumper classes, specifically the \c{Dumper}
class itself, and the \c{Dumper:Value} and \c{Dumper:Type} abstractions.
- These provide a complete framework to take care of the \c iname and \c addr
+ These offer a complete framework to take care of the \c iname and \c addr
fields, to handle children of simple types, references, pointers, enums, and
known and unknown structs, as well as some convenience functions to handle
common situations.
@@ -1113,7 +1356,7 @@
\section3 Dumper Class
- The \c Dumper class contains generic bookkeeping, low-level, and convenience
+ The \c Dumper class has generic bookkeeping, low-level, and convenience
functions:
\list
@@ -1288,7 +1531,7 @@
built into or shipped alongside the debugged binary, or created on-the-fly
by the debugging helper.
- \QC uses the possibility to provide type information on-the-fly for most Qt
+ \QC offers type information on-the-fly for most Qt
classes, obliterating the need to use \e Debug builds of Qt for the purpose
of object introspection.
@@ -1477,7 +1720,7 @@
inferior stopped because it received a signal from the operating system.
Signal name:? signal meaning: Unknown signal.}
- Some versions of Avira AntiVir Desktop-Products contain known issues in
+ Some versions of Avira AntiVir Desktop-Products have known issues in
various development environments, including \QC. To fix the problem,
Avira instructs you to update to version \c {avipbb.sys 10.0.22.22}. For
more information, see
@@ -1490,7 +1733,7 @@
\section1 Debugger Does Not Hit Breakpoints
- You might have created a release build that does not contain debug
+ You might have created a release build that does not have debug
information. A GNU Compiler Collection (GCC) debug build has the \c {-g}
option on the compiler command line. Check that this option is present in
the \l {Compile Output}. If it is not, adjust your build
@@ -1571,7 +1814,7 @@
\section2 Disabling Incremental Linking
- Incremental linking can affect debugging. If the debugger log contains
+ Incremental linking can affect debugging. If the debugger log has
the \e {Unable to verify checksum of module} message, disable incremental
linking.
diff --git a/doc/qtcreator/src/debugger/qtquick-debugger-example.qdoc b/doc/qtcreator/src/debugger/qtquick-debugger-example.qdoc
index 20c1f96c11..797788897a 100644
--- a/doc/qtcreator/src/debugger/qtquick-debugger-example.qdoc
+++ b/doc/qtcreator/src/debugger/qtquick-debugger-example.qdoc
@@ -10,7 +10,7 @@
/*!
\page creator-qml-debugging-example.html
\if defined(qtdesignstudio)
- \previouspage creator-debugging-qml.html
+ \previouspage creator-expressions-view.html
\nextpage creator-qml-performance-monitor.html
\else
\previouspage creator-debugging-example.html
@@ -41,7 +41,7 @@
\li To look at the code that starts a new game, place a breakpoint in
samegame.qml by clicking between the line number and the window
- border on the line where where the \c startNewGame() function is
+ border on the line where the \c startNewGame() function is
called (1).
\image qtquick-example-setting-breakpoint1.png
diff --git a/doc/qtcreator/src/debugger/qtquick-debugging.qdoc b/doc/qtcreator/src/debugger/qtquick-debugging.qdoc
index 95259d6605..833cbe69c4 100644
--- a/doc/qtcreator/src/debugger/qtquick-debugging.qdoc
+++ b/doc/qtcreator/src/debugger/qtquick-debugging.qdoc
@@ -11,7 +11,7 @@
\page creator-debugging-qml.html
\if defined(qtdesignstudio)
\previouspage studio-debugging.html
- \nextpage creator-qml-debugging-example.html
+ \nextpage creator-stack-view.html
\else
\previouspage creator-debugging-helpers.html
\nextpage creator-debugging-example.html
@@ -158,10 +158,10 @@
\list
- \li \l{Setting Breakpoints}{Setting breakpoints}
-
\li \l{Viewing Call Stack Trace}{Viewing call stack trace}
+ \li \l{Setting Breakpoints}{Setting breakpoints}
+
\li \l{Local Variables and Function Parameters}
{Viewing local variables and function parameters}
@@ -169,13 +169,6 @@
\endlist
- \if defined(qtdesignstudio)
- \include creator-debugger-common.qdocinc debugger-breakpoints
- \include creator-debugger-common.qdocinc debugger-call-stack-trace
- \include creator-debugger-common.qdocinc debugger-locals
- \include creator-debugger-common.qdocinc debugger-expressions
- \endif
-
\section1 Inspecting Items
While the application is running, you can use the \uicontrol {Locals}
diff --git a/doc/qtcreator/src/docker/creator-docker.qdoc b/doc/qtcreator/src/docker/creator-docker.qdoc
index d0123a2cdd..67604dae44 100644
--- a/doc/qtcreator/src/docker/creator-docker.qdoc
+++ b/doc/qtcreator/src/docker/creator-docker.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2022 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -25,11 +25,9 @@
{debuggers} and \l{Adding Qt Versions}{Qt versions}, in the Docker container
and creates kits for the devices.
- You can use images that are available locally. You can pull
- images from Docker hub or other registries using the
+ To pull images from Docker hub or other registries, use the
\l{https://docs.docker.com/engine/reference/commandline/pull/}{docker pull}
- command. To check that an image is available locally, run the
- \c {docker images} command in a terminal.
+ command.
\section1 Enabling Docker Plugin
@@ -54,22 +52,46 @@
\uicontrol {Docker Device} > \uicontrol {Start Wizard}
to search for images in your local Docker installation.
\li Select the Docker image to use, and then select \uicontrol OK.
- \li In \uicontrol Devices, check and modify Docker device preferences.
- \image qtcreator-preferences-devices-docker-device.webp "Docker device preferences"
- \li Select \uicontrol {Run as outside user} to use the user ID
- and group ID of the user running \QC in the Docker container.
- \li Select \uicontrol {Do not modify entry point} to stop \QC from
- modifying the entry point of the image if the image starts into
- a shell.
- \li In \uicontrol {Paths to mount}, specify host directories to
- mount into the container, such as the project directory.
- \li In \uicontrol {Search locations}, select where to search
- for kit items.
- \li Select \uicontrol {Auto-detect Kit Items} to find kit items and to
- create kits for the Docker device.
+ \li In \uicontrol Devices, check and change Docker device preferences.
+ \image qtcreator-preferences-devices-docker-device.png "Docker device preferences"
\li Select \uicontrol Apply to save your changes.
\endlist
+ The following table summarizes the options you can set.
+
+ \table
+ \header
+ \li Option
+ \li Value
+ \row
+ \li \uicontrol {Run as outside user}
+ \li On Linux and \macos, sets the user ID and group ID of the user
+ running \QC in the Docker container. This option is not available
+ on Windows.
+ \row
+ \li \uicontrol {Do not modify entry point}
+ \li Stops \QC from modifying the \l {Modifying Entry Points}{entry point}
+ of the image. Make sure that the entry point starts a shell.
+ \row
+ \li \uicontrol {Enable flags needed for LLDB}
+ \li Adds the following flags to the container to allow LLDB to run:
+ \badcode
+ --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
+ \endcode
+ \row
+ \li \uicontrol {Clangd executable}
+ \li The path to a remote Clangd executable to use for a remote code
+ model.
+ \row
+ \li \uicontrol {Paths to mount}
+ \li Host directories to \l{Specifying Paths to Mount}{mount} into the
+ container, such as the project directory.
+ \row
+ \li \uicontrol {Search locations}
+ \li Where to \l{Auto-detecting Kit Items}{automatically detect} kit
+ items.
+ \endtable
+
The following sections describe the Docker device preferences in more detail.
\section2 Selecting Docker Images
diff --git a/doc/qtcreator/src/editors/creator-clangformat.qdocinc b/doc/qtcreator/src/editors/creator-clangformat.qdocinc
deleted file mode 100644
index 6674a615fd..0000000000
--- a/doc/qtcreator/src/editors/creator-clangformat.qdocinc
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright (C) 2022 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
-
-/*!
-//! [clang format]
-
- \section2 Automatic Formatting and Indentation
-
- The Clang Format plugin uses the
- \l{https://clang.llvm.org/docs/LibFormat.html}{LibFormat}
- library for automatic formatting and indentation.
-
- To enable the plugin, select \uicontrol Help > \uicontrol {About Plugins} >
- \uicontrol {C++} > \uicontrol {ClangFormat}. Then select
- \uicontrol {Restart Now} to restart \QC and load the plugin.
-
- \note If you enable Clang Format, do not use the \l{Beautifying Source Code}
- {Beautifier} because combining them can provide unexpected results.
-
- You can use Clang Format to enforce a coding style for a project or the
- whole organization. Create a \c {.clang-format} file that contains the
- \l{https://clang.llvm.org/docs/ClangFormatStyleOptions.html}
- {Clang Format Style Options} to use and save it in the root folder of the
- project or one of its parent folders. The plugin searches for the Clang
- format file recursively from the directory that contains the source file
- up to the file system root.
-
- To override the \c {.clang-format} file globally for all projects, select
- \uicontrol Edit > \uicontrol Preferences > \uicontrol {C++} > \uicontrol Copy >
- \uicontrol Edit > \uicontrol {ClangFormat} >
- \uicontrol {Override Clang Format configuration file}.
-
- \image qtcreator-code-style-clang-format.png "C++ Clang Format preferences"
-
- In \uicontrol {Formatting mode}, select \uicontrol {Indenting Only} to only
- indent code. Select \uicontrol {Full Formatting} to use the \key {Ctrl+I}
- keyboard shortcut to format code instead of indenting. To apply the
- formatting while you type, select \uicontrol {Format while typing}. To apply
- the formatting to the edited code when you save the file, select
- \uicontrol {Format edited code on file save}.
-
- This creates a local configuration file that overrides the one stored in the
- file system.
-
- To override the \c {.clang-format} file for a particular project, create a
- copy of the built-in style and edit its settings by selecting
- \uicontrol Projects > \uicontrol {Project Settings} >
- \uicontrol {Code Style} > \uicontrol Copy > \uicontrol Edit >
- \uicontrol {ClangFormat} >
- \uicontrol {Override Clang Format configuration file}.
-
- You can create \c {.clang-format} files that contain the configuration
- options of a certain predefined style from the command line. For example,
- to create a format file for the LLVM style, enter the following command:
-
- \badcode
- clang-format -style=llvm -dump-config > .clang-format
- \endcode
-
-//! [clang format]
-*/
diff --git a/doc/qtcreator/src/editors/creator-code-completion.qdoc b/doc/qtcreator/src/editors/creator-code-completion.qdoc
index 414e436744..a7a1b17c4a 100644
--- a/doc/qtcreator/src/editors/creator-code-completion.qdoc
+++ b/doc/qtcreator/src/editors/creator-code-completion.qdoc
@@ -9,7 +9,7 @@
\title Completing Code
As you write code, \QC suggests properties, IDs, and code snippets to
- complete the code. It provides a list of suggestions to
+ complete the code. It shows a list of suggestions to
the statement currently under your cursor. Press \key Tab
or \key Enter to accept the selected suggestion and complete the code.
@@ -166,11 +166,11 @@
\image qml-snippet-editor.png
- \QC provides you with built-in snippets in the following categories:
+ \QC has built-in snippets in the following categories:
\list
- \li Text snippets, which can contain any text string. For example, code
+ \li Text snippets, which can have any text string. For example, code
comments
\if defined(qtcreator)
@@ -204,7 +204,7 @@
You can use \l{Using Qt Creator Variables}{predefined variables} in
snippets.
- The snippet editor provides you with:
+ The snippet editor offers:
\list
@@ -271,8 +271,8 @@
\section2 Removing Snippets
- Several similar built-in snippets might be provided for different use cases.
- To make the list of suggestions shorter when you write code, remove the
+ The list of suggestions might show several similar built-in snippets for
+ different use cases. To make it shorter when you write code, remove the
built-in snippets that you do not need. If you need them later, you can
restore them.
diff --git a/doc/qtcreator/src/editors/creator-code-indentation.qdoc b/doc/qtcreator/src/editors/creator-code-indentation.qdoc
index f00ecdc4f1..8e17585634 100644
--- a/doc/qtcreator/src/editors/creator-code-indentation.qdoc
+++ b/doc/qtcreator/src/editors/creator-code-indentation.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2022 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -60,16 +60,16 @@
the \uicontrol {Skip clean whitespace for file types} check box to
exclude the specified file types.
- \image qtcreator-options-text-editor-behavior.png "Text Editor Behavior preferences"
+ \image qtcreator-options-text-editor-behavior.png {Text Editor Behavior preferences}
To visualize whitespace in the editor, select \uicontrol Edit >
\uicontrol Preferences > \uicontrol {Text Editor} > \uicontrol Display >
\uicontrol {Visualize whitespace}. To visualize indentation, select
- \uicontrol {Visualize Indent}. To adjust the color of the visualization,
- change the value of the Visual Whitespace setting of the editor color scheme
+ \uicontrol {Visualize Indent}. To adjust the color of the visualization,
+ change the value of the Visual Whitespace setting of the editor color scheme
in \uicontrol {Font & Colors}.
- \image qtcreator-options-text-editor-display.png "Text Editor Display preferences"
+ \image qtcreator-options-text-editor-display.png {Text Editor Display preferences}
To help you keep line length at a particular number of characters, set the
number of characters in the \uicontrol {Display right margin at column}
@@ -80,24 +80,39 @@
To use a context-specific margin when available, select the
\uicontrol {Use context-specific margin} check box.
\if defined(qtcreator)
- For example, the margin could be set by the \c ColumnLimit option of the
- \l{Specifying Code Style Settings}{Clang Format plugin}.
+ Then, use the ClangFormat \c ColumnLimit option to set the margin, for
+ example.
\section1 Indenting C++ Files
+ \QC uses the Clang \l{https://clang.llvm.org/docs/LibFormat.html}{LibFormat}
+ library to automatically format and indent C++ code. It enforces a coding
+ style for a project or the whole organization.
+
To specify indentation settings for the C++ editor:
\list 1
\li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol {C++}.
+ \image qtcreator-code-style-clang-format-global.webp {Code Style preferences}
+ \li In \uicontrol {Formatting mode}, select \uicontrol {Indenting Only}
+ to only indent code. Select \uicontrol {Full Formatting} to use the
+ \key {Ctrl+I} keyboard shortcut to format code instead of indenting.
+ Select \uicontrol Disable to turn off ClangFormat.
+ \li To apply the formatting while you type, select
+ \uicontrol {Format while typing}.
+ \li To apply the formatting to the edited code when you save the file,
+ select \uicontrol {Format edited code on file save}.
+ \li To change the ClangFormat style globally for all projects,
+ select \uicontrol {Override ClangFormat configuration file}.
\li In the \uicontrol {Current settings} field, select the settings to
modify and click \uicontrol Copy.
- \image qtcreator-options-code-style-cpp.png "C++ Code Style preferences"
\li Give a name to the settings and click \uicontrol OK.
- \li Click \uicontrol Edit to specify code style settings for the project.
- \image qtcreator-code-style-settings-edit-cpp.png "Edit Code Style dialog"
+ \li Click \uicontrol Edit to set
+ \l{https://clang.llvm.org/docs/ClangFormatStyleOptions.html}
+ {ClangFormat Style Options}.
\endlist
- You can specify how to:
+ In the other tabs, you can specify how to:
\list
\li Interpret the \key Tab and \key Backspace key presses.
@@ -111,12 +126,27 @@
\li Name getter functions.
\endlist
- You can use the live preview to see how the preferences change the indentation.
+ Use the live preview to see how the preferences change the indentation.
- To specify different settings for a particular project, select
- \uicontrol Projects > \uicontrol {Code Style}.
+ \section2 Creating Project-Specific ClangFormat Files
+
+ To override the \c {.clang-format} file for a particular project, create a
+ copy of the built-in style and edit its settings by selecting
+ \uicontrol Projects > \uicontrol {Project Settings} >
+ \uicontrol {Code Style} > \uicontrol Copy > \uicontrol Edit >
+ \uicontrol {ClangFormat} >
+ \uicontrol {Override ClangFormat configuration file}.
+
+ \section2 Creating ClangFormat Files from Command Line
+
+ You can create \c {.clang-format} files that have the configuration
+ options of a certain predefined style from the command line. For example,
+ to create a format file for the LLVM style, enter the following command:
+
+ \badcode
+ clang-format -style=llvm -dump-config > .clang-format
+ \endcode
- \include creator-clangformat.qdocinc clang format
\endif
\section1 Indenting QML Files
@@ -128,10 +158,10 @@
\uicontrol {Qt Quick}.
\li In the \uicontrol {Current settings} field, select the settings to
modify and click \uicontrol Copy.
- \image qtcreator-options-code-style-qml.png "QML Code Style preferences"
+ \image qtcreator-options-code-style-qml.png {QML Code Style preferences}
\li Give a name to the settings and click \uicontrol OK.
\li Click \uicontrol Edit to specify code style settings for the project.
- \image qtcreator-code-style-settings-edit-qtquick.png "Edit Code Style dialog"
+ \image qtcreator-code-style-settings-edit-qtquick.png {Edit Code Style dialog}
\endlist
You can specify how to interpret the \key Tab key presses and how to align
@@ -152,10 +182,10 @@
\li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Nim.
\li In the \uicontrol {Current settings} field, select the settings to
modify and click \uicontrol Copy.
- \image qtcreator-options-code-style-nim.png "Nim Code Style preferences"
+ \image qtcreator-options-code-style-nim.png {Nim Code Style preferences}
\li Give a name to the settings and click \uicontrol OK.
\li Click \uicontrol Edit to specify code style settings for the project.
- \image qtcreator-code-style-settings-edit-nim.png "Edit Code Style dialog"
+ \image qtcreator-code-style-settings-edit-nim.png {Edit Code Style dialog}
\endlist
You can specify how to interpret the \key Tab key presses and how to align
@@ -167,11 +197,11 @@
\section1 Indenting Other Text Files
- To specify indentation settings for text files that do not contain C++ or
+ To specify indentation settings for text files that do not have C++ or
QML code (such as Python code files), select \uicontrol Edit >
\uicontrol Preferences > \uicontrol {Text Editor} > \uicontrol Behavior.
- \image qtcreator-indentation.png "Text Editor Behavior preferences"
+ \image qtcreator-indentation.png {Text Editor Behavior preferences}
To specify different settings for a particular project, select
\uicontrol Projects > \uicontrol Editor.
@@ -238,7 +268,7 @@
the cursor is located within leading white space, select \uicontrol {In
Leading White Space}.
- Your highlight definition file can contain definitions for both multi and
+ Your highlight definition file can have definitions for both multi and
single line comments. To apply the single line comment definition when
commenting out a selection, select \uicontrol {Prefer single line comments}.
@@ -251,21 +281,21 @@
You can also indent statements within functions and blocks and declarations
within namespaces.
- \image qtcreator-code-style-content.png "Content preferences"
+ \image qtcreator-code-style-content.png {Content preferences}
\section1 Specifying Settings for Braces
You can indent class, namespace, enum and function declarations and code
blocks.
- \image qtcreator-code-style-braces.png "Braces preferences"
+ \image qtcreator-code-style-braces.png {Braces preferences}
\section1 Specifying Settings for Switch Statements
You can indent case or default statements, or statements or blocks related
to them within switch statements.
- \image qtcreator-code-style-switch.png "Switch preferences"
+ \image qtcreator-code-style-switch.png {Switch preferences}
\section1 Specifying Alignment
@@ -278,7 +308,7 @@
aligned with the following line. Usually, this only affects \c if
statements.
- \image qtcreator-code-style-alignment.png "Alignment preferences"
+ \image qtcreator-code-style-alignment.png {Alignment preferences}
\section1 Binding Pointers and References
@@ -289,6 +319,6 @@
The \c * and \c & characters are automatically bound to identifiers of
pointers to functions and pointers to arrays.
- \image qtcreator-pointers-references.png "Pointers and References preferences"
+ \image qtcreator-pointers-references.png {Pointers and References preferences}
\endif
*/
diff --git a/doc/qtcreator/src/editors/creator-code-syntax.qdoc b/doc/qtcreator/src/editors/creator-code-syntax.qdoc
index f4f57e6488..791bb4fc29 100644
--- a/doc/qtcreator/src/editors/creator-code-syntax.qdoc
+++ b/doc/qtcreator/src/editors/creator-code-syntax.qdoc
@@ -21,19 +21,20 @@
In the following screenshot, \QC annotates an error because a semicolon is
missing at the end of the line:
- \image qtcreator-syntaxerror.png
+ \image qtcreator-syntaxerror.png {Syntax error in the Edit mode}
In the following screenshot, \QC issues a warning because the variable is
not used:
\image qtcreator-semanticerror.png
- In the following screenshot, a Qt class name contains a typo:
+ In the following screenshot, a Qt class name has a typo:
- \image qtcreator-typo-clang.png
+ \image qtcreator-typo-clang.png {Annotation tooltip in the Edit mode}
You can use the icons in the tooltip popup to copy the error or
- warning message to the clipboard or to ignore and hide it. Select
+ warning message to the clipboard, to hide messages of a particular type,
+ or to \l{Configuring clangd}{change the diagnostics settings}. Select
the \uicontrol {Annotation Settings} link to specify the position
of the line annotations.
@@ -46,7 +47,7 @@
In addition to underlining, errors and warnings are marked with icons and
annotated.
\endif
- When writing QML or JavaScript code, the annotations may contain error codes
+ When writing QML or JavaScript code, the annotations may have error codes
listed in \l{JavaScript and QML Error Codes}.
\image qml-syntax-check.png
@@ -728,8 +729,16 @@
To automatically format QML/JS files upon saving, select \uicontrol Edit >
\uicontrol Preferences > \uicontrol {Qt Quick} > \uicontrol {QML/JS Editing} >
\uicontrol {Enable auto format on file save}.
+ To only format files that belong to the current project, select
+ \uicontrol {Restrict to files contained in the current project}.
- \image qtcreator-qml-js-editing.png "QML/JS Editing preferences"
+ To use an external tool, such as \l {qmlformat}, which automatically
+ formats QML files according to QML coding conventions, select
+ \uicontrol {Use custom command instead of built-in formatter}. In
+ the \uicontrol Command field, enter the path to the tool. In the
+ \uicontrol Arguments field, enter options for running the tool.
+
+ \image qtcreator-qml-js-editing.webp {QML/JS Editing preferences}
\if defined(qtcreator)
\section1 Inspecting Preprocessed C++ Code
@@ -745,7 +754,8 @@
\uicontrol {Code Model}, this action also expands all
\c {"#include <foo.h>"} statements to their actual contents.
- \image qtcreator-clang-code-model-options.png "C++ Code Model preferences"
+ \image qtcreator-preferences-code-model.webp {C++ Code Model preferences}
+
\endif
diff --git a/doc/qtcreator/src/editors/creator-coding-edit-mode.qdoc b/doc/qtcreator/src/editors/creator-coding-edit-mode.qdoc
index 10283d1c66..82d3530d2b 100644
--- a/doc/qtcreator/src/editors/creator-coding-edit-mode.qdoc
+++ b/doc/qtcreator/src/editors/creator-coding-edit-mode.qdoc
@@ -28,7 +28,7 @@
open in the editor.
\if defined(qtcreator)
- \image qtcreator-editortoolbar-symbols.png
+ \image qtcreator-editortoolbar-symbols.webp {Edit mode toolbar}
\else
\image studio-edit-mode.png
\endif
@@ -48,7 +48,7 @@
\uicontrol Window > \uicontrol {Go to Last Edit}.
To go to any open file, select it from the \uicontrol {Open files} drop-down
- menu (1). To open a context menu that contains commands for managing open
+ menu (1). To open a context menu that has commands for managing open
files, right-click the file name or icon on the toolbar. In addition to the
commands also available in the \uicontrol File menu, you can copy the path
and name of the current file and the number of the line where the cursor is
@@ -66,8 +66,8 @@
\l{Searching with the Locator}{locator}. Enter the line number and column
number in the locator, separated by a colon (:).
- \note Other convenient ways of navigating in \QC are provided
- by the \l{Browsing Project Contents}{sidebars}.
+ \note You can also use the \l{Browsing Project Contents}{sidebars} to
+ move around in \QC.
\if defined(qtcreator)
\section2 Selecting Parse Context
@@ -116,11 +116,21 @@
\uicontrol {Project Settings} > \uicontrol Editor.
\if defined(qtcreator)
For more information, see \l {Specifying Editor Settings}.
+
+ \section2 Managing Language Servers
+
+ Select the \inlineimage icons/languageclient.png
+ icon on the editor toolbar (7) to view the \l{Using Language Servers}
+ {language server} for the current project. You can restart the language
+ server or select another one in the menu. Also, you can
+ \l{Inspecting Language Clients}{inspect the communication} between \QC
+ and language servers and view server capabilities, as well as
+ \l{Specifying Settings for Language Clients}{set language server preferences}.
\endif
\section1 Editing Selected Lines
- The \uicontrol Edit > \uicontrol Advanced menu contains options for editing
+ The \uicontrol Edit > \uicontrol Advanced menu has options for editing
selected lines of text.
To duplicate the selected lines, select \uicontrol {Duplicate Selection}.
diff --git a/doc/qtcreator/src/editors/creator-coding.qdoc b/doc/qtcreator/src/editors/creator-coding.qdoc
index d08f8dcc93..9a45600f79 100644
--- a/doc/qtcreator/src/editors/creator-coding.qdoc
+++ b/doc/qtcreator/src/editors/creator-coding.qdoc
@@ -70,7 +70,7 @@
\li \l{Using Language Servers}
- The language client provides code completion, highlighting of the
+ The language client offers code completion, highlighting of the
symbol under cursor, and jumping to the symbol definition for other
programming languages besides C++. In addition, it integrates
diagnostics from the language server.
@@ -85,7 +85,7 @@
You can use the model editor to create Universal Modeling Language
(UML) style models with structured and behavioral diagrams that
- provide different views of your system and store them in XML format.
+ show your system in many ways and store them in XML format.
\li \l{Editing State Charts}
diff --git a/doc/qtcreator/src/editors/creator-editors-writing-code.qdoc b/doc/qtcreator/src/editors/creator-editors-writing-code.qdoc
index ef7a2bf5e2..05853ad0d3 100644
--- a/doc/qtcreator/src/editors/creator-editors-writing-code.qdoc
+++ b/doc/qtcreator/src/editors/creator-editors-writing-code.qdoc
@@ -50,7 +50,7 @@
\li \l{Indenting Text or Code}
\QC indents text and code according to rules that you
- specify separately for files that contain C++, QML, or
+ specify separately for files that have C++, QML, or
Nim (experimental) code and for other text files.
\li \l{Using Qt Quick Toolbars}
@@ -91,8 +91,8 @@
\if defined(qtcreator)
\li \l{Parsing C++ Files with the Clang Code Model}
- The Clang code model provides some of the services previously
- provided by the built-in C/C++ code model, such as code
+ 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
diff --git a/doc/qtcreator/src/editors/creator-finding.qdoc b/doc/qtcreator/src/editors/creator-finding.qdoc
index af07b0e2e8..71bdd34008 100644
--- a/doc/qtcreator/src/editors/creator-finding.qdoc
+++ b/doc/qtcreator/src/editors/creator-finding.qdoc
@@ -33,7 +33,7 @@
\li \l{Searching with the Locator}
- The locator provides one of the easiest ways in \QC to browse
+ Use the locator to browse
through projects, files, classes, functions, documentation and
file systems.
diff --git a/doc/qtcreator/src/editors/creator-locator.qdoc b/doc/qtcreator/src/editors/creator-locator.qdoc
index c375a31d40..232b558727 100644
--- a/doc/qtcreator/src/editors/creator-locator.qdoc
+++ b/doc/qtcreator/src/editors/creator-locator.qdoc
@@ -8,6 +8,9 @@
\title Searching with the Locator
+ The locator is the fastest way to find a particular project, file, class, or
+ function, or almost anything else in your project.
+
By default, you can find the locator in the bottom left of the \QC window.
To open it as a centered popup, click \inlineimage icons/magnifier.png
(\uicontrol Options) in it and select \uicontrol {Open as Centered Popup}.
@@ -84,7 +87,10 @@
\li Locating any open document (\c {o})
- \li Locating files anywhere on your file system (\c {f})
+ \li Locating files anywhere on your file system (\c {f}). You can use
+ environment variables in the \c {f} filter. For example, use
+ \c {f $ENVVAR} to expand the environment variable \c ENVVAR on Unix
+ systems and \c {f %ENVVAR%} to expand it on Windows systems.
\li Locating files belonging to your project (\c {p}), such as source,
header, resource, and \c {.ui} files, or to any project (\c {a})
@@ -343,7 +349,7 @@
\section1 Executing JavaScript
- The locator provides access to a JavaScript interpreter, that can be used to
+ The locator has a JavaScript interpreter that you can use to
perform calculations.
Beside simple mathematical operations, like ((1 + 2) * 3), the following
diff --git a/doc/qtcreator/src/editors/creator-only/creator-beautifier.qdoc b/doc/qtcreator/src/editors/creator-only/creator-beautifier.qdoc
index bdf837a8e1..8d31091737 100644
--- a/doc/qtcreator/src/editors/creator-only/creator-beautifier.qdoc
+++ b/doc/qtcreator/src/editors/creator-only/creator-beautifier.qdoc
@@ -51,6 +51,12 @@
\li Select \uicontrol Help > \uicontrol {About Plugins} > \uicontrol {C++} >
\uicontrol Beautifier to enable the plugin.
+ \note Since \QC 10.0.0, the ClangFormat plugin is enabled by
+ default. Select \uicontrol Edit > \uicontrol Preferences >
+ \uicontrol {C++} > \uicontrol {Formatting mode} > \uicontrol Disable
+ to turn off ClangFormat if you enable Beautifier because combining
+ them can lead to unexpected results.
+
\li Select \uicontrol {Restart Now} to restart \QC and load the plugin.
\li Select \uicontrol Edit > \uicontrol Preferences >
@@ -75,7 +81,7 @@
project} check box to only beautify files that belong to the
current project.
- \li Select \uicontrol {Artistic Style}, \uicontrol {Clang Format}, or
+ \li Select \uicontrol {Artistic Style}, \uicontrol {ClangFormat}, or
\uicontrol Uncrustify to specify settings for the tool you want to
use.
@@ -83,7 +89,7 @@
\li In the \uicontrol Configuration group, specify the path to
the tool executable in the \uicontrol {Artistic Style command},
- \uicontrol {Clang Format command}, or
+ \uicontrol {ClangFormat command}, or
\uicontrol {Uncrustify command} field.
\li In the \uicontrol {Restrict to MIME types} field, define the MIME
@@ -113,12 +119,12 @@
use the specified file in the user's home directory as the
configuration file for the selected tool.
- \li For Clang Format, you can use a predefined style, by
+ \li For ClangFormat, you can use a predefined style, by
selecting the \uicontrol {Use predefined style} radio
button, and then selecting the style to use from the list of
available styles.
- \image qtcreator-beautifier-options-clangformat.png "Clang Format Beautifier preferences"
+ \image qtcreator-beautifier-options-clangformat.png "ClangFormat Beautifier preferences"
Select \uicontrol File to load the style configuration from
the \c .clang-format or \c _clang-format file located in the
@@ -134,7 +140,7 @@
then \uicontrol Add to define your own style.
Define code formatting in the
- \uicontrol {Add Configuration} dialog. It provides syntax
+ \uicontrol {Add Configuration} dialog. It offers syntax
highlighting, auto-completion, and context-sensitive help.
For these features, you must have the tool installed.
@@ -152,14 +158,13 @@
\endlist
- In addition,
- ClangFormat provides the \uicontrol {Format at Cursor} command. If you
+ In addition, ClangFormat has the \uicontrol {Format at Cursor} command. If you
select it when no text is selected, the syntactic entity under the cursor
is formatted. The \uicontrol {Disable Formatting for Selected Text} command
wraps selected lines within \c {// clang-format off} and
\c {// clang-format on}.
- Uncrustify provides the \uicontrol {Format Selected Text} command. If you
+ Uncrustify has the \uicontrol {Format Selected Text} command. If you
select it when no text is selected, the whole file is formatted by default.
To disable this behavior, deselect the
\uicontrol {Format entire file if no text was selected} check box.
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 d01eb5455e..45ca806092 100644
--- a/doc/qtcreator/src/editors/creator-only/creator-clang-codemodel.qdoc
+++ b/doc/qtcreator/src/editors/creator-only/creator-clang-codemodel.qdoc
@@ -16,7 +16,7 @@
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
- to provide the following services:
+ to offer the following services:
\list
@@ -42,17 +42,17 @@
\endlist
- \QC comes with a plugin that provides some of these services
+ The Clang code model plugin offers some of these services
for C++ on top of \l{https://clangd.llvm.org/}{Clangd}.
\section1 About the Clang Code Model
- The Clang project provides libraries for parsing
+ The Clang project has libraries for parsing
C language family source files. The feedback you get through warning and
error markers is the same as a compiler will give you, not an incomplete
set or a close approximation, as when using the built-in \QC code model.
Clang focuses on detailed information for diagnostics, which is really
- useful if the code contains typos, for example.
+ useful if the code has 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.
@@ -67,9 +67,8 @@
include several files, processing a single file and all the included files
can take a while.
- The Clang code model plugin now provides some of the services that were
- previously provided by the built-in C/C++ code model. Currently, the
- following services are implemented:
+ The Clang code model plugin now offers some of the same services as the
+ built-in C/C++ code model:
\list
@@ -87,7 +86,7 @@
To use the built-in code model instead, select \uicontrol Edit > \uicontrol 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
- services generally enabled, but switch them off for for certain projects, or vice versa.
+ services generally enabled, but switch them off for certain projects, or vice versa.
You can configure Clang diagnostics either globally or separately for:
@@ -105,7 +104,7 @@
\li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol C++ >
\uicontrol {Code Model}.
- \image qtcreator-clang-code-model-options.png "C++ Code Model preferences"
+ \image qtcreator-preferences-code-model.webp {C++ Code Model preferences}
\li To instruct the code model to interpret ambiguous header files as C
language files if you develop mainly using C, select the
@@ -128,6 +127,10 @@
edit the value for the \uicontrol {Do not index files greater than}
check box. To index all files, deselect the check box.
+ \li To ignore files that match wildcard patterns, select the
+ \uicontrol {Ignore files} check box and enter each wildcard pattern
+ on a separate line in the field.
+
\endlist
\section1 Configuring clangd
@@ -140,8 +143,14 @@
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{Managing Sessions}{sessions} that contain related projects, you can
+ \l{Managing Sessions}{sessions} that have related projects, you can
specify that the projects in the session should be managed by a single
clangd process.
diff --git a/doc/qtcreator/src/editors/creator-only/creator-compilation-database.qdocinc b/doc/qtcreator/src/editors/creator-only/creator-compilation-database.qdocinc
index eaf1b893cb..8b77960736 100644
--- a/doc/qtcreator/src/editors/creator-only/creator-compilation-database.qdocinc
+++ b/doc/qtcreator/src/editors/creator-only/creator-compilation-database.qdocinc
@@ -23,7 +23,7 @@
You can use the experimental Compilation Database Project Manager to open
the files in a compilation database with access to all the editing features
- provided by the Clang code model.
+ of the Clang code model.
To switch between header and source files, select \uicontrol Tools >
\uicontrol C++ > \uicontrol {Switch Header/Source}.
diff --git a/doc/qtcreator/src/editors/creator-only/creator-fakevim.qdoc b/doc/qtcreator/src/editors/creator-only/creator-fakevim.qdoc
index 8331767553..e6f910b22a 100644
--- a/doc/qtcreator/src/editors/creator-only/creator-fakevim.qdoc
+++ b/doc/qtcreator/src/editors/creator-only/creator-fakevim.qdoc
@@ -70,7 +70,7 @@
\list
\li \c :map, \c :unmap, \c :inoremap, and so on
- \li \c :source provides very basic line-by-line sourcing of vimrc files
+ \li \c :source sources vimrc files line-by-line
\li \c :substitute substitutes an expression in a range
\li \c :'<,'>!cmd filters through an external command (for example,
sorts the lines in a file with \c :%!sort)
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 fed160bf76..248569aa78 100644
--- a/doc/qtcreator/src/editors/creator-only/creator-language-server.qdoc
+++ b/doc/qtcreator/src/editors/creator-only/creator-language-server.qdoc
@@ -8,11 +8,11 @@
\title Using Language Servers
- For several programming languages, a \e {language server} is available
- that provides information about the code to IDEs as long as they support
+ For several programming languages, a \e {language server} offers
+ information about the code to IDEs as long as they support
communication via the \l{Language Server Protocol}
{language server protocol (LSP)}. This enables the
- IDE to provide the following services:
+ IDE to offer the following services:
\list
\li \l{Completing Code}{Code completion}
@@ -32,6 +32,8 @@
\l{Viewing Defined Types and Symbols}{Outline} view or
in the \uicontrol Symbols list on the \l{Using the Editor Toolbar}
{editor toolbar}
+ \li \l{Viewing Call Hierarchy}
+ {Viewing the callers and callees of a function}
\li \l{Finding Symbols}{Finding references to symbols}
\li \l{Renaming Symbols}{Renaming the symbol under cursor}
\li Code actions
@@ -120,7 +122,9 @@
name. For more information, see \l{Using Qt Creator Variables}.
\li In the \uicontrol Java field, enter the path to the Java executable.
\li In the \uicontrol {Java Language Server} field, enter the path to
- the Java language server \c .jar file.
+ the Java language server \c .jar file. You can download the Java
+ language server from \l{https://download.eclipse.org/jdtls/milestones/}
+ {Eclipse Downloads}.
\endlist
\section2 Python Language Server
@@ -145,14 +149,14 @@
\section2 QML Language Server
- Qt 6.4 ships with the \c qmlls language server that provides completion and
- warnings for QML. To set it up as a \l {Generic StdIO Language Server},
- select \c {text/x-qml} and \c {application/x-qt.ui+qml} as MIME types, and
- \c {<Qt Installation>/bin/qmlls} as executable.
+ Since Qt 6.4, the \c qmlls language server offers code completion and
+ issues warnings for QML. To enable QML language server support, select
+ \uicontrol Edit > \uicontrol Preferences > \uicontrol {Qt Quick} >
+ \uicontrol {QML/JS Editing} > \uicontrol {Use qmlls (EXPERIMENTAL!)}.
+ To use the latest version of the language server installed on your
+ system, select the \uicontrol {Always use latest qmlls} check box.
- If the language server is used together with the \c QmlJSEditor plugin,
- duplicate suggestions and warnings might be shown. To avoid this, disable
- the editor plugin as described in \l {Enabling and Disabling Plugins}.
+ \image qtcreator-qml-js-editing.webp {QML/JS Editing preferences}
\section1 Supported Locator Filters
@@ -170,7 +174,7 @@
\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
+ responses that have 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 Clients}.
@@ -182,6 +186,10 @@
determines when the server is started. The information displayed depends on
the language server.
+ Select the \inlineimage icons/languageclient.png
+ button on the \l{Managing Language Servers}{editor toolbar}, and then select
+ \uicontrol {Restart} to restart language servers.
+
\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
diff --git a/doc/qtcreator/src/editors/creator-only/creator-mime-types.qdoc b/doc/qtcreator/src/editors/creator-only/creator-mime-types.qdoc
index b2532c6e03..7436a9c32a 100644
--- a/doc/qtcreator/src/editors/creator-only/creator-mime-types.qdoc
+++ b/doc/qtcreator/src/editors/creator-only/creator-mime-types.qdoc
@@ -26,7 +26,7 @@
matches the patterns specified for any MIME type. If no match is found, it
checks the contents of the file for magic headers specified for the file.
- The magic headers can contain the following types of values: string, host,
+ The magic headers can have the following types of values: string, host,
big-endian, little-endian, and byte. \QC interprets the values according to
the
\l{http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html}
@@ -92,7 +92,7 @@
delete the pattern \c {*.dts} from the MIME type \c {audio/vnd.dts} (where
it represents the digital surround audio file format), and add it to the
\c {text/plain} MIME type. You can use the \uicontrol Filter field to find
- the MIME type that currently contains a filename extension.
+ the MIME type that currently has a filename extension.
To revert the changes you have made to the MIME type definitions,
select \uicontrol {Reset MIME Types}. To revert the changes you have
diff --git a/doc/qtcreator/src/editors/creator-only/creator-modeling.qdoc b/doc/qtcreator/src/editors/creator-only/creator-modeling.qdoc
index 181a4e1e0d..a5a48c8c7b 100644
--- a/doc/qtcreator/src/editors/creator-only/creator-modeling.qdoc
+++ b/doc/qtcreator/src/editors/creator-only/creator-modeling.qdoc
@@ -15,10 +15,9 @@
\title Modeling
You can use the model editor to create Universal Modeling Language (UML)
- style models with structured and behavioral diagrams that provide different
- views of your system. However, the editor uses a variant of UML and only a
- subset of properties are provided for specifying the appearance of model
- elements.
+ style models with structured and behavioral diagrams that offer different
+ views to your system. However, the editor uses a variant of UML and has only
+ a subset of properties for specifying the appearance of model elements.
Structural diagrams represent the static aspect of the system and are
therefore stable, whereas behavioral diagrams have both static and dynamic
@@ -31,9 +30,9 @@
and visualize how the system is packaged.
\li Class diagrams, which consists of classes, dependencies,
inheritance, associations, aggregation, and composition, and
- provide an object-oriented view of a system.
+ show a system in an object-oriented way.
\li Component diagrams, which represent a set of components and their
- relationships, and provide an implementation view of a system.
+ relationships, and show the implementation of a system.
\li Deployment diagrams, which represent a set of software and hardware
components and their relationships, and visualize the deployment
of a system.
@@ -52,7 +51,7 @@
\section1 Using the Model Editor
- You can create models that contain several different structural or
+ You can create models that have several different structural or
behavioral diagrams.
You can add elements to the diagrams and specify properties for them. You
can either use standard model elements or add your own elements with custom
@@ -388,7 +387,7 @@
\section1 Adding Custom Elements
- The model editor provides the following built-in element types: package,
+ The model editor has the following built-in element types: package,
component, class, and item. For package, component, and class elements, you
can specify custom icons. The color, size, and form of the icon are
determined by a stereotype. If you attach the stereotype to an element, the
@@ -432,7 +431,7 @@
You can add your own definition file and save it with the file extension
\e .def to add custom colors and icons for stereotypes, elements, or tool
- bars. Either store this file in the the same directory as the
+ bars. Either store this file in the same directory as the
\e standard.def file or select the root element of a model and apply your
\e .def file to the property \uicontrol {Config path}.
diff --git a/doc/qtcreator/src/editors/creator-only/creator-scxml.qdoc b/doc/qtcreator/src/editors/creator-only/creator-scxml.qdoc
index d4aae2879b..fbfbd3df29 100644
--- a/doc/qtcreator/src/editors/creator-only/creator-scxml.qdoc
+++ b/doc/qtcreator/src/editors/creator-only/creator-scxml.qdoc
@@ -14,15 +14,15 @@
\title Editing State Charts
- State charts provide a graphical way of modeling how a system reacts to
- stimuli. This is done by defining the possible \e states that the system can
+ State charts are a graphical way of modeling how a system reacts to
+ stimuli. They define the \e states that the system can
be in, and how the system can move from one state to another (\e transitions
- between states). A key characteristic of event-driven systems (such as Qt
- applications) is that behavior often depends not only on the last or current
- \e event, but also the events that preceded it. With state charts, this
- information is easy to express.
+ between states). The behavior of event-driven systems (such as Qt
+ applications) often depends not only on the last or current
+ \e event, but also on earlier events. With state charts, you
+ can easily share this information.
- \QC provides a project wizard for adding \l{https://www.w3.org/TR/scxml/}
+ \QC has a project wizard for adding \l{https://www.w3.org/TR/scxml/}
{State Chart XML (SCXML)} files with boilerplate code to projects and an
experimental SCXML editor for editing the state charts. You can use the
SCXML editor to add \e states and \e transitions to the files. You can then
@@ -129,7 +129,7 @@
\li \e Initial state is the state the state machine enters when it
starts.
- \li \e {Parallel state} contains child states that execute in parallel
+ \li \e {Parallel state} has child states that execute in parallel
and are all active simultaneously. Events are processed
independently by each child state and may trigger different
transitions for each child.
diff --git a/doc/qtcreator/src/editors/creator-quick-fixes.qdoc b/doc/qtcreator/src/editors/creator-quick-fixes.qdoc
index 0dee251e3a..57bb973bb2 100644
--- a/doc/qtcreator/src/editors/creator-quick-fixes.qdoc
+++ b/doc/qtcreator/src/editors/creator-quick-fixes.qdoc
@@ -25,7 +25,7 @@
In the context menu, select \uicontrol {Refactoring} and then select a
refactoring action.
- You can also press \key {Alt+Enter} to open a context menu that contains
+ You can also press \key {Alt+Enter} to open a context menu that has
refactoring actions available in the current cursor position.
\if defined(qtcreator)
@@ -187,7 +187,7 @@
\li Activation
\row
\li Add Curly Braces
- \li Adds curly braces to an if statement that does not contain a
+ \li Adds curly braces to an if statement that does not have a
compound statement. For example, rewrites
\code
@@ -608,7 +608,7 @@
selection are rewritten.
\li Declarations with pointers or references and selections
- containing such declarations
+ that have such declarations
\row
\li Create Getter and Setter Member Functions
\li Creates either both getter and setter member functions for
diff --git a/doc/qtcreator/src/editors/creator-search.qdoc b/doc/qtcreator/src/editors/creator-search.qdoc
index 741bdf9906..13dc963896 100644
--- a/doc/qtcreator/src/editors/creator-search.qdoc
+++ b/doc/qtcreator/src/editors/creator-search.qdoc
@@ -178,8 +178,7 @@
\image qtcreator-searchresults.png
- A list of files containing the searched text is displayed in
- \l {Search Results}.
+ \l {Search Results} shows a list of files that have the searched text.
\list
diff --git a/doc/qtcreator/src/editors/creator-semantic-highlighting.qdoc b/doc/qtcreator/src/editors/creator-semantic-highlighting.qdoc
index df133e1805..3ef73484ab 100644
--- a/doc/qtcreator/src/editors/creator-semantic-highlighting.qdoc
+++ b/doc/qtcreator/src/editors/creator-semantic-highlighting.qdoc
@@ -28,7 +28,7 @@
\section1 Generic Highlighting
- Generic highlighting is provided by
+ \QC uses
\l{https://api.kde.org/frameworks/syntax-highlighting/html/index.html}
{KSyntaxHighlighting}, which is the syntax highlighting engine for Kate
syntax definitions. \QC comes with most of the commonly used syntax files,
@@ -62,7 +62,7 @@
\image qtcreator-syntax-highlighter.png "Generic Highlighter preferences"
If you have written your own syntax definition files, you
- can provide an additional definition search path in the
+ can add a definition search path in the
\uicontrol {User Highlight Definition Files} field. To
apply the changes you make to the definition files, select
\uicontrol {Reload Definitions}.
diff --git a/doc/qtcreator/src/howto/creator-external-tools.qdoc b/doc/qtcreator/src/howto/creator-external-tools.qdoc
index c8f7da91d6..dee3f838ab 100644
--- a/doc/qtcreator/src/howto/creator-external-tools.qdoc
+++ b/doc/qtcreator/src/howto/creator-external-tools.qdoc
@@ -125,7 +125,7 @@
the tool in the system environment or the \l{Build Environment}
{build environment} or \l {Selecting the Run Environment}
{run environment} of the active project. Select the build or run
- environment if the system environment does not contain the necessary
+ environment if the system environment does not have the necessary
PATH settings to find the tool chain, for example.
\else
\li In the \uicontrol {Base environment} field, use the default settings.
diff --git a/doc/qtcreator/src/howto/creator-help.qdoc b/doc/qtcreator/src/howto/creator-help.qdoc
index b6208c34c6..7bdea9afac 100644
--- a/doc/qtcreator/src/howto/creator-help.qdoc
+++ b/doc/qtcreator/src/howto/creator-help.qdoc
@@ -76,7 +76,7 @@
\section1 Finding Information in Qt Documentation
- \QC, \QSDK and other Qt deliverables contain documentation
+ \QC, \QSDK and other Qt deliverables have documentation
as .qch files. All the documentation is accessible in the \uicontrol Help mode.
By default, \QC registers only the latest available version of the
@@ -135,9 +135,9 @@
In the \uicontrol Search pane, you can use full-text search for finding a
particular word in all the installed documents. Enter the term you are
looking for, and select the \uicontrol Search button. All documents that
- contain the specified term are listed. The list is sorted by document
+ have the specified term are listed. The list is sorted by document
version (if you have installed several Qt versions, for example) and
- the number of search hits that the documents contain. Select a document in
+ the number of search hits that the documents have. Select a document in
the list to open it.
\image qtcreator-help-search.png "Search pane"
@@ -146,16 +146,16 @@
\list
- \li \c deep lists all the documents that contain the word \c deep.
+ \li \c deep lists all the documents that have the word \c deep.
The search is not case sensitive.
- \li \c{deep*} lists all the documents that contain a word beginning
+ \li \c{deep*} lists all the documents that have a word beginning
with \c deep
- \li \c{deep copy} lists all documents that contain both \c deep and
+ \li \c{deep copy} lists all documents that have both \c deep and
\c copy
- \li \c{"deep copy"} lists all documents that contain the phrase
+ \li \c{"deep copy"} lists all documents that have the phrase
\c{deep copy}
\endlist
@@ -169,7 +169,7 @@
\inlineimage icons/reload_gray.png
(\uicontrol {Regenerate Index}).
- Punctuation is not included in indexed terms. To find terms that contain
+ Punctuation is not included in indexed terms. To find terms that have
punctuation, such as domain names, use the asterisk as a wild card. For
example, to find \c {Pastebin.Com}, enter the search term \c {Pastebin*}.
diff --git a/doc/qtcreator/src/howto/creator-keyboard-shortcuts.qdoc b/doc/qtcreator/src/howto/creator-keyboard-shortcuts.qdoc
index cdbd4c21e9..75036e6cd5 100644
--- a/doc/qtcreator/src/howto/creator-keyboard-shortcuts.qdoc
+++ b/doc/qtcreator/src/howto/creator-keyboard-shortcuts.qdoc
@@ -19,7 +19,7 @@
\title Keyboard Shortcuts
- \QC provides various keyboard shortcuts to speed up your development
+ \QC has various keyboard shortcuts that speed up your development
process. You can add more shortcuts if your favorite combination is
missing. In addition, you can specify your own keyboard shortcuts for some
functions that can be easily performed with a mouse, and therefore do not
@@ -97,7 +97,7 @@
\list
\li To import a keyboard shortcut mapping scheme, click \uicontrol Import
- and select the .kms file containing the keyboard shortcut mapping scheme
+ and select the .kms file that has the keyboard shortcut mapping scheme
you want to import.
\li To export the current keyboard shortcut mapping scheme, click
@@ -437,7 +437,9 @@
\li Follow symbol under cursor
Works with namespaces, classes, functions, variables, include
- statements and macros
+ statements, and macros. Also, opens URLs in the default browser
+ and Qt resource files (.qrc) in the \l{Creating Resource Files}
+ {resource editor}
\li F2
\row
\li Rename symbol under cursor
diff --git a/doc/qtcreator/src/howto/creator-only/creator-autotest.qdoc b/doc/qtcreator/src/howto/creator-only/creator-autotest.qdoc
index 336b1d29d3..46b8781c08 100644
--- a/doc/qtcreator/src/howto/creator-only/creator-autotest.qdoc
+++ b/doc/qtcreator/src/howto/creator-only/creator-autotest.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2022 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -9,8 +9,8 @@
\title Running Autotests
\QC supports both \e {code based tests} and \e {build system based tests}.
- Code based testing provides special handling for particular testing
- frameworks that is strongly tied to the underlying code models or
+ Code based testing offers special handling for particular testing
+ frameworks that strongly ties to the underlying code models or
specialized parsers. Build system based testing is independent from any
testing frameworks. It retrieves information directly from the underlying
build system and uses it or even the build system as such to execute the
@@ -20,14 +20,14 @@
applications and libraries:
\list
- \li \l{https://www.boost.org/doc/libs/1_70_0/libs/test/doc/html/index.html}
+ \li \l{https://www.boost.org/doc/libs/1_81_0/libs/test/doc/html/index.html}
{Boost.Test}
\li \l{https://github.com/catchorg/Catch2}{Catch2 test framework}
\li \l{https://github.com/google/googletest}{Google C++ Testing Framework}
\li \l{Qt Test} framework
\endlist
- Additional build system based support is provided for
+ In addition, \QC offers build system based support for
\l{https://cmake.org/cmake/help/latest/manual/ctest.1.html}{CTest}.
You can use \QC to create, build, and run code based tests for your
@@ -37,22 +37,22 @@
\section1 Build System Based Tests
- The handling of build system based tests is disabled by default to avoid
+ By default, \QC does not handle build system based tests to avoid
interference with code based parsers. To enable build system based tests,
select the respective test tool in \uicontrol Preferences > \uicontrol Testing
> \uicontrol General.
The detection of tests is usually much faster for build system based
tests as this normally does not involve scanning or parsing.
- The information provided inside the tests tree is usually more detailed
+ The information in the tests tree is usually more detailed
when using code based tests.
- If you have enabled code based and build system based tests together you
+ If you enable both code based and build system based tests, you
may duplicate tests inside the tests tree. See also \l {Selecting Tests to Run}.
\section1 Creating Tests
- You can use a wizard to create projects that contain tests.
+ Use a wizard to create projects that have tests.
\section2 Creating Qt and Qt Quick Tests
@@ -75,7 +75,7 @@
\li For a Qt test, select the \uicontrol {GUI Application} check
box to create a Qt application.
- \image qtcreator-autotests-project-qt-test.png "Autotest project wizard - Qt Test"
+ \image qtcreator-autotests-project-qt-test.png {Autotest project wizard - Qt Test}
\li In the \uicontrol {Test case name} field, enter a name for
the test case.
@@ -86,15 +86,15 @@
\li For a Qt Quick test, select the
\uicontrol {Generate setup code} check box to execute C++
- code before any of the QML tests are run. The testing
+ code before running any of the QML tests. The testing
framework will call slots and invocable functions, as
described in \l{Executing C++ Before QML Tests}.
- \image qtcreator-autotests-project-qtquick-test.png "Autotest project wizard - Qt Quick Test"
+ \image qtcreator-autotests-project-qtquick-test.png {Autotest project wizard - Qt Quick Test}
\li Select the \uicontrol {Generate initialization and cleanup
- code} checkbox to add functions to your test that are
- executed by the testing framework to initialize and clean
+ code} checkbox to add functions to your test that the
+ testing framework executes to initialize and clean
up the test.
\li In the \uicontrol {Build system} field, select the build
@@ -137,7 +137,7 @@
support C++ 11 features in the test.
\li In the \uicontrol {Google test repository} field, select
- a directory that contains a clone of the googletest
+ a directory that has a clone of the googletest
repository.
To use an installed Google C++ Testing framework instead,
@@ -159,10 +159,10 @@
\section2 Creating Boost Tests
To build and run Boost tests, you must have the Boost.Test installed on the
- development host. Typically, it is installed when you install Boost. You can
+ development host. Typically, the Boost installation includes it. You can
download Boost from \l{https://www.boost.org/}{Boost.org}.
- If Boost libraries can be found by the used compiler and build system, you
+ If the compiler and build system can find the Boost libraries, you
do not need to specify the include directory when creating the test.
To create a Boost test:
@@ -182,29 +182,28 @@
\li In the \uicontrol {Test case name} field, enter a name for
the test case.
\li In the \uicontrol {Boost include dir (optional)} field,
- enter the path to the directory that contains files needed
- by Boost.Test, such as \e version.hpp and a subfolder called
- \e test that contains the test header files.
+ enter the path to the directory that has files needed
+ by Boost.Test, such as \e version.hpp and the \e test
+ subfolder that contains the test header files.
\li In the \uicontrol {Build system} field, select the build
system to use for building the project: qmake, CMake, or
Qbs.
\endlist
\endlist
- \QC creates the test in the specified project directory.
+ \QC creates the test in the project directory.
For more information about creating Boost tests, see
- \l{https://www.boost.org/doc/libs/1_70_0/libs/test/doc/html/index.html}
+ \l{https://www.boost.org/doc/libs/1_81_0/libs/test/doc/html/index.html}
{Boost.Test}.
\section2 Creating Catch2 Tests
- To build and run Catch2 tests, you either must have Catch2 libraries and
- headers installed, or you can use the single include header file provided
- by the Catch2 repository.
+ To build and run Catch2 tests, you can either install Catch2
+ libraries and headers or use the single include header file in the
+ Catch2 repository.
- If the Catch2 headers can be found by the used compiler and build system
- automatically, you do not need to specify the include directory when
- creating the test.
+ If the compiler and build system can find the Catch2 headers automatically,
+ you do not need to specify the include directory when creating the test.
To create a basic Catch2 test:
@@ -219,12 +218,12 @@
\li In the \uicontrol {Test framework} field, select
\uicontrol {Catch2}.
\li In the \uicontrol {Test case name} field, specify a name
- to be used for the test case file.
+ for the test case file.
\li Select the \uicontrol {Use Qt libraries} check box
- to use a self defined main function and set up the project
+ to use a self-defined main function and set up the project
to use Qt features.
\li In the \uicontrol {Catch2 include directory (optional)} field,
- you may enter a path to the directory that contains the
+ you may enter a path to the directory that has the
Catch2 header files.
\li In the \uicontrol {Build system} field, select the build
system to use for building the project: qmake, CMake, or
@@ -232,36 +231,34 @@
\endlist
\endlist
- \QC creates the test in the specified project directory.
+ \QC creates the test in the project directory.
For more information about creating Catch2 tests, see
\l{https://github.com/catchorg/Catch2/blob/master/docs/Readme.md}
{Catch2}.
\section2 Creating CTest Based Tests
- CTest provides capabilities to execute tests for CMake based projects
- and is not limited to a special test framework.
- You simply configure tests inside the project files, usually CMakeLists.txt.
- Basically this is done by enabling testing for the project and registering
- the test applications or even special commands.
+ CTest can execute tests for CMake based projects regardless of the test
+ framework. You configure tests in the project file, usually, CMakeLists.txt.
+ Basically, you enable testing for the project and register the test
+ applications or even special commands.
\code
enable_testing()
add_test(NAME test_example COMMAND test_example)
\endcode
- \c test_example must of course be added as an executable before trying to
- register it as test or it may be any command that can be executed including
- arguments.
+ Add \c test_example as an executable before trying to register it as test.
+ It may be any executable command including arguments.
For detailed information on how to use CTest see
\l{https://gitlab.kitware.com/cmake/community/-/wikis/doc/ctest/Testing-With-CTest}
{Testing with CTest}.
\section1 Setting Up the Google C++ Testing Framework
- To build and run Google tests, you must have the Google C++ Testing
- framework installed and configured on the development host. You can either
- clone it from Git Hub or install it from an installation package.
+ To build and run Google tests, install and configure the Google C++ Testing
+ framework on the development host. You can either clone it from Git Hub or
+ install it from an installation package.
To configure a project to use a cloned Google testing framework, edit the
\c INCLUDEPATH variable in the project file (.pro) to include the source
@@ -275,8 +272,7 @@
\li \c googlemock/include
\endlist
- You also need to add the necessary files to the \c SOURCES variable. For
- example:
+ Also, add the necessary files to the \c SOURCES variable. For example:
\list
\li \c googletest/src/gtest-all.cc
@@ -306,7 +302,7 @@
\list 1
- \li Open a project that contains tests.
+ \li Open a project that has tests.
\li In the \uicontrol Tests view, select the tests to run.
@@ -320,7 +316,7 @@
\li \inlineimage icons/qtcreator-run-failed-tests.png
(\uicontrol {Run Failed Tests}) to re-run the tests which failed
in the last run.
- Depending on the framework this may select additional tests if it
+ Depending on the framework, this may select more tests if it
is impossible to distinguish or to fully address the test.
\li \inlineimage icons/qtcreator-run-tests-in-current-file.png
(\uicontrol {Run Tests for Current File}) to run the tests
@@ -338,7 +334,7 @@
The functions to run tests are also available in the context menu in the
\uicontrol Tests view and in \uicontrol Tools > \uicontrol Tests.
- \note If you have enabled build system based and code based tests,
+ \note If you enable both build system based and code based tests,
you may run tests twice when using \uicontrol {Run All Tests} or
\uicontrol {Run Selected Tests}. This happens if the tests can be
found by the code based test frameworks and are registered as test
@@ -356,8 +352,8 @@
\image qtcreator-tests-view.png
If a Qt Quick test case does not have a name, it is marked
- \uicontrol Unnamed in the list. Unnamed test cases are executed when you
- select \uicontrol {Run All Tests}. You cannot select or deselect them.
+ \uicontrol Unnamed in the list. \uicontrol {Run All Tests} executes
+ unnamed test cases. You cannot select or deselect them.
\QC scans the project for tests when you open the project and updates the
test list for the currently active test frameworks when you edit tests.
@@ -369,8 +365,8 @@
Cleanup Functions} or \uicontrol {Show Data Functions}. Double-click a
function in the list to open its source code in the code editor.
- The test cases are listed in alphabetic, case insensitive order. To list
- them in the order in which they are defined in the source code,
+ The \uicontrol Tests view lists test cases in alphabetic, case insensitive
+ order. To list them in the order in which they appear in the source code,
select \inlineimage icons/leafsort.png
(\uicontrol {Sort Naturally}).
@@ -396,46 +392,52 @@
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Testing} >
\uicontrol General.
- \image qtcreator-autotests-options.png "Testing General preferences"
+ \image qtcreator-preferences-testing-general.webp {General tab in Testing preferences}
You can customize some settings at project level. To change settings
for the current project instead of globally, select \uicontrol Projects >
\uicontrol {Project Settings} > \uicontrol {Testing}.
- In the \uicontrol {Active Test Frameworks} list you can select which tests
- \QC will handle. To improve the performance of full scans for tests, disable
- test frameworks you are not using.
+ In the \uicontrol {Active Test Frameworks} list, select tests for \QC to
+ handle. To improve the performance of full scans for tests, disable
+ test frameworks you do not use.
To group related test cases for an active test framework, select the
\uicontrol Group check box next to the framework name in the
\uicontrol {Active Test Frameworks} list.
- By default, tests are grouped based on the directory where they are located.
+ By default, \QC groups tests that are in the same directory.
- Internal messages and run configuration warnings for deduced configurations
- are omitted by default. To view them, deselect the \uicontrol {Omit internal
- messages} and \uicontrol {Omit run configuration warnings} check boxes.
+ \QC omits internal messages and run configuration warnings for
+ deduced configurations by default. To view them, deselect the
+ \uicontrol {Omit internal messages} and
+ \uicontrol {Omit run configuration warnings} check boxes.
- By default, test result output is limited to 100,000 characters. The view
- is automatically scrolled down when new results are added. To display
+ By default, test result output shows a maximum of 100,000 characters. The
+ view automatically scrolls to show the latest results. To display
full results, deselect the \uicontrol {Limit result output} check box.
To disable automatic scrolling, deselect the
\uicontrol {Automatically scroll results} check box.
- Test results can be grouped by the executable path that was used to run the
- tests. This is useful if you have multiple test executables and run them all
- at once. To enable this functionality you need to select the
- \uicontrol {Group results by application} check box.
+ Set the maximum number of lines in the test result tooltip and description
+ in \uicontrol {Limit result description}.
+
+ To group test results by the executable path that you use to run the
+ tests, select \uicontrol {Group results by application}. This is useful
+ if you have multiple test executables and run them all at once.
- It is possible to automatically run the currently available tests after
- successfully building the current project. In \uicontrol {Automatically run},
- select which tests should be run after a successful build.
+ To automatically run tests after successfully building the current project,
+ select them in \uicontrol {Automatically run}.
- In some special setups, \QC cannot deduce which executable or run
- configuration it should use. If \QC repeatedly asks you to select the
- tests to run when trying to execute tests, you can enable it to cache
- your choices and use them were appropriate. The cached information is
- cleared when you switch to another project, close the current one, or
- select \uicontrol {Reset Cached Choices}.
+ Sometimes, \QC cannot deduce which executable or run configuration to use.
+ If \QC repeatedly asks you to select the tests to run when trying to execute
+ tests, you can let it cache your choices and use them where appropriate. \QC
+ clears the cache when you switch to another project, close the current one,
+ or select \uicontrol {Reset Cached Choices}.
+
+ Select the \uicontrol {Process arguments} check box to pass arguments to the
+ test executable that you specify in the \l {Managing Run Configurations}
+ {run configuration}. This is an experimental feature that might cause the
+ execution of the test executable to fail.
\section2 Specifying Settings for Running Qt Tests
@@ -447,7 +449,7 @@
walltime, CPU tick counter, event counter, Valgrind Callgrind, and Linux
Perf. For more information, see \l{Creating a Benchmark}.
- \image qtcreator-autotests-options-qt.png
+ \image qtcreator-preferences-testing-qttest.webp {Qt Tests tab in Testing preferences}
To receive verbose output when running benchmarks, select the
\uicontrol {Verbose benchmarks} check box.
@@ -459,33 +461,38 @@
\uicontrol {Log signals and slots} check box.
To explicitly limit the maximum number of warnings in the test log, select
- the \uicontrol {Limit warnings} check box and specify the intended number
- inside the spin box next to it. Set the number to 0 if you want no limit
- at all. The default number is 2000.
+ the \uicontrol {Limit warnings} check box and set the limit. Set it to 0 if
+ you want no limit at all. The default number is 2000.
+
+ To check for Qt Quick Tests that are derived from TestCase, select the
+ \uicontrol {Check for derived Qt Quick tests} check box.
+
+ \note This feature is rather expensive and increases the
+ scan time significantly.
\section2 Specifying Settings for Running Google Tests
To specify settings for running Google tests, select \uicontrol Edit >
\uicontrol Preferences > \uicontrol {Testing} > \uicontrol {Google Test}.
- \image qtcreator-autotests-options-google.png
+ \image qtcreator-preferences-testing-googletest.webp {Gooble Test tab in Testing preferences}
To run disabled tests, select the \uicontrol {Run disabled tests} check box.
To run several iterations of the tests, select the \uicontrol {Repeat tests}
- check box and enter the number of times the tests should be run in the
+ check box and enter the number of times to run the tests in the
\uicontrol Iterations field. To make sure that the tests are independent and
- repeatable, you can run them in a different order each time by selecting the
- \uicontrol {Shuffle tests} check box.
+ repeatable, run them in a different order each time by selecting the
+ \uicontrol {Shuffle tests} check box. Set the seed for initializing the
+ randomizer in the \uicontrol Seed field. The value 0 generates a seed
+ based on the current timestamp.
To turn failures into debugger breakpoints, select the
- \uicontrol {Break on failure while debugging} check box. To turn assertion
- failures into C++ exceptions, select the \uicontrol {Throw on failure} check
- box.
+ \uicontrol {Break on failure while debugging} check box.
To group Google tests by using a GTest filter, select
\uicontrol {GTest Filter} in the \uicontrol {Group mode} field,
- and specify the filter to use in the \uicontrol {Active filter}
+ and specify the filter in the \uicontrol {Active filter}
field. For more information about GTest filters, see
\l{https://github.com/google/googletest/blob/master/docs/advanced.md#running-a-subset-of-the-tests}
{Running a Subset of the Tests}.
@@ -496,16 +503,18 @@
\li To specify settings for running Boost tests, select \uicontrol Edit
> \uicontrol Preferences > \uicontrol {Testing} >
\uicontrol {Boost Test}.
- \image qtcreator-autotests-options-boost.png
+ \image qtcreator-preferences-testing-boosttest.webp {Boost Test tab in Testing preferences}
\li In the \uicontrol {Log format} field, select the error report
- format to specify the type of events you want recorded in the
+ format to specify the type of events to record in the
test report.
\li In the \uicontrol {Report level} field, select the verbosity level
of the test result report. Select \uicontrol No if you do not want
a report.
\li Select the \uicontrol Randomize check box to execute the tests in
a random order, using the seed specified in the \uicontrol Seed
- field for initializing the randomizer.
+ field for initializing the randomizer. The value 0 means no
+ randomization, the value 1 uses the current time, and any other
+ value generates a random seed.
\li Select the \uicontrol {Catch system errors} check box to catch
system errors.
\li Select the \uicontrol {Floating point exceptions} check box to
@@ -519,7 +528,7 @@
\li To specify settings for running Catch2 tests, select
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Testing} >
\uicontrol {Catch Test}.
- \image qtcreator-autotests-options-catch2.png "Catch Test preferences"
+ \image qtcreator-preferences-testing-catchtest.webp {Catch Test tab in Testing preferences}
\li Select the \uicontrol {Show success} check box to show succeeding
expressions as well. By default Catch2 will print only fails.
\li Select the \uicontrol {Break on failure while debugging} check box
@@ -533,16 +542,15 @@
\li Select the \uicontrol {Abort after} check box to abort the test
after the number of failures specified inside the spin box.
\li Select the \uicontrol {Benchmark samples} check box to specify
- the number of samples to be collected while running benchmarks.
+ the number of samples to collect while running benchmarks.
\li Select the \uicontrol {Benchmark resamples} check box to specify
- the number of resamples to be used for the statistical
- bootstrapping performed after the benchmarking.
+ the number of resamples to use for statistical bootstrapping after
+ benchmarking.
\li Select the \uicontrol {Benchmark confidence interval} check box
- to specify the confidence interval used for the statistical
- bootstrapping.
+ to specify the confidence interval for statistical bootstrapping.
\li Select the \uicontrol {Benchmark warmup time} check box to specify
- the warmup time for each test before benchmarking start.
- \li Select the \uicontrol {Disable analysis} check box to disable the
+ the warmup time for each test before benchmarking starts.
+ \li Select the \uicontrol {Disable analysis} check box to disable
statistical analysis and bootstrapping.
\endlist
@@ -551,7 +559,7 @@
\li To specify settings for running CTest-based tests, select
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Testing} >
\uicontrol {CTest}.
- \image qtcreator-autotests-options-ctest.png "CTest preferences"
+ \image qtcreator-preferences-testing-ctest.webp {CTest tab in Testing preferences}
\li Select the \uicontrol {Output on failure} check box to show test
specific output if a test fails. Contrary to the CTest default
this is enabled by default.
@@ -565,30 +573,37 @@
\li Select \uicontrol {Repeat tests} if you want to re-run tests
under certain circumstances.
\li In the \uicontrol {Repetition mode} field, select the mode for
- re-running tests. The maximum count for repeating a test can be
- specified in the \uicontrol {Count} field.
+ re-running tests. Set the maximum count for repeating a test in
+ the \uicontrol {Count} field.
\li Select \uicontrol {Run in parallel} to run the tests in parallel
using the specified number of \uicontrol {Jobs}.
- \li Select \uicontrol {Test load} to be able to limit the parallel
+ \li Select \uicontrol {Test load} to limit the parallel
execution. CTest will not start a new test if it would cause the
- CPU load to pass the threshold given in \uicontrol {Threshold}.
+ CPU load to pass the threshold set in \uicontrol {Threshold}.
\endlist
\section1 Viewing Test Output
- The test results are displayed in \l{Viewing Output}{Test Results}
- in XML format. XML can be parsed more easily and reliably than plain text.
+ The \l{Viewing Output}{Test Results} view shows Qt and Qt Quick test results
+ in XML format and other test results in plain text format.
- However, if a Qt test crashes, it might not produce complete XML code that
- can be parsed, which might lead to information loss. The lost information
- might be retrievable when viewing the results as plain text.
- To view the results of Qt tests as plain text, select \uicontrol Edit >
+ \section2 Qt Test Output
+
+ XML can be parsed more easily and reliably than plain text. However, if a Qt
+ or Qt Quick test crashes, it might not produce complete XML
+ code that can be parsed, which might lead to information loss. You might see
+ the lost information when viewing the results as plain text.
+
+ To view the
+ results of Qt and Qt Quick tests as plain text, select \uicontrol Edit >
\uicontrol Preferences > \uicontrol {Testing} > \uicontrol {Qt Test}, and
then deselect the \uicontrol {Use XML output} check box. Then select the
\inlineimage icons/text.png
(\uicontrol {Switch Between Visual and Text Display}) button in
\uicontrol {Test Results} to switch to the text display.
+ \section2 Summary of Messages
+
The following table lists the messages that \uicontrol {Test Results}
displays:
@@ -638,7 +653,13 @@
\endtable
- Since Qt 5.4, you can provide a BLACKLIST file for tests. It is mainly used
+ To view only messages of a particular type, select
+ \inlineimage icons/filtericon.png
+ (\uicontrol {Filter Test Results}), and then select the types of messages to
+ show. To show all messages, select \uicontrol {Check All Filters}. To
+ deselect all message types, select \uicontrol {Uncheck All Filters}.
+
+ Since Qt 5.4, you can add a BLACKLIST file for tests. It is mainly used
internally by the Qt CI system.
\table
@@ -659,10 +680,4 @@
\li Blacklisted test case passed even though it was expected to fail.
\endtable
-
- To view only messages of a particular type, select
- \inlineimage icons/filtericon.png
- (\uicontrol {Filter Test Results}), and then select the types of messages to
- show. To show all messages, select \uicontrol {Check All Filters}. To
- deselect all message types, select \uicontrol {Uncheck All Filters}.
*/
diff --git a/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc b/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc
index f16d707411..7e18ac95e9 100644
--- a/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc
+++ b/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc
@@ -94,7 +94,7 @@
\section1 View output
- The \l{Viewing Output}{taskbar} provides different views to output from
+ The \l{Viewing Output}{taskbar} shows output from
several sources, such as a list of errors and warnings encountered during
a build, detailed output from the compiler, status of a program when it is
executed, debug output, or search results.
@@ -119,7 +119,7 @@
\section1 Find keyboard shortcuts
- \QC provides \l{Keyboard Shortcuts}{many useful keyboard shortcuts}.
+ \QC has \l{Keyboard Shortcuts}{many useful keyboard shortcuts}.
You can see the keyboard shortcut for a menu command in the menu
or the tooltip for a button.
@@ -227,7 +227,7 @@
\section1 Quickly locate files using the keyboard
- The \uicontrol Locator provides one of the easiest ways in \QC to browse
+ Use the \uicontrol Locator to browse
through projects, files, classes, functions, documentation, and file systems.
To quickly access files not directly mentioned in your project, you can
create your own locator filters. That way you can locate files in a
@@ -257,13 +257,13 @@
\section1 Add a license header template for C++ code
- Specify a file containing a license header for C++ in \uicontrol Edit >
+ Specify a file that has a license header for C++ in \uicontrol Edit >
\uicontrol Preferences > \uicontrol C++ > \uicontrol {File Naming} >
\uicontrol {License template}.
\image qtcreator-options-cpp-files.png "File Naming preferences"
- The license file may contain special placeholders enclosed
+ The license file may have special placeholders enclosed
in \c{%%} that are replaced when generating a new file:
\list 1
diff --git a/doc/qtcreator/src/howto/creator-only/creator-squish.qdoc b/doc/qtcreator/src/howto/creator-only/creator-squish.qdoc
index a9a94cd3df..27918da3e4 100644
--- a/doc/qtcreator/src/howto/creator-only/creator-squish.qdoc
+++ b/doc/qtcreator/src/howto/creator-only/creator-squish.qdoc
@@ -290,7 +290,7 @@
maximum time to wait after the main AUT has exited. This is useful
for AUTs invoked through launcher applications, such as shell scripts
or batch files.
- \li Select the \uicontrol {Animate mouse cursor} check box to to animate
+ \li Select the \uicontrol {Animate mouse cursor} check box to animate
the mouse cursor when playing back a test.
\endlist
diff --git a/doc/qtcreator/src/howto/creator-only/creator-task-lists.qdoc b/doc/qtcreator/src/howto/creator-only/creator-task-lists.qdoc
index 4153857004..4cc7ecda41 100644
--- a/doc/qtcreator/src/howto/creator-only/creator-task-lists.qdoc
+++ b/doc/qtcreator/src/howto/creator-only/creator-task-lists.qdoc
@@ -29,7 +29,7 @@
To open task list files in \uicontrol Issues, choose \uicontrol File >
\uicontrol Open. Right-click a task list entry to open a context menu that
- contains commands for managing the entry. You can copy or remove task list
+ has commands for managing the entry. You can copy or remove task list
entries or navigate to the corresponding source code.
\QC monitors the loaded files and displays the changes in \uicontrol Issues.
diff --git a/doc/qtcreator/src/howto/creator-only/qtcreator-faq.qdoc b/doc/qtcreator/src/howto/creator-only/qtcreator-faq.qdoc
index 18e62c88ef..6a883fe37a 100644
--- a/doc/qtcreator/src/howto/creator-only/qtcreator-faq.qdoc
+++ b/doc/qtcreator/src/howto/creator-only/qtcreator-faq.qdoc
@@ -8,7 +8,7 @@
\title FAQ
- This section contains answers to some frequently asked questions about \QC.
+ This section has answers to some frequently asked questions about \QC.
You might also find answers to your questions in the
\l{Known Issues} and \l{How-tos} sections, or the Troubleshooting
sections for a special area, such as
@@ -146,7 +146,7 @@
\QC comes fully integrated with Qt documentation and examples using
the Qt Help plugin. The integrated Qt Reference Documentation is available
- for Qt 4.4 and later. \QC and other Qt deliverables contain
+ for Qt 4.4 and later. \QC and other Qt deliverables have
documentation as .qch files. All the documentation is accessible in the
\uicontrol Help mode.
@@ -196,8 +196,8 @@
following value, where \c{<num>} is the amount of cores in your CPU:
\c{-j <num>}
- On Windows, nmake does not support the \c{-j} parameter. Instead, we
- provide a drop-in replacement called jom. You can download a precompiled
+ On Windows, nmake does not support the \c{-j} parameter. Instead, you can use
+ \e jom. You can download a precompiled
version of jom from \l{https://download.qt.io/official_releases/jom/}{Qt Downloads}.
Put jom.exe in a location in the %PATH%. Go to the \uicontrol {Build Settings}
and set jom.exe as the make command.
@@ -306,7 +306,7 @@
In fact, developers do not want to switch editors, but might have to do so
to accomplish their tasks. We need to figure out what the tasks are to
- provide developers with better ways to navigate while performing the tasks.
+ offer developers better ways to navigate while performing the tasks.
One common factor in many use cases is switching editors while working on a
set of open files. While working on files A and B, users sometimes need to
@@ -316,7 +316,7 @@
Typically, users also work on multiple classes or functions that are
related, even though they are defined or declared in different files.
- \QC provides two shortcuts for that: \key F2 to follow the symbol under
+ \QC offers two shortcuts for that: \key F2 to follow the symbol under
cursor and \key Ctrl+Shift+U to find references to it.
In addition, developers can:
diff --git a/doc/qtcreator/src/incredibuild/creator-projects-incredibuild-building.qdoc b/doc/qtcreator/src/incredibuild/creator-projects-incredibuild-building.qdoc
index a619a764b3..2d892cb108 100644
--- a/doc/qtcreator/src/incredibuild/creator-projects-incredibuild-building.qdoc
+++ b/doc/qtcreator/src/incredibuild/creator-projects-incredibuild-building.qdoc
@@ -62,8 +62,8 @@
\li \uicontrol {Profile.xml} defines how Automatic Interception
Interface handles processes in a distributed job. It is not
necessary for Visual Studio or Make and Build tools builds, but can
- be used to provide configuration options if those builds use
- additional processes that are not included in those packages. It is
+ be used to add configuration options if those builds use
+ processes that are not included in those packages. It is
required to configure distributable processes in Dev Tools builds.
\li \uicontrol {Avoid local task execution} frees up resources on the
initiator machine. This might be beneficial for distribution if the
@@ -82,7 +82,7 @@
\li \uicontrol {Save IncrediBuild monitor file} writes a copy of the
build progress (\c{.ib_mon}) file to the specified location.
If only a folder name is given, IncrediBuild generates a GUID for
- the file name. A message containing the location of the saved
+ the file name. A message that has the location of the saved
\c{.ib_mon} file is added to the end of the build output.
\li \uicontrol {Suppress STDOUT} does not write anything to the standard
output.
diff --git a/doc/qtcreator/src/linux-mobile/b2qtdev.qdoc b/doc/qtcreator/src/linux-mobile/b2qtdev.qdoc
index 11167b35fe..dd3a884f8e 100644
--- a/doc/qtcreator/src/linux-mobile/b2qtdev.qdoc
+++ b/doc/qtcreator/src/linux-mobile/b2qtdev.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2021 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -18,7 +18,7 @@
To be able to run and debug applications on Boot2Qt devices,
you must add devices and select them in the \QC
- \l{glossary-buildandrun-kit}{kit}.
+ \l{Adding Kits}{kit}.
\section1 Enabling the Boot2Qt Plugin
@@ -33,21 +33,27 @@
\section1 Adding Boot2Qt Devices
- You use a wizard to create the connections. You can use either a
- network connection or a USB connection. If \QC does not automatically
- detect a device you connected with USB, you can use a wizard to
- create a network connection to the device.
+ If \QC does not automatically detect a device you connected with USB, you can
+ use a wizard to create either a network connection or a USB connection to
+ it.
- \note On Ubuntu Linux, the development user account must have access to
- plugged in devices. To allow the development user access to the device
- via USB, create a new \c udev rule, as described in
+ \note On Ubuntu Linux, the development user account must have access to the
+ plugged-in devices. To grant them access to the device via USB, create a new
+ \c udev rule, as described in
\l{https://doc.qt.io/Boot2Qt/b2qt-requirements-x11.html#setting-up-usb-access-to-embedded-devices}
{Boot2Qt: Setting Up USB Access to Embedded Devices}.
You can edit the settings later in \uicontrol Edit > \uicontrol Preferences >
\uicontrol Devices > \uicontrol Devices.
- \image qtcreator-boot2qt-device-configurations.png "Devices dialog"
+ \image qtcreator-boot2qt-device-configurations.png {Devices dialog}
+
+ To reboot the selected device, select \uicontrol {Reboot Device}.
+
+ To restore the default application to the device, select
+ \uicontrol {Restore Default App}.
+
+ \section2 Protecting Connections
You can protect the connections between \QC and a device by using an
\l{https://www.openssh.com/}{OpenSSH} connection. OpenSSH is a
@@ -57,17 +63,19 @@
\QC. For more information, see \l {Configuring SSH Connections}.
You need either a password or an SSH public and private key pair for
- authentication. If you do not have an SSH key, you can use the ssh-keygen
+ authentication. If you do not have an SSH key, you can use the \c ssh-keygen
tool to create it in \QC. For more information, see \l {Generating SSH Keys}.
- \note \QC does not store passwords. If you use password authentication,
- you may need to enter the password on every connection to the device,
- or, if caching is enabled, at every \QC restart.
-
- To reboot the selected device, select \uicontrol {Reboot Device}.
+ \QC does not store passwords. If you use password authentication, you may
+ need to enter the password upon every connection to the device, or if
+ caching is enabled, at every \QC restart. If you frequently run into the
+ timeout, consider using key-based authentication. On \macos and Linux, you
+ can also select \uicontrol Preferences > \uicontrol Devices > \uicontrol SSH
+ and increase the time (in minutes) to use the same SSH connection in the
+ \uicontrol {Connection sharing timeout} field. Windows does not support
+ shared connections.
- To restore the default application to the device, select
- \uicontrol {Restore Default App}.
+ \image qtcreator-ssh-options.png {SSH preferences}
\section1 Flashing Boot2Qt Devices
@@ -75,7 +83,7 @@
\uicontrol Tools > \uicontrol {Flash Boot to Qt Device} and follow the
instructions of the wizard.
- \image qtcreator-boot2qt-flashing-wizard.png "Boot2Qt Flashing Wizard"
+ \image qtcreator-boot2qt-flashing-wizard.png {Boot2Qt Flashing Wizard}
\section1 Configuring Connections
@@ -83,8 +91,8 @@
specify build and run settings for the device:
\list 1
- \li Make sure that your device can be reached via an IP address or
- connect it with a USB connection.
+ \li Check that you can reach the IP address of the device, or use USB to
+ connect it.
\li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Kits >
\uicontrol {Qt Versions} > \uicontrol Add to add the Qt version
for Boot2Qt.
@@ -100,7 +108,7 @@
\li Select \uicontrol Edit > \uicontrol Preferences >
\uicontrol Devices > \uicontrol Devices > \uicontrol Add >
\uicontrol Boot2Qt.
- \image qtcreator-devices-boot2qt.png "Boot2Qt Network Device Setup wizard"
+ \image qtcreator-devices-boot2qt.png {Boot2Qt Network Device Setup wizard}
\li In the \uicontrol {Device name} field, enter a name for
the connection.
\li In the \uicontrol {Device address} field, enter the host
diff --git a/doc/qtcreator/src/linux-mobile/creator-embedded-platforms.qdoc b/doc/qtcreator/src/linux-mobile/creator-embedded-platforms.qdoc
index cbca285cf6..c441981d3b 100644
--- a/doc/qtcreator/src/linux-mobile/creator-embedded-platforms.qdoc
+++ b/doc/qtcreator/src/linux-mobile/creator-embedded-platforms.qdoc
@@ -39,14 +39,14 @@
\section1 Boot2Qt
- The Boot2Qt stack can be made to run on a variety of hardware. For
- license holders, tooling is provided to customize the contents of the stack
- as well as to take it into desired production hardware.
+ The Boot2Qt stack runs on a variety of hardware. License holders can use
+ tools to customize the contents of the stack and to take it into
+ production hardware.
- Either Windows 10 64-bit or later or Ubuntu Linux 64-bit 20.04 LTS
- or later is required to install and use Boot2Qt.
+ You need either Windows 10 64-bit or later or Ubuntu Linux 64-bit 20.04 LTS
+ or later to install and use Boot2Qt.
- The following topics contain more information about developing applications
+ The following topics have more information about developing applications
for Boot2Qt devices:
\list
@@ -66,7 +66,7 @@
You must have a tool chain for building applications for embedded Linux
devices installed on the development PC.
- The following topics contain more information about developing applications
+ The following topics have more information about developing applications
for remote Linux devices:
\list
@@ -84,7 +84,7 @@
necessary for bare metal software development on devices based on the Arm
Cortex-M processors.
- The following topics contain more information about developing applications
+ The following topics have more information about developing applications
for MCUs:
\list
@@ -95,12 +95,12 @@
\section1 QNX
- The QNX Neutrino RTOS should provide a few additional command line tools
+ The QNX Neutrino RTOS has more command line tools
and services, as described in \l {Qt for QNX}.
\note In Qt 6, \QC support for QNX is considered experimental.
- The following topics contain more information about developing applications
+ The following topics have more information about developing applications
for QNX devices:
\list
diff --git a/doc/qtcreator/src/overview/creator-acknowledgements.qdoc b/doc/qtcreator/src/overview/creator-acknowledgements.qdoc
index 2be1ed05ef..2ef5125bab 100644
--- a/doc/qtcreator/src/overview/creator-acknowledgements.qdoc
+++ b/doc/qtcreator/src/overview/creator-acknowledgements.qdoc
@@ -988,5 +988,19 @@
SOFTWARE.
\endcode
+ \li \b TartanLlama/expected
+
+ Implementation of std::expected compatible with C++11/C++14/C++17.
+
+ The sources can be found in:
+ \list
+ \li \c QtCreator/src/libs/3rdparty/tl_expected
+ \li \l https://github.com/TartanLlama/expected
+ \endlist
+
+ CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
+
+ https://creativecommons.org/publicdomain/zero/1.0/
+
\endlist
*/
diff --git a/doc/qtcreator/src/overview/creator-only/creator-advanced.qdoc b/doc/qtcreator/src/overview/creator-only/creator-advanced.qdoc
index 3dfe546f60..661c72f9f0 100644
--- a/doc/qtcreator/src/overview/creator-only/creator-advanced.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/creator-advanced.qdoc
@@ -49,7 +49,7 @@
\li \l{Keyboard Shortcuts}
- \QC provides various keyboard shortcuts to speed up your development
+ \QC has keyboard shortcuts that speed up your development
process. You can change the keyboard shortcuts, as well as import
and export keyboard shortcut mapping schemes.
diff --git a/doc/qtcreator/src/overview/creator-only/creator-configuring.qdoc b/doc/qtcreator/src/overview/creator-only/creator-configuring.qdoc
index 4429f3283b..631e7e879c 100644
--- a/doc/qtcreator/src/overview/creator-only/creator-configuring.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/creator-configuring.qdoc
@@ -105,7 +105,7 @@
For more information, see \l{Defining Color Schemes}.
\l{https://api.kde.org/frameworks/syntax-highlighting/html/index.html}
- {KSyntaxHighlighting} provides generic highlighting. It is the syntax
+ {KSyntaxHighlighting} offers generic highlighting. It is the syntax
highlighting engine for Kate syntax definitions. \QC comes with most of
the commonly used syntax files, and you can download additional files.
@@ -117,7 +117,7 @@
\section1 Adding Your Own Code Snippets
As you write code, \QC suggests properties, IDs, and code snippets to
- complete the code. It provides a list of context-sensitive suggestions to
+ complete the code. It lists context-sensitive suggestions for
the statement currently under your cursor. You can add, modify, and remove
snippets in the snippet editor.
@@ -167,7 +167,7 @@
\section2 Installing Plugins
- Qt Marketplace contains links to \QC plugins that you can download and
+ Qt Marketplace has links to \QC plugins that you can download and
install either for free or for a price set by their publisher. You can
browse the available plugins in the \uicontrol Marketplace tab in the
Welcome mode.
@@ -180,7 +180,7 @@
\li Select \uicontrol Help > \uicontrol {About Plugins} >
\uicontrol {Install Plugins}.
\li In the \uicontrol Source dialog, enter the path to the archive
- or library that contains the plugin.
+ or library that has the plugin.
\image qtcreator-install-plugin-source.png
\li In the \uicontrol {Install Location} dialog, select
\uicontrol {User plugins} to make the plugin available for the
diff --git a/doc/qtcreator/src/overview/creator-only/creator-design-overview.qdoc b/doc/qtcreator/src/overview/creator-only/creator-design-overview.qdoc
index 76307ccea4..2eed8eb1e2 100644
--- a/doc/qtcreator/src/overview/creator-only/creator-design-overview.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/creator-design-overview.qdoc
@@ -16,7 +16,7 @@
\image front-ui.png
- \QC provides an integrated visual editor designing widget-based applications
+ \QC has an integrated visual editor designing widget-based applications
in the \uicontrol Design mode. The integration includes project management
and code completion.
@@ -27,7 +27,7 @@
\li \l{Developing Qt Quick Applications}
- You can use wizards to create Qt Quick projects containing
+ You can use wizards to create Qt Quick projects that have
boiler-plate code that you can edit in the \uicontrol Edit mode.
\li \l{Developing Widget Based Applications}
diff --git a/doc/qtcreator/src/overview/creator-only/creator-getting-started.qdoc b/doc/qtcreator/src/overview/creator-only/creator-getting-started.qdoc
index 218442555c..a7ae08afba 100644
--- a/doc/qtcreator/src/overview/creator-only/creator-getting-started.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/creator-getting-started.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2020 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -14,6 +14,9 @@
\title Getting Started
+ To learn the basics of \QC, take the \e {Getting Started with Qt Creator}
+ course in \l{https://www.qt.io/courses/}{Qt Learning}.
+
\table
\row
\li \inlineimage front-gs.png
diff --git a/doc/qtcreator/src/overview/creator-only/creator-glossary.qdoc b/doc/qtcreator/src/overview/creator-only/creator-glossary.qdoc
index 43959315b4..c6cc117b1b 100644
--- a/doc/qtcreator/src/overview/creator-only/creator-glossary.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/creator-glossary.qdoc
@@ -22,16 +22,17 @@
\row
\li Build configuration
\target glossary-build-config
- \li Contains all the information you need to compile the sources
+ \li Has all the information you need to compile the sources
into binaries. Different build configurations allow you to
quickly build the project for different purposes.
By default, \QC creates \e {debug build} and \e {release build}
configurations for each \e {kit} defined for your project.
- A debug build contains
+ A debug build has
additional debug symbols that you need for debugging the
application but that you can leave out from the release version.
Generally, you use the debug configuration for testing and the
- release configuration for creating the final installation file.
+ release configuration for creating the final installation
+ binary package.
\row
\li Build step
@@ -48,10 +49,10 @@
\li Component
\target glossary-component
\li An instantiable QML definition, typically
- contained in a .qml file. For instance, a Button component may
- be defined in Button.qml. The QML runtime may instantiate this
- Button component to create Button objects. Alternatively, a
- component may be defined inside a \l{Component} QML type.
+ in a .qml file. For instance, you can define a Button component
+ in Button.qml. The QML runtime may instantiate this
+ Button component to create Button objects. Alternatively, you may
+ define a component in a \l{Component} QML type.
\row
\li Deploy configuration
@@ -79,10 +80,10 @@
\row
\li Mode
\target glossary-mode
- \li Adapts the \QC user interface to the different application
- development tasks at hand. Each mode has its own view that shows
- only the information required for performing a particular task,
- and provides only the most relevant features and functions
+ \li Adapts the \QC user interface to the application
+ development task at hand. Each mode has its own view that shows
+ only the information you need for performing a particular task,
+ and has only the most relevant features and functions
related to it. As a result, the majority of the \QC window area
is always dedicated to actual application development tasks.
diff --git a/doc/qtcreator/src/overview/creator-only/creator-help-overview.qdoc b/doc/qtcreator/src/overview/creator-only/creator-help-overview.qdoc
index 74d4860f3c..a5df9187a4 100644
--- a/doc/qtcreator/src/overview/creator-only/creator-help-overview.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/creator-help-overview.qdoc
@@ -28,7 +28,7 @@
\li \l{FAQ}
- Contains answers to some frequently asked questions about \QC.
+ Has answers to some frequently asked questions about \QC.
\li \l{How-tos}
diff --git a/doc/qtcreator/src/overview/creator-only/creator-issues.qdoc b/doc/qtcreator/src/overview/creator-only/creator-issues.qdoc
index b1989c86eb..9a09a24b09 100644
--- a/doc/qtcreator/src/overview/creator-only/creator-issues.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/creator-issues.qdoc
@@ -74,7 +74,7 @@
\list
- \li Paths or file names containing spaces or special characters
+ \li Paths or file names that have spaces or special characters
(such as colons, dollar signs, and hash marks) may cause problems.
This is because some of the tools \QC uses in the background have
restrictions on the characters allowed in file and directory names.
@@ -82,7 +82,7 @@
items with names consisting of plain characters, numbers,
underscores, and hyphens.
- \li If error messages displayed in \l {Compile Output} contain
+ \li If error messages displayed in \l {Compile Output} have
paths where slashes are missing (for example, C:QtSDK),
check your PATH variable. For more information, see
\l{Troubleshooting MinGW Compilation Errors}.
@@ -113,7 +113,7 @@
using the \c {--bind mount} option.
\li Setting breakpoints in files will fail when using LLDB if the file path
- contains symbolic links.
+ has symbolic links.
\li A regression in GCC 4.5.0 causes return value optimization to
produce inaccurate debug info that GCC applies also to
diff --git a/doc/qtcreator/src/overview/creator-only/creator-mobile-platforms.qdoc b/doc/qtcreator/src/overview/creator-only/creator-mobile-platforms.qdoc
index 7af06ba9ff..c6d689547b 100644
--- a/doc/qtcreator/src/overview/creator-only/creator-mobile-platforms.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/creator-mobile-platforms.qdoc
@@ -27,11 +27,11 @@
\section1 Android
- Starting from Qt 5.14.0, the Qt for Android package contains all the
+ Starting from Qt 5.14.0, the Qt for Android package has all the
architectures (ABIs) installed as one. You can let \QC automatically
create kits for installed Qt version and tool chains.
- The following topics contain more information about developing applications
+ The following topics have more information about developing applications
for Android devices:
\list
@@ -50,7 +50,7 @@
iOS. \QC automatically detects the tool chain and creates the necessary
kits to build applications for and run them on configured iOS devices.
- The following topics contain more information about developing applications
+ The following topics have more information about developing applications
for iOS devices:
\list
diff --git a/doc/qtcreator/src/overview/creator-only/creator-overview.qdoc b/doc/qtcreator/src/overview/creator-only/creator-overview.qdoc
index 3bd6c9e5c4..befd689d08 100644
--- a/doc/qtcreator/src/overview/creator-only/creator-overview.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/creator-overview.qdoc
@@ -14,14 +14,13 @@
\title IDE Overview
- \QC is an integrated development environment (IDE) that provides you with
- tools to design and develop applications with the Qt application framework.
+ \QC is an integrated development environment (IDE) that has tools for
+ designing and developing applications with the Qt application framework.
With Qt you can develop applications and user interfaces once and deploy
them to several desktop, embedded, and mobile operating systems or
- web browsers (experimental). \QC
- provides you with tools for accomplishing your tasks throughout the whole
- application development life-cycle, from creating a project to deploying the
- application to the target platforms.
+ web browsers (experimental). \QC has the tools for accomplishing your tasks
+ throughout the whole application development life-cycle, from creating a
+ project to deploying the application to the target platforms.
\table
\row
@@ -35,7 +34,7 @@
information as a compiler would need. It stores the information
in the project settings.
- \QC contains templates for creating new projects. They guide
+ \QC has templates for creating new projects. They guide
you step-by-step through the project creation process, create
the necessary files, and specify settings depending on the
choices you make. For more information, see
@@ -52,8 +51,8 @@
As an IDE, \QC differs from a text editor in that it knows how
to build and run applications. It understands the C++ and QML
- languages as code, not just as plain text. This enables it to
- provide you with useful features, such as semantic highlighting,
+ languages as code, not just as plain text. Therefore, it can
+ offer useful features, such as semantic highlighting,
checking code syntax, code completion, and refactoring actions.
\QC supports some of these services also for other programming
languages, such as Python, for which a \e {language server} is
diff --git a/doc/qtcreator/src/overview/creator-only/mobile-app-design.qdoc b/doc/qtcreator/src/overview/creator-only/mobile-app-design.qdoc
index 22393b98d6..3026f35dcc 100644
--- a/doc/qtcreator/src/overview/creator-only/mobile-app-design.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/mobile-app-design.qdoc
@@ -64,7 +64,7 @@
\li Design for limited input methods
Applications collect information from users on the task at hand. In
- addition to touch screen input, some devices contain physical keys
+ addition to touch screen input, some devices have physical keys
such as a five way navigation pad, a keypad, and a keyboard. Users
enter information by using screen controls, such as lists, check
boxes, radio buttons, and text fields.
diff --git a/doc/qtcreator/src/projects/creator-only/creator-files-creating.qdoc b/doc/qtcreator/src/projects/creator-only/creator-files-creating.qdoc
index 3a7fd55ee7..646fdce899 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-files-creating.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-files-creating.qdoc
@@ -31,7 +31,7 @@
\row
\li {1,3} Modeling
\li State Chart
- \li State Chart XML (SCXML) file that contains boilerplate
+ \li State Chart XML (SCXML) file that has boilerplate
code for state machines. You can use the classes in the
\l {Qt SCXML} module to embed state machines created from
the files in Qt applications.
@@ -39,7 +39,7 @@
\li Model
\li Universal Modeling Language (UML) style model with a structured
diagram. However, the model editor uses a variant of UML and
- provides only a subset of properties for specifying the
+ has only a subset of properties for specifying the
appearance of model elements. For more information, see
\l {Modeling}.
\row
@@ -189,7 +189,7 @@
\section1 Creating OpenGL Fragment and Vertex Shaders
- Qt provides support for integration with OpenGL implementations on all
+ Qt supports integration with OpenGL implementations on all
platforms, which allows you to display hardware accelerated 3D graphics
alongside a more conventional user interface. For more information, see
\l{Qt GUI}.
@@ -201,7 +201,7 @@
compiling and linking vertex and fragment shaders.
You can use \QC code editor to write fragment and vertex shaders
- in GLSL or GLSL/ES. The code editor provides syntax highlighting and code
+ in GLSL or GLSL/ES. The code editor offers syntax highlighting and code
completion for the files.
\image qtcreator-new-opengl-file.png "New OpenGL file wizard"
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-build-systems.qdocinc b/doc/qtcreator/src/projects/creator-only/creator-projects-build-systems.qdocinc
index a12e010d68..b3300865dd 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-build-systems.qdocinc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-build-systems.qdocinc
@@ -35,6 +35,16 @@
the commands in the low-level build graph (like make does). For more
information, see \l{Setting Up Qbs}.
+ To export a project to some other build system, such as Microsoft Visual
+ Studio, select \uicontrol Build > \uicontrol {Run Generator}, and select
+ a generator in the list. \QC generates the build files, such as .vcxproj,
+ in the project's build directory. The tool that you use to build the project
+ (qmake or CMake) provides the 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).
+
To change the location of the project directory, and to specify settings
for building and running projects, select \uicontrol Edit >
\uicontrol Preferences > \uicontrol {Build & Run} > \uicontrol General.
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-building-running.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-building-running.qdoc
index 7af185b151..25951a3e80 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-building-running.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-building-running.qdoc
@@ -16,8 +16,8 @@
\image front-preview.png
- \QC provides support for running and deploying Qt applications built
- for different target platforms, or using different compilers, debuggers, or
+ \QC supports running and deploying Qt applications that you build
+ for different target platforms or with different compilers, debuggers, or
Qt versions. \l{glossary-buildandrun-kit}{Kits} define the tools,
\l{glossary-device}{device} type and other settings to use when building and
running your project.
@@ -33,7 +33,7 @@
\li \l{Building for Multiple Platforms}
- \e {Build configurations} contain everything you need to compile
+ \e {Build configurations} have everything you need to compile
the sources into binaries. Build configurations use the tools and settings
defined in their corresponding kit.
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-building.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-building.qdoc
index 77805ea2aa..acf362877d 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-building.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-building.qdoc
@@ -57,7 +57,7 @@
\section1 Additional Build Commands
- The \uicontrol Build menu contains additional commands for building,
+ The \uicontrol Build menu has additional commands for building,
rebuilding, and cleaning projects.
To build the current project in all its configurations, that
@@ -99,11 +99,11 @@
\QC automatically runs CMake when you make changes to \c {CMakeLists.txt}
files. To disable this feature, select \uicontrol Edit >
- \uicontrol Preferences > \uicontrol CMake > \uicontrol Tools. Select the
+ \uicontrol Preferences > \uicontrol CMake > \uicontrol General. Select the
CMake executable to edit, and then deselect the \uicontrol {Autorun CMake}
check box.
- \image qtcreator-preferences-cmake-tools.png "Tools tab in CMake Preferences"
+ \image qtcreator-preferences-cmake-tools.webp "Tools tab in CMake Preferences"
For more information, see \l {Setting Up CMake}.
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc
index a2f85d010e..525e4e2f04 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc
@@ -66,7 +66,7 @@
\endlist
- In addition, the \QC Bare Metal Device plugin provides support for the
+ In addition, the \QC Bare Metal Device plugin supports the
following compilers:
\list
@@ -161,12 +161,12 @@
\image qtcreator-options-qcc-compilers.png "Adding a QCC compiler"
- \li In the \uicontrol ABI field, provide an identification for the
+ \li In the \uicontrol ABI field, enter an identifier for the
target architecture. This is used to warn about ABI mismatches
within the kits.
\li In the \uicontrol {Target triple} field, specify the GCC target
- architecture. If services provided by the code model fail because
+ architecture. If code model services fail because
Clang does not understand the target architecture, select
\uicontrol {Override for code model}.
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc
index 8cfb298d21..141e6eab2a 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc
@@ -58,7 +58,7 @@
In the first step, you select a template for the project. You can filter
templates (1) to view only those that apply to a particular target platform.
- \image qtcreator-new-project.png
+ \image qtcreator-new-project.webp {New Project dialog}
Next, you select a location for the project and specify settings for it.
@@ -95,32 +95,31 @@
\li Uses a single main.cpp file.
\row
\li Qt Quick Application
- \li Creates a Qt Quick 2 application project that can contain both
+ \li Creates a Qt Quick application project that can have both
QML and C++ code. You can build the application and deploy it
to desktop, embedded, and mobile target platforms.
+
+ You can select an option to create a project that you can open
+ in \QDS, which has a visual editor for Qt Quick UIs.
\row
\li {1,4} Application (Qt for Python)
\li Empty Application
\li Creates a \l{https://doc.qt.io/qtforpython/index.html}
- {Qt for Python} application that contains only the main
+ {Qt for Python} application that has only the main
code for a QApplication.
\row
\li Empty Window
- \li Creates a Qt for Python application that contains an empty
+ \li Creates a Qt for Python application that has an empty
window.
\row
\li Window UI
- \li Creates a Qt for Python application that contains an empty
+ \li Creates a Qt for Python application that has an empty
window with a widget-based UI. Preferred approach that requires
you to generate a Python file from the .ui file, to import
it directly into your application.
\row
- \li Window UI - Dynamic load
- \li Creates a Qt for Python application that contains an empty
- window with a widget-based UI.
- \row
\li Qt Quick Application - Empty
- \li Creates a Python project that contains an empty Qt Quick
+ \li Creates a Python project that has an empty Qt Quick
Application.
\row
\li {1,3} Library
@@ -129,7 +128,7 @@
\row
\li Qt Quick 2 Extension Plugin
\li Creates a C++ plugin that makes it possible to offer extensions
- that the QQmlEngine class can load dynamically into Qt Quick 2
+ that the QQmlEngine class can load dynamically into Qt Quick
applications.
\row
\li \QC Plugin
@@ -141,10 +140,10 @@
\row
\li Qt Quick UI Prototype
\li Creates a \l{Creating Qt Quick UI Projects}{Qt Quick UI project}
- with a single QML file that contains the main view. You can
- preview Qt Quick 2 UI projects in the
+ with a single QML file that has the main view. You can
+ preview Qt Quick UI projects in the
\l{Validating with Target Hardware}{QML Scene preview tool}.
- You do not need to build them because they do not contain any
+ You do not need to build them because they do not have any
C++ code.
Use this template only if you are prototyping. You cannot create
@@ -168,7 +167,7 @@
\row
\li Code Snippet
\li Creates a qmake project from a code snippet. When working on
- bug reports that contain a code snippet, you can place the code
+ bug reports that have a code snippet, you can place the code
snippet into a project to compile and check it.
\row
\li {1,4} Non-Qt Project
@@ -230,7 +229,7 @@
\section1 Specifying Project Contents
- A project can contain files that should be:
+ A project can have files that should be:
\list
\li Compiled or otherwise handled by the build
@@ -333,7 +332,7 @@
\uicontrol {New Subproject}. Follow the steps in the
\uicontrol {New Subproject} wizard to create a subproject.
- \image qtcreator-new-qt-quick-project.png
+ \image qtcreator-project-qt-quick.webp {New Project dialog}
To add an existing project as a subproject, select
\uicontrol {Add Existing Projects} in the context menu.
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards-json.qdocinc b/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards-json.qdocinc
index 8a31b460c0..d4c0009db1 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards-json.qdocinc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards-json.qdocinc
@@ -62,7 +62,7 @@
\section1 Creating Wizards
- \QC contains wizards for adding classes, files, and projects. You can
+ \QC has wizards for adding classes, files, and projects. You can
use them as basis for adding your own wizards. We use the C++ wizard
to explain the process and the sections and settings in the .json file.
@@ -116,8 +116,8 @@
\li \c supportedProjectTypes is an optional setting that
can be used to filter wizards when adding a new build
- target to an existing project. For example, only wizards
- that produce qmake projects should be provided when
+ target to an existing project. For example, show only
+ wizards that produce qmake projects when
adding a new target to an existing qmake project.
Possible values are the build systems supported by \QC
@@ -222,7 +222,7 @@
\endlist
- \li The \c options section contains an array of objects with \e key
+ \li The \c options section has an array of objects with \e key
and \e value attributes. You can define your own variables to
use in the configuration and template source files, in addition
to the predefined variables. For example, the C++ class creation
@@ -302,7 +302,7 @@
\li \c data specifies the wizard pages. In the C++ wizard,
it specifies a \c Fields page and a \c Summary page. The
- \c Fields page contains the \c CheckBox, \c ComboBox,
+ \c Fields page has the \c CheckBox, \c ComboBox,
\c LineEdit, \c PathChooser, and \c Spacer widgets. For
more information about the widgets, see
\l{Available Widgets}.
@@ -364,10 +364,10 @@
\li \c Features lists all features available via any of the kits
configured in \QC.
- \li \c Plugins contains a list of all plugins running in the current
+ \li \c Plugins has a list of all plugins running in the current
instance of \QC.
- \li \c Platform contains the platform selected in the \uicontrol File >
+ \li \c Platform has the platform selected in the \uicontrol File >
\uicontrol {New Project} or \uicontrol {New File} dialog. This value
may be empty.
\endlist
@@ -378,7 +378,7 @@
\list
\li \c InitialPath with the path to the selected node.
- \li \c ProjectExplorer.Profile.Ids contains a list of Kits configured
+ \li \c ProjectExplorer.Profile.Ids has a list of Kits configured
for the project of the selected node.
\endlist
@@ -389,7 +389,7 @@
\section2 Field Page
- A Field page has the \c typeId value \c Field and contains widgets. For more
+ A Field page has the \c typeId value \c Field and has widgets. For more
information about widget definitions, see \l{Available Widgets}.
\code
@@ -451,13 +451,13 @@
\section2 Kits
A Kits page has the \c typeId value \c Kits. The \c data section of a Kits
- page contains an object with the following settings:
+ page has an object with the following settings:
\list
\li \c projectFilePath with the path to the project file.
\li \c requiredFeatures with a list of strings or objects that describe
- the features that a kit must provide to be listed on the page.
+ the features that a kit must have to appear on the page.
When a string is found, this feature must be set. When using an
object instead, the following settings are checked:
@@ -493,7 +493,7 @@
\section2 Project
- A Project page has the \c typeId value \c Project. It contains no data or an
+ A Project page has the \c typeId value \c Project. It has no data or an
object with the \c trDescription property which will be shown on the
generated page. \c trDescription defaults to \c {%\{trDescription\}}, which
is filled in with the information taken from the \c trDescription
@@ -513,7 +513,7 @@
\section2 Summary
- A Summary page has the \c typeId value \c Summary. It contains no data or
+ A Summary page has the \c typeId value \c Summary. It has no data or
an empty object.
\code
@@ -574,8 +574,8 @@
\li \c arguments with the arguments to pass to \c command.
- \li \c timeOutFactor can be used to provide for longer than
- default timeouts for long-running commands.
+ \li \c timeOutFactor extends default timeouts for long-running
+ commands.
\li \c enabled which will be evaluated to decide whether or
not to actually execute this job.
@@ -605,7 +605,7 @@
\li Text Edit
\endlist
- \note Wizards support only the the settings documented in the following
+ \note Wizards support only the settings documented in the following
sections.
Specify the following settings for each widget:
@@ -634,7 +634,7 @@
\li \c persistenceKey makes the user choice persistent. The value is
taken to be a settings key. If the user changes the default
- value of the widget, the user-provided value is stored and will
+ value of the widget, the user's value is stored and will
become the new default value the next time the wizard is run.
\li \c visible is set to \c true if the widget is visible, otherwise
@@ -722,9 +722,9 @@
\list
\li \c items specifies a list of items to put into the list type. The
- list can contain both JSON objects and plain strings.
+ list can have both JSON objects and plain strings.
For JSON objects, define \c trKey and \c value pairs, where the
- \c trKey is the list item visible to users and \c value contains
+ \c trKey is the list item visible to users and \c value has
the data associated with the item.
In addition, you can use \c icon to specify an icon for the list
item and \c trToolTip to specify a tooltip for it.
@@ -758,7 +758,7 @@
\li \c wordWrap is set to \c true to enable word wrap. By default, it is
set to \c{false}.
- \li \c trText contains the label text to display.
+ \li \c trText has the label text to display.
\endlist
@@ -811,7 +811,7 @@
case.
\li \c isPassword is a boolean value that specifies that the line edit
- contains a password, which will be masked.
+ has a password, which will be masked.
\li \c historyId is a key that specifies the name for a list of items
for the history completer. This value and \c completion are
@@ -908,7 +908,7 @@
\list
\li \c source specifies the path and filename of the template file
- relative to the directory containing the \c {wizard.json} file.
+ relative to the directory that has the \c {wizard.json} file.
If \c source is unset, it is assumed that the file with the name
given in \c target is generated by some other means. This is useful
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards.qdoc
index b6f786f1ad..f2dae9f9ce 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards.qdoc
@@ -19,9 +19,9 @@
files.
You can create custom wizards in JSON format. They are stored in wizard
- template directories that contain a JSON configuration file called
+ template directories that have a JSON configuration file called
\c {wizard.json} and any template files needed. The configuration file
- contains sections that specify information about the wizard, variables
+ has sections that specify information about the wizard, variables
that you can use, wizard pages, and generators for creating files.
To create a customized wizard, copy a template directory to the shared
@@ -49,7 +49,7 @@
You can add wizard pages to allow developers to specify settings for the
project.
- A file wizard is similar, but does not contain any project file.
+ A file wizard is similar, but does not have any project file.
\section1 Locating Wizards
@@ -130,7 +130,7 @@
\c wizard.json file. If it does not find the file, it does not show
the message.
- If the file contains errors, such as an invalid icon path, you receive the
+ If the file has errors, such as an invalid icon path, you receive the
following types of messages:
\code
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-generic.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-generic.qdoc
index 8acb985d3c..c4ebbdb3e6 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-generic.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-generic.qdoc
@@ -121,7 +121,7 @@
\section1 Forwarding Flags to Clang Code Model
- The \c {.cxxflags} and \c {.cflags} files contain command line flags for the
+ The \c {.cxxflags} and \c {.cflags} files have command line flags for the
Clang code model on a single line.
For example, specify the \c {-std=c++11} to set the language version
@@ -131,7 +131,7 @@
If you want to run your application on a remote Linux device,
you first need to deploy your executable and possibly other files.
- \QC does that for you automatically if you provide the necessary
+ \QC does that for you automatically if you enter the necessary
information. This works the same way as explained for CMake in
\l {Deploying to Remote Linux},
except that you also need to include your application binary in the list.
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc
index f48b8fe649..c63cf151d1 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc
@@ -48,7 +48,7 @@
The default convention on Windows is that the debug and release versions
of a library have the same name, but are placed in different subdirectories,
- usually called \e debug and \e release. If the library path does not contain
+ usually called \e debug and \e release. If the library path does not have
either of these folders, you cannot select the option to place the libraries
in separate folders.
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-nimble.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-nimble.qdoc
index 7573f3c907..b183eec891 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-nimble.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-nimble.qdoc
@@ -30,7 +30,7 @@
\list 1
\li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Kits
\uicontrol Compilers > \uicontrol Add > \uicontrol Nim to specify
- the path to the the Nim compiler.
+ the path to the Nim compiler.
\li Select \uicontrol Apply to add the compiler.
\li Select \uicontrol Kits > \uicontrol Add to add a kit for building
applications with Nimble:
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-opening.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-opening.qdoc
index 6563358d77..d06989e66f 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-opening.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-opening.qdoc
@@ -97,6 +97,6 @@
To show or hide detailed progress information, select
\uicontrol {Toggle Progress Details} (1).
- \image creator-toggle-progress-bar.png "Toggle Progress Details button"
+ \image qtcreator-toggle-progress-bar.webp {Toggle Progress Details button}
*/
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-other.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-other.qdoc
index 6451b3ad5a..d22e6f4266 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-other.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-other.qdoc
@@ -17,7 +17,7 @@
Most \QC project wizards enable you to choose the build system to use for
building the project: qmake, CMake, Meson, or Qbs. qmake is installed and
configured when you install Qt. To use one of the other supported build
- systems, you need to set it up, as described in the the following sections:
+ systems, you need to set it up, as described in the following sections:
\list
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-qt-versions.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-qt-versions.qdoc
index bddad912d2..9d3af4d82c 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-qt-versions.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-qt-versions.qdoc
@@ -15,7 +15,7 @@
\title Adding Qt Versions
You can install multiple versions of Qt development PC and use them to build
- your projects. For example, \l{glossary-device}{device} manufacturers provide
+ your projects. For example, \l{glossary-device}{device} manufacturers offer
special Qt versions for developing applications for their devices.
\section1 Registering Installed Qt Versions
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build-qbs.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build-qbs.qdoc
index 45b08dcb4f..71b13ce437 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build-qbs.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build-qbs.qdoc
@@ -8,7 +8,7 @@
\title Qbs Build Configuration
- \image qtcreator-build-settings-qbs.png "Qbs build settings"
+ \image qtcreator-build-settings-qbs.png {Qbs build settings}
Qbs builds projects in the directory specified in the
\uicontrol {Build Directory} field.
@@ -33,15 +33,22 @@
\section1 Qbs Build Steps
- \image creator-qbs-build-app.png "Qbs build steps"
+ \image creator-qbs-build-app.png {Qbs build steps}
To specify build steps for Qbs:
\list 1
- \li In the \uicontrol {Build variant} field, select \uicontrol Debug to
- include debug symbols in the build for debugging the application and
- \uicontrol Release to create the final installation file.
+ \li In the \uicontrol {Build variant} field, select:
+ \list
+ \li \uicontrol Debug to include debug symbols in the build for
+ debugging the application.
+ \li \uicontrol Profile for an optimized release build that is
+ delivered with separate debug information. It is best suited
+ for analyzing applications.
+ \li \uicontrol Release to create the final installation binary
+ package.
+ \endlist
\li In the \uicontrol ABIs field, select the ABIs for
the \l{Connecting Android Devices}{Android} device
@@ -56,18 +63,18 @@
\l{http://doc.qt.io/qbs/language-introduction.html}
{Modules} in the Qbs Manual.
- \li In the \uicontrol Flags field:
+ \li In the \uicontrol Flags field, select:
\list
- \li Select \uicontrol {Keep going} to continue building when
+ \li \uicontrol {Keep going} to continue building when
errors occur, if possible.
- \li Select \uicontrol {Show command lines} to print actual
+ \li \uicontrol {Show command lines} to print actual
command lines to \l{Compile Output} instead of
high-level descriptions.
- \li Select \uicontrol {Force probes} to force re-execution of
+ \li \uicontrol {Force probes} to force re-execution of
the configure scripts of
\l{https://doc.qt.io/qbs/qbsprobes-qmlmodule.html}{Probes}.
@@ -108,7 +115,7 @@
When building with Qbs, you can specify flags in \uicontrol {Clean Steps}:
- \image creator-qbs-build-clean.png "Qbs clean steps"
+ \image creator-qbs-build-clean.png {Qbs clean steps}
\list
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc
index 368024f4ef..69315c8a4d 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc
@@ -16,15 +16,15 @@
Different build configurations allow you to quickly switch between
different build settings. By default, \QC creates \e debug, \e release, and
- \e profile build configurations. A debug build contains additional
+ \e profile build configurations. A debug build has additional
debug symbols that you need for debugging the application but that you
can leave out from the release version. Generally, you use the debug
configuration for testing and the release configuration for creating
- the final installation file.
+ the final installation binary package.
If you selected CMake as the build system for the project, you can
use a \e {minimum size release} build configuration to create the
- final installation file. It is a release build that makes the size
+ final installation binary package. It is a release build that makes the size
of the binary package as small as possible, even if this makes the
application slower.
@@ -72,6 +72,19 @@
For more information about debugging Qt Quick projects, see
\l{Setting Up QML Debugging}.
+ \section1 Building on Remote Devices
+
+ You can build applications on \l{Connecting Remote Linux Devices}
+ {remote Linux} or \l{Adding Docker Devices}{Docker} devices if you
+ have kits that specify the devices and toolchains to use. When the
+ build device of the kit is a remote device, such as a remote Linux or
+ Docker device, the \uicontrol Browse button next to the
+ \uicontrol {Build directory} field shows options for selecting remote
+ directories.
+
+ Also, the \uicontrol {Open Terminal} button in the
+ \uicontrol {Build Environment} section opens a terminal on the device.
+
\section1 Starting External Processes
\QC executes external processes to accomplish tasks such as building
@@ -91,7 +104,7 @@
\uicontrol {Default arguments}, \uicontrol {Extra arguments},
\uicontrol {Make arguments}, or \uicontrol {Tool arguments}.
You can create shell command lines
- that can contain redirection and other advanced constructs. However, some
+ that can have redirection and other advanced constructs. However, some
more complex use cases, such as piping test data into the application being
tested or grouping commands, are not supported because the value of the
\uicontrol Executable field is always placed first when constructing the command.
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-code-style.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-code-style.qdoc
index 1a57d2bdb9..083fd14fc3 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-code-style.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-code-style.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2019 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -12,40 +12,37 @@
\page creator-code-style-settings.html
\nextpage creator-build-dependencies.html
- \title Specifying Code Style Settings
+ \title Specifying Code Style
\QC uses the \l{Editing MIME Types}{MIME type} of the file to
determine which mode and editor to use for opening the file.
\QC opens C++ files in \uicontrol Edit mode in the C++ code editor and
QML files in the Qt Quick editor.
- You can configure the code style according to your needs. You can specify
- code style either globally for all projects or separately for each
- project. You can specify several sets of code style settings and easily
- switch between them. In addition, you can import and export code style
- settings.
-
- \image qtcreator-projects-code-style.png "Code Style settings in Projects mode"
-
- Alternatively, you can enable the Clang Format plugin to enforce
- the code style specified in a \c {.clang-format} file. It uses the
+ \QC uses ClangFormat to enforce the C++ code style specified in a
+ \c {.clang-format} file. It uses the
\l{https://clang.llvm.org/docs/LibFormat.html}{LibFormat} library for
automatic code formatting and indentation. For more information, see
- \l {Automatic Formatting and Indentation}.
+ \l {Indenting C++ Files}.
- \image qtcreator-code-style-clang-format.png "Clang Format Code Style settings in Projects mode"
+ \image qtcreator-code-style-clang-format-project.webp {Code Style settings in Projects mode}
- To specify global code style settings sets for C++ files, select
+ In rare cases, ClangFormat can trip over a code construct and
+ trigger a \QC crash. If that happens for your project, select
+ \uicontrol {Formatting mode} > \uicontrol Disable to switch
+ ClangFormat off for the project. If you can reproduce the crash,
+ please select \uicontrol Help > \uicontrol {Report Bug} to report
+ the bug and and attach the code that triggers the crash.
+
+ To specify a global code style for C++ files, select
\uicontrol Edit > \uicontrol Preferences > \uicontrol C++.
- \image qtcreator-code-style-settings-edit-cpp.png "Edit Code Style Settings dialog"
+ \image qtcreator-code-style-clang-format-global.webp {Code Style preferences}
- To specify global code style settings sets for QML files, select
+ To specify a global code style for QML files, select
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Qt Quick}.
- \image qtcreator-code-style-settings-edit-qtquick.png "Edit Code Style Settings view"
-
- Only \uicontrol General settings are available for QML files.
+ \image qtcreator-code-style-settings-edit-qtquick.png {Code Style view}
To configure the editor behavior for the current project:
@@ -62,7 +59,7 @@
\li Give a name to the settings and click \uicontrol OK.
- \li Click \uicontrol Edit to specify code style settings for the project.
+ \li Click \uicontrol Edit to specify a code style for the project.
\endlist
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 5ee2b30237..fff52cf570 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
@@ -77,7 +77,7 @@
\li \l{Specifying Editor Settings}{Editor}
- \li \l{Specifying Code Style Settings}{Code Style}
+ \li \l{Specifying Code Style}{Code Style}
\li \l{Specifying Dependencies}{Dependencies}
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc
index f39a31fb0a..27fe9ade25 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc
@@ -10,6 +10,15 @@
and the working directory to use. The working directory defaults to
the directory of the build result.
+ Select \uicontrol {Add Deploy Step} > \uicontrol {CMake Install} to add the
+ \l{https://cmake.org/cmake/help/latest/manual/cmake.1.html#install-a-project}
+ {install} option. It runs installation without using the generated build
+ system or the native build tool. \QC automatically adds the value of the
+ \uicontrol {Working directory} field as the installation directory in the
+ \c {--install} signature.
+
+ \image qtcreator-settings-run-desktop.webp {Run Settings}
+
For console applications, check the \uicontrol{Run in terminal} check box.
To specify the terminal to use on Linux and \macos, select \uicontrol Edit
> \uicontrol Preferences > \uicontrol Environment > \uicontrol System.
@@ -18,8 +27,6 @@
\uicontrol {Run Environment} section. For more information, see
\l {Selecting the Run Environment}.
- \image qtcreator-pprunsettings.png
-
When building an application, \QC creates a list of directories where the
linker will look for libraries that the application links to. By
default, the linked libraries are made visible to the executable that
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run.qdoc
index 581dcd73e9..6f489f4b30 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run.qdoc
@@ -21,7 +21,7 @@
To view and modify them, select \uicontrol Projects >
\uicontrol {Build & Run} > \uicontrol Run.
- \image qtcreator-settings-run.png "Run Settings"
+ \image qtcreator-settings-run.webp {Run Settings}
To prevent \QC from automatically creating run configurations, select
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Build & Run},
@@ -104,7 +104,7 @@
You can edit existing environment variables or add, reset and unset new
variables.
- \image qtcreator-run-environment.png "Run Environment section"
+ \image qtcreator-run-environment.png {Run Environment section}
When running on the desktop, the \uicontrol {Build Environment} is used by
default, but you can also use the \uicontrol {System Environment} without the
@@ -130,7 +130,7 @@
Specify the executable to run, command line arguments, working directory,
and environment variables to use.
- \image qmldesigner-run-custom-exe.png "Run settings for custom executables"
+ \image qmldesigner-run-custom-exe.png {Run settings for custom executables}
\include qtquick/creator-projects-settings-run-qtquick.qdocinc run settings qt quick ui
\include python/creator-python-run.qdocinc run settings python
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc
index 382b18aaec..ee57314918 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc
@@ -16,7 +16,7 @@
\QC stores user-specific project settings in a \e {.user} file. You can
share these settings between several projects as a \e {.shared} file. It
- has the same XML structure as a \e {.user} file, but only contains the
+ has the same XML structure as a \e {.user} file, but only has the
settings to share.
\section1 Creating Shared Settings File
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-targets.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-targets.qdoc
index a242e94e15..04b639f1dd 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-targets.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-targets.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2022 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -30,11 +30,12 @@
\li \l{https://doc.qt.io/Boot2Qt/b2qt-installation-guides.html}
{Boot2Qt Device} (commercial only)
\li \l{Emulator}{Boot2Qt Emulator Device} (commercial only)
- \li \l{Connecting Remote Linux Devices}{Remote Linux Device}
+ \li \l{Adding Docker Devices}{Docker Device} (experimental)
\li \l{Connecting iOS Devices}{iOS Device}
\li iOS Simulator
\li \l{Connecting MCUs}{MCU Device} (commercial only)
\li \l{Connecting QNX Devices}{QNX Device}
+ \li \l{Connecting Remote Linux Devices}{Remote Linux Device}
\li \l{Building Applications for the Web}{WebAssembly Runtime}
\endlist
diff --git a/doc/qtcreator/src/projects/creator-projects-running.qdoc b/doc/qtcreator/src/projects/creator-projects-running.qdoc
index 874d9e346e..2393c4d2bb 100644
--- a/doc/qtcreator/src/projects/creator-projects-running.qdoc
+++ b/doc/qtcreator/src/projects/creator-projects-running.qdoc
@@ -61,7 +61,7 @@
useful when developing Qt Quick applications because the QML files are
interpreted at runtime. Therefore, the application does not need to be
built again if you edited only QML files. This saves time especially if
- the application contains large image files that would need to be bundled
+ the application has large image files that would need to be bundled
into the resource file before running the application.
\image qtcreator-application-output.png
diff --git a/doc/qtcreator/src/projects/qtcreator-variables.qdocinc b/doc/qtcreator/src/projects/qtcreator-variables.qdocinc
index bfb90b4943..eef3870698 100644
--- a/doc/qtcreator/src/projects/qtcreator-variables.qdocinc
+++ b/doc/qtcreator/src/projects/qtcreator-variables.qdocinc
@@ -34,7 +34,7 @@
%{variable//pattern/replacement}
\endcode
- The pattern can be a regular expression and the replacement can contain
+ The pattern can be a regular expression and the replacement can have
backreferences. For example, if \c %{variable} is \c my123var, then
\c %{variable/(..)(\d+)/\2\1} is expanded to \c {123myvar}.
diff --git a/doc/qtcreator/src/python/creator-python-project.qdocinc b/doc/qtcreator/src/python/creator-python-project.qdocinc
index 4d32d5abff..436e712f0b 100644
--- a/doc/qtcreator/src/python/creator-python-project.qdocinc
+++ b/doc/qtcreator/src/python/creator-python-project.qdocinc
@@ -13,24 +13,31 @@
If you have not installed PySide6, \QC prompts you to install it after
you create the project. Further, it prompts you to install the
- \l {Python Language Server}{Python language server} that provides services
+ \l {Python Language Server}{Python language server} that offers services
such as code completion and annotations. Select \uicontrol Install to install
PySide6 and the language server.
- To view and manage the available Python interpreters, select \uicontrol Edit
- > \uicontrol Preferences > \uicontrol Python > \uicontrol Interpreters.
+ You can see the current Python interpreter on the \uicontrol Edit mode
+ toolbar.
- \image qtcreator-python-interpreters.png "Python Interpreters in Preferences"
+ \image qtcreator-python-interpreter-edit-mode.webp {Python interpreter on the Edit mode toolbar}
+
+ To see the available interpreters and change their paths, select
+ the interpreter, and then select \uicontrol {Manage Python Interpreters}.
+ Or, select \uicontrol Edit > \uicontrol Preferences > \uicontrol Python >
+ \uicontrol Interpreters.
+
+ \image qtcreator-python-interpreters.png {Python Interpreters in Preferences}
You can add and remove interpreters and clean up references to interpreters
that you uninstalled, but that still appear in the list. In addition, you
can set the interpreter to use by default.
The Qt for Python Application wizards generate a \c {.pyproject} file that
- lists the files in the Python project and a \c {.py} file that contains
+ lists the files in the Python project and a \c {.py} file that has
some boilerplate code. In addition, the widget-based UI wizard creates a
- \c {.ui} file that contains a \QD form, and the Qt Quick Application wizard
- creates a \c {.qml} file that contains Qt Quick controls.
+ \c {.ui} file that has a \QD form, and the Qt Quick Application wizard
+ creates a \c {.qml} file that has Qt Quick controls.
The \c{.pyproject} files are JSON-based configuration files that replace
the previously used \c {.pyqtc} configuration files. You can still open and
@@ -38,13 +45,13 @@
for new projects.
The \uicontrol {Window UI} wizard enables you to
- create a Python project that contains the source file for a class. Specify
- the PySide version, class name, base class, and and source file for the
+ create a Python project that has the source file for a class. Specify
+ the PySide version, class name, base class, and source file for the
class.
- \image qtcreator-python-wizard-app-window.png "Qt for Python wizard for creating a widget-based UI"
+ \image qtcreator-python-wizard-app-window.png {Qt for Python wizard for creating a widget-based UI}
- The wizard adds the imports to the source file to provide
+ The wizard adds the imports to the source file for
access to the QApplication, the base class you selected in the Qt
Widgets module, and Qt UI tools:
@@ -117,7 +124,7 @@
Python application. Select \uicontrol REPL on the toolbar to start the
\l{https://pythonprogramminglanguage.com/repl/}{Python interactive shell}.
To start the shell and import the current file as a module, select
- select \uicontrol {REPL Import File}. To also import all functions from
+ \uicontrol {REPL Import File}. To also import all functions from
the file, select \uicontrol {REPL Import *}.
Always regenerate the Python code after modifying a UI file.
@@ -147,12 +154,12 @@
\section1 Creating Qt Quick Based Python Applications
The \uicontrol {Qt for Python - Qt Quick Application - Empty} wizard enables
- you to create a Python project that contains a main QML file. Specify the
+ you to create a Python project that has a main QML file. Specify the
minimum PySide version to run the application.
- \image qtcreator-python-wizard-qml.png "Qt for Python wizard for creating an empty Qt Quick application"
+ \image qtcreator-python-wizard-qml.png {Qt for Python wizard for creating an empty Qt Quick application}
- The wizard adds the following imports to the source file to provide access
+ The wizard adds the following imports to the source file for access
to QGuiApplication and QQmlApplicationEngine:
\badcode
diff --git a/doc/qtcreator/src/qnx/creator-developing-qnx.qdoc b/doc/qtcreator/src/qnx/creator-developing-qnx.qdoc
index d6da86d0ee..6f5361c2c4 100644
--- a/doc/qtcreator/src/qnx/creator-developing-qnx.qdoc
+++ b/doc/qtcreator/src/qnx/creator-developing-qnx.qdoc
@@ -10,9 +10,8 @@
\title Connecting QNX Devices
You can connect QNX devices to the development PC to deploy, run and debug
- applications on them from within \QC. The QNX Neutrino RTOS should provide
- a few additional command line tools and services, as described in
- \l {Qt for QNX}.
+ applications on them from within \QC. The QNX Neutrino RTOS has additional
+ command line tools and services, as described in \l {Qt for QNX}.
\note In Qt 6, \QC support for QNX is considered experimental.
diff --git a/doc/qtcreator/src/qnx/creator-projects-running-qnx.qdocinc b/doc/qtcreator/src/qnx/creator-projects-running-qnx.qdocinc
index 9f0071e1dc..4413be5d1d 100644
--- a/doc/qtcreator/src/qnx/creator-projects-running-qnx.qdocinc
+++ b/doc/qtcreator/src/qnx/creator-projects-running-qnx.qdocinc
@@ -28,8 +28,8 @@
\section2 Troubleshooting Errors
To support running, debugging, and stopping applications from \QC, the QNX
- Neutrino RTOS should provide a few additional command line tools and
- services, as described in \l {Qt for QNX}.
+ Neutrino RTOS has additional command line tools and services, as described
+ in \l {Qt for QNX}.
\section3 Debug Output Cannot Be Shown
diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc
index 62fbde3516..d514c329c3 100644
--- a/doc/qtcreator/src/qtcreator-toc.qdoc
+++ b/doc/qtcreator/src/qtcreator-toc.qdoc
@@ -46,6 +46,7 @@
\li \l{Using Bazaar}
\li \l{Using ClearCase}
\li \l{Using CVS}
+ \li \l{Using Fossil}
\li \l{Using Git}
\li \l{Using GitLab}
\li \l{Using Mercurial}
@@ -69,7 +70,7 @@
\endlist
\li \l{Specifying Run Settings}
\li \l{Specifying Editor Settings}
- \li \l{Specifying Code Style Settings}
+ \li \l{Specifying Code Style}
\li \l{Specifying Dependencies}
\li \l{Specifying Environment Settings}
\li \l{Using Custom Output Parsers}
@@ -164,7 +165,24 @@
\list
\li \l{Setting Up Debugger}
\li \l{Launching the Debugger}
- \li \l{Interacting with the Debugger}
+ \li \l{Debug Mode Views}
+ \list
+ \li \l{Viewing Call Stack Trace}
+ \li \l{Setting Breakpoints}
+ \li \l{Viewing Threads}
+ \li \l{Viewing Modules}
+ \li \l{Viewing Source Files}
+ \li \l{Local Variables and Function Parameters}
+ \li \l{Evaluating Expressions}
+ \li \l{Viewing and Editing Register State}
+ \li \l{Directly Interacting with Native Debuggers}
+ \li \l{Viewing Disassembled Code}
+ \li
+ \endlist
+ \li \l{Stopping Applications}
+ \li \l{Examining Data}
+ \li \l{Remote Debugging}
+ \li \l{Debugger Preferences}
\li \l{Using Debugging Helpers}
\li \l{Debugging Qt Quick Projects}
\li \l{Debugging a C++ Example Application}
diff --git a/doc/qtcreator/src/qtcreator.qdoc b/doc/qtcreator/src/qtcreator.qdoc
index fe7e2c788d..50cbe7024e 100644
--- a/doc/qtcreator/src/qtcreator.qdoc
+++ b/doc/qtcreator/src/qtcreator.qdoc
@@ -13,7 +13,7 @@
\title Qt Creator Manual
- \QC provides a cross-platform, complete integrated development environment
+ \QC is a cross-platform, complete integrated development environment
(IDE) for application developers to create applications for multiple
\l{Desktop Platforms}{desktop}, \l {Embedded Platforms}{embedded}, and
\l{Mobile Platforms}{mobile device} platforms, such as \l Android and
diff --git a/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc b/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc
index 23e5cfb68d..7ca4ea2a01 100644
--- a/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc
+++ b/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc
@@ -163,7 +163,7 @@
update the CMake configuration with the following Qt module information:
\c Sensors, \c Svg, \c Xml.
- The \e CMakeLists.txt file should contain the following entries that tell
+ The \e CMakeLists.txt file should have the following entries that tell
CMake to look up the Qt installation and import the Qt Sensors, Qt SVG,
and Qt XML modules needed by the application:
diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-development.qdoc b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-development.qdoc
index 6e5e351f3c..44fa152758 100644
--- a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-development.qdoc
+++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-development.qdoc
@@ -48,7 +48,7 @@
Qt Quick UI projects (.qmlproject) are useful for creating user
interfaces. To use them for application development, you have to
- convert them to Qt Quick Application projects that contain .pro,
+ convert them to Qt Quick Application projects that have .pro,
.cpp, and .qrc files.
\li \l {UI Files}
diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc
index bda9e67875..4aca5466c3 100644
--- a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc
+++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc
@@ -22,12 +22,12 @@
For more examples, see \l{Qt Quick Examples and Tutorials}.
- You can develop Qt Quick applications also in \QDS. For more information,
- see \l{Qt Design Studio Manual}.
+ You can use a visual editor to develop Qt Quick applications in \QDS. For
+ more information, see \l{Qt Design Studio Manual}.
\include qtquick-tutorial-create-empty-project.qdocinc qtquick empty application
- \QC generates a component file, \e main.qml, and opens it in the
+ \QC generates a component file, \e Main.qml, and opens it in the
\uicontrol Edit mode.
\section1 Deploying Applications
@@ -66,7 +66,7 @@
\li Select \uicontrol Finish to create \e Page.qml.
\endlist
- \QC opens \e Page.qml in the \uicontrol Edit mode. It contains a root item
+ \QC opens \e Page.qml in the \uicontrol Edit mode. It has a root item
of the type \l Item that we replace with a \l Rectangle type. We give the
type the ID \e page, anchor it to the parent item on all sides, and set
its color to white:
@@ -106,7 +106,7 @@
\printuntil border.color
We anchor the rectangles to their parent to position them in its
- top-left and and bottom-left corners, as well as the vertical center
+ top-left and bottom-left corners, as well as the vertical center
of its right edge. The following code snippet anchors a rectangle to
the top-left corner of its parent:
diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-creating.qdoc b/doc/qtcreator/src/qtquick/creator-only/qtquick-creating.qdoc
index 4516d30afb..af5f9ac321 100644
--- a/doc/qtcreator/src/qtquick/creator-only/qtquick-creating.qdoc
+++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-creating.qdoc
@@ -14,8 +14,6 @@
\title Creating Qt Quick Projects
- \image qtcreator-new-qt-quick-project.png "New Project dialog"
-
The following table lists the wizard templates for creating a new
Qt Quick project from scratch.
@@ -27,34 +25,37 @@
\row
\li Application (Qt)
\li Qt Quick Application
- \li Creates a Qt Quick 2 application project that can contain both
+ \li Creates a Qt Quick application project that can have both
QML and C++ code. You can build the application and deploy it
to desktop, embedded, and mobile target platforms.
+
+ You can select an option to create a project that you can open
+ in \QDS.
\row
\li Application (Qt for Python)
\li Qt for Python - Qt Quick Application
- \li Creates a Python project that contains an empty Qt Quick
+ \li Creates a Python project that has an empty Qt Quick
Application.
\row
\li Other Project
\li Qt Quick UI Prototype
\li Creates a Qt Quick UI project with a single QML file that
- contains the main view. You can preview Qt Quick 2 UI projects
+ has the main view. You can preview Qt Quick UI projects
in the QML Scene preview tool. You do not need to build them
- because they do not contain any C++ code.
+ because they do not have any C++ code.
This project type is compatible with \QDS. However, use this
template only if you are prototyping. You cannot create
a full application by using this template.
- Qt Quick UI projects cannot be deployed to embedded or mobile
- target platforms. For those platforms, create a Qt Quick
+ You cannot deploy Qt Quick UI projects to embedded or
+ mobile target platforms. For those platforms, create a Qt Quick
application instead.
\row
\li Library
\li Qt Quick 2 Extension Plugin
\li Creates C++ plugins that make it possible to offer extensions
- that can be loaded dynamically into Qt Quick 2 applications.
+ that can be loaded dynamically into Qt Quick applications.
\endtable
\note The SDK for a particular target platform might install additional
@@ -72,6 +73,8 @@
\uicontrol {Application (Qt)} > \uicontrol {Qt Quick Application}
> \uicontrol Choose.
+ \image qtcreator-project-qt-quick.webp {New Project dialog}
+
\li In the \uicontrol {Project Location} dialog, \uicontrol Name field,
enter a name for the project. Keep in mind that you cannot easily
change the project name later.
@@ -84,6 +87,11 @@
\li Select \uicontrol Next (or \uicontrol Continue on \macos) to open
the \uicontrol {Define Build System} dialog.
+ \image qtcreator-project-qt-quick-details.webp {Define Project Details dialog}
+
+ To create a project that you can develop with a visual editor in
+ \QDS, select \uicontrol {Create a project that you can open in \QDS}.
+
\li In the \uicontrol {Build system} field, select the build system to
use for building and running the project: \l qmake,
\l {Setting Up CMake}{CMake}, or \l {Setting Up Qbs}{Qbs}.
@@ -101,20 +109,9 @@
\note If you have not installed the Qt Virtual Keyboard module when
you installed Qt, an error message will appear when you try to open
- \e main.qml for editing. You can use the \l {Installing Qt}
+ \e Main.qml for editing. You can use the \l {Installing Qt}
{Qt Maintenance Tool} to install Qt Virtual Keyboard.
- \li Select \uicontrol Next to open the \uicontrol {Translation File}
- dialog.
-
- \li In the \uicontrol Language field, select a language that you plan
- to \l {Using Qt Linguist}{translate} the application to. You can
- add other languages later by editing the project file.
-
- \li In the \uicontrol {Translation file} field, you can edit the
- name for the translation source file that will be generated
- for the selected language.
-
\li Select \uicontrol Next to open the \uicontrol {Kit Selection}
dialog.
@@ -136,7 +133,7 @@
\endlist
- \QC creates a QML file, \e main.qml, that you can modify in the
+ \QC creates a QML file, \e Main.qml, that you can modify in the
\uicontrol Edit mode.
\include creator-python-project.qdocinc python qml project wizards
@@ -146,7 +143,7 @@
Qt Quick UI Prototype projects are useful for testing or prototyping user
interfaces,
or for setting up a separate project just for QML editing, for example. You
- cannot use them for application development because they do not contain:
+ cannot use them for application development because they do not have:
\list
\li C++ code
diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-designer-plugin.qdoc b/doc/qtcreator/src/qtquick/creator-only/qtquick-designer-plugin.qdoc
index aa4e3b8b59..7e95c03bb2 100644
--- a/doc/qtcreator/src/qtquick/creator-only/qtquick-designer-plugin.qdoc
+++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-designer-plugin.qdoc
@@ -16,7 +16,7 @@
UI files. The functionality is restricted and not all \QDS
features are supported.
- To use \QMLD, switch to the \uicontrol Design mode when a ui.qml or or .qml
+ To use \QMLD, switch to the \uicontrol Design mode when a ui.qml or .qml
file is open.
For more information about using \QMLD, see \l{Qt Design Studio Manual}.
diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-tutorial-create-empty-project.qdocinc b/doc/qtcreator/src/qtquick/creator-only/qtquick-tutorial-create-empty-project.qdocinc
index e1f5e5491d..5c933d5305 100644
--- a/doc/qtcreator/src/qtquick/creator-only/qtquick-tutorial-create-empty-project.qdocinc
+++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-tutorial-create-empty-project.qdocinc
@@ -11,6 +11,8 @@
\li Select \uicontrol File > \uicontrol {New Project} >
\uicontrol {Application (Qt)} > \uicontrol {Qt Quick Application}.
+ \image qtcreator-project-qt-quick.webp {New Project dialog}
+
\li Select \uicontrol Choose to open the
\uicontrol {Project Location} dialog.
@@ -34,16 +36,20 @@
\li Select \uicontrol Next to open the
\uicontrol {Define Project Details} dialog.
+ \image qtcreator-project-qt-quick-details.webp {Define Project Details dialog}
+
\li In the \uicontrol {Minimum required Qt version} field, select
- Qt 6.2.
+ Qt 6.4.
- \li Select \uicontrol Next to open the \uicontrol {Translation File}
- dialog.
+ \note This tutorial shows you how to create the application in the
+ \uicontrol Edit mode. If you select
+ \uicontrol {Create a project that you can open in \QDS}, the
+ following instructions won't apply.
\li Select \uicontrol Next to use the default settings and to open
the \uicontrol {Kit Selection} dialog.
- \li Select Qt 6.2 or later \l{glossary-buildandrun-kit}{kits} for the
+ \li Select Qt 6.4 or later \l{glossary-buildandrun-kit}{kits} for the
platforms that you want to build the application for. To build
applications for mobile devices, select kits also for Android and
iOS.
diff --git a/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc b/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc
index 7283673037..158aac049c 100644
--- a/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc
@@ -29,7 +29,8 @@
\note Since \QDS 2.3.0, \QDS project wizard templates generate projects that
can be built with CMake. You can open the \e CMakeLists.txt project file in
- Qt Creator to continue developing the project.
+ Qt Creator to continue developing the project. Also, you can use Qt Creator
+ to create a Qt Quick Application project that you can open in \QDS.
\target wizard-template-note
\note Since \QDS 3.9.0, \QDS project wizard templates generate projects that
@@ -59,7 +60,7 @@
The wizard automatically adds the \c QML_IMPORT_PATH option to the project
file for specifying the required \l{QML Import Path}{QML import path}. The
- path is only needed if more than one subdirectory contains QML files.
+ path is only needed if more than one subdirectory has QML files.
Then you can use the \l QQuickView class in the main C++ source file to
show the main QML file when the application starts.
@@ -75,8 +76,7 @@
If you only install Qt Creator and Qt, remember to also select the
Qt Quick Timeline module for installation. If your Qt is older than
5.14, you must build the Qt Quick Timeline module and install it to
- your Qt to be able to build your project. For more information, see
- \l{Adding Qt Quick Timeline Module to Qt Installations}.
+ your Qt to be able to build your project.
\section1 Converting into qmake Projects
diff --git a/doc/qtcreator/src/qtquick/qtquick-modules-with-plugins.qdoc b/doc/qtcreator/src/qtquick/qtquick-modules-with-plugins.qdoc
index 34afcc1354..bc583e8465 100644
--- a/doc/qtcreator/src/qtquick/qtquick-modules-with-plugins.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-modules-with-plugins.qdoc
@@ -36,7 +36,7 @@
\c {imports\asset_imports}.
\li For Qt Quick UI projects (.qmlproject), specify the path to
- the directory that contains the module in the .qmlproject file
+ the directory that has the module in the .qmlproject file
of the application where you want to use the module
as a value of the \c importPaths variable. For example
\c{importPaths: [ "imports", "asset_imports" ]}.
@@ -77,7 +77,7 @@
When \l{Defining QML Types from C++}{registering QML types}, make sure that
the QML module has a \c{plugins.qmltypes} file. Ideally, it should be located
- in the same directory as the \c qmldir file. The \c qmltypes file contains a
+ in the same directory as the \c qmldir file. The \c qmltypes file has a
description of the components exported by the module's plugins and is loaded
by \QC when the module is imported.
diff --git a/doc/qtcreator/src/qtquick/qtquick-profiler.qdoc b/doc/qtcreator/src/qtquick/qtquick-profiler.qdoc
index 6b77748e45..61033ee685 100644
--- a/doc/qtcreator/src/qtquick/qtquick-profiler.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-profiler.qdoc
@@ -659,7 +659,7 @@
To view the total amount of memory allocated by the functions, select
\uicontrol Memory in the drop-down menu.
- To view the the number of memory allocations performed by the functions,
+ To view the number of memory allocations performed by the functions,
select \uicontrol Allocations.
Double-click an item in a view to zoom into it. Double-click an empty
diff --git a/doc/qtcreator/src/qtquick/qtquick-toolbars.qdoc b/doc/qtcreator/src/qtquick/qtquick-toolbars.qdoc
index 3541b706ca..a1eea8edfb 100644
--- a/doc/qtcreator/src/qtquick/qtquick-toolbars.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-toolbars.qdoc
@@ -26,7 +26,7 @@
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Qt Quick} >
\uicontrol {QML/JS Editing} > \uicontrol {Always show Qt Quick Toolbar}.
- \image qtcreator-qml-js-editing.png "QML/JS Editing preferences"
+ \image qtcreator-qml-js-editing.webp {QML/JS Editing preferences}
Drag the toolbar to pin it to another location. Select
\inlineimage icons/pin.png
@@ -60,6 +60,9 @@
You can change the font family and size as well as text formatting, style,
alignment, and color.
+ \note Move the mouse pointer over a color hex value in the code editor to
+ see the color as a tooltip.
+
If a property is assigned an expression instead of a value, you
cannot use the toolbar to edit it. The button for editing the property
is disabled.
diff --git a/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc b/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc
index a37467fc30..e47328e744 100644
--- a/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc
+++ b/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc
@@ -11,6 +11,11 @@
If you cannot see a file in the \l Projects view, switch to the
\uicontrol {File System} view, which shows all the files in the file system.
+ \note Usually, \l{Searching with the Locator}{searching with the locator}
+ is the fastest way to find a particular project, file, class, or function,
+ or almost anything else in your project. Use the \e {file system (f)} filter
+ to open files from anywhere in the file system.
+
\if defined(qtdesignstudio)
The following image displays the \uicontrol {File System} view in the
\uicontrol Design mode:
@@ -53,7 +58,7 @@
\li Open a project located in the selected directory.
\li Show the file or directory in the file explorer.
\li Open a terminal window in the selected directory or in the directory
- that contains the file. To specify the terminal to use on Linux and
+ that has the file. To specify the terminal to use on Linux and
\macos, select \uicontrol Edit > \uicontrol Preferences >
\uicontrol Environment > \uicontrol System.
\li Search from the selected directory.
@@ -83,7 +88,7 @@
\image qtcreator-filesystem-view.webp "File System view in the sidebar"
\else
- The toolbar in the \uicontrol {File System} view contains additional
+ The toolbar in the \uicontrol {File System} view has additional
options.
\endif
diff --git a/doc/qtcreator/src/user-interface/creator-projects-view.qdoc b/doc/qtcreator/src/user-interface/creator-projects-view.qdoc
index 0f5010ae60..b0a98a8163 100644
--- a/doc/qtcreator/src/user-interface/creator-projects-view.qdoc
+++ b/doc/qtcreator/src/user-interface/creator-projects-view.qdoc
@@ -13,11 +13,15 @@
\title Projects
The \uicontrol Projects view displays projects in a project tree.
- The project tree contains a list of all projects open in the current
+ The project tree has a list of all projects open in the current
\l{Managing Sessions}{session}. For each project, the tree visualizes
the build system structure of the project and lists all files that
are part of the project.
+ \note Usually, \l{Searching with the Locator}{searching with the locator}
+ is the fastest way to find a particular project, file, class, or function,
+ or almost anything else in your project.
+
\if defined(qtdesignstudio)
The following image displays the \uicontrol Projects view in the
\uicontrol Design mode:
@@ -36,7 +40,7 @@
source files open in the code editor. Use the \l{Selecting Modes}
{mode selector} to open the current file in another editor.
\li To bring up a \l{Projects View Context Menu}{context menu}
- containing the actions most commonly needed, right-click an
+ that has the actions most commonly needed, right-click an
item in the project tree. For example, through the menu of
the project root directory you can, among other actions, run
and close the project.
@@ -49,7 +53,7 @@
\section1 Projects View Context Menu
- The \uicontrol Projects view contains context menus for managing projects,
+ The \uicontrol Projects view has context menus for managing projects,
subprojects, folders, and files. Use the following functions to manage
projects and subprojects:
@@ -64,7 +68,8 @@
\endif
\li Rename or remove existing files. If you change the base name of a
file, \QC displays a list of other files with the same base name
- and offers to rename them as well.
+ and offers to rename them as well. If you rename a UI file (.ui),
+ \QC also changes corresponding include statements accordingly.
\if defined(qtcreator)
\li Remove existing directories from \l{Setting Up a Generic Project}
{generic projects}.
@@ -72,7 +77,9 @@
\li Add libraries. For more information, see
\l{Adding Libraries to Projects}.
\li Add and remove subprojects.
+ \li Find unused functions.
\endif
+
\li Search from the selected directory.
\li Open a terminal window in the project directory. To specify the
terminal to use on Linux and \macos, select \uicontrol Edit >
@@ -97,12 +104,12 @@
\if defined(qtdesignstudio)
In the \uicontrol Edit and \uicontrol Debug mode, the
- \l{Working with Sidebars}{sidebar} contains the \uicontrol Projects
+ \l{Working with Sidebars}{sidebar} has the \uicontrol Projects
view. It has a toolbar with additional options.
\image qtcreator-projects-view-edit.png "Projects view in the sidebar"
\else
- The toolbar in the \uicontrol Projects view contains additional options.
+ The toolbar in the \uicontrol Projects view has additional options.
\endif
@@ -117,7 +124,7 @@
\li \uicontrol {Hide Disabled Files} hides the source files that you
have not enabled for the current target,
\li \uicontrol {Hide Empty Directories} hides directories that do not
- contain any files.
+ have any files.
\li \uicontrol {Show Source and Header Groups} shows source and header
files grouped together in the view, regardless of their location in
the file system.
diff --git a/doc/qtcreator/src/user-interface/creator-ui.qdoc b/doc/qtcreator/src/user-interface/creator-ui.qdoc
index 5e92e75f61..315720275a 100644
--- a/doc/qtcreator/src/user-interface/creator-ui.qdoc
+++ b/doc/qtcreator/src/user-interface/creator-ui.qdoc
@@ -50,17 +50,20 @@
\endif
\if defined(qtcreator)
- Use the \l{Selecting Modes}{mode selector} (1) to change to another \QC mode.
+ Do you want to perform a particular task, such as designing the UI,
+ writing code, or debugging the application? Select the appropriate mode in
+ the \l{Selecting Modes}{mode selector} (1).
- Use the kit selector (2) to select the \l{glossary-buildandrun-kit}{kit} for
- running (3), debugging (4), or building (5) the application. The task bar (7)
+ Are you ready to build the application for particular hardware or (5)
+ run (3) or debug (4) it on a device? Use the kit selector (2) to select
+ the appropriate \l{glossary-buildandrun-kit}{kit}. The task bar (7)
displays output from these actions.
- Use the \l{Searching with the Locator}{locator} (6) to browse through
- projects, files, classes, functions, documentation, and file systems.
+ Are you looking for a particular project, file, class, or function?
+ Start typing its name in the \l{Searching with the Locator}{locator} (6).
- For a quick tour of the user interface that takes you to the locations of
- these controls, select \uicontrol Help > \uicontrol {UI Tour}.
+ To see where the above controls are in the user interface, select
+ \uicontrol Help > \uicontrol {UI Tour}.
The following sections describe some \QC controls in more detail:
@@ -116,7 +119,7 @@
\section1 Customizing the Menu
By default, top-level menu items \uicontrol Build, \uicontrol Debug, and
- \uicontrol Analyze are not visible. These menu items contain options for
+ \uicontrol Analyze are not visible. These menu items have options for
advanced functionality.
To toggle the visibility of these menu items:
@@ -463,7 +466,7 @@
\section1 Issues
- \uicontrol{Issues} provides lists of following types of issues:
+ \uicontrol{Issues} lists the following types of issues:
\list
@@ -588,7 +591,7 @@
\section1 Compile Output
- \uicontrol{Compile Output} provides all output from the compiler.
+ \uicontrol{Compile Output} shows all output from the compiler.
The \uicontrol{Compile Output} is a more detailed version of information
displayed in \l Issues.
diff --git a/doc/qtcreator/src/user-interface/creator-views.qdoc b/doc/qtcreator/src/user-interface/creator-views.qdoc
index 1a620b807f..856dfd15ee 100644
--- a/doc/qtcreator/src/user-interface/creator-views.qdoc
+++ b/doc/qtcreator/src/user-interface/creator-views.qdoc
@@ -22,6 +22,10 @@
{mode} you are working in. Only views that are relevant to a mode are
available in it.
+ \note Usually, \l{Searching with the Locator}{searching with the locator}
+ is the fastest way to find a particular project, file, class, or function,
+ or almost anything else in your project.
+
Manage projects and files in the following views:
\list
@@ -60,7 +64,7 @@
The following sections describe the additional options in a particular view.
- In some views, right-clicking opens a context menu that contains functions
+ In some views, right-clicking opens a context menu that has functions
for managing the objects listed in the view.
\section1 Viewing Defined Types and Symbols
@@ -98,6 +102,21 @@
To visit all parts of a namespace, double-click on the namespace item
multiple times.
+ \section1 Viewing Call Hierarchy
+
+ The \uicontrol {Call Hierarchy} view shows information about incoming and
+ outgoing function calls from a \l{Using Language Servers}{language server}.
+ Place the cursor on a function definition in the code editor to see lists
+ of functions that call it and the functions it calls. This works recursively,
+ so you can also see the caller of the caller. However, Clangd only lists
+ incoming calls.
+
+ Select the \inlineimage icons/languageclient.png
+ button on the \l{Managing Language Servers}{editor toolbar}, and then select
+ \uicontrol {Restart} to collect call hierarchy information for the function.
+
+ \image qtcreator-call-hierarchy-view.png {Call Hierarchy view}
+
\section1 Viewing Type Hierarchy
To view the base classes and derived classes of a class, right-click the
diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs-bazaar.qdoc b/doc/qtcreator/src/vcs/creator-only/creator-vcs-bazaar.qdoc
index 91b3744453..bc2eda804b 100644
--- a/doc/qtcreator/src/vcs/creator-only/creator-vcs-bazaar.qdoc
+++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs-bazaar.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -40,4 +40,22 @@
\uicontrol Uncommit leaves the working tree ready for a new commit. The only
change it might make is restoring pending merges that were present before
the commit.
+
+ \section1 Bazaar Preferences
+
+ To set Bazaar preferences, select \uicontrol Edit > \uicontrol Preferences >
+ \uicontrol {Version Control} > \uicontrol Bazaar:
+
+ \image qtcreator-preferences-vcs-bazaar.webp {Bazaar preferences}
+
+ \list
+ \li \uicontrol Command specifies the path to the command line client
+ executable.
+ \li \uicontrol {Default username} and \uicontrol {Default email}
+ specify the username and email address to use by default when
+ committing changes.
+ \li \uicontrol {Log count} sets the maximum number of lines the log can
+ have.
+ \li \uicontrol Timeout sets a timeout for version control operations.
+ \endlist
*/
diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs-clearcase.qdoc b/doc/qtcreator/src/vcs/creator-only/creator-vcs-clearcase.qdoc
index 64f552ed29..dfed2c5ba6 100644
--- a/doc/qtcreator/src/vcs/creator-only/creator-vcs-clearcase.qdoc
+++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs-clearcase.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -15,9 +15,8 @@
\title Using ClearCase
IBM Rational ClearCase is a version control, workspace management, parallel
- development support, and build automation solution developed by IBM. The
- ClearCase client plugin is available on Linux and Windows for accessing a
- ClearCase server.
+ development support, and build automation solution developed by IBM. Use the
+ ClearCase client plugin on Linux and Windows to access a ClearCase server.
\section1 Using GNU Diffutils with ClearCase
@@ -32,8 +31,10 @@
\li Select \uicontrol Edit > \uicontrol Preferences >
\uicontrol {Version Control} > \uicontrol ClearCase.
+ \image qtcreator-preferences-vcs-clearcase.webp {ClearCase preferences}
+
\li Select the \uicontrol External radio button. The radio button is
- disabled if \c diff is not found in the PATH.
+ disabled if \c diff is not in the PATH.
\li In the \uicontrol Arguments field, specify arguments for running
\c diff.
@@ -51,12 +52,10 @@
a UCM activity. By default, the activities are automatically assigned names.
To disable this functionality, select \uicontrol Edit > \uicontrol Preferences
> \uicontrol {Version Control} > \uicontrol ClearCase, and then deselect the
- \uicontrol {Automatically assign activity names} check box.
+ \uicontrol {Auto assign activity names} check box.
- To automatically check out files when you edit them, select \uicontrol Edit
- > \uicontrol Preferences > \uicontrol {Version Control} > \uicontrol ClearCase,
- and then select the \uicontrol {Automatically check out files on edit}
- check box.
+ To automatically check out files when you edit them, select the
+ \uicontrol {Automatically check out files on edit} check box.
To cancel the checkout for a file and delete the checked-out version,
select \uicontrol Tools > \uicontrol ClearCase >
@@ -68,12 +67,12 @@
To create a permanent new version of the current file or all files in the
versioned object base (VOB), select \uicontrol Tools >
- \uicontrol {ClearCase} > \uicontrol {Check In}. To be asked to confirm
+ \uicontrol {ClearCase} > \uicontrol {Check In}. To confirm
that you want to check in the files, select \uicontrol Edit >
\uicontrol Preferences > \uicontrol {Version Control} > \uicontrol ClearCase,
and then select the \uicontrol {Prompt on check-in} check box.
- By default, you are asked to enter a comment when checking files out or in.
+ By default, you have to enter a comment when checking files out or in.
To suppress this prompt, select \uicontrol Edit > \uicontrol Preferences >
\uicontrol {Version Control} > \uicontrol ClearCase, and then select the
\uicontrol {Do not prompt for comment during checkout or check-in} check
@@ -89,4 +88,8 @@
> \uicontrol {Version Control} > \uicontrol ClearCase, and then select the
\uicontrol {Disable indexer} check box. To only have some VOBs indexed,
specify them in the \uicontrol {Index only VOBs} field.
+
+ Specify the number of event records to show in \uicontrol {History count}.
+
+ Set a timeout for version control operations in \uicontrol Timeout.
*/
diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs-cvs.qdoc b/doc/qtcreator/src/vcs/creator-only/creator-vcs-cvs.qdoc
index 540972e83d..440b884693 100644
--- a/doc/qtcreator/src/vcs/creator-only/creator-vcs-cvs.qdoc
+++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs-cvs.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2019 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -10,7 +10,7 @@
/*!
\previouspage creator-vcs-clearcase.html
\page creator-vcs-cvs.html
- \nextpage creator-vcs-git.html
+ \nextpage creator-vcs-fossil.html
\title Using CVS
@@ -29,18 +29,20 @@
To unedit files in the local directory, as well as recursively in all
subdirectories, select \uicontrol {Unedit Repository}.
- To specify the CVS root directory, select \uicontrol Edit >
- \uicontrol Preferences > \uicontrol {Version Control} > \uicontrol CVS, and then
- specify the path to the directory in the \uicontrol {CVS root} field.
+ \section1 CVS Preferences
- You can specify settings for viewing diff output in the
- \uicontrol {Diff options} field.
+ To set CVS preferences, select \uicontrol Edit > \uicontrol Preferences >
+ \uicontrol {Version Control} > \uicontrol CVS:
- By default, you are prompted to confirm that you want to submit changes.
- To suppress the prompt, deselect the \uicontrol {Prompt on submit} check
- box.
+ \image qtcreator-preferences-vcs-cvs.webp {CVS preferences}
- By default, all files that belong to the commit are annotated. To disable
- this feature, deselect the \uicontrol {Describe all files matching commit
- id} check box.
+ \list
+ \li \uicontrol {CVS Command} specifies the path to the command line
+ client executable.
+ \li \uicontrol {CVS root} specifies the CVS root.
+ \li \uicontrol Timeout sets a timeout for version control operations.
+ \li \uicontrol {Diff options} sets preferences for viewing diff output.
+ \li \uicontrol {Describe all files matching commit id} annotates all
+ files that belong to the commit.
+ \endlist
*/
diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs-fossil.qdoc b/doc/qtcreator/src/vcs/creator-only/creator-vcs-fossil.qdoc
new file mode 100644
index 0000000000..f3ce256546
--- /dev/null
+++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs-fossil.qdoc
@@ -0,0 +1,92 @@
+// Copyright (C) 2018 Artur Shepilko
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page creator-vcs-fossil.html
+ \previouspage creator-vcs-cvs.html
+ \nextpage creator-vcs-git.html
+
+ \title Using Fossil
+
+ Fossil is an open source distributed version control system, designed
+ and developed by the creator of SQLite. A stand-alone Fossil executable
+ has a source control management engine, web interface, issue tracker,
+ wiki, and built-in web server. Fossil is available for Linux, Windows,
+ and \macos.
+
+ To use Fossil from \QC, you must install and configure it, as described in
+ the following sections.
+
+ \section1 Configuring Fossil
+
+ \list 1
+ \li Download the \l{http://fossil-scm.org}{Fossil SCM client} and
+ install the \c fossil executable file in your \c PATH.
+
+ \li Create or designate a directory to store local Fossil repositories
+ and remote clones. For example: \c ~/fossils/qt.
+
+ \li Select \uicontrol Edit > \uicontrol Preferences >
+ \uicontrol {Version Control} > \uicontrol Fossil, and set the
+ designated directory in the \uicontrol {Default path} field.
+
+ \image qtcreator-preferences-vcs-fossil.webp {Fossil preferences}
+
+ \endlist
+
+ To create a local Fossil repository, select \uicontrol Tools >
+ \uicontrol Fossil > \uicontrol {Create Repository}.
+
+ To clone a remote Fossil repository, select \uicontrol File >
+ \uicontrol {New Project} > \uicontrol {Import Project} >
+ \uicontrol {Fossil Clone}.
+
+ \section1 Additional Fossil Functions
+
+ In addition to the standard version control system functions described in
+ \l {Using Version Control Systems}, the \uicontrol Fossil submenu has
+ the following items:
+
+ \table
+ \header
+ \li Menu Item
+ \li Description
+ \row
+ \li \uicontrol Pull
+ \li Pull changes from the remote repository.
+ \row
+ \li \uicontrol Push
+ \li Push committed changes to the remote repository.
+ \row
+ \li \uicontrol Update
+ \li Change the version of the current checkout. Any uncommitted
+ changes are retained and applied to the new checkout.
+ \row
+ \li \uicontrol Settings
+ \li Configure the settings of the local repository.
+ \endtable
+
+ \section1 Fossil Preferences
+
+ To set Fossil preferences, select \uicontrol Edit > \uicontrol Preferences >
+ \uicontrol {Version Control} > \uicontrol Fossil:
+
+ \list
+ \li \uicontrol Command specifies the path to the command line client
+ executable.
+ \li \uicontrol {Default path} sets the path to the directory to store
+ local repositories by default.
+ \li \uicontrol {Default user} specifies an existing user who becomes the
+ author of changes made to the repository.
+ \li \uicontrol {SSL/TLS identity} sets the SSL/TLS client identity key
+ to use for authentication if the server requests it.
+ \li \uicontrol {Log count} sets the maximum number of lines the log can
+ have.
+ \li \uicontrol {Log width} sets the width of log entry lines to 20 or
+ above. The value 0 shows a single line per entry.
+ \li \uicontrol {Timeout} sets a timeout for version control operations.
+ \li \uicontrol {Disable auto sync} disables automatic pull before
+ a commit or update and automatic push after a commit or tag or branch
+ creation.
+ \endlist
+*/
diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs-gitlab.qdoc b/doc/qtcreator/src/vcs/creator-only/creator-vcs-gitlab.qdoc
index 8ba13c140c..52968f5b94 100644
--- a/doc/qtcreator/src/vcs/creator-only/creator-vcs-gitlab.qdoc
+++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs-gitlab.qdoc
@@ -88,7 +88,7 @@
\QC automatically opens the project. If the cloned project has several
project files (such as CMakeList.txt, .pro, and .qbs), \QC prompts you to
- select the one to open. If it does not contain a project file that \QC can
+ select the one to open. If it does not have a project file that \QC can
open, select \uicontrol File > \uicontrol {New Project} >
\uicontrol {Import Project} > \uicontrol {Import Existing Project} to
import the project as a generic project. For more information, see
diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs-mercurial.qdoc b/doc/qtcreator/src/vcs/creator-only/creator-vcs-mercurial.qdoc
index 8122b138e1..1380761f79 100644
--- a/doc/qtcreator/src/vcs/creator-only/creator-vcs-mercurial.qdoc
+++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs-mercurial.qdoc
@@ -42,4 +42,23 @@
\li \uicontrol{Push}
\li Push changes to the remote repository.
\endtable
+
+ \section1 Mercurial Preferences
+
+ To set preferences for Mercurial, select \uicontrol Edit >
+ \uicontrol Preferences > \uicontrol {Version Control} > \uicontrol Mercurial:
+
+ \image qtcreator-preferences-vcs-mercurial.webp {Mercurial preferences}
+
+ \list
+ \li \uicontrol Command specifies the path to the command line client
+ executable.
+ \li \uicontrol {Default username} and \uicontrol {Default email}
+ specify the username and email address to use by default when
+ committing changes.
+ \li \uicontrol {Log count} sets the maximum number of lines the log can
+ have.
+ \li \uicontrol Timeout sets a timeout for version control operations.
+ \endlist
+
*/
diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs-options.qdocinc b/doc/qtcreator/src/vcs/creator-only/creator-vcs-options.qdocinc
index 75459cba0b..98276ab9bb 100644
--- a/doc/qtcreator/src/vcs/creator-only/creator-vcs-options.qdocinc
+++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs-options.qdocinc
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -8,21 +8,14 @@
\section1 Setting Up Version Control Systems
\QC uses the version control system's command line clients to access your
- repositories. To allow access, make sure that the command line clients can
- be located using the \c{PATH} environment variable. Alternatively, specify
- the path to the command line client executable in the \uicontrol Command
- field in the version control system specific tab in \uicontrol Edit >
+ repositories. Make sure that the command line clients are in the \c{PATH}
+ environment variable, or specify the path to the command line client
+ executable in the version control system specific tab in \uicontrol Edit >
\uicontrol Preferences > \uicontrol {Version Control}.
- If authentication is required to access the repository, enter the user
- credentials in the \uicontrol Username and \uicontrol Password fields.
-
- Enter a timeout for version control operations in the \uicontrol Timeout
- field.
-
- For some version control systems, you can specify the maximum number of
- lines the log can contain in the \uicontrol {Log count} field.
+ \image qtcreator-preferences-vcs-bazaar.webp {Bazaar preferences}
+ The other configuration options depend on the version control system.
After you set up the version control system, use the command line to check
that everything works (for example, use the status command). If no issues
arise, you should be ready to use the system also from \QC.
@@ -35,12 +28,14 @@
Select \uicontrol Edit > \uicontrol Preferences > \uicontrol {Version Control}
> \uicontrol General to specify settings for submit messages:
+ \image qtcreator-preferences-vcs-general.webp {General tab in Version Control preferences}
+
\list
\li \uicontrol{Wrap submit messages at} limits the line length of a
submit message to the specified number of characters.
\li \uicontrol{Submit message check script} is a script or program that
- can be used to perform checks on the submit message before
- submitting. The submit message is passed in as the script's first
+ performs checks on the submit message before
+ submitting. The submit message is the script's first
parameter. If there is an error, the script should output a
message on standard error and return a non-zero exit code.
\li \uicontrol{User/alias configuration file} is a text file that lists
@@ -73,7 +68,7 @@
For example, \c ssh-askpass or \c x11-ssh-askpass, depending on the
ssh-askpass implementation that you use.
\li \uicontrol {Reset VCS Cache} resets the version control system
- configuration to a state known to \QC after it has been changed
+ configuration to a state known to \QC after you change it
from the command line, for example.
\endlist
diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs-perforce.qdoc b/doc/qtcreator/src/vcs/creator-only/creator-vcs-perforce.qdoc
index 4bb330abe8..1ef25bc7f9 100644
--- a/doc/qtcreator/src/vcs/creator-only/creator-vcs-perforce.qdoc
+++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs-perforce.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2020 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -29,9 +29,18 @@
\section1 Configuring Perforce
- In the Perforce preferences, you can specify workspace details:
- \uicontrol {P4 user}, \uicontrol {P4 client}, and \uicontrol {P4 port}. To
- specify the details individually for several projects, use configuration
+ To set Perforce preferences, select \uicontrol Edit > \uicontrol Preferences
+ > \uicontrol {Version Control} > \uicontrol Perforce:
+
+ \image qtcreator-preferences-vcs-perforce.webp {Perforce preferences}
+
+ In \uicontrol {P4 command}, set the path to the command line client
+ executable.
+
+ Set workspace details in \uicontrol {P4 user}, \uicontrol {P4 client}, and
+ \uicontrol {P4 port}.
+
+ To specify the details individually for several projects, use configuration
files instead. Create a \c {p4config.txt} configuration file for each
project in the top level project directory, and run
\c{p4 set P4CONFIG=p4config.txt} once. You must deselect the
@@ -56,9 +65,4 @@
To view information about change lists and the files in them, select
\uicontrol Tools > \uicontrol Perforce > \uicontrol Describe.
-
- By default, you must confirm that you want to submit changes. To suppress
- the confirmation prompt, select \uicontrol Edit > \uicontrol Preferences >
- \uicontrol {Version Control} > \uicontrol Perforce, and then deselect the
- \uicontrol {Prompt on submit} check box.
*/
diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs-subversion.qdoc b/doc/qtcreator/src/vcs/creator-only/creator-vcs-subversion.qdoc
index 320666cb3a..32ebbcff70 100644
--- a/doc/qtcreator/src/vcs/creator-only/creator-vcs-subversion.qdoc
+++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs-subversion.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2019 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -21,14 +21,27 @@
\uicontrol Subversion > \uicontrol Describe to display commit log messages
for a revision.
- By default, you must confirm that you want to submit changes. To suppress the
- confirmation prompt, select \uicontrol Edit > \uicontrol Preferences >
- \uicontrol {Version Control} > \uicontrol Subversion, and then deselect the
- \uicontrol {Prompt on submit} check box.
-
- To show whitespace changes in annotation views, deselect the
- \uicontrol {Ignore whitespace changes in annotation} check box.
-
You can use Git as a client for a Subversion server. For more information,
see \l{Using Git with Subversion}.
+
+ \section1 Subversion Preferences
+
+ To set Subversion preferences, select \uicontrol Edit >
+ \uicontrol Preferences > \uicontrol {Version Control} >
+ \uicontrol Subversion:
+
+ \image qtcreator-preferences-vcs-subversion.webp {Subversion preferences}
+
+ \list
+ \li \uicontrol {Subversion command} specifies the path to the command
+ line client executable.
+ \li \uicontrol {Username} and \uicontrol {Password} specify the user
+ credentials to access the repository if the server requires
+ \uicontrol Authentication.
+ \li \uicontrol {Log count} sets the maximum number of lines the log can
+ have.
+ \li \uicontrol Timeout sets a timeout for version control operations.
+ \li \uicontrol {Ignore whitespace changes in annotation} hides whitespace
+ changes in annotation views.
+ \endlist
*/
diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs.qdoc b/doc/qtcreator/src/vcs/creator-only/creator-vcs.qdoc
index c935dfbc2d..ce4dce9109 100644
--- a/doc/qtcreator/src/vcs/creator-only/creator-vcs.qdoc
+++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs.qdoc
@@ -37,14 +37,12 @@
\li \l{http://www.nongnu.org/cvs/}
\li
\row
- \li \l{https://doc.qt.io/qtcreator/creator-vcs-fossil.html}{Fossil}
+ \li \l{Using Fossil}{Fossil}
\li \l{https://fossil-scm.org/index.html/doc/trunk/www/index.wiki}
- \li To use Fossil, you need to build the Fossil plugin from
- \l{https://code.qt.io/cgit/qt-creator/plugin-fossil-scm.git/}
- {sources}, and install Fossil as described in
- \l{https://doc.qt.io/qtcreator/creator-vcs-fossil.html}
- {Qt Creator Fossil Plugin Manual}.
- \row
+ \li Disabled by default. To enable the plugin, select
+ \uicontrol Help > \uicontrol {About Plugins} >
+ \uicontrol {Version Control} > \uicontrol Fossil.
+ \row
\li \l{Using Git}{Git}
\li \l{http://git-scm.com/}
\li Git version 1.9.0, or later
@@ -66,8 +64,6 @@
Disabled by default. To enable the plugin, select
\uicontrol Help > \uicontrol {About Plugins} >
\uicontrol {Version Control} > \uicontrol Perforce.
- Then select \uicontrol {Restart Now} to restart \QC
- and load the plugin.
\row
\li \l{Using Subversion}{Subversion}
\li \l{http://subversion.apache.org/}
@@ -93,7 +89,7 @@
\section1 Using Common Functions
- The \uicontrol{Tools} menu contains a submenu for each supported version
+ The \uicontrol{Tools} menu has a submenu for each supported version
control system. This section describes using the functions that are
available for all the supported version control systems. For more
information about the additional functions and options available for a
@@ -103,8 +99,7 @@
\li \l{Using Bazaar}
\li \l{Using ClearCase}
\li \l{Using CVS}
- \li \l{https://doc.qt.io/qtcreator/creator-vcs-fossil.html}
- {Qt Creator Fossil Plugin Manual}
+ \li \l{Using Fossil}
\li \l{Using Git}
\li \l{Using GitLab}
\li \l{Using Mercurial}
@@ -129,7 +124,7 @@
\section2 Viewing Diff Output
- All version control systems provide menu options to \e{diff} the current
+ All version control systems have menu options to \e{diff} the current
file or project: to compare it with the latest version stored in the
repository and to display the differences. In \QC, a diff is displayed in a
read-only editor. If the file is accessible, you can double-click on a
@@ -149,15 +144,15 @@
\section2 Viewing Versioning History and Change Details
Display the versioning history of a file by selecting \uicontrol{Log}
- or \uicontrol{Filelog}. Typically, the log output contains the date, the commit
+ or \uicontrol{Filelog}. Typically, the log output has the date, commit
message, and a change or revision identifier.
\section2 Annotating Files
- Annotation views are obtained by selecting \uicontrol{Annotate} or \uicontrol{Blame}.
- Selecting \uicontrol{Annotate} or \uicontrol{Blame} displays the lines of the file
- prepended by the change identifier they originate from. Clicking on the
- change identifier shows a detailed description of the change.
+ To open annotation views, select \uicontrol {Annotate} or \uicontrol {Blame}.
+ They show the lines of the file and the identifier of the change the lines
+ originate from. Click the change identifier to see a detailed description of
+ the change.
To show the annotation of a previous version, right-click on the
version identifier at the beginning of a line and choose one of the
@@ -172,7 +167,7 @@
Once you have finished making changes, submit them to the version control
system by choosing \uicontrol{Commit} or \uicontrol{Submit}. \QC displays a
- commit page containing a text editor where you can enter your commit
+ commit page that has a text editor where you can enter your commit
message and a checkable list of modified files to include.
\section2 Reverting Changes
diff --git a/doc/qtcreator/src/vcs/creator-vcs-git.qdoc b/doc/qtcreator/src/vcs/creator-vcs-git.qdoc
index 21da4da3f0..8d65462a2b 100644
--- a/doc/qtcreator/src/vcs/creator-vcs-git.qdoc
+++ b/doc/qtcreator/src/vcs/creator-vcs-git.qdoc
@@ -1,4 +1,4 @@
-// Copyright (C) 2022 The Qt Company Ltd.
+// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -13,7 +13,7 @@
\previouspage studio-developer-topics.html
\nextpage studio-porting-projects.html
\else
- \previouspage creator-vcs-cvs.html
+ \previouspage creator-vcs-fossil.html
\nextpage creator-vcs-gitlab.html
\endif
@@ -46,11 +46,13 @@
set to \c %HOMEDRIVE%%HOMEPATH% when the Git executable is run and
authorization works as it would with \c {git bash}.
+ \image qtcreator-preferences-vcs-git.webp {Git preferences}
+
\section1 Working with the Current File
To work with the current file, select the commands in \uicontrol Tools >
\uicontrol Git > \uicontrol {Current File}. Some of the commands are also
- available for the project or local repository that contains the file.
+ available for the project or local repository that has the file.
\section2 Viewing Git Diff
@@ -72,10 +74,16 @@
\section2 Viewing Git Log
To display the versioning history of a file, select \uicontrol{Log of}.
- The log output contains the date, the commit message, and a commit
- identifier. Click on the commit identifier to view commit details.
+ The log output has the date, the commit message, and a commit
+ identifier.
+
+ You can set the maximum number of log entries to show in \uicontrol Edit >
+ \uicontrol Preferences > \uicontrol {Version Control} > \uicontrol Git >
+ \uicontrol {Log count}.
+
+ Click on the commit identifier to view commit details.
- \image qtcreator-git-log.png "Commit details in Git log"
+ \image qtcreator-git-log.png {Commit details in Git log}
Right-clicking on a commit identifier brings up a context menu that lets
you apply actions on the commit, such as view annotations or cherry-pick
@@ -109,7 +117,7 @@
\uicontrol {Git Show} view, select \uicontrol {Describe Change} in the
context menu.
- \image qtcreator-vcs-show.png "Commit description in Git show"
+ \image qtcreator-vcs-show.png {Commit description in Git show}
\section2 Viewing Annotations
@@ -117,7 +125,14 @@
view displays the lines of the file prepended by the commit identifier they
originate from.
- \image qtcreator-git-blame.webp "Git Blame view"
+ \image qtcreator-git-blame.webp {Git Blame view}
+
+ By default, each line is annotated in the editor when you scroll through
+ the file. To disable this feature, select \uicontrol Edit >
+ \uicontrol Preferences > \uicontrol {Version Control} > \uicontrol Git, and
+ deselect \uicontrol {Add instant blame annotations to editor}. To view
+ annotations for the current line, select \uicontrol Tools > \uicontrol Git >
+ \uicontrol {Current File} > \uicontrol {Instant Blame}.
Click the commit identifier to show a detailed description of the change.
@@ -187,7 +202,7 @@
\section2 Viewing Git Status
To view the status of the repository in \uicontrol {Version Control},
- select \uicontrol Status. The context menu contains additional
+ select \uicontrol Status. The context menu has additional
actions, such as selecting and clearing all entries, copying
text, and opening files.
@@ -197,7 +212,7 @@
commit page containing a text editor where you can enter your commit
message and a checkable list of modified files to include.
- \image qtcreator-vcs-commit.png "Committing changes with Git"
+ \image qtcreator-vcs-commit.png {Committing changes with Git}
\uicontrol {General Information} displays the names of the
repository and branch for the commit.
@@ -234,7 +249,7 @@
\uicontrol Git > \uicontrol {Local Repository} >
\uicontrol {Amend Last Commit}.
- \image qtcreator-git-amend.png "Amending a Git commit"
+ \image qtcreator-git-amend.png {Amending a Git commit}
To view the commit in its current form, before amending, select
\uicontrol {Show HEAD}.
@@ -279,7 +294,7 @@
\uicontrol {Git Branches} sidebar view shows the checked out
branch in bold and underlined in the list of branches.
- \image qtcreator-vcs-gitbranch.png "Git Branches sidebar view"
+ \image qtcreator-vcs-gitbranch.png {Git Branches sidebar view}
Old entries and tags are filtered out of the list of branches
by default. To include them, select \inlineimage icons/filtericon.png
@@ -299,7 +314,7 @@
To refresh the list of branches, select \inlineimage icons/reload_gray.png
(\uicontrol Refresh).
- The context menu for a branch contains the following functions:
+ The context menu for a branch has the following functions:
\table
\header
@@ -357,7 +372,7 @@
\li Push the committed changes to the selected remote branch.
\endtable
- The context menu for a remote branch contains the following additional
+ The context menu for a remote branch has the following additional
functions. To open it, select \uicontrol{Remote Branches} or a remote
repository.
@@ -424,7 +439,7 @@
commits, select \uicontrol Tools > \uicontrol Git >
\uicontrol {Actions on Commits}.
- \image creator-git-commit-actions.png "Select a Git Commit dialog"
+ \image creator-git-commit-actions.png {Select a Git Commit dialog}
You can apply the following actions on commits:
@@ -454,7 +469,7 @@
To start controlling a project directory that is currently not under
version control, select \uicontrol Tools > \uicontrol Git >
\uicontrol {Create Repository}. \QC creates a new subdirectory named .git
- that contains all the necessary repository files. However, Git does not track
+ that has all the necessary repository files. However, Git does not track
anything in the project yet, so you will need to create an initial commit to
start tracking the project files.
@@ -563,25 +578,25 @@
\l{https://curl.haxx.se/}{curl} tool are used for HTTP connections.
Select the \uicontrol HTTPS check box to prepend \c https to the Gerrit URL
- if Gerrit does not provide it.
+ if Gerrit does not add it.
- \image qtcreator-gerrit-options.png "Gerrit preferences"
+ \image qtcreator-preferences-vcs-gerrit.webp {Gerrit preferences}
\section1 Working with Git Tools
To start a graphical interface to Git, select \uicontrol Tools >
\uicontrol Git > \uicontrol {Git Tools} > \uicontrol {Git Gui}.
- \note On \macos, the default Git installation does not contain Git Gui. To
+ \note On \macos, the default Git installation does not have Git Gui. To
use Git Gui, install it separately. To start Git Gui from \QC, select
\uicontrol Preferences > \uicontrol {Version Control} > \uicontrol Git, and
- set the path to the environment that contains Git Gui in the
+ set the path to the environment that has Git Gui in the
\uicontrol {Prepend to PATH} field.
To start the commit viewer for Git, select \uicontrol Tools >
\uicontrol Git > \uicontrol {Git Tools} > \uicontrol Gitk. You can also
start the tool to view commits in the current document or in the folder that
- contains the current document. To specify arguments for running Gitk, select
+ has the current document. To specify arguments for running Gitk, select
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Version Control} >
\uicontrol Git.
diff --git a/doc/qtcreator/src/widgets/qtdesigner-app-tutorial.qdoc b/doc/qtcreator/src/widgets/qtdesigner-app-tutorial.qdoc
index 56b0cea0bf..fb0dc11b4b 100644
--- a/doc/qtcreator/src/widgets/qtdesigner-app-tutorial.qdoc
+++ b/doc/qtcreator/src/widgets/qtdesigner-app-tutorial.qdoc
@@ -94,7 +94,7 @@
\note The project opens in the \uicontrol Edit mode, which hides these
instructions. To return to these instructions, open the \uicontrol Help mode.
- The TextFinder project now contains the following files:
+ The TextFinder project now has the following files:
\list
diff --git a/doc/qtcreator/src/widgets/qtdesigner-overview.qdoc b/doc/qtcreator/src/widgets/qtdesigner-overview.qdoc
index 4b48650b59..b19bdede09 100644
--- a/doc/qtcreator/src/widgets/qtdesigner-overview.qdoc
+++ b/doc/qtcreator/src/widgets/qtdesigner-overview.qdoc
@@ -21,7 +21,7 @@
For more information about \QD, see the \l{Qt Designer Manual}.
- Generally, the integrated \QD contains the same functions as the standalone
+ Generally, the integrated \QD has the same functions as the standalone
\QD. The following sections describe the differences.
\section1 Code Editor Integration
@@ -38,7 +38,7 @@
In standalone \QD, image resources are created using the built-in
\uicontrol {Resource Editor}. In \QC, .ui files are usually part of a project,
- which may contain several resource files (.qrc). They are created and
+ which may have several resource files (.qrc). They are created and
maintained by using the \QC Resource Editor. The \QD \uicontrol {Resource Editor}
is de-activated and the image resources are displayed in the \QD
\uicontrol {Resource Browser}.
diff --git a/doc/qtcreator/src/widgets/qtdesigner-plugins.qdoc b/doc/qtcreator/src/widgets/qtdesigner-plugins.qdoc
index 555de46476..82b64a127c 100644
--- a/doc/qtcreator/src/widgets/qtdesigner-plugins.qdoc
+++ b/doc/qtcreator/src/widgets/qtdesigner-plugins.qdoc
@@ -53,7 +53,7 @@
On \macos, a GUI application must be built and run from a bundle. A bundle
is a directory structure that appears as a single entity when viewed in the
- Finder. A bundle for an application typically contains the executable and
+ Finder. A bundle for an application typically has the executable and
all the resources it needs.
\QC uses its own set of Qt Libraries located in the bundle, and therefore,
diff --git a/doc/qtcreatordev/config/qtcreator-developer.qdocconf b/doc/qtcreatordev/config/qtcreator-developer.qdocconf
index b59835b8ad..417b1ffd42 100644
--- a/doc/qtcreatordev/config/qtcreator-developer.qdocconf
+++ b/doc/qtcreatordev/config/qtcreator-developer.qdocconf
@@ -16,12 +16,14 @@ headerdirs = . \
../src \
../../../src/libs/aggregation \
../../../src/libs/extensionsystem \
+ ../../../src/libs/utils \
../../../src/plugins/coreplugin
sourcedirs = . \
../src \
../../../src/libs/aggregation \
../../../src/libs/extensionsystem \
+ ../../../src/libs/utils \
../../../src/plugins/coreplugin
diff --git a/doc/qtcreatordev/examples/exampleplugin/CMakeLists.txt b/doc/qtcreatordev/examples/exampleplugin/CMakeLists.txt
index 69df3ec4da..65fba00089 100644
--- a/doc/qtcreatordev/examples/exampleplugin/CMakeLists.txt
+++ b/doc/qtcreatordev/examples/exampleplugin/CMakeLists.txt
@@ -20,6 +20,24 @@ find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
set(QtX Qt${QT_VERSION_MAJOR})
#! [3]
+#! [5]
+# Add a CMake option that enables building your plugin with tests.
+# You don't want your released plugin binaries to contain tests,
+# so make that default to 'NO'.
+# Enable tests by passing -DWITH_TESTS=ON to CMake.
+option(WITH_TESTS "Builds with tests" NO)
+
+if(WITH_TESTS)
+ # Look for QtTest
+ find_package(${QtX} REQUIRED COMPONENTS Test)
+ # Tell CMake functions like add_qtc_plugin about the QtTest component.
+ set(IMPLICIT_DEPENDS Qt::Test)
+
+ # Enable ctest for auto tests.
+ enable_testing()
+endif()
+#! [5]
+
#! [4]
add_qtc_plugin(Example
PLUGIN_DEPENDS
@@ -36,5 +54,16 @@ add_qtc_plugin(Example
example.h
example_global.h
exampleconstants.h
+ examplefunctions.h
)
#! [4]
+
+#! [6]
+# conditionally add auto tests
+if(WITH_TESTS)
+ add_qtc_test(tst_mytest
+ SOURCES tst_mytest.cpp
+ DEPENDS Example
+ )
+endif()
+#! [6]
diff --git a/doc/qtcreatordev/examples/exampleplugin/example.cpp b/doc/qtcreatordev/examples/exampleplugin/example.cpp
index f001fad511..3dd54659f0 100644
--- a/doc/qtcreatordev/examples/exampleplugin/example.cpp
+++ b/doc/qtcreatordev/examples/exampleplugin/example.cpp
@@ -1,5 +1,7 @@
#include "example.h"
+
#include "exampleconstants.h"
+#include "examplefunctions.h"
#include <coreplugin/icore.h>
#include <coreplugin/icontext.h>
@@ -13,9 +15,31 @@
#include <QMainWindow>
#include <QMenu>
+//! [test include]
+#ifdef WITH_TESTS
+#include <QtTest>
+#endif
+//! [test include]
+
namespace Example {
namespace Internal {
+//! [plugin tests]
+#ifdef WITH_TESTS
+class MyPluginTests : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void testMyTest()
+ {
+ // a failing test
+ QVERIFY(false);
+ }
+};
+#endif
+//! [plugin tests]
+
ExamplePlugin::ExamplePlugin()
{
// Create your members
@@ -53,6 +77,11 @@ bool ExamplePlugin::initialize(const QStringList &arguments, QString *errorStrin
Core::ActionManager::actionContainer(Core::Constants::M_TOOLS)->addMenu(menu);
//! [add menu]
+//! [register tests]
+#ifdef WITH_TESTS
+ addTest<MyPluginTests>();
+#endif
+ //! [register tests]
return true;
}
@@ -81,4 +110,18 @@ void ExamplePlugin::triggerAction()
//! [slot implementation]
} // namespace Internal
+
+//! [exported function]
+int addOne(int i)
+{
+ return i; // that is wrong!
+}
+//! [exported function]
+
} // namespace Example
+
+//! [include moc]
+#ifdef WITH_TESTS
+#include "example.moc"
+#endif
+//! [include moc]
diff --git a/doc/qtcreatordev/examples/exampleplugin/example.h b/doc/qtcreatordev/examples/exampleplugin/example.h
index e858e92180..dfde7849a1 100644
--- a/doc/qtcreatordev/examples/exampleplugin/example.h
+++ b/doc/qtcreatordev/examples/exampleplugin/example.h
@@ -1,7 +1,5 @@
#pragma once
-#include "example_global.h"
-
#include <extensionsystem/iplugin.h>
//! [namespaces]
diff --git a/doc/qtcreatordev/examples/exampleplugin/example_global.h b/doc/qtcreatordev/examples/exampleplugin/example_global.h
index 67eb24c6e3..f051e16dd9 100644
--- a/doc/qtcreatordev/examples/exampleplugin/example_global.h
+++ b/doc/qtcreatordev/examples/exampleplugin/example_global.h
@@ -1,8 +1,10 @@
// Copyright (C) 2021 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#pragma once
+#include <qglobal.h>
+
#if defined(EXAMPLE_LIBRARY)
# define EXAMPLE_EXPORT Q_DECL_EXPORT
#else
diff --git a/doc/qtcreatordev/examples/exampleplugin/exampleconstants.h b/doc/qtcreatordev/examples/exampleplugin/exampleconstants.h
index c33aa558b1..6b15cf1092 100644
--- a/doc/qtcreatordev/examples/exampleplugin/exampleconstants.h
+++ b/doc/qtcreatordev/examples/exampleplugin/exampleconstants.h
@@ -1,5 +1,5 @@
// Copyright (C) 2021 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#pragma once
diff --git a/doc/qtcreatordev/examples/exampleplugin/examplefunctions.h b/doc/qtcreatordev/examples/exampleplugin/examplefunctions.h
new file mode 100644
index 0000000000..7a618cbe57
--- /dev/null
+++ b/doc/qtcreatordev/examples/exampleplugin/examplefunctions.h
@@ -0,0 +1,9 @@
+#pragma once
+
+#include "example_global.h"
+
+namespace Example {
+
+int EXAMPLE_EXPORT addOne(int i);
+
+} // namespace Example
diff --git a/doc/qtcreatordev/examples/exampleplugin/tst_mytest.cpp b/doc/qtcreatordev/examples/exampleplugin/tst_mytest.cpp
new file mode 100644
index 0000000000..12cf7b1e31
--- /dev/null
+++ b/doc/qtcreatordev/examples/exampleplugin/tst_mytest.cpp
@@ -0,0 +1,21 @@
+#include "examplefunctions.h"
+
+#include <QtTest>
+
+class tst_MyTest : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void mytest();
+};
+
+void tst_MyTest::mytest()
+{
+ // a failing test
+ QCOMPARE(Example::addOne(1), 2);
+}
+
+QTEST_GUILESS_MAIN(tst_MyTest)
+
+#include "tst_mytest.moc"
diff --git a/doc/qtcreatordev/src/coding-style.qdoc b/doc/qtcreatordev/src/coding-style.qdoc
index ec7dd586b4..22da9cca0c 100644
--- a/doc/qtcreatordev/src/coding-style.qdoc
+++ b/doc/qtcreatordev/src/coding-style.qdoc
@@ -739,49 +739,30 @@
\note As an exception, imported third party code as well as code
interfacing the native APIs (src/support/os_*) can use NULL or 0.
- \section2 C++11 and C++14 Features
-
- Code should compile with Microsoft Visual Studio 2013, g++ 4.7, and Clang 3.1.
-
\section3 Lambdas
- When using lambdas, note the following:
+ Format the lambda according to the following rules:
\list
- \li You do not have to explicitly specify the return type. If you are not using one
- of the previously mentioned compilers, do note that this is a C++14 feature and you
- might need to enable C++14 support in your compiler.
+ \li When the lambda neither takes arguments nor specifies a return type,
+ drop round brackets.
\code
- []() {
- Foo *foo = activeFoo();
- return foo ? foo->displayName() : QString();
- });
+ [] { ... lambda body ... }
+
+ -NOT-
+
+ []() { ... lambda body ... }
\endcode
- \li If you use static functions from the class that the lambda is located in, you have to
- explicitly capture \c this. Otherwise it does not compile with g++ 4.7 and earlier.
+ \li Glue square brackets with round brackets when defining a lambda.
\code
- void Foo::something()
- {
- ...
- [this]() { Foo::someStaticFunction(); }
- ...
- }
+ [](int a) { ... lambda body ... }
-NOT-
- void Foo::something()
- {
- ...
- []() { Foo::someStaticFunction(); }
- ...
- }
+ [] (int a) { ... lambda body ... }
\endcode
- \endlist
-
- Format the lambda according to the following rules:
- \list
\li Place the capture-list, parameter list, return type, and opening brace on the first line,
the body indented on the following lines, and the closing brace on a new line.
\code
@@ -799,7 +780,7 @@
\li Place a closing parenthesis and semicolon of an enclosing function call on the same line
as the closing brace of the lambda.
\code
- foo([]() {
+ foo([] {
something();
});
\endcode
@@ -870,7 +851,7 @@
Use initializer lists to initialize containers, for example:
\code
- const QVector<int> values = {1, 2, 3, 4, 5};
+ const QList<int> values = {1, 2, 3, 4, 5};
\endcode
\section3 Initialization with Curly Brackets
@@ -882,7 +863,7 @@
class Values // the following code is quite useful for test fixtures
{
float floatValue = 4; // prefer that for simple types
- QVector<int> values = {1, 2, 3, 4, integerValue}; // prefer that syntax for initializer lists
+ QList<int> values = {1, 2, 3, 4, integerValue}; // prefer that syntax for initializer lists
SomeValues someValues{"One", 2, 3.4}; // not an initializer_list
SomeValues &someValuesReference = someValues;
ComplexType complexType{values, otherValues} // constructor call
@@ -911,11 +892,6 @@
Make sure that a class uses \c{override} consistently, either for all overridden functions or
for none.
- \section3 Nullptr
-
- All compilers support \c{nullptr}, but there is no consensus on using it. If in doubt, ask
- the maintainer of the module whether they prefer using \c{nullptr}.
-
\section3 Range-Based for-Loop
You may use range-based for-loops, but beware of the spurious detachment problem.
@@ -923,6 +899,29 @@
container is const or unshared, use \c{std::cref()} to ensure that the container
is not unnecessarily detached.
+ \section3 std::optional
+
+ Avoid the throwing function \c{value()}. Check the availability of the value first, and then use
+ the non-throwing functions for accessing values, like \c{operator*} and \c{operator->}.
+ In very simple cases, you can also use \c{value_or()}.
+
+ \code
+
+ if (optionalThing) {
+ val = optionalThing->member;
+ other = doSomething(*optionalThing);
+ }
+
+ -NOT-
+
+ if (optionalThing) {
+ val = optionalThing.value().member;
+ other = doSomething(optionalThing.value());
+ }
+
+ \endcode
+
+
\section2 Using QObject
\list
diff --git a/doc/qtcreatordev/src/creating-plugins.qdoc b/doc/qtcreatordev/src/creating-plugins.qdoc
index ef9ce82959..6a83c6d9bf 100644
--- a/doc/qtcreatordev/src/creating-plugins.qdoc
+++ b/doc/qtcreatordev/src/creating-plugins.qdoc
@@ -38,6 +38,12 @@
\li \l{Distributing Plugins}
\endlist
+ \section1 Topics
+
+ \list
+ \li \l{Adding Tests}
+ \endlist
+
\section1 Design Principles
\list
diff --git a/doc/qtcreatordev/src/plugin-metadata.qdoc b/doc/qtcreatordev/src/plugin-metadata.qdoc
index 374dbff60c..fc38ac0f60 100644
--- a/doc/qtcreatordev/src/plugin-metadata.qdoc
+++ b/doc/qtcreatordev/src/plugin-metadata.qdoc
@@ -103,8 +103,13 @@
designed for long texts.
\row
\li Description
+ \li String
+ \li Short description of what the plugin is supposed to provide.
+ This is shown when running \QC with \c{-version}.
+ \row
+ \li LongDescription
\li String or array of strings
- \li Possibly multi-line description of what the plugin is supposed
+ \li Possibly multi-line, more extensive description of what the plugin is supposed
to provide.
Should still be kept relatively short, since the UI is not
designed for long texts.
diff --git a/doc/qtcreatordev/src/plugin-tests.qdoc b/doc/qtcreatordev/src/plugin-tests.qdoc
new file mode 100644
index 0000000000..78d9c6c4b6
--- /dev/null
+++ b/doc/qtcreatordev/src/plugin-tests.qdoc
@@ -0,0 +1,103 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page plugin-tests.html
+ \title Adding Tests
+
+ There are two main ways of testing your plugin code:
+
+ \list
+ \li \l{Plugin Tests}
+ \li \l{Auto Tests}
+ \endlist
+
+ Both have their specific use cases and setup, which is described in the
+ following sections.
+
+ \section1 Setting up CMake
+
+ Before adding tests, prepare your build files. They need to look for the
+ QtTest dependency and have a CMake option for building your plugin with
+ tests:
+
+ \snippet exampleplugin/CMakeLists.txt 5
+
+ \section1 Plugin Tests
+
+ Plugin tests are deeply integrated into your plugin and its
+ interaction with \QC. To add a test for something that requires
+ the infrastructure of \QC or your plugin to be set up, write a plugin
+ test.
+
+ Plugin tests are executed by starting \QC with the \c{-test <pluginname>}
+ command line argument. \QC then fully loads your plugin and all the plugins
+ that it depends on, going through the normal \l{Plugin Life Cycle}. After
+ your plugin and all dependencies are fully initialized, your tests are
+ executed. Afterwards, \QC automatically closes. Therefore, your plugin
+ tests have access to all exported functionality of all \QC plugins that
+ your plugin depends on, like \c{Core::ICore}. Use QtTest's normal test
+ macros, like \c{QVERIFY} or \c{QCOMPARE} to report your test's success or
+ failure.
+
+ To add plugin tests, add a QObject based class with private slots for your
+ tests, and register it with \l{ExtensionSystem::IPlugin::addTest()} in your
+ plugin's \l{ExtensionSystem::IPlugin::initialized()} method. Guard all test
+ related code with a check for \c{WITH_TESTS}, to avoid shipping a binary
+ release of your plugin with test functions.
+
+ Include QtTest:
+
+ \snippet exampleplugin/example.cpp test include
+
+ Then implement the test functions:
+
+ \snippet exampleplugin/example.cpp plugin tests
+
+ Register your test in ExtensionSystem::IPlugin::initialize():
+
+ \snippet exampleplugin/example.cpp register tests
+
+ If you declared the test object in the source file, like in this example,
+ also include the \c{.moc} file that is required for Qt's meta object
+ compiler:
+
+ \snippet exampleplugin/example.cpp include moc
+
+ \section1 Auto Tests
+
+ To add a test that does not depend on a running \QC infrastructure, use an
+ auto test that lives independent of your plugin interface. Parsers are a
+ common example, but you can test many things in this way if they have been
+ written in a modular way.
+
+ Even though your test does not live in your plugin interface,
+ like with plugin tests, you can still link the test to libraries and also
+ your plugin library itself, to avoid code duplication or duplicate
+ compilation of code.
+
+ In principle you can use any auto test framework,
+ but QtTest is a simple one that integrates well with Qt, and is also used
+ for the \l{plugin tests}{Plugin Tests}.
+
+ To add your test, add the test's C++ file, and use \c{add_qtc_test} in your
+ CMake file to add the test target. If your test uses your plugin library,
+ add it as a dependency with \c{DEPENDS}.
+
+ In the following example, the plugin exports a function \c{addOne}:
+
+ \quotefile exampleplugin/examplefunctions.h
+
+ And implements it in a source file:
+
+ \snippet exampleplugin/example.cpp exported function
+
+ The test is linked against the plugin library target with \c{DEPENDS}:
+
+ \snippet exampleplugin/CMakeLists.txt 6
+
+ The QtTest based test then includes the header from the plugin and
+ tests the function:
+
+ \quotefile exampleplugin/tst_mytest.cpp
+*/
diff --git a/doc/qtcreatordev/src/qtcreator-module.qdoc b/doc/qtcreatordev/src/qtcreator-module.qdoc
index 4f79cceba7..6a6b1a62f1 100644
--- a/doc/qtcreatordev/src/qtcreator-module.qdoc
+++ b/doc/qtcreatordev/src/qtcreator-module.qdoc
@@ -34,11 +34,10 @@
for plugins and basic mechanisms for plugin interaction like an
object pool.
- \omit
\row
\li \l{Utils}
- \li General utility library.
-
+ \li Useful classes that are reused in a lot of places in Qt Creator code.
+ \omit
\row
\li \l{QmlJS}
\li QML and JavaScript language support library.
diff --git a/doc/qtcreatordev/src/qtcreator-ui-text.qdoc b/doc/qtcreatordev/src/qtcreator-ui-text.qdoc
index 1d053b3893..84688a4b85 100644
--- a/doc/qtcreatordev/src/qtcreator-ui-text.qdoc
+++ b/doc/qtcreatordev/src/qtcreator-ui-text.qdoc
@@ -413,7 +413,7 @@
provides them with functions for managing the information.
Available in \uicontrol Debug mode, for interaction with the program
that is running under the control of the debugger.
- \image qtcreator-debugger-views.png "Views"
+ \image qtcreator-debugger-views.webp "Views"
\li Use descriptive names for views.
\endtable
diff --git a/doc/qtdesignstudio/examples/Loginui1/imports/loginui1/EventListModel.qml b/doc/qtdesignstudio/examples/Loginui1/imports/loginui1/EventListModel.qml
index cf19b4f949..c5cf439136 100644
--- a/doc/qtdesignstudio/examples/Loginui1/imports/loginui1/EventListModel.qml
+++ b/doc/qtdesignstudio/examples/Loginui1/imports/loginui1/EventListModel.qml
@@ -1,5 +1,5 @@
// Copyright (C) 2018 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
diff --git a/doc/qtdesignstudio/examples/Loginui1/imports/loginui1/EventListSimulator.qml b/doc/qtdesignstudio/examples/Loginui1/imports/loginui1/EventListSimulator.qml
index 5630bb8cf0..940e369e97 100644
--- a/doc/qtdesignstudio/examples/Loginui1/imports/loginui1/EventListSimulator.qml
+++ b/doc/qtdesignstudio/examples/Loginui1/imports/loginui1/EventListSimulator.qml
@@ -1,5 +1,5 @@
// Copyright (C) 2018 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick.Studio.EventSimulator 1.0
diff --git a/doc/qtdesignstudio/examples/Loginui1/src/main.cpp b/doc/qtdesignstudio/examples/Loginui1/src/main.cpp
index 40f6bc3011..1df03ed16b 100644
--- a/doc/qtdesignstudio/examples/Loginui1/src/main.cpp
+++ b/doc/qtdesignstudio/examples/Loginui1/src/main.cpp
@@ -1,5 +1,5 @@
// Copyright (C) 2021 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QGuiApplication>
#include <QQmlApplicationEngine>
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/DirectoryFontLoader.qml b/doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/DirectoryFontLoader.qml
index 6e80d32d17..0d34f5383e 100644
--- a/doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/DirectoryFontLoader.qml
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/DirectoryFontLoader.qml
@@ -1,5 +1,5 @@
// Copyright (C) 2019 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.12
import Qt.labs.folderlistmodel 2.12
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc
index 3ff3e45937..89a93a4d43 100644
--- a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc
+++ b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc
@@ -233,6 +233,12 @@
\li \l{Debugging and Profiling}
\list
\li \l{Debugging Qt Quick Projects}
+ \list
+ \li \l{Viewing Call Stack Trace}
+ \li \l{Setting Breakpoints}
+ \li \l{Local Variables and Function Parameters}
+ \li \l{Evaluating Expressions}
+ \endlist
\li \l{Debugging a Qt Quick Example Application}
\li \l{Profiling QML Applications}
\endlist