forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/11.0' into qds/dev
Conflicts: doc/qtdesignstudio/src/views/qtquick-designer.qdoc src/plugins/studiowelcome/stylemodel.cpp Change-Id: I13c9e4e9404619d7ba649eae160774aafc042610
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -40,6 +40,7 @@ ui_*.h
|
||||
wrapper.bat
|
||||
wrapper.sh
|
||||
debug_toolchain.cmake
|
||||
CMakeUserPresets.json
|
||||
|
||||
# qtcreator generated files
|
||||
*.creator.user*
|
||||
|
@@ -5,6 +5,7 @@
|
||||
"name": "cmake-plugin-minimal",
|
||||
"displayName": "CMake, C++, Git, Debug minimal Build",
|
||||
"generator": "Ninja",
|
||||
"hidden" : true,
|
||||
"cacheVariables": {
|
||||
"BUILD_PLUGINS": "Core;Designer;DiffEditor;TextEditor;ProjectExplorer;CppEditor;CodePaster;Docker;Git;Help;QmakeProjectManager;CMakeProjectManager;ClangCodeModel;ClangTools;ClangFormat;Debugger;QtSupport;ResourceEditor;VcsBase;Welcome;LanguageClient;RemoteLinux",
|
||||
"BUILD_EXECUTABLES": "QtCreator;qtcreator_ctrlc_stub;qtcreator_process_stub;win64interrupt;qtcreator_processlauncher",
|
||||
|
38
README.md
38
README.md
@@ -164,6 +164,44 @@ Thus, if you want to work on Qt Creator using Qt Creator, you need a separate
|
||||
installation of it. We recommend using a separate, release-built version of Qt
|
||||
Creator to work on a debug-built version of Qt Creator.
|
||||
|
||||
Alternatively, take the following template of `CMakeUserPresets.json` for
|
||||
reference. Write your own configurePreset inheriting `cmake-plugin-minimal` in
|
||||
`CMakeUserPresets.json` to build with IDEs (such as QtCreator, VSCode,
|
||||
CLion...etc) locally:
|
||||
|
||||
```json
|
||||
{
|
||||
"version": 4,
|
||||
"cmakeMinimumRequired": {
|
||||
"major": 3,
|
||||
"minor": 23,
|
||||
"patch": 0
|
||||
},
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "custom",
|
||||
"displayName": "custom",
|
||||
"description": "custom",
|
||||
"inherits": "cmake-plugin-minimal",
|
||||
"binaryDir": "${sourceDir}/build/${presetName}",
|
||||
"toolset": {
|
||||
"value": "v142,host=x64",
|
||||
"strategy": "external"
|
||||
},
|
||||
"architecture": {
|
||||
"value": "x64",
|
||||
"strategy": "external"
|
||||
},
|
||||
"cacheVariables": {
|
||||
"CMAKE_CXX_COMPILER": "cl.exe",
|
||||
"CMAKE_C_COMPILER": "cl.exe",
|
||||
"CMAKE_PREFIX_PATH": "c:/Qt/6.2.4/msvc2019_64"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
If you do not have Ninja installed and in the `PATH`, remove `-G Ninja` from
|
||||
|
@@ -1,6 +1,6 @@
|
||||
set(IDE_VERSION "10.0.84") # The IDE version.
|
||||
set(IDE_VERSION_COMPAT "10.0.84") # The IDE Compatibility version.
|
||||
set(IDE_VERSION_DISPLAY "11.0.0-rc1") # The IDE display version.
|
||||
set(IDE_VERSION "11.0.0") # The IDE version.
|
||||
set(IDE_VERSION_COMPAT "11.0.0") # The IDE Compatibility version.
|
||||
set(IDE_VERSION_DISPLAY "11.0.0") # The IDE display version.
|
||||
set(IDE_COPYRIGHT_YEAR "2023") # The IDE current copyright year.
|
||||
|
||||
set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation.
|
||||
|
@@ -7,7 +7,7 @@ instructions:
|
||||
variableValue: "RelWithDebInfo"
|
||||
- type: EnvironmentVariable
|
||||
variableName: LLVM_BASE_URL
|
||||
variableValue: https://master.qt.io/development_releases/prebuilt/libclang/libclang-release_16.0.2-based
|
||||
variableValue: https://ci-files02-hki.ci.qt.io/packages/jenkins/qtcreator_libclang/libclang-release_16.0.2-based
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_QT_BASE_URL
|
||||
variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/archive/qt/6.5/6.5.1-released/Qt"
|
||||
|
@@ -52,7 +52,7 @@ instructions:
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.BuildDir}}/tqtc-qtsdk/packaging_tools"
|
||||
- type: ExecuteCommand
|
||||
command: "python3 -m pipenv run python -u install_qt.py --qt-path {{.BuildDir}}/qt_install_dir --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix={{.Env.QTC_QT_POSTFIX}} --icu7z https://master.qt.io/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z {{.Env.QTC_QT_MODULES}}"
|
||||
command: "python3 -m pipenv run python -u install_qt.py --qt-path {{.BuildDir}}/qt_install_dir --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix={{.Env.QTC_QT_POSTFIX}} --icu7z https://ci-files02-hki.ci.qt.io/packages/jenkins/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z {{.Env.QTC_QT_MODULES}}"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
maxTimeInSeconds: 3600
|
||||
maxTimeBetweenOutput: 360
|
||||
@@ -72,7 +72,7 @@ instructions:
|
||||
property: host.os
|
||||
equals_value: MacOS
|
||||
- type: ExecuteCommand
|
||||
command: "python -m pipenv run python -u install_qt.py --qt-path {{.BuildDir}}/qt_install_dir --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix={{.Env.QTC_QT_POSTFIX}} --opengl32sw7z https://master.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64.7z --d3dcompiler7z https://master.qt.io/development_releases/prebuilt/d3dcompiler/msvc2013/d3dcompiler_47-x64.7z --openssl7z https://ci-files02-hki.ci.qt.io/packages/jenkins/openssl/openssl_1.1.1d_prebuild_x64.7z {{.Env.QTC_QT_MODULES}}"
|
||||
command: "python -m pipenv run python -u install_qt.py --qt-path {{.BuildDir}}/qt_install_dir --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix={{.Env.QTC_QT_POSTFIX}} --opengl32sw7z https://ci-files02-hki.ci.qt.io/packages/jenkins/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64.7z --d3dcompiler7z https://ci-files02-hki.ci.qt.io/packages/jenkins/development_releases/prebuilt/d3dcompiler/msvc2013/d3dcompiler_47-x64.7z --openssl7z https://ci-files02-hki.ci.qt.io/packages/jenkins/openssl/openssl_1.1.1d_prebuild_x64.7z {{.Env.QTC_QT_MODULES}}"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
maxTimeInSeconds: 3600
|
||||
maxTimeBetweenOutput: 360
|
||||
|
76
dist/changelog/changes-11.0.0.md
vendored
76
dist/changelog/changes-11.0.0.md
vendored
@@ -26,7 +26,7 @@ What's new?
|
||||
You can open markdown (.md) files for editing or select `File > New File >
|
||||
General > Markdown File` to create a new file.
|
||||
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-11.0/creator-markdown-editor.html))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-markdown-editor.html))
|
||||
|
||||
### Terminal
|
||||
|
||||
@@ -38,7 +38,7 @@ shells, colors, and fonts.
|
||||
To use an external terminal, deselect the `Use internal terminal` check box in
|
||||
`Preferences > Terminal`.
|
||||
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-11.0/creator-output-panes.html#terminal))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-reference-terminal-view.html))
|
||||
|
||||
### Copilot
|
||||
|
||||
@@ -48,7 +48,7 @@ suggest code in the `Edit` mode.
|
||||
|
||||
To set Copilot preferences, select `Preferences > Copilot`.
|
||||
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-11.0/creator-copilot.html))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-copilot.html))
|
||||
|
||||
### vcpkg
|
||||
|
||||
@@ -64,7 +64,7 @@ project.
|
||||
Edit manifest files in the manifest editor. To search for packages to add to the
|
||||
file, select the `Search Package` button on the manifest editor toolbar.
|
||||
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-11.0/creator-vcpkg.html))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-vcpkg.html))
|
||||
|
||||
### Axivion
|
||||
|
||||
@@ -73,7 +73,7 @@ and link a project to an Axivion project in the project settings, Qt Creator
|
||||
shows annotations of the latest run in the editors and allows you to view some
|
||||
details on the issues.
|
||||
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-11.0/creator-axivion.html))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-axivion.html))
|
||||
|
||||
General
|
||||
-------
|
||||
@@ -121,10 +121,17 @@ Editing
|
||||
* Fixed that the locator showed both the declaration and the definition of symbols
|
||||
([QTCREATORBUG-13894](https://bugreports.qt.io/browse/QTCREATORBUG-13894))
|
||||
* Fixed the handling of C++20 keywords and concepts
|
||||
* Fixed that the automatic Doxygen comment generation did not work when
|
||||
initializer lists `{}` were present
|
||||
([QTCREATORBUG-29198](https://bugreports.qt.io/browse/QTCREATORBUG-29198))
|
||||
* Fixed an issue when matching braces
|
||||
([QTCREATORBUG-29339](https://bugreports.qt.io/browse/QTCREATORBUG-29339))
|
||||
* Clangd
|
||||
* Fixed that the index could be outdated after VCS operations
|
||||
* Fixed the highlighting of labels
|
||||
([QTCREATORBUG-27338](https://bugreports.qt.io/browse/QTCREATORBUG-27338))
|
||||
* Fixed freezes when showing tool tips
|
||||
([QTCREATORBUG-29356](https://bugreports.qt.io/browse/QTCREATORBUG-29356))
|
||||
* Built-in
|
||||
* Fixed support for `if`-statements with initializer
|
||||
([QTCREATORBUG-29182](https://bugreports.qt.io/browse/QTCREATORBUG-29182))
|
||||
@@ -150,7 +157,10 @@ Editing
|
||||
* Fixed the completion for Qt Quick Controls
|
||||
([QTCREATORBUG-28648](https://bugreports.qt.io/browse/QTCREATORBUG-28648))
|
||||
* Fixed that `qmllint` issues were not shown in the `Issues` view
|
||||
([QTCREATORBUG-28720](https://bugreports.qt.io/browse/QTCREATORBUG-28720))
|
||||
([QTCREATORBUG-28720](https://bugreports.qt.io/browse/QTCREATORBUG-28720),
|
||||
[QTCREATORBUG-27762](https://bugreports.qt.io/browse/QTCREATORBUG-27762))
|
||||
* Fixed a wrong `M16` warning
|
||||
([QTCREATORBUG-28468](https://bugreports.qt.io/browse/QTCREATORBUG-28468))
|
||||
|
||||
### Python
|
||||
|
||||
@@ -161,7 +171,12 @@ Editing
|
||||
* Fixed that too many progress indicators could be created
|
||||
([QTCREATORBUG-29224](https://bugreports.qt.io/browse/QTCREATORBUG-29224))
|
||||
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-11.0/creator-python-development.html))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-python-development.html))
|
||||
|
||||
### Meson
|
||||
|
||||
* Fixed the file targets
|
||||
([QTCREATORBUG-29349](https://bugreports.qt.io/browse/QTCREATORBUG-29349))
|
||||
|
||||
Projects
|
||||
--------
|
||||
@@ -187,15 +202,28 @@ Projects
|
||||
[QTCREATORBUG-28985](https://bugreports.qt.io/browse/QTCREATORBUG-28985),
|
||||
[QTCREATORBUG-29006](https://bugreports.qt.io/browse/QTCREATORBUG-29006))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-project-cmake.html))
|
||||
* Added `Build > Reload CMake Presets` to reload CMake presets after making
|
||||
changes to them
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-11.0/creator-build-settings-cmake-presets.html))
|
||||
* Added support for the `block()` and `endblock()` CMake commands
|
||||
([CMake documentation](https://cmake.org/cmake/help/latest/command/block.html#command:block))
|
||||
* Fixed that CMake Presets were not visible in the `Projects` view
|
||||
([QTCREATORBUG-28966](https://bugreports.qt.io/browse/QTCREATORBUG-28966))
|
||||
* Fixed issues with detecting a configured Qt version when importing a build
|
||||
([QTCREATORBUG-29075](https://bugreports.qt.io/browse/QTCREATORBUG-29075))
|
||||
* Fixed the project wizards for Qt 6.3 and earlier
|
||||
([QTCREATORBUG-29067](https://bugreports.qt.io/browse/QTCREATORBUG-29067))
|
||||
* Presets
|
||||
* Added `Build > Reload CMake Presets` to reload CMake presets after making
|
||||
changes to them
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-build-settings-cmake-presets.html))
|
||||
* Fixed that presets were not visible in the `Projects` view
|
||||
([QTCREATORBUG-28966](https://bugreports.qt.io/browse/QTCREATORBUG-28966))
|
||||
* Fixed the type handling of the `architecture` and `toolset` fields
|
||||
([QTCREATORBUG-28693](https://bugreports.qt.io/browse/QTCREATORBUG-28693))
|
||||
* Fixed the setting for QML debugging when creating build configurations
|
||||
([QTCREATORBUG-29311](https://bugreports.qt.io/browse/QTCREATORBUG-29311))
|
||||
|
||||
|
||||
### Qmake
|
||||
|
||||
* Fixed an infinite loop when the Qt ABI changed
|
||||
([QTCREATORBUG-29204](https://bugreports.qt.io/browse/QTCREATORBUG-29204))
|
||||
|
||||
### Python
|
||||
|
||||
@@ -214,6 +242,10 @@ Debugging
|
||||
([QTCREATORBUG-28950](https://bugreports.qt.io/browse/QTCREATORBUG-28950))
|
||||
* Fixed pretty printer for `std::string` for recent `libc++`
|
||||
([QTCREATORBUG-29230](https://bugreports.qt.io/browse/QTCREATORBUG-29230))
|
||||
* Fixed the pretty printers on Fedora 37
|
||||
([QTCREATORBUG-28659](https://bugreports.qt.io/browse/QTCREATORBUG-28659))
|
||||
* Fixed the display of arrays with `Array of 10,000 items`
|
||||
([QTCREATORBUG-29196](https://bugreports.qt.io/browse/QTCREATORBUG-29196))
|
||||
|
||||
### C++
|
||||
|
||||
@@ -266,6 +298,11 @@ Platforms
|
||||
* Fixed an issue with building library targets
|
||||
([QTCREATORBUG-26980](https://bugreports.qt.io/browse/QTCREATORBUG-26980))
|
||||
|
||||
### iOS
|
||||
|
||||
* Improved the bundle ID that the project wizards create
|
||||
([QTCREATORBUG-29340](https://bugreports.qt.io/browse/QTCREATORBUG-29340))
|
||||
|
||||
### Remote Linux
|
||||
|
||||
* Removed the automatic sourcing of target-side shell profiles
|
||||
@@ -277,6 +314,14 @@ Platforms
|
||||
* Fixed issues after deleting the Docker image for a registered Docker device
|
||||
([QTCREATORBUG-28880](https://bugreports.qt.io/browse/QTCREATORBUG-28880))
|
||||
|
||||
### MCU
|
||||
|
||||
* Fixed that errors were shown for valid QML code
|
||||
([QTCREATORBUG-26655](https://bugreports.qt.io/browse/QTCREATORBUG-26655),
|
||||
[QTCREATORBUG-29155](https://bugreports.qt.io/browse/QTCREATORBUG-29155))
|
||||
* Fixed that files were missing from locator and project search
|
||||
([QTCREATORBUG-29297](https://bugreports.qt.io/browse/QTCREATORBUG-29297))
|
||||
|
||||
### QNX
|
||||
|
||||
* Added `slog2info` as a requirement for devices
|
||||
@@ -289,6 +334,8 @@ Aleksei German
|
||||
Alessandro Portale
|
||||
Alexander Drozdov
|
||||
Alexander Pershin
|
||||
Alexey Edelev
|
||||
Alexis Jeandet
|
||||
Ali Kianian
|
||||
Alibek Omarov
|
||||
Amr Essam
|
||||
@@ -309,8 +356,10 @@ Esa Törmänen
|
||||
Fabian Kosmale
|
||||
Filippo Gentile
|
||||
Friedemann Kleint
|
||||
Haowei Hsu
|
||||
Henning Gruendl
|
||||
Jaroslaw Kobus
|
||||
Joni Poikelin
|
||||
Jussi Witick
|
||||
Kai Köhne
|
||||
Knud Dollereder
|
||||
@@ -324,6 +373,7 @@ Mats Honkamaa
|
||||
Miikka Heikkinen
|
||||
Mitch Curtis
|
||||
Niels Weber
|
||||
Olivier Delaune
|
||||
Orgad Shaneh
|
||||
Pranta Dastider
|
||||
Robert Löhning
|
||||
@@ -333,8 +383,8 @@ Tasuku Suzuki
|
||||
Thiago Macieira
|
||||
Thomas Hartmann
|
||||
Tim Jenssen
|
||||
Tim Jenßen
|
||||
Ulf Hermann
|
||||
Vikas Pachdha
|
||||
Wladimir Leuschner
|
||||
Yasser Grimes
|
||||
Yixue Wang
|
||||
|
@@ -101,7 +101,8 @@
|
||||
<ul>
|
||||
<li><a href="creator-help.html">Using the Help Mode</a></li>
|
||||
<li><a href="creator-faq.html">FAQ</a></li>
|
||||
<li><a href="creator-how-tos.html">How-tos</a></li>
|
||||
<li><a href="creator-how-tos.html">How-to</a></li>
|
||||
<li><a href="creator-reference.html">Reference</a></li>
|
||||
<li><a href="creator-known-issues.html">Known Issues</a></li>
|
||||
<li><a href="creator-glossary.html">Glossary</a></li>
|
||||
<li><a href="technical-support.html">Technical Support</a></li>
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 9.5 KiB |
Binary file not shown.
After Width: | Height: | Size: 4.8 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-compile-output.webp
Normal file
BIN
doc/qtcreator/images/qtcreator-preferences-compile-output.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.3 KiB |
@@ -500,9 +500,9 @@
|
||||
\endlist
|
||||
\endlist
|
||||
|
||||
Output from the helper program that processes the data is displayed in
|
||||
\l{Viewing Output}{General Messages}.
|
||||
The \uicontrol {General Messages} view shows \l{View output}{output} from the
|
||||
helper program that processes the data.
|
||||
|
||||
Some information is displayed in \l {Application Output} even if the
|
||||
The \l {Application Output} view shows some information even if the
|
||||
Performance Analyzer displays error messages.
|
||||
*/
|
||||
|
@@ -26,11 +26,16 @@
|
||||
|
||||
\li \l{Writing Code}
|
||||
|
||||
\if defined(qtdesignstudio)
|
||||
The \l{Code} view offers services, such as semantic highlighting,
|
||||
syntax checking, code completion, code indentation, and in-line
|
||||
error indicators while you are typing.
|
||||
\else
|
||||
Writing, editing, and navigating in source code are core tasks in
|
||||
application development. Therefore, the code editor is one of the
|
||||
key components of \QC. You can use the code editor in the
|
||||
\uicontrol Edit mode.
|
||||
|
||||
\endif
|
||||
\li \l{Finding}
|
||||
|
||||
Use the incremental and advanced search to search from currently
|
||||
|
@@ -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,9 +8,13 @@
|
||||
// **********************************************************************
|
||||
|
||||
/*!
|
||||
\previouspage creator-coding.html
|
||||
\page creator-editor-functions.html
|
||||
\previouspage creator-coding.html
|
||||
\if defined(qtdesignstudio)
|
||||
\nextpage creator-highlighting.html
|
||||
\else
|
||||
\nextpage creator-coding-navigating.html
|
||||
\endif
|
||||
|
||||
\title Writing Code
|
||||
|
||||
@@ -19,14 +23,14 @@
|
||||
in-line error indicators while you are typing.
|
||||
|
||||
\list
|
||||
|
||||
\if defined(qtcreator)
|
||||
\li \l{Working in Edit Mode}
|
||||
|
||||
You can use the editor toolbar to navigate between open files
|
||||
and symbols in use. You can also split the view to work on
|
||||
several files simultaneously, add bookmarks, and move between
|
||||
symbol definitions and declarations.
|
||||
|
||||
\endif
|
||||
\li \l{Semantic Highlighting}
|
||||
|
||||
\QC enables you to write well formatted code by highlighting
|
||||
@@ -75,8 +79,6 @@
|
||||
keyboard sequence as a macro. You can then play the macro to
|
||||
repeat the sequence. You can save the latest macro and assign a
|
||||
keyboard shortcut for running it or run it from the locator.
|
||||
\endif
|
||||
|
||||
\endlist
|
||||
|
||||
\section1 Related Topics
|
||||
@@ -88,7 +90,6 @@
|
||||
You can use a diff editor to compare two versions of a file and
|
||||
view the differences side-by-side in the \uicontrol Edit mode.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\li \l{Parsing C++ Files with the Clang Code Model}
|
||||
|
||||
The Clang code model offers some of the same services as the
|
||||
|
@@ -28,9 +28,8 @@
|
||||
{locator}, \l{Moving to Symbol Definition or Declaration}
|
||||
{following symbols}, and so on
|
||||
|
||||
\li Inspecting code by using the \l{Browsing Project Contents}
|
||||
{class browser}, the \l{Viewing Defined Types and Symbols}
|
||||
{outline}, and so on
|
||||
\li Inspecting code by using the \l{Class View}{class browser}, the
|
||||
\l{Outline}{outline}, and so on
|
||||
|
||||
\li Diagnostics
|
||||
|
||||
@@ -154,9 +153,8 @@
|
||||
specify that the projects in the session should be managed by a single
|
||||
clangd process.
|
||||
|
||||
The document outline in the \l{Viewing Defined Types and Symbols}
|
||||
{Outline} view is backed by clangd's document symbol support, which
|
||||
makes the results more reliable than before.
|
||||
The document outline in the \l{Outline} view is backed by clangd's document
|
||||
symbol support, which makes the results more reliable than before.
|
||||
|
||||
To specify settings for clangd:
|
||||
|
||||
|
@@ -35,7 +35,7 @@
|
||||
copy the URL of the post on the code pasting service to the
|
||||
clipboard when you paste a post.
|
||||
\li Select the \uicontrol {Display General Messages after sending a post}
|
||||
check box to display the URL in \l{Viewing Output}{General Messages}
|
||||
check box to display the URL in \l{View output}{General Messages}
|
||||
when you paste a post.
|
||||
\endlist
|
||||
|
||||
|
@@ -1,33 +1,20 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
// **********************************************************************
|
||||
// NOTE: the sections are not ordered by their logical order to avoid
|
||||
// reshuffling the file each time the index order changes (i.e., often).
|
||||
// Run the fixnavi.pl script to adjust the links to the index order.
|
||||
// **********************************************************************
|
||||
|
||||
/*!
|
||||
\previouspage creator-editor-functions.html
|
||||
\page creator-coding-navigating.html
|
||||
\if defined(qtdesignstudio)
|
||||
\nextpage creator-views.html
|
||||
\else
|
||||
\nextpage creator-highlighting.html
|
||||
\endif
|
||||
|
||||
\title Working in Edit Mode
|
||||
|
||||
This section describes how to use the \uicontrol Edit mode. For more
|
||||
information about using the sidebar, see \l{Browsing Project Contents}.
|
||||
You can write code in the \uicontrol Edit mode.
|
||||
|
||||
\section1 Using the Editor Toolbar
|
||||
|
||||
The editor toolbar is located at the top of the editor view. The editor
|
||||
toolbar is context sensitive and shows items relevant to the file currently
|
||||
open in the editor.
|
||||
The editor toolbar is located at the top of the editor view. It is context
|
||||
sensitive and shows items relevant to the file currently open in the editor.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\image qtcreator-editortoolbar-symbols.webp {Edit mode toolbar}
|
||||
|
||||
To add more space around the toolbar items, select \uicontrol Edit >
|
||||
@@ -35,9 +22,6 @@
|
||||
then select \uicontrol Relaxed in the \uicontrol {Toolbar style} field.
|
||||
|
||||
\image qtcreator-preferences-environment-interface.webp {Interface tab in Environment preferences}
|
||||
\else
|
||||
\image studio-edit-mode.png
|
||||
\endif
|
||||
|
||||
\section2 Navigating Between Open Files and Symbols
|
||||
|
||||
@@ -72,10 +56,9 @@
|
||||
\l{Searching with the Locator}{locator}. Enter the line number and column
|
||||
number in the locator, separated by a colon (:).
|
||||
|
||||
\note You can also use the \l{Browsing Project Contents}{sidebars} to
|
||||
\note You can also use the \l{Show and hide sidebars}{sidebars} to
|
||||
move around in \QC.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\section2 Selecting Parse Context
|
||||
|
||||
Code might be interpreted differently in different contexts. A file can be
|
||||
@@ -104,7 +87,6 @@
|
||||
To reload the file with the selected encoding, select
|
||||
\uicontrol {Reload with Encoding}. To save the file with
|
||||
the new encoding, select \uicontrol {Save with Encoding}.
|
||||
\endif
|
||||
|
||||
\section2 Selecting Line Ending Style
|
||||
|
||||
@@ -120,7 +102,7 @@
|
||||
|
||||
To set the line endings to use for a project, select \uicontrol Projects >
|
||||
\uicontrol {Project Settings} > \uicontrol Editor.
|
||||
\if defined(qtcreator)
|
||||
|
||||
For more information, see \l {Specifying Editor Settings}.
|
||||
|
||||
\section2 Managing Language Servers
|
||||
@@ -132,7 +114,6 @@
|
||||
\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
|
||||
|
||||
@@ -246,12 +227,7 @@
|
||||
\endlist
|
||||
|
||||
To view the note, move the mouse pointer over the bookmark or open the
|
||||
\uicontrol Bookmarks view
|
||||
\if defined(qtcreator)
|
||||
in the \l{Show and hide sidebars}{sidebar}.
|
||||
\else
|
||||
in the \l{Managing Workspaces}{workspace}.
|
||||
\endif
|
||||
\uicontrol Bookmarks view in the \l{Show and hide sidebars}{sidebar}.
|
||||
|
||||
\section2 Navigating Bookmarks
|
||||
|
||||
@@ -338,7 +314,6 @@
|
||||
\uicontrol {Open Corresponding Header/Source in Next Split}. You can also
|
||||
press \key F4 or \key {Ctrl+E,F4}, respectively.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\section1 Reparsing Externally Changed Files
|
||||
|
||||
If source files are modified from outside \QC, the opened files will be
|
||||
@@ -363,13 +338,4 @@
|
||||
\QC underlines semantic errors in olive in the C++ code editor. To check the
|
||||
correct paths for includes that are not resolved or that are resolved to the
|
||||
wrong file, select \uicontrol {Project Parts} > \uicontrol {Header Paths}.
|
||||
|
||||
\else
|
||||
\section1 Related Topics
|
||||
|
||||
\list
|
||||
\li \l{Browsing Project Contents}
|
||||
\li \l{Viewing Output}
|
||||
\endlist
|
||||
\endif
|
||||
*/
|
@@ -29,11 +29,9 @@
|
||||
{locator} or \l{Moving to Symbol Definition or Declaration}
|
||||
{moving to the symbol definition}
|
||||
\li Inspecting code by viewing the document outline in the
|
||||
\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}
|
||||
\l{Outline} view or in the \uicontrol Symbols list on the
|
||||
\l{Using the Editor Toolbar}{editor toolbar}
|
||||
\li \l{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
|
||||
@@ -94,7 +92,7 @@
|
||||
patterns to extend the MIME types, separated by semicolons.
|
||||
\li In the \uicontrol {Startup behavior} field, select whether the
|
||||
language server is started when \QC starts or when a project or file
|
||||
with a matching MIME type is opened. \l{Viewing Output}
|
||||
with a matching MIME type is opened. \l{View output}
|
||||
{General Messages} displays information about the connection to the
|
||||
language server.
|
||||
\li In the \uicontrol {Initialization options} field, you can add
|
||||
|
@@ -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
|
||||
|
||||
/*!
|
||||
@@ -25,8 +25,7 @@
|
||||
|
||||
To assign a keyboard shortcut to a text editing macro, select
|
||||
\uicontrol Edit > \uicontrol Preferences > \uicontrol Environment >
|
||||
\uicontrol Keyboard. For more information, see
|
||||
\l{Configuring Keyboard Shortcuts}.
|
||||
\uicontrol Keyboard. For more information, see \l{Assign keyboard shortcuts}.
|
||||
|
||||
You can also use the \c rm locator filter to run a macro. For more
|
||||
information, see \l{Searching with the Locator}.
|
||||
|
@@ -1,9 +1,13 @@
|
||||
// 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
|
||||
|
||||
/*!
|
||||
\previouspage creator-coding-navigating.html
|
||||
\page creator-highlighting.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-editor-functions.html
|
||||
\else
|
||||
\previouspage creator-coding-navigating.html
|
||||
\endif
|
||||
\nextpage creator-checking-code-syntax.html
|
||||
|
||||
\title Semantic Highlighting
|
||||
@@ -51,8 +55,8 @@
|
||||
If the editor cannot find the highlight definition for a file that you open
|
||||
for editing, it prompts you to download additional highlight definition
|
||||
files. Select \uicontrol {Download Definitions} to download the files.
|
||||
Information about the downloaded files is displayed in \l{Viewing Output}
|
||||
{General Messages}.
|
||||
To view information about the downloaded files, open the \l{View output}
|
||||
{General Messages} view.
|
||||
|
||||
To suppress the message for a particular file pattern, select
|
||||
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Text Editor}
|
||||
|
@@ -113,7 +113,7 @@
|
||||
working directory.
|
||||
|
||||
\li In the \uicontrol Output field, select how to handle output from the
|
||||
tool. You can ignore the output, view it in \l{Viewing Output}
|
||||
tool. You can ignore the output, view it in \l{View output}
|
||||
{General Messages}, or replace the selected text with the
|
||||
output in the code editor.
|
||||
|
||||
|
@@ -5,8 +5,10 @@
|
||||
\page creator-how-to-macos.html
|
||||
\if defined(qtcreator)
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
\else
|
||||
\previouspage creator-quick-tour.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-how-to-ui
|
||||
\ingroup studio-how-to
|
||||
|
||||
|
@@ -5,8 +5,10 @@
|
||||
\page creator-how-to-set-high-dpi-scaling.html
|
||||
\if defined(qtcreator)
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
\else
|
||||
\previouspage creator-quick-tour.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-how-to-ui
|
||||
\ingroup studio-how-to
|
||||
|
||||
@@ -32,6 +34,7 @@
|
||||
\list 1
|
||||
\li Select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol Environment > \uicontrol Interface.
|
||||
\image qtcreator-preferences-environment-interface.webp {Interface tab in Environment preferences}
|
||||
\li Select \uicontrol {Enable high DPI scaling}.
|
||||
\li Restart \QC to have the change take effect.
|
||||
\endlist
|
||||
|
@@ -5,8 +5,10 @@
|
||||
\page creator-how-to-switch-ui-themes.html
|
||||
\if defined(qtcreator)
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
\else
|
||||
\previouspage creator-quick-tour.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-how-to-ui
|
||||
\ingroup studio-how-to
|
||||
|
||||
|
@@ -5,8 +5,10 @@
|
||||
\page creator-how-to-view-images.html
|
||||
\if defined(qtcreator)
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
\else
|
||||
\previouspage creator-quick-tour.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-how-to-design
|
||||
\ingroup studio-how-to-image-viewer
|
||||
|
||||
@@ -47,8 +49,10 @@
|
||||
\page creator-how-to-export-svg-images.html
|
||||
\if defined(qtcreator)
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
\else
|
||||
\previouspage creator-quick-tour.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-how-to-design
|
||||
\ingroup studio-how-to-image-viewer
|
||||
|
||||
|
@@ -17,21 +17,14 @@
|
||||
\nextpage creator-editor-external.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-reference
|
||||
|
||||
\title Keyboard Shortcuts
|
||||
|
||||
\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
|
||||
appear in menus or have default keyboard shortcuts. For example, selecting
|
||||
and deleting words or lines in an editor.
|
||||
|
||||
To view all functions available in \QC and the keyboard shortcuts defined
|
||||
for them, select
|
||||
\QC has various keyboard shortcuts that speed up your development process.
|
||||
To view all \QC functions in and their keyboard shortcuts, select
|
||||
\uicontrol Edit > \uicontrol Preferences > \uicontrol Environment >
|
||||
\uicontrol Keyboard. The shortcuts are listed by category. To find a keyboard
|
||||
shortcut in the list, enter a function name or shortcut in the \uicontrol Filter
|
||||
field.
|
||||
\uicontrol Keyboard.
|
||||
|
||||
\image qtcreator-keyboard-shortcuts.png
|
||||
|
||||
@@ -60,58 +53,10 @@
|
||||
|
||||
\image qtcreator-preferences-environment-interface.webp {Interface tab in Environment preferences}
|
||||
|
||||
\section1 Configuring Keyboard Shortcuts
|
||||
|
||||
To customize a keyboard shortcut:
|
||||
|
||||
\list 1
|
||||
|
||||
\li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Environment
|
||||
> \uicontrol Keyboard.
|
||||
|
||||
\li Select a command from the list.
|
||||
|
||||
\li In the \uicontrol{Key Sequence} field, you have the following
|
||||
options:
|
||||
|
||||
\list
|
||||
|
||||
\li Enter the shortcut key you want to associate with the
|
||||
selected command.
|
||||
|
||||
\li Select \uicontrol Record, press the keys to use as the
|
||||
keyboard shortcut, and select \uicontrol {Stop Recording}
|
||||
when you are done.
|
||||
|
||||
\endlist
|
||||
|
||||
\li To assign multiple keyboard shortcuts to a function, select
|
||||
\uicontrol Add, and enter or record an additional key combination.
|
||||
|
||||
\li To revert to the default shortcut, select \uicontrol Reset.
|
||||
|
||||
\endlist
|
||||
|
||||
\QC allows you to use different keyboard shortcut mapping schemes:
|
||||
|
||||
\list
|
||||
|
||||
\li To import a keyboard shortcut mapping scheme, click \uicontrol Import
|
||||
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
|
||||
\uicontrol Export and select the location where you want to save the
|
||||
exported .kms file.
|
||||
|
||||
\endlist
|
||||
|
||||
\section1 Default Keyboard Shortcuts
|
||||
|
||||
The following tables list the default keyboard shortcuts. They are
|
||||
categorized by actions.
|
||||
|
||||
\section2 General Keyboard Shortcuts
|
||||
\section1 General Keyboard Shortcuts
|
||||
|
||||
\table
|
||||
\header
|
||||
@@ -183,9 +128,11 @@
|
||||
\row
|
||||
\li Previous open document in history
|
||||
\li Ctrl+Tab
|
||||
\if defined(qtcreator)
|
||||
\row
|
||||
\li Activate \uicontrol Locator
|
||||
\li Ctrl+K
|
||||
\endif
|
||||
\row
|
||||
\li Switch to \uicontrol Welcome mode
|
||||
\li Ctrl+1
|
||||
@@ -253,6 +200,7 @@
|
||||
\row
|
||||
\li Undo
|
||||
\li Ctrl+Z
|
||||
\if defined(qtcreator)
|
||||
\row
|
||||
\li Move to \uicontrol Edit mode
|
||||
|
||||
@@ -262,6 +210,7 @@
|
||||
\li The second press closes secondary windows
|
||||
\endlist
|
||||
\li Esc
|
||||
\endif
|
||||
\row
|
||||
\li Exit \QC
|
||||
|
||||
@@ -273,7 +222,7 @@
|
||||
\li Ctrl+Q
|
||||
\endtable
|
||||
|
||||
\section2 Editing Keyboard Shortcuts
|
||||
\section1 Editing Keyboard Shortcuts
|
||||
|
||||
\table
|
||||
\header
|
||||
@@ -395,25 +344,7 @@
|
||||
\row
|
||||
\li Visualize whitespace
|
||||
\li Ctrl+E, Ctrl+V
|
||||
\row
|
||||
\li Adjust size
|
||||
\li Ctrl+J
|
||||
\row
|
||||
\li Lay out in a grid
|
||||
\li Ctrl+G
|
||||
\row
|
||||
\li Lay out horizontally
|
||||
\li Ctrl+H
|
||||
\row
|
||||
\li Lay out vertically
|
||||
\li Ctrl+L
|
||||
\row
|
||||
\li Preview
|
||||
\li Alt+Shift+R
|
||||
\if defined(qtcreator)
|
||||
\row
|
||||
\li Edit signals and slots
|
||||
\li F4
|
||||
\row
|
||||
\li Toggle bookmark
|
||||
\li Ctrl+M
|
||||
@@ -518,7 +449,7 @@
|
||||
\endtable
|
||||
|
||||
\if defined(qtcreator)
|
||||
\section3 Emacs Shortcuts
|
||||
\section1 Emacs Shortcuts
|
||||
|
||||
You can specify shortcuts for executing actions in a way that is familiar to
|
||||
\l{https://www.gnu.org/software/emacs/manual/html_node/emacs/index.html}
|
||||
@@ -549,7 +480,33 @@
|
||||
\li Yank
|
||||
\endlist
|
||||
|
||||
\section2 Image Viewer Shortcuts
|
||||
\section1 \QD Shortcuts
|
||||
|
||||
\table
|
||||
\header
|
||||
\li Action
|
||||
\li Keyboard shortcut
|
||||
\row
|
||||
\li Adjust size
|
||||
\li Ctrl+J
|
||||
\row
|
||||
\li Lay out in a grid
|
||||
\li Ctrl+G
|
||||
\row
|
||||
\li Lay out horizontally
|
||||
\li Ctrl+H
|
||||
\row
|
||||
\li Lay out vertically
|
||||
\li Ctrl+L
|
||||
\row
|
||||
\li Preview
|
||||
\li Alt+Shift+R
|
||||
\row
|
||||
\li Edit signals and slots
|
||||
\li F4
|
||||
\endtable
|
||||
|
||||
\section1 Image Viewer Shortcuts
|
||||
|
||||
\table
|
||||
\header
|
||||
@@ -577,7 +534,7 @@
|
||||
\endif
|
||||
|
||||
\if defined(qtdesignstudio)
|
||||
\section2 Design Mode Keyboard Shortcuts
|
||||
\section1 Design Mode Keyboard Shortcuts
|
||||
|
||||
You can use the following keyboard shortcuts when editing QML files in the
|
||||
\uicontrol Design mode.
|
||||
@@ -602,7 +559,8 @@
|
||||
\endtable
|
||||
\endif
|
||||
|
||||
\section2 Debugging Keyboard Shortcuts
|
||||
\if defined(qtcreator)
|
||||
\section1 Debugging Keyboard Shortcuts
|
||||
|
||||
\table
|
||||
\header
|
||||
@@ -639,8 +597,9 @@
|
||||
\li Reverse direction
|
||||
\li F12
|
||||
\endtable
|
||||
\endif
|
||||
|
||||
\section2 Project Keyboard Shortcuts
|
||||
\section1 Project Keyboard Shortcuts
|
||||
|
||||
\table
|
||||
\header
|
||||
@@ -670,7 +629,7 @@
|
||||
\li Ctrl+R
|
||||
\endtable
|
||||
|
||||
\section2 Help Keyboard Shortcuts
|
||||
\section1 Help Keyboard Shortcuts
|
||||
|
||||
\table
|
||||
\header
|
||||
@@ -696,7 +655,7 @@
|
||||
\li Ctrl+S
|
||||
\endtable
|
||||
|
||||
\section2 Version Control Keyboard Shortcuts
|
||||
\section1 Version Control Keyboard Shortcuts
|
||||
|
||||
\if defined(qtcreator)
|
||||
\table
|
||||
@@ -830,4 +789,139 @@
|
||||
\li Alt+G, Alt+U
|
||||
\endtable
|
||||
\endif
|
||||
|
||||
\sa {Assign keyboard shortcuts}, {Find keyboard shortcuts},
|
||||
{Import and export keyboard shortcuts}
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-how-to-assign-keyboard-shortcuts.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-keyboard-shortcuts.html
|
||||
\nextpage studio-projects.html
|
||||
\else
|
||||
\previouspage creator-how-tos.html
|
||||
|
||||
\endif
|
||||
|
||||
\ingroup creator-how-to-ui
|
||||
|
||||
\title Assign keyboard shortcuts
|
||||
|
||||
If your favorite keyboard shortcut is missing, you can add it. Also, you can
|
||||
assign your own keyboard shortcuts for functions that you can easily perform
|
||||
with a mouse, and that therefore do not appear in menus or have default
|
||||
keyboard shortcuts. For example, selecting and deleting words or lines in an
|
||||
editor.
|
||||
|
||||
To change an existing keyboard shortcut or assign a new one:
|
||||
|
||||
\list 1
|
||||
|
||||
\li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Environment
|
||||
> \uicontrol Keyboard.
|
||||
\image qtcreator-keyboard-shortcuts.png {Keyboard preferences}
|
||||
|
||||
\li Select a command from the list.
|
||||
|
||||
\li In the \uicontrol{Key Sequence} field, you have the following
|
||||
options:
|
||||
|
||||
\list
|
||||
|
||||
\li Enter the shortcut key you want to associate with the
|
||||
selected command.
|
||||
|
||||
\li Record a key sequence.
|
||||
|
||||
\endlist
|
||||
|
||||
\li To assign multiple keyboard shortcuts to a function, select
|
||||
\uicontrol Add, and enter or record an additional key combination.
|
||||
|
||||
\li To revert to the default shortcut, select \uicontrol Reset.
|
||||
|
||||
\endlist
|
||||
|
||||
\section1 Record key sequences
|
||||
|
||||
\list 1
|
||||
\li Select \uicontrol Record.
|
||||
\li Press the keys to use as the keyboard shortcut.
|
||||
\li Select \uicontrol {Stop Recording} when you are done.
|
||||
\endlist
|
||||
|
||||
\sa {Keyboard Shortcuts}, {Find keyboard shortcuts},
|
||||
{Import and export keyboard shortcuts}
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-how-to-find-keyboard-shortcuts.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-keyboard-shortcuts.html
|
||||
\nextpage studio-projects.html
|
||||
\else
|
||||
\previouspage creator-how-tos.html
|
||||
|
||||
\endif
|
||||
|
||||
\ingroup creator-how-to-ui
|
||||
|
||||
\title Find keyboard shortcuts
|
||||
|
||||
\QC has many useful keyboard shortcuts. You can see the keyboard shortcut for
|
||||
a menu command in the menu or the tooltip for a button or in the keyboard
|
||||
preferences.
|
||||
|
||||
To look up keyboard shortcuts:
|
||||
|
||||
\list 1
|
||||
\li Select uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol Environment > \uicontrol Keyboard.
|
||||
\image qtcreator-keyboard-shortcuts.png {Keyboard preferences}
|
||||
\li Start typing the name of a function or shortcut in the
|
||||
\uicontrol Filter field.
|
||||
\endlist
|
||||
|
||||
You can change the existing keyboard shortcuts or import and export them.
|
||||
|
||||
\sa {Keyboard Shortcuts}, {Assign keyboard shortcuts},
|
||||
{Import and export keyboard shortcuts}
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-how-to-change-keyboard-shortcuts.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-keyboard-shortcuts.html
|
||||
\nextpage studio-projects.html
|
||||
\else
|
||||
\previouspage creator-how-tos.html
|
||||
|
||||
\endif
|
||||
|
||||
\title Import and export keyboard shortcuts
|
||||
|
||||
You can use different keyboard shortcut mapping schemes that are stored as
|
||||
.kms files.
|
||||
|
||||
To import and export keyboard shortcut mapping schemes:
|
||||
|
||||
\list 1
|
||||
|
||||
\li Select uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol Environment > \uicontrol Keyboard.
|
||||
\image qtcreator-keyboard-shortcuts.png {Keyboard preferences}
|
||||
|
||||
\li To import a keyboard shortcut mapping scheme, click \uicontrol Import
|
||||
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
|
||||
\uicontrol Export and select the location where you want to save the
|
||||
exported .kms file.
|
||||
|
||||
\endlist
|
||||
|
||||
\sa {Keyboard Shortcuts}, {Assign keyboard shortcuts},
|
||||
{Find keyboard shortcuts}
|
||||
*/
|
||||
|
@@ -584,7 +584,7 @@
|
||||
|
||||
\section1 Viewing Test Output
|
||||
|
||||
The \l{Viewing Output}{Test Results} view shows Qt and Qt Quick test results
|
||||
The \l{View output}{Test Results} view shows Qt and Qt Quick test results
|
||||
in XML format and other test results in plain text format.
|
||||
|
||||
\section2 Qt Test Output
|
||||
|
@@ -4,7 +4,7 @@
|
||||
/*!
|
||||
\page creator-how-to-enable-plugins.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-use
|
||||
|
||||
\title Enable and disable plugins
|
||||
@@ -16,7 +16,10 @@
|
||||
on are also enabled.
|
||||
|
||||
You can also disable plugins that you do not use, to streamline \QC.
|
||||
By default, all the plugins that depend on the plugin are also disabled.
|
||||
If you disable a plugin, \QC asks you to disable all plugins that
|
||||
depend on it. This might lead to some features not working properly.
|
||||
Further, the plugins are not automatically enabled if you enable the
|
||||
first plugin again.
|
||||
|
||||
To enable and disable plugins:
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
/*!
|
||||
\page creator-how-to-find-settings-files.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-use
|
||||
|
||||
\title Find settings files
|
||||
|
@@ -4,7 +4,7 @@
|
||||
/*!
|
||||
\page creator-how-to-install-plugins.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-use
|
||||
|
||||
\title Install plugins
|
||||
|
@@ -10,7 +10,7 @@
|
||||
/*!
|
||||
\previouspage creator-faq.html
|
||||
\page creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
\nextpage creator-reference.html
|
||||
|
||||
\title How-to
|
||||
|
||||
@@ -19,9 +19,11 @@
|
||||
\section1 Use the UI
|
||||
|
||||
\list
|
||||
\li \l {Assign keyboard shortcuts}
|
||||
\li \l {Find a particular preference}
|
||||
\li \l {Find keyboard shortcuts}
|
||||
\li \l {Find menu items on \macos}
|
||||
\li \l {Import and export keyboard shortcuts}
|
||||
\li \l {Set high DPI scaling}
|
||||
\li \l {Set the number of recent files shown}
|
||||
\li \l {Show and hide sidebars}
|
||||
@@ -74,7 +76,7 @@
|
||||
/*!
|
||||
\page creator-how-to-move-between-open-files.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-edit
|
||||
|
||||
\title Move between open files
|
||||
@@ -83,8 +85,10 @@
|
||||
\key Ctrl+Tab.
|
||||
|
||||
To move forward in the location history, press \key {Alt+Right}
|
||||
(\key {Cmd+Opt+Right} on \macos). To move backward, press \key {Alt+Left}
|
||||
(\key {Cmd+Opt+Left} on \macos). For example, if you use the \uicontrol Locator
|
||||
(\key {Cmd+Opt+Right} on \macos).
|
||||
|
||||
To move backward, press \key {Alt+Left} (\key {Cmd+Opt+Left} on \macos).
|
||||
For example, if you use the \uicontrol Locator
|
||||
to jump to a symbol in the same file, you can jump back to your original
|
||||
location in that file by pressing \key {Alt+Left}.
|
||||
*/
|
||||
@@ -92,7 +96,7 @@
|
||||
/*!
|
||||
\page creator-how-to-switch-to-edit-mode.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-edit
|
||||
|
||||
\title Switch to Edit mode
|
||||
@@ -114,7 +118,7 @@
|
||||
/*!
|
||||
\page creator-how-to-find-preferences.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-ui
|
||||
|
||||
\title Find a particular preference
|
||||
@@ -125,60 +129,10 @@
|
||||
\image qtcreator-preferences.webp {Filtering preferences}
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-how-to-view-output.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
\ingroup creator-how-to-ui
|
||||
|
||||
\title View output
|
||||
|
||||
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.
|
||||
|
||||
\image qtcreator-output-panes-taskbar.webp "Output on the taskbar"
|
||||
|
||||
To view different types of output, use the following shortcuts:
|
||||
|
||||
\list
|
||||
|
||||
\li \uicontrol{Issues} - \key Alt+1 (\key Cmd+1 on \macos)
|
||||
|
||||
\li \uicontrol{Search Results} - \key Alt+2 (\key Cmd+2 on \macos)
|
||||
|
||||
\li \uicontrol{Application Output} - \key Alt+3 (\key Cmd+3 on \macos)
|
||||
|
||||
\li \uicontrol{Compile Output} - \key Alt+4 (\key Cmd+4 on \macos)
|
||||
|
||||
\endlist
|
||||
|
||||
For additional ways to view other types of output, see \l{Viewing Output}.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-how-to-find-keyboard-shortcuts.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
\ingroup creator-how-to-ui
|
||||
|
||||
\title Find 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.
|
||||
|
||||
To customize, import, or export keyboard shortcuts, select \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol Environment > \uicontrol Keyboard.
|
||||
|
||||
\image qtcreator-keyboard-shortcuts.png "Keyboard preferences"
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-how-to-run-from-cli.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-use
|
||||
|
||||
\title Run \QC from the command line
|
||||
@@ -196,7 +150,7 @@
|
||||
/*!
|
||||
\page creator-how-to-move-to-symbols.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-edit
|
||||
|
||||
\title Move to symbols
|
||||
@@ -219,7 +173,7 @@
|
||||
/*!
|
||||
\page creator-how-to-locate-files-using-keyboard.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-edit
|
||||
|
||||
\title Locate files using the keyboard
|
||||
@@ -244,7 +198,7 @@
|
||||
/*!
|
||||
\page creator-how-to-perform-calculations.html
|
||||
\previouspage creator-how-to-move-between-open-files.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-edit
|
||||
|
||||
\title Perform calculations
|
||||
@@ -261,7 +215,7 @@
|
||||
/*!
|
||||
\page creator-how-to-jump-to-functions-in-qml-code.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-edit
|
||||
|
||||
\title Jump to a function in QML code
|
||||
@@ -273,7 +227,7 @@
|
||||
/*!
|
||||
\page creator-how-to-add-license-header-templates.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-projects
|
||||
|
||||
\title Add a license header template for C++ code
|
||||
@@ -304,7 +258,7 @@
|
||||
/*!
|
||||
\page creator-how-to-paste-text-from-clipboard-history.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-edit
|
||||
|
||||
\title Paste text from clipboard history
|
||||
@@ -317,7 +271,7 @@
|
||||
/*!
|
||||
\page creator-how-to-sort-lines-alphabetically.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-edit
|
||||
|
||||
\title Sort lines alphabetically
|
||||
@@ -330,7 +284,7 @@
|
||||
/*!
|
||||
\page creator-enclose-code-in-characters.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-edit
|
||||
|
||||
\title Enclose selected code in curly braces, parentheses, or double quotes
|
||||
@@ -355,7 +309,7 @@
|
||||
/*!
|
||||
\page creator-how-to-select-enclosing-block.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-edit
|
||||
|
||||
\title Select the enclosing block in C++
|
||||
@@ -366,7 +320,7 @@
|
||||
/*!
|
||||
\page creator-how-to-add-code-snippets.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-edit
|
||||
|
||||
\title Add code snippets to the auto-complete menu
|
||||
@@ -383,7 +337,7 @@
|
||||
/*!
|
||||
\page creator-how-to-write-notes.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-edit
|
||||
|
||||
\title Write down notes
|
||||
@@ -412,22 +366,27 @@
|
||||
/*!
|
||||
\page creator-how-to-set-recent-files.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-ui
|
||||
|
||||
\title Set the number of recent files shown
|
||||
|
||||
Set the value of \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol Environment > \uicontrol System
|
||||
> \uicontrol {Maximum number of entries in "Recent Files"}.
|
||||
To set the number of files to list in \uicontrol File >
|
||||
\uicontrol {Recent Files}:
|
||||
|
||||
\image qtcreator-options-environment-system.png "System preferences"
|
||||
\list 1
|
||||
\li Select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol Environment > \uicontrol System.
|
||||
\image qtcreator-options-environment-system.png {System preferences}
|
||||
\li In \uicontrol {Maximum number of entries in "Recent Files"}, set
|
||||
the number of files to show.
|
||||
\endlist
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-how-to-search-and-replace-using-regexp.html
|
||||
\previouspage creator-how-to-move-between-open-files.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-edit
|
||||
|
||||
\title Search and replace across files using a regular expression
|
||||
|
@@ -22,7 +22,7 @@
|
||||
\li Record test cases (in a very limited way compared to what you can do
|
||||
inside the Squish IDE).
|
||||
\li Use Squish Runner and Server to run test suites or cases and view
|
||||
the results in the \uicontrol Squish \l{Viewing Output}{output}.
|
||||
the results in the \uicontrol Squish \l{View output}{output}.
|
||||
\li Set breakpoints before running tests to stop at certain locations and
|
||||
inspect the local variables, similarly to when debugging a test.
|
||||
\endlist
|
||||
|
@@ -8,7 +8,7 @@
|
||||
// **********************************************************************
|
||||
|
||||
/*!
|
||||
\previouspage creator-output-panes.html
|
||||
\previouspage creator-quick-tour.html
|
||||
\page creator-configuring.html
|
||||
\nextpage creator-build-example-application.html
|
||||
|
||||
|
@@ -34,6 +34,10 @@
|
||||
|
||||
Lists useful \QC features.
|
||||
|
||||
\li \l{Reference}
|
||||
|
||||
Lists the sidebar views and the output views.
|
||||
|
||||
\li \l{Known Issues}
|
||||
|
||||
Lists known issues in \QC version \qtcversion. The development team
|
||||
|
@@ -0,0 +1,22 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
/*!
|
||||
\page creator-reference.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\title Reference
|
||||
|
||||
The following topics describe the different parts of the UI in detail.
|
||||
|
||||
\section1 Sidebar Views
|
||||
|
||||
\annotatedlist creator-reference-sidebar-views
|
||||
|
||||
\section1 Output Views
|
||||
|
||||
\annotatedlist creator-reference-output-views
|
||||
|
||||
\sa {User Interface}, {Show and hide sidebars}, {View output}
|
||||
*/
|
@@ -1,40 +1,16 @@
|
||||
// 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
|
||||
|
||||
// **********************************************************************
|
||||
// NOTE: the sections are not ordered by their logical order to avoid
|
||||
// reshuffling the file each time the index order changes (i.e., often).
|
||||
// Run the fixnavi.pl script to adjust the links to the index order.
|
||||
// **********************************************************************
|
||||
|
||||
/*!
|
||||
\previouspage creator-build-example-application.html
|
||||
\page creator-tutorials.html
|
||||
\nextpage {Creating a Qt Quick Application}
|
||||
\nextpage creator-project-managing.html
|
||||
|
||||
\title Tutorials
|
||||
|
||||
\image front-help.png
|
||||
|
||||
You can use \QC to create applications for several platforms by using
|
||||
several technologies. The tutorials in this manual explain how to create
|
||||
some basic applications.
|
||||
|
||||
\list
|
||||
|
||||
\li \l{Creating a Qt Quick Application}
|
||||
|
||||
Learn how to create a Qt Quick application.
|
||||
|
||||
\li \l{Creating a Qt Widget Based Application}
|
||||
|
||||
Learn how to create a Qt widget based application for the desktop.
|
||||
|
||||
\li \l{Creating a Mobile Application}
|
||||
|
||||
Learn how to create a Qt Quick application using Qt Quick Controls
|
||||
for Android and iOS devices.
|
||||
|
||||
\endlist
|
||||
You can use \QC to create applications for several \l{Supported Platforms}
|
||||
{platforms} by using several \l{User Interfaces}{UI technologies}. Follow
|
||||
the tutorials to learn how to create some basic Qt applications.
|
||||
|
||||
\annotatedlist creator-tutorials
|
||||
*/
|
||||
|
@@ -1,7 +1,6 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
|
||||
/*!
|
||||
\page qtcreator-toc.html
|
||||
|
||||
@@ -18,23 +17,9 @@
|
||||
\list
|
||||
\li \l{IDE Overview}
|
||||
\li \l{User Interface}
|
||||
\list
|
||||
\li \l{Browsing Project Contents}
|
||||
\list
|
||||
\li \l{Projects}
|
||||
\li \l{File System}
|
||||
\li \l{Open Documents}
|
||||
\endlist
|
||||
\li \l{Viewing Output}
|
||||
\endlist
|
||||
\li \l{Configuring Qt Creator}
|
||||
\li \l{Building and Running an Example}
|
||||
\li \l{Tutorials}
|
||||
\list
|
||||
\li \l{Creating a Qt Quick Application}
|
||||
\li \l{Creating a Qt Widget Based Application}
|
||||
\li \l{Creating a Mobile Application}
|
||||
\endlist
|
||||
\endlist
|
||||
\li \l{Managing Projects}
|
||||
\list
|
||||
@@ -254,6 +239,76 @@
|
||||
\li \l{Using the Help Mode}
|
||||
\li \l{FAQ}
|
||||
\li \l{How-to}
|
||||
\list
|
||||
\li Use the UI
|
||||
\list
|
||||
\li \l {Assign keyboard shortcuts}
|
||||
\li \l {Find a particular preference}
|
||||
\li \l {Find keyboard shortcuts}
|
||||
\li \l {Find menu items on \macos}
|
||||
\li \l {Import and export keyboard shortcuts}
|
||||
\li \l {Set high DPI scaling}
|
||||
\li \l {Set the number of recent files shown}
|
||||
\li \l {Show and hide sidebars}
|
||||
\li \l {Switch between modes}
|
||||
\li \l {Switch UI themes}
|
||||
\li \l {View output}
|
||||
\endlist
|
||||
\li Edit Code
|
||||
\list
|
||||
\li \l {Add code snippets to the auto-complete menu}
|
||||
\li \l {Enclose selected code in curly braces, parentheses, or double quotes}
|
||||
\li \l {Jump to a function in QML code}
|
||||
\li \l {Locate files using the keyboard}
|
||||
\li \l {Move between open files}
|
||||
\li \l {Move to symbols}
|
||||
\li \l {Paste text from clipboard history}
|
||||
\li \l {Perform calculations}
|
||||
\li \l {Search and replace across files using a regular expression}
|
||||
\li \l {Select the enclosing block in C++}
|
||||
\li \l {Sort lines alphabetically}
|
||||
\li \l {Switch to Edit mode}
|
||||
\li \l {Write down notes}
|
||||
\endlist
|
||||
\li Design UIs
|
||||
\list
|
||||
\li \l {Export SVG images}
|
||||
\li \l {View images}
|
||||
\endlist
|
||||
\li Manage Projects
|
||||
\list
|
||||
\li \l {Add a license header template for C++ code}
|
||||
\endlist
|
||||
\li Use \QC
|
||||
\list
|
||||
\li \l {Enable and disable plugins}
|
||||
\li \l {Find settings files}
|
||||
\li \l {Install plugins}
|
||||
\li \l {Run \QC from the command line}
|
||||
\endlist
|
||||
\endlist
|
||||
\li \l{Reference}
|
||||
\list
|
||||
\li Sidebar Views
|
||||
\list
|
||||
\li \l {Call Hierarchy}
|
||||
\li \l {Class View}
|
||||
\li \l {File System}
|
||||
\li \l {Include Hierarchy}
|
||||
\li \l {Open Documents}
|
||||
\li \l {Outline}
|
||||
\li \l {Projects}
|
||||
\li \l {Type Hierarchy}
|
||||
\endlist
|
||||
\li Output Views
|
||||
\list
|
||||
\li \l {Application Output}
|
||||
\li \l {Compile Output}
|
||||
\li \l {Issues}
|
||||
\li \l {Search Results}
|
||||
\li \l {To-Do Entries}
|
||||
\endlist
|
||||
\endlist
|
||||
\li \l{Known Issues}
|
||||
\li \l{Glossary}
|
||||
\li \l{Technical Support}
|
||||
|
@@ -104,6 +104,7 @@
|
||||
\li \l{Using the Help Mode}
|
||||
\li \l{FAQ}
|
||||
\li \l{How-to}
|
||||
\li \l{Reference}
|
||||
\li \l{Known Issues}
|
||||
\li \l{Glossary}
|
||||
\endlist
|
||||
|
@@ -1,25 +1,23 @@
|
||||
// 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
|
||||
|
||||
// **********************************************************************
|
||||
// NOTE: the sections are not ordered by their logical order to avoid
|
||||
// reshuffling the file each time the index order changes (i.e., often).
|
||||
// Run the fixnavi.pl script to adjust the links to the index order.
|
||||
// **********************************************************************
|
||||
|
||||
/*!
|
||||
\previouspage creator-writing-program.html
|
||||
\example accelbubble
|
||||
\previouspage creator-tutorials.html
|
||||
\nextpage creator-project-managing.html
|
||||
\ingroup creator-tutorials
|
||||
|
||||
\title Creating a Mobile Application
|
||||
|
||||
\brief How to create a Qt Quick application that uses Qt Quick Controls and
|
||||
runs on Android and iOS devices.
|
||||
|
||||
This tutorial describes how to use \QC to develop Qt Quick applications for
|
||||
Android and iOS devices when using Qt 6 as the minimum Qt version and CMake
|
||||
as the build system.
|
||||
|
||||
We implement a Qt Quick application that accelerates an SVG (Scalable Vector
|
||||
Graphics) image based on the changing accelerometer values.
|
||||
You will develop a Qt Quick application that accelerates an SVG
|
||||
(Scalable Vector Graphics) image based on changing accelerometer values.
|
||||
|
||||
\note You must have the \l{Qt Sensors} module from Qt 6.2 or later installed
|
||||
to be able to follow this tutorial.
|
||||
@@ -48,9 +46,6 @@
|
||||
The main view of the application displays an SVG bubble image that moves
|
||||
around the screen when you tilt the device.
|
||||
|
||||
We use \e {Bluebubble.svg} in this tutorial, but you can use any other
|
||||
image or component instead.
|
||||
|
||||
For the image to appear when you run the application, you must specify it
|
||||
as a resource in the \c RESOURCES section of \e CMakeLists.txt file that
|
||||
the wizard created for you:
|
||||
@@ -61,31 +56,33 @@
|
||||
|
||||
\section1 Creating the Accelbubble Main View
|
||||
|
||||
We create the main view in the \e main.qml file by adding an \l Image
|
||||
Create the main view in the \e main.qml file by adding an \l Image
|
||||
component with \e Bluebubble.svg as the source:
|
||||
|
||||
\quotefromfile accelbubble/main.qml
|
||||
\skipto Image
|
||||
\printuntil smooth
|
||||
|
||||
Next, we add custom properties to position the image in respect to the width
|
||||
You can use any other image or component instead.
|
||||
|
||||
Add custom properties to position the image in respect to the width
|
||||
and height of the main window:
|
||||
|
||||
\printuntil y:
|
||||
|
||||
We now want to add code to move the bubble based on Accelerometer sensor
|
||||
values. First, we add the following import statement:
|
||||
Add code to move the bubble based on Accelerometer sensor
|
||||
values. First, add the following import statement:
|
||||
|
||||
\quotefromfile accelbubble/main.qml
|
||||
\skipto QtSensors
|
||||
\printline QtSensors
|
||||
|
||||
Next, we add the \l{Accelerometer} component with the necessary properties:
|
||||
Add the \l{Accelerometer} component with the necessary properties:
|
||||
|
||||
\skipto Accelerometer
|
||||
\printuntil active
|
||||
|
||||
Then, we add the following JavaScript functions that calculate the
|
||||
Add the following JavaScript functions that calculate the
|
||||
x and y position of the bubble based on the current Accelerometer
|
||||
values:
|
||||
|
||||
@@ -94,7 +91,7 @@
|
||||
\printuntil }
|
||||
\printuntil }
|
||||
|
||||
We add the following JavaScript code for \c onReadingChanged signal of
|
||||
Add the following JavaScript code for \c onReadingChanged signal of
|
||||
Accelerometer component to make the bubble move when the Accelerometer
|
||||
values change:
|
||||
|
||||
@@ -102,12 +99,12 @@
|
||||
\skipto onReadingChanged
|
||||
\printuntil }
|
||||
|
||||
We want to ensure that the position of the bubble is always
|
||||
You need to ensure that the position of the bubble is always
|
||||
within the bounds of the screen. If the Accelerometer returns
|
||||
\e {not a number} (NaN), the value is ignored and the bubble
|
||||
position is not updated.
|
||||
|
||||
We add \l SmoothedAnimation behavior on the \c x and \c y properties of
|
||||
Add \l SmoothedAnimation behavior on the \c x and \c y properties of
|
||||
the bubble to make its movement look smoother.
|
||||
|
||||
\quotefromfile accelbubble/main.qml
|
||||
@@ -126,7 +123,7 @@
|
||||
an \e AndroidManifest.xml that you can generate in \QC. For more information,
|
||||
see \l{Editing Manifest Files}.
|
||||
|
||||
\image qtquick-mobile-tutorial-manifest.png "Accelbubble manifest file"
|
||||
\image qtquick-mobile-tutorial-manifest.png {Accelbubble manifest file}
|
||||
|
||||
To generate and use a manifest file, you must specify the Android package
|
||||
source directory, \c QT_ANDROID_PACKAGE_SOURCE_DIR in the \e CMakeLists.txt
|
||||
@@ -136,14 +133,14 @@
|
||||
\skipto set_property
|
||||
\printuntil )
|
||||
|
||||
Because our CMake version is older than 3.19, we must add a manual
|
||||
Because the CMake version is older than 3.19, add a manual
|
||||
finalization step to the \c qt_add_executable function:
|
||||
|
||||
\quotefromfile accelbubble/CMakeLists.txt
|
||||
\skipto qt_add_executable
|
||||
\printuntil )
|
||||
|
||||
We also need to add the \c qt_finalize_executable function:
|
||||
Then, add the \c qt_finalize_executable function:
|
||||
|
||||
\skipto qt_finalize_executable
|
||||
\printuntil )
|
||||
|
@@ -1,13 +1,16 @@
|
||||
// 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
|
||||
|
||||
/*!
|
||||
\previouspage creator-tutorials.html
|
||||
\example transitions
|
||||
\nextpage creator-writing-program.html
|
||||
\previouspage creator-tutorials.html
|
||||
\nextpage creator-project-managing.html
|
||||
\ingroup creator-tutorials
|
||||
|
||||
\title Creating a Qt Quick Application
|
||||
|
||||
\brief How to create a Qt Quick Application in the \uicontrol Edit mode.
|
||||
|
||||
This tutorial illustrates basic concepts of \l{Qt Quick}. For more
|
||||
information about the UI choices you have, see \l{User Interfaces}.
|
||||
|
||||
@@ -15,10 +18,10 @@
|
||||
{states} and \l{Animation and Transitions in Qt Quick}{transitions}
|
||||
when using Qt 6 as the minimum Qt version and CMake as the build system.
|
||||
|
||||
We use the \l{Working in Edit Mode}{Edit mode} to create an application
|
||||
You will use the \l{Working in Edit Mode}{Edit mode} to create an application
|
||||
that moves a Qt logo between three rectangles when you click them.
|
||||
|
||||
\image qtquick-tutorial.gif "Transitions example"
|
||||
\image qtquick-tutorial.gif {Transitions example}
|
||||
|
||||
For more examples, see \l{Qt Quick Examples and Tutorials}.
|
||||
|
||||
@@ -35,9 +38,6 @@
|
||||
The main view of the application displays a Qt logo inside a rectangle in
|
||||
the top left corner of the view and two empty rectangles.
|
||||
|
||||
We use the \e qt-logo.png image in this tutorial, but you can also use
|
||||
any other image or a component, instead.
|
||||
|
||||
For the image to appear when you run the application, you must specify it
|
||||
as a resource in the \c RESOURCES section of \e CMakeLists.txt file that
|
||||
the wizard created for you:
|
||||
@@ -49,8 +49,8 @@
|
||||
\section1 Creating Custom QML Types
|
||||
|
||||
Because the \l Window QML type requires that you add states into child
|
||||
components, we use the wizard to create a custom QML type called
|
||||
\e Page that we will refer to from \e main.qml.
|
||||
components, use the wizard to create a custom QML type called
|
||||
\e Page that you refer to from \e Main.qml.
|
||||
|
||||
To create a custom QML type:
|
||||
|
||||
@@ -60,14 +60,14 @@
|
||||
\uicontrol {QML File (Qt Quick 2)}.
|
||||
\li Select \uicontrol Choose to open the \uicontrol Location dialog.
|
||||
\li In the \uicontrol {File name} field, enter a name for the custom
|
||||
QML type. In this example, we call the type \e Page.
|
||||
QML type: \e Page.
|
||||
\li Select \uicontrol Next to open the \uicontrol {Project Management}
|
||||
dialog.
|
||||
\li Select \uicontrol Finish to create \e Page.qml.
|
||||
\endlist
|
||||
|
||||
\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
|
||||
of the type \l Item. Replace it with a \l Rectangle type. Give the
|
||||
type the ID \e page, anchor it to the parent item on all sides, and set
|
||||
its color to white:
|
||||
|
||||
@@ -75,9 +75,6 @@
|
||||
\skipto import
|
||||
\printuntil color
|
||||
|
||||
Because we develop with Qt 6, where version numbers are not used with
|
||||
modules, we remove the version number from the import statement.
|
||||
|
||||
When you start typing the QML type name, \QC suggests available types
|
||||
and properties to \l{Completing Code}{complete the code}.
|
||||
|
||||
@@ -86,66 +83,67 @@
|
||||
{Qt Quick Toolbar for rectangles}. You can use it to specify
|
||||
rectangle properties, such as color, transparency, and gradients.
|
||||
|
||||
\image qml-toolbar-rectangle.png "Qt Quick Toolbar for rectangles"
|
||||
\image qml-toolbar-rectangle.png {Qt Quick Toolbar for rectangles}
|
||||
|
||||
Next, we add an \l Image type with \e qt-logo.png as the source. We
|
||||
position the image in the top-left corner of the rectangle:
|
||||
Next, add an \l Image type with \e qt-logo.png as the source. You can also
|
||||
use any other image or a component. Position the image in the top-left
|
||||
corner of the rectangle:
|
||||
|
||||
\printuntil }
|
||||
|
||||
You can use the \l{Previewing Images}{Qt Quick Toolbar for images} to
|
||||
specify image properties, such as source file and fill mode.
|
||||
|
||||
\image qml-toolbar-image.png "Logo visible in Qt Quick Toolbar for images"
|
||||
\image qml-toolbar-image.png {Logo visible in Qt Quick Toolbar for images}
|
||||
|
||||
We now create the rectangles that the image will move between. Their size
|
||||
Now, create the rectangles that the image will move between. Their size
|
||||
should match the image size and they should be transparent, so that the
|
||||
image is visible. We set the border color to light gray to make the
|
||||
image is visible. Set the border color to light gray to make the
|
||||
rectangles visible:
|
||||
|
||||
\printuntil border.color
|
||||
|
||||
We anchor the rectangles to their parent to position them in its
|
||||
Anchor the rectangles to their parent to position them in its
|
||||
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:
|
||||
|
||||
\printuntil anchors.topMargin
|
||||
|
||||
We add a \l MouseArea type to make the rectangle clickable by users:
|
||||
Add a \l MouseArea type to make the rectangle clickable by users:
|
||||
|
||||
\printuntil anchors.fill
|
||||
|
||||
To check your code, you can compare it with the \e {Page.qml} example file.
|
||||
|
||||
Next, we will make the image move between the rectangles when users click
|
||||
them, by adding states and by connecting mouse clicks to state changes.
|
||||
Next, make the image move between the rectangles when users click
|
||||
them by adding states and by connecting mouse clicks to state changes.
|
||||
|
||||
\section1 Connecting Mouse Clicks to State Changes
|
||||
|
||||
To make the image move between the rectangles when users click them, we add
|
||||
states to the Page component, where we change the values of the \c x and
|
||||
To make the image move between the rectangles when users click them, add
|
||||
states to the Page component where you change the values of the \c x and
|
||||
\c y properties of \e icon to match those of the middle right and top left
|
||||
rectangles. To make sure that the image stays within the rectangle
|
||||
when the view is scaled on different sizes of screens, we \e bind the values
|
||||
when the view is scaled on different sizes of screens, \e bind the values
|
||||
of the \c x and \c y properties of \e icon to those of the rectangles:
|
||||
|
||||
\dots
|
||||
\skipto states:
|
||||
\printuntil ]
|
||||
|
||||
Then, we connect the \c onClicked signals of the mouse areas to the state
|
||||
Then, connect the \c onClicked signals of the mouse areas to the state
|
||||
changes:
|
||||
|
||||
\quotefromfile transitions/Page.qml
|
||||
\skipto Connections {
|
||||
\printuntil }
|
||||
|
||||
Because we develop with Qt 6, we must specify the connections as functions.
|
||||
Because you develop with Qt 6, you must specify the connections as functions.
|
||||
|
||||
\section1 Adding Page to the Main View
|
||||
|
||||
We now open \e main.qml for editing and add an instance of the Page custom
|
||||
Open \e Main.qml for editing and add an instance of the Page custom
|
||||
component to it:
|
||||
|
||||
\quotefromfile transitions/main.qml
|
||||
@@ -157,18 +155,18 @@
|
||||
|
||||
\section1 Animating Transitions
|
||||
|
||||
We will now create transitions to apply animation to the image. For example,
|
||||
Create transitions to apply animation to the image. For example,
|
||||
the image bounces back when it moves to \e middleRightRect and eases into
|
||||
\e bottomLeftRect.
|
||||
|
||||
We specify transitions for switching from each state to the other two
|
||||
Specify transitions for switching from each state to the other two
|
||||
states:
|
||||
|
||||
\quotefromfile transitions/Page.qml
|
||||
\skipto transitions:
|
||||
\printuntil },
|
||||
|
||||
We change the easing curve type for transitions to \e State2 from linear to
|
||||
Change the easing curve type for transitions to \e State2 from linear to
|
||||
\c Easing.OutBounce to create the bounce effect:
|
||||
|
||||
\printuntil },
|
||||
@@ -177,9 +175,9 @@
|
||||
{Qt Quick Toolbar for animation} to specify the
|
||||
easing curve type and animation duration.
|
||||
|
||||
\image qml-toolbar-animation.png "Qt Quick Toolbar for animation"
|
||||
\image qml-toolbar-animation.png {Qt Quick Toolbar for animation}
|
||||
|
||||
Then, we change the easing curve type for transitions to \e State2 from
|
||||
Then, change the easing curve type for transitions to \e State2 from
|
||||
linear to \c Easing.InOutQuad to create the easing effect:
|
||||
|
||||
\printuntil /^\ {0}\}/
|
||||
|
@@ -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
|
||||
|
||||
/*!
|
||||
@@ -17,37 +17,25 @@
|
||||
\uicontrol {Project Location} dialog.
|
||||
|
||||
\li In the \uicontrol Name field, enter a name for the application.
|
||||
When naming your own projects, keep in mind that they cannot be
|
||||
easily renamed later.
|
||||
When naming your own projects, keep in mind that you cannot
|
||||
easily rename them later.
|
||||
|
||||
\li In the \uicontrol {Create in} field, enter the path for the project
|
||||
files. You can move project folders later without problems.
|
||||
|
||||
\li Select \uicontrol Next (or \uicontrol Continue on \macos) to open
|
||||
the \uicontrol {Define Build System} dialog.
|
||||
|
||||
\li In the \uicontrol {Build system} field, select \l {Setting Up CMake}
|
||||
{CMake} as the build system to use for building and running the
|
||||
project.
|
||||
|
||||
\note If you select \l {Setting Up Qbs}{Qbs}, the instructions for
|
||||
configuring the project won't apply.
|
||||
|
||||
\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.4.
|
||||
\li Deselect the \uicontrol {Create a project that you can open in \QDS}
|
||||
check box.
|
||||
|
||||
\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
|
||||
\note This tutorial shows how to create the application in the
|
||||
\uicontrol Edit mode. If you leave the check box selected, 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 \uicontrol Next to open the \uicontrol {Kit Selection} dialog.
|
||||
|
||||
\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
|
||||
|
@@ -3,22 +3,29 @@
|
||||
|
||||
/*!
|
||||
\page creator-file-system-view.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-projects-view.html
|
||||
\nextpage creator-open-documents-view.html
|
||||
\else
|
||||
\previouspage creator-reference.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-reference-sidebar-views
|
||||
\ingroup studio-views
|
||||
|
||||
\title File System
|
||||
|
||||
The \uicontrol {File System} view shows all the files in the file system.
|
||||
\brief Shows all the files in the current directory.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\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)
|
||||
\image qtcreator-filesystem-view-design.png {File System view}
|
||||
\else
|
||||
\image qtcreator-filesystem-view.webp {File System view in the sidebar}
|
||||
\else
|
||||
\image qtcreator-filesystem-view-design.png {File System view}
|
||||
\endif
|
||||
|
||||
To move to the root directory of the file system, select \uicontrol Computer
|
||||
|
@@ -0,0 +1,86 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
/*!
|
||||
\page creator-how-to-view-output.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-quick-tour.html
|
||||
\nextpage creator-reference-application-output-view.html
|
||||
\else
|
||||
\previouspage creator-how-tos.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-how-to-ui
|
||||
|
||||
\title View output
|
||||
|
||||
The \e {output views} show 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.
|
||||
|
||||
\image qtcreator-output-panes-taskbar.webp {Output views}
|
||||
|
||||
You can open output views in all
|
||||
\if defined (qtcreator)
|
||||
\l{Switch between modes}{modes}
|
||||
\else
|
||||
modes
|
||||
\endif in the following ways:
|
||||
|
||||
\list
|
||||
\if defined(qtcreator)
|
||||
\li Select the output view.
|
||||
\endif
|
||||
\li Select \uicontrol View > \uicontrol Output.
|
||||
The menu items also display the \l{Keyboard Shortcuts}
|
||||
{keyboard shortcuts} that you can use.
|
||||
\li Select \key Alt (\key Cmd on \macos) and the number of the view.
|
||||
\li Select \inlineimage icons/output-pane-menu.png
|
||||
, and then select the view to open.
|
||||
\endlist
|
||||
|
||||
To maximize an open output view, select the \inlineimage icons/arrowup.png
|
||||
(\uicontrol Maximize) button or press \key {Alt+Shift+9}.
|
||||
|
||||
To increase or decrease the output text size, select \inlineimage icons/plus.png
|
||||
(\uicontrol {Zoom In}) or \inlineimage icons/minus.png
|
||||
(\uicontrol {Zoom Out}), or press \key Ctrl++ or \key Ctrl+-. Zooming is
|
||||
not supported in all output views.
|
||||
|
||||
\section1 Change text encoding
|
||||
|
||||
If the text in the output is not displayed correctly, \QC might
|
||||
be using a different codec from the one used by the tools that generate
|
||||
the output. To specify the codec to use, select \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol Environment > \uicontrol Interface, and
|
||||
then select the codec in the \uicontrol {Text codec for tools} field.
|
||||
|
||||
\image qtcreator-preferences-environment-interface.webp {Interface tab in Environment preferences}
|
||||
|
||||
\section1 Find and filter output
|
||||
|
||||
To search from output, press \key {Ctrl+F} when the view is active. Enter
|
||||
search criteria in the \uicontrol Find field. For more information, see
|
||||
\l{Finding and Replacing}.
|
||||
|
||||
To filter output, enter a string in the \uicontrol Filter field.
|
||||
|
||||
To specify filtering options,
|
||||
select the \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.
|
||||
|
||||
Some output views do not support finding and filtering.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\sa {Output Views}
|
||||
\else
|
||||
\section1 Output views
|
||||
|
||||
The following views show output:
|
||||
|
||||
\annotatedlist studio-reference-output-views
|
||||
\endif
|
||||
*/
|
@@ -4,7 +4,7 @@
|
||||
/*!
|
||||
\page creator-how-to-show-and-hide-sidebars.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-ui
|
||||
|
||||
\title Show and hide sidebars
|
||||
@@ -31,4 +31,9 @@
|
||||
\li To close a sidebar view, click \inlineimage icons/splitbutton_closetop.png
|
||||
(\uicontrol {Close}).
|
||||
\endlist
|
||||
|
||||
In some views, right-clicking opens a context menu that has functions
|
||||
for managing the objects listed in the view.
|
||||
|
||||
\sa {Sidebar Views}
|
||||
*/
|
||||
|
@@ -4,7 +4,7 @@
|
||||
/*!
|
||||
\page creator-how-to-switch-between-modes.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
|
||||
\ingroup creator-how-to-ui
|
||||
|
||||
\title Switch between modes
|
||||
|
@@ -0,0 +1,129 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
/*!
|
||||
\page creator-outline-view.html
|
||||
\previouspage creator-reference.html
|
||||
\ingroup creator-reference-sidebar-views
|
||||
|
||||
\title Outline
|
||||
|
||||
\brief Shows an overview of defined types and other symbols, as well as
|
||||
their properties and hierarchy in a source file.
|
||||
|
||||
To move the code for types and symbols around in the source file, drag
|
||||
them in the outline.
|
||||
|
||||
\image qtcreator-outline-view.png {Outline view}
|
||||
|
||||
\list
|
||||
\li To see a complete list of all bindings, select
|
||||
\inlineimage icons/filtericon.png
|
||||
(\uicontrol {Filter Tree}) > \uicontrol {Show All Bindings}.
|
||||
\li To sort types or symbols alphabetically, select
|
||||
\inlineimage icons/sort_alphabetically.png
|
||||
(\uicontrol {Sort Alphabetically}).
|
||||
\li To stop the synchronization with the type or symbol selected in the
|
||||
editor, deselect \inlineimage icons/linkicon.png
|
||||
(\uicontrol {Synchronize with Editor}).
|
||||
\endlist
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-class-view.html
|
||||
\previouspage creator-reference.html
|
||||
\ingroup creator-reference-sidebar-views
|
||||
|
||||
\title Class View
|
||||
|
||||
\brief Shows the class hierarchy of the currently open projects.
|
||||
|
||||
\image qtcreator-class-view.png {Class View}
|
||||
|
||||
\list
|
||||
\li To organize the view by subprojects, click
|
||||
\inlineimage icons/qtcreator-show-subprojects.png
|
||||
(\uicontrol {Show Subprojects}).
|
||||
\li To visit all parts of a namespace, double-click on the
|
||||
namespace item multiple times.
|
||||
\endlist
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-call-hierarchy-view.html
|
||||
\previouspage creator-reference.html
|
||||
\ingroup creator-reference-sidebar-views
|
||||
|
||||
\title Call Hierarchy
|
||||
|
||||
\brief 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}
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-type-hierarchy.html
|
||||
\previouspage creator-reference.html
|
||||
\ingroup creator-reference-sidebar-views
|
||||
|
||||
\title Type Hierarchy
|
||||
|
||||
\brief Shows the base classes and derived classes of a class.
|
||||
|
||||
To view type hierarchy of a class:
|
||||
|
||||
\list 1
|
||||
\li Right-click a class in the code editor.
|
||||
\li Select \uicontrol {Open Type Hierarchy} or press \key {Ctrl+Shift+T}.
|
||||
\endlist
|
||||
|
||||
\image qtcreator-type-hierarchy-view.png {Type Hierarchy view}
|
||||
|
||||
To navigate in the type hierarchy:
|
||||
|
||||
\list
|
||||
\li Double-click a class or select it.
|
||||
\li Select \uicontrol {Open Type Hierarchy} in the context menu.
|
||||
\endlist
|
||||
|
||||
The view highlights the previous class.
|
||||
|
||||
The definition of the selected class opens in the code editor. You
|
||||
can also select \uicontrol {Open in Editor} in the context menu to open
|
||||
it.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-include-hierarchy-view.html
|
||||
\previouspage creator-reference.html
|
||||
\ingroup creator-reference-sidebar-views
|
||||
|
||||
\title Include Hierarchy
|
||||
|
||||
\brief Shows the files that the current file includes and those that include
|
||||
the current file.
|
||||
|
||||
To view the include hierarchy of a file:
|
||||
|
||||
\list 1
|
||||
\li Right-click a file in the editor.
|
||||
\li Select \uicontrol {Open Include Hierarchy}
|
||||
or press \key {Ctrl+Shift+I}.
|
||||
\endlist
|
||||
|
||||
\image qtcreator-include-hierarchy-view.png {Include Hierarchy view}
|
||||
|
||||
To keep the view synchronized with the file currently open in the editor,
|
||||
select \inlineimage icons/linkicon.png
|
||||
(\uicontrol {Synchronize with Editor}).
|
||||
*/
|
@@ -0,0 +1,111 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
/*!
|
||||
\page creator-reference-terminal-view.html
|
||||
\previouspage creator-reference.html
|
||||
|
||||
\ingroup creator-reference-output-views
|
||||
|
||||
\title Terminal
|
||||
|
||||
\brief Opens a terminal.
|
||||
|
||||
When you select the \uicontrol {Run in Terminal} check box and run an
|
||||
application or the \uicontrol {Open Terminal} button to open a terminal,
|
||||
it opens as an output view.
|
||||
|
||||
To open the terminal in a separate window, select \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol Terminal, and deselet the
|
||||
\uicontrol {Use internal terminal} check box.
|
||||
|
||||
On Linux and \macos, you can set the terminal to open by selecting
|
||||
\uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol Environment > \uicontrol System.
|
||||
|
||||
\image qtcreator-output-terminal.webp {Terminal pane}
|
||||
|
||||
\list
|
||||
\li To clear the terminal, select \inlineimage icons/clean_pane_small.png
|
||||
(\uicontrol Clear).
|
||||
|
||||
\li To close the current terminal, select \inlineimage icons/terminal-close.png
|
||||
.
|
||||
|
||||
\li To open new terminals as tabs, select \inlineimage icons/terminal-create.png
|
||||
.
|
||||
|
||||
\li To move between terminals, select the tabs or \inlineimage icons/arrowup.png
|
||||
and \inlineimage icons/arrowdown.png
|
||||
.
|
||||
|
||||
\li To select a word in a terminal, double-click it. To select the whole line,
|
||||
triple-click it.
|
||||
|
||||
\li To open links in a browser, files in the editor, or folders in the
|
||||
\l Projects view, hover the mouse over them, and press \key Ctrl.
|
||||
|
||||
\li To \l{Finding and Replacing}{search} through the output, press \key {Ctrl+F}.
|
||||
|
||||
\li To make the font larger or smaller, select the \inlineimage icons/plus.png
|
||||
and \inlineimage icons/minus.png
|
||||
buttons. You can also change the font size in terminal preferences.
|
||||
|
||||
\li To open terminal preferences, select \inlineimage icons/settings.png
|
||||
(\uicontrol Configure).
|
||||
\endlist
|
||||
|
||||
Most of the \QC keyboard shortcuts are disabled in the terminal, except the
|
||||
ones for opening terminal preferences or the locator and quitting \QC. To
|
||||
send the escape key to the terminal instead of closing the terminal, select
|
||||
\uicontrol {Shift+Esc}. You can also specify that the escape key is sent to
|
||||
the terminal in terminal preferences.
|
||||
|
||||
\section1 Terminal Preferences
|
||||
|
||||
To set preferences for the internal terminal, select \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol Terminal, or select the
|
||||
\uicontrol Configure button in the \uicontrol Terminal pane.
|
||||
|
||||
\image qtcreator-preferences-terminal.webp {Terminal tab in Preferences}
|
||||
|
||||
\table
|
||||
\header
|
||||
\li Option
|
||||
\li Value
|
||||
\row
|
||||
\li \uicontrol {Use internal terminal}
|
||||
\li Open the \uicontrol Terminal pane when you select
|
||||
\uicontrol {Run in Terminal} or \uicontrol {Open Terminal}.
|
||||
\row
|
||||
\li \uicontrol {Send escape key to terminal}
|
||||
\li Send the escape key to the terminal instead of closing the terminal.
|
||||
\row
|
||||
\li \uicontrol {Audible bell}
|
||||
\li Play an audible bell when the a bell character is received.
|
||||
\row
|
||||
\li \uicontrol {Allow blinking cursor}
|
||||
\li Allow the cursor to blink.
|
||||
\row
|
||||
\li \uicontrol {Font}
|
||||
\li Select the \uicontrol {Font family} and \uicontrol Size for the text
|
||||
in the terminal. You can also use the \inlineimage icons/plus.png
|
||||
and \inlineimage icons/minus.png buttons in the \uicontrol Terminal
|
||||
pane to change the font size.
|
||||
\row
|
||||
\li \uicontrol {Colors}
|
||||
\li Set colors for the \uicontrol Terminal pane \uicontrol Foreground,
|
||||
\uicontrol Background, \uicontrol Selection, and
|
||||
\uicontrol {Find match}.
|
||||
\row
|
||||
\li \uicontrol {Default shell}
|
||||
\li Set the full path to the default terminal executable in
|
||||
\uicontrol {Shell path} and the arguments to pass to the shell
|
||||
in \uicontrol {Shell arguments}.
|
||||
\endtable
|
||||
|
||||
To use an existing color scheme, select \uicontrol {Load Theme}. To revert
|
||||
color changes, select \uicontrol {Reset Theme}.
|
||||
|
||||
\sa {View output}
|
||||
*/
|
@@ -0,0 +1,75 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
/*!
|
||||
\page creator-reference-to-do-entries-view.html
|
||||
\previouspage creator-reference.html
|
||||
|
||||
\ingroup creator-reference-output-views
|
||||
|
||||
\title To-Do Entries
|
||||
|
||||
\brief Lists the BUG, FIXME, NOTE, TODO, and WARNING keywords from the
|
||||
current file, from all project files, or from a subproject.
|
||||
|
||||
Click the icons on the toolbar to show only the selected
|
||||
keywords.
|
||||
|
||||
\image qtcreator-to-do-entries.webp {To-Do Entries}
|
||||
|
||||
You can also open task list files generated by code scanning and
|
||||
analysis tools in \l Issues. For more information, see
|
||||
\l{Showing Task List Files in Issues}.
|
||||
|
||||
\section1 Enabling the To-Do Plugin
|
||||
|
||||
The Todo plugin is disabled by default. To enable it:
|
||||
|
||||
\list 1
|
||||
\li Select \uicontrol Help > \uicontrol {About Plugins} >
|
||||
\uicontrol Utilities > \uicontrol Todo.
|
||||
\li Select \uicontrol OK.
|
||||
\li Select \uicontrol {Restart Now} to restart \QC and load the plugin.
|
||||
\endlist
|
||||
|
||||
\section1 To-Do Preferences
|
||||
|
||||
To add keywords, select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol {To-Do} > \uicontrol Add. Set an icon and a line background color
|
||||
for the keyword.
|
||||
|
||||
\image qtcreator-todo-options.png {To-Do preferences}
|
||||
|
||||
\list
|
||||
|
||||
\li To change the icon and line background color of the selected keyword,
|
||||
select \uicontrol Edit.
|
||||
|
||||
\li To remove the selected keyword, select \uicontrol Remove.
|
||||
|
||||
\li To reset the list to predefined keywords, select \uicontrol Reset.
|
||||
All your changes will be permanently lost.
|
||||
|
||||
\li To determine whether the keywords in the whole project, in the
|
||||
current file, or in a subproject are displayed by default, select
|
||||
the appropriate option in the \uicontrol {Scanning scope} group.
|
||||
|
||||
\endlist
|
||||
|
||||
\section1 Excluding Files from Scanning
|
||||
|
||||
To exclude files from scanning, select \uicontrol {Project Settings} >
|
||||
\uicontrol {To-Do} in the \uicontrol Projects mode.
|
||||
|
||||
\image qtcreator-todo-excluded-files.png {Excluded Files in To-Do preferences}
|
||||
|
||||
Select \uicontrol Add and double-click the placeholder text in
|
||||
\uicontrol {Exclude Files} to enter a regular expression that
|
||||
matches the path to files to exclude. Use a forward slash (/)
|
||||
as a separator in the path also on Windows.
|
||||
|
||||
Select the link in \uicontrol {Use global settings} to open global
|
||||
To-Do preferences.
|
||||
|
||||
\sa {Enable and disable plugins}
|
||||
*/
|
@@ -1,20 +1,24 @@
|
||||
// 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-open-documents-view.html
|
||||
\previouspage creator-file-system-view.html
|
||||
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-file-system-view.html
|
||||
\nextpage studio-content-library.html
|
||||
\else
|
||||
\nextpage creator-output-panes.html
|
||||
\previouspage creator-reference.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-reference-sidebar-views
|
||||
\ingroup studio-views
|
||||
|
||||
\title Open Documents
|
||||
|
||||
The \uicontrol {Open Documents} view displays a list of open documents.
|
||||
\brief Shows currently open files.
|
||||
|
||||
\image qtcreator-open-documents-view.png "Open Documents view"
|
||||
\image qtcreator-open-documents-view.png {Open Documents view}
|
||||
|
||||
You can use the context menu to apply some of the functions also available
|
||||
in the \uicontrol File menu and in the \l {File System Context Menu}
|
||||
@@ -25,17 +29,17 @@
|
||||
\list
|
||||
\li Copy the full path of the file or just the filename to the
|
||||
clipboard.
|
||||
\li Pin files to ensure they stay at the top of the list and are not
|
||||
closed when you select \uicontrol {Close All}.
|
||||
\li Pin files to the top of the list to keep them open when you
|
||||
select \uicontrol {Close All}.
|
||||
\endlist
|
||||
|
||||
\section1 Specifying Settings for Opening Files
|
||||
\section1 Setting Preferences for Opening Files
|
||||
|
||||
To specify settings for opening files and handling open files, select
|
||||
To set preferences for opening files and handling open files, select
|
||||
\uicontrol Edit > \uicontrol Preferences > \uicontrol Environment >
|
||||
\uicontrol System:
|
||||
|
||||
\image qtcreator-options-environment-system.png "Environment preferences System tab"
|
||||
\image qtcreator-options-environment-system.png {System tab in Environment preferences}
|
||||
|
||||
\list
|
||||
\li In the \uicontrol {When files are externally modified} field,
|
||||
|
@@ -5,28 +5,31 @@
|
||||
\page creator-projects-view.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage qtquick-curve-editor.html
|
||||
\else
|
||||
\previouspage creator-views.html
|
||||
\endif
|
||||
\nextpage creator-file-system-view.html
|
||||
\else
|
||||
\previouspage creator-reference.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-reference-sidebar-views
|
||||
\ingroup studio-views
|
||||
|
||||
\title Projects
|
||||
|
||||
The \uicontrol Projects view displays projects in a project tree.
|
||||
\brief Shows a list of projects in a project tree.
|
||||
|
||||
\if defined(qtcreator)
|
||||
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.
|
||||
|
||||
\image qtcreator-projects-view-edit.png {Projects view in the sidebar}
|
||||
|
||||
\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)
|
||||
\image qtcreator-projects-view-design.png {Projects view}
|
||||
\else
|
||||
\image qtcreator-projects-view-edit.png {Projects view in the sidebar}
|
||||
\image qtcreator-projects-view-design.png {Projects view}
|
||||
\endif
|
||||
|
||||
You can use the project tree in the following ways:
|
||||
|
@@ -0,0 +1,276 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
// **********************************************************************
|
||||
// NOTE: the sections are not ordered by their logical order to avoid
|
||||
// reshuffling the file each time the index order changes (i.e., often).
|
||||
// Run the fixnavi.pl script to adjust the links to the index order.
|
||||
// **********************************************************************
|
||||
|
||||
/*!
|
||||
\page creator-reference-issues-view.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-reference-compile-output-view.html
|
||||
\nextpage creator-reference-search-results-view.html
|
||||
\else
|
||||
\previouspage creator-reference.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-reference-output-views
|
||||
\ingroup studio-reference-output-views
|
||||
|
||||
\title Issues
|
||||
|
||||
\brief Lists issues from different sources.
|
||||
|
||||
The \uicontrol Issues view filters out irrelevant output from the build tools
|
||||
and presents the issues in an organized way.
|
||||
|
||||
To further filter the output by type, select \inlineimage icons/filtericon.png
|
||||
(\uicontrol {Filter Tree}) and then select a filter:
|
||||
|
||||
\list
|
||||
|
||||
\if defined(qtdesignstudio)
|
||||
\li \uicontrol {Asset Export} - Errors and warnings encountered
|
||||
while exporting assets.
|
||||
|
||||
\li \uicontrol {Asset Importer Error} - Errors and warnings encountered
|
||||
while importing assets from a design tool.
|
||||
\else
|
||||
\li \uicontrol Autotests - Errors and warnings encountered while running
|
||||
tests.
|
||||
\endif
|
||||
|
||||
\li \uicontrol {Build System} - Errors and warnings encountered when
|
||||
opening and managing projects.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\li \uicontrol {Clang Code Model} -
|
||||
\l {Parsing C++ Files with the Clang Code Model}
|
||||
{Errors and warnings from the current editor}.
|
||||
\li \uicontrol {Clang Tools} - Errors and warnings from
|
||||
\l {Using Clang Tools}{Clang-Tidy and Clazy}
|
||||
\endif
|
||||
|
||||
\li \uicontrol Compile - Selected output from the compiler. Open
|
||||
\uicontrol {Compile Output} for more detailed information.
|
||||
|
||||
\li \uicontrol{Debug Information} - Lists debug information packages that might
|
||||
be missing.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\li \uicontrol Debugger - Errors encountered while running the
|
||||
\l{Analyzing Code}{Valgrind code analysis tools}.
|
||||
\endif
|
||||
|
||||
\li \uicontrol{Debugger Runtime} - Errors encountered when starting \QC. For
|
||||
example, information about missing DLLs.
|
||||
|
||||
\li \uicontrol Deployment - Errors encountered between building an application
|
||||
successfully and starting it on a \l{glossary-device}{device}.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\li \uicontrol {My Tasks} - Entries from a task list file (.tasks) generated
|
||||
by \l{Showing Task List Files in Issues}
|
||||
{code scanning and analysis tools}.
|
||||
|
||||
\li \uicontrol Python - Runtime errors and exceptions of Python scripts.
|
||||
\endif
|
||||
|
||||
\li \uicontrol QML and \uicontrol {QML Analysis} -
|
||||
\l{JavaScript and QML Error Codes}
|
||||
{QML and JavaScript syntax errors}.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\li \uicontrol Sanitizer - Tasks created when you run an application if
|
||||
you used an \e {address sanitizer} to detect memory handling issues.
|
||||
\endif
|
||||
\endlist
|
||||
|
||||
To find output in the view, enter search criteria in the \uicontrol Filter
|
||||
field.
|
||||
|
||||
\image qtcreator-issues.webp {Issues}
|
||||
|
||||
Select one or several lines to apply context-menu actions to their contents.
|
||||
You can remove the selected lines or copy their contents to the clipboard.
|
||||
For single lines, you can search the Internet for a solution using the
|
||||
contents of the line as search criteria or open a version control
|
||||
annotation view of the line that causes the error message.
|
||||
|
||||
To view detailed information about the selected line (where available), press
|
||||
\key Space.
|
||||
|
||||
To navigate to the corresponding source code, click an issue or
|
||||
select \uicontrol {Show in Editor} in the context menu. The entry must contain the
|
||||
name of the file where the issue was found.
|
||||
|
||||
To view more information about an issue in \l {Compile Output},
|
||||
select \uicontrol {Show Compile Output} in the context menu.
|
||||
|
||||
To jump from one issue to the next or previous
|
||||
one, select \inlineimage icons/arrowup.png
|
||||
and \inlineimage icons/arrowdown.png
|
||||
or press \key F6 and \key Shift+F6.
|
||||
|
||||
By default, a new build clears the \uicontrol Issues view. To keep
|
||||
the issues from the previous build rounds, deselect \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol {Build & Run} > \uicontrol General >
|
||||
\uicontrol {Clear issues list on new build}.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-reference-search-results-view.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-reference-issues-view.html
|
||||
\else
|
||||
\previouspage creator-reference.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-reference-output-views
|
||||
\ingroup studio-reference-output-views
|
||||
|
||||
\title Search Results
|
||||
|
||||
\brief Lets you search through projects, files on a file system or the
|
||||
currently open files.
|
||||
|
||||
The search history (1) stores the search results. You can select earlier
|
||||
searches from the history.
|
||||
|
||||
\image qtcreator-search-results.webp {Search Results - criteria}
|
||||
|
||||
The figure below shows an example search result for all
|
||||
occurrences of the search string in the specified directory.
|
||||
|
||||
\image qtcreator-search-results-matches.webp {Search Results - matches found}
|
||||
|
||||
For more information about the different search options, see
|
||||
\l {Finding and Replacing}.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-reference-application-output-view.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-how-to-view-output.html
|
||||
\nextpage creator-reference-compile-output-view.html
|
||||
\else
|
||||
\previouspage creator-reference.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-reference-output-views
|
||||
\ingroup studio-reference-output-views
|
||||
|
||||
\title Application Output
|
||||
|
||||
\brief Displays the status of a program when you execute it, and the debug
|
||||
output.
|
||||
|
||||
\image qtcreator-application-output.webp {Application Output}
|
||||
|
||||
\if defined(qtcreator)
|
||||
If you specify command line arguments in the run settings that are passed
|
||||
to the application when running it, they are displayed as a part of the
|
||||
application output. For more information, see
|
||||
\l{Specifying Run Settings for Desktop Device Types}.
|
||||
\endif
|
||||
|
||||
Select toolbar buttons to run applications, to attach the debugger to the
|
||||
running application, and to stop running or debugging.
|
||||
|
||||
\section1 Application Output Preferences
|
||||
|
||||
To set preferences for displaying application output:
|
||||
|
||||
\list
|
||||
\li Select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol {Build & Run} > \uicontrol {Application Output}.
|
||||
\li Select the \inlineimage icons/settings.png
|
||||
(\uicontrol {Open Settings Page}) button.
|
||||
\endlist
|
||||
|
||||
\image qtcreator-preferences-application-output.webp {Application Output tab in Preferences}
|
||||
|
||||
You can select whether to open \uicontrol{Application Output} on output when
|
||||
running or debugging applications, to clear old output on a new run,
|
||||
to word-wrap output, and to limit output to the specified number of lines.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-reference-compile-output-view.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-reference-application-output-view.html
|
||||
\nextpage creator-reference-issues-view.html
|
||||
\else
|
||||
\previouspage creator-reference.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-reference-output-views
|
||||
\ingroup studio-reference-output-views
|
||||
|
||||
\title Compile Output
|
||||
|
||||
\brief Shows all output from the compiler.
|
||||
|
||||
\uicontrol{Compile Output} shows a more detailed version of information
|
||||
displayed in \l Issues.
|
||||
|
||||
\image qtcreator-compile-output.webp {Compile Output}
|
||||
|
||||
Double-click a file name in an error message to open the file in the
|
||||
code editor.
|
||||
|
||||
To cancel the build, select the \uicontrol {Cancel Build} button.
|
||||
|
||||
To copy the output to the clipboard, select \uicontrol {Select All} in the
|
||||
context menu, and then select \uicontrol Copy. Save the output as a file if
|
||||
you want to examine it later without having to build the project again.
|
||||
This is useful for large projects that take a long time to build.
|
||||
|
||||
\section1 Compile Output Preferences
|
||||
|
||||
To specify whether to open the \uicontrol {Compile Output} view on output
|
||||
when building applications:
|
||||
|
||||
\list 1
|
||||
\li Open the preferences:
|
||||
\list
|
||||
\li In the \uicontrol {Compile Output} view,
|
||||
select \inlineimage icons/settings.png
|
||||
(\uicontrol {Open Settings Page}).
|
||||
\li Select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol {Build & Run} > \uicontrol {Compile Output}.
|
||||
\endlist
|
||||
\image qtcreator-preferences-compile-output.webp {Compile Output tab in Preferences}
|
||||
\li Select the \uicontrol {Open Compile Output when building} check box.
|
||||
\li In the \uicontrol {Limit output to} field, you can specify the
|
||||
maximum amount of build output lines to display.
|
||||
\endlist
|
||||
|
||||
\section1 Parsing Existing Compile Output
|
||||
|
||||
You can use \QC's output parsers to parse output from builds done outside
|
||||
of \QC or stored from previous build runs. By default, the parsers from the
|
||||
kit selected for the active project are used, but you can select another
|
||||
kit.
|
||||
|
||||
To parse compile output:
|
||||
|
||||
\list 1
|
||||
\li Select \uicontrol Tools > \uicontrol {Parse Build Output}.
|
||||
\image qtcreator-parse-build-output.png
|
||||
\li Paste the build output in the \uicontrol {Build Output} field, or
|
||||
select \uicontrol {Load from File} to load it from a file.
|
||||
\li Deselect the \uicontrol {Output went to stderr} check box if the
|
||||
parser expects issues on \c stdout.
|
||||
\li In the \uicontrol {Use parsers from kit} field, select the kit to
|
||||
use for parsing the output. Select \uicontrol Manage to view
|
||||
and modify kit settings.
|
||||
\li The parser displays the parsed output in \l Issues. By default, the
|
||||
view is cleared before adding the new output.
|
||||
Deselect the \uicontrol {Clear existing tasks} check box to append
|
||||
the new output to the old output.
|
||||
\li Select \uicontrol OK to start parsing.
|
||||
\endlist
|
||||
*/
|
@@ -1,12 +1,6 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
// **********************************************************************
|
||||
// NOTE: the sections are not ordered by their logical order to avoid
|
||||
// reshuffling the file each time the index order changes (i.e., often).
|
||||
// Run the fixnavi.pl script to adjust the links to the index order.
|
||||
// **********************************************************************
|
||||
|
||||
/*!
|
||||
\page creator-quick-tour.html
|
||||
\if defined(qtdesignstudio)
|
||||
@@ -14,7 +8,7 @@
|
||||
\nextpage creator-using-qt-quick-designer.html
|
||||
\else
|
||||
\previouspage creator-overview.html
|
||||
\nextpage creator-views.html
|
||||
\nextpage creator-configuring.html
|
||||
\endif
|
||||
|
||||
\title User Interface
|
||||
@@ -66,7 +60,7 @@
|
||||
\li \inlineimage numbers/07.png
|
||||
\li Output
|
||||
\li View output from building, running, and other actions.
|
||||
\li \l{Viewing Output}
|
||||
\li \l{View output}
|
||||
\endtable
|
||||
|
||||
To see where the above controls are in the UI, select
|
||||
@@ -82,8 +76,7 @@
|
||||
For information about new features and bug fixes in each \QC release,
|
||||
select \uicontrol Help > \uicontrol {Change Log}.
|
||||
|
||||
\sa {Show and hide sidebars}, {Browsing Project Contents}
|
||||
\sa {Use the UI}{How-to: Use the UI}
|
||||
\sa {Use the UI}{How-to: Use the UI}, {Reference}
|
||||
|
||||
\else
|
||||
|
||||
@@ -128,6 +121,7 @@
|
||||
\li \l {Find menu items on \macos}
|
||||
\li \l {Set high DPI scaling}
|
||||
\li \l {Switch UI themes}
|
||||
\li \l {View output}
|
||||
\endlist
|
||||
|
||||
\section1 Viewing Images
|
||||
@@ -141,465 +135,3 @@
|
||||
|
||||
\endif
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-output-panes.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-views.html
|
||||
\nextpage creator-highlighting.html
|
||||
\else
|
||||
\previouspage creator-open-documents-view.html
|
||||
\nextpage creator-configuring.html
|
||||
\endif
|
||||
|
||||
\title Viewing Output
|
||||
|
||||
\image qtcreator-general-messages.webp {General Messages}
|
||||
|
||||
You can view the following types of output:
|
||||
|
||||
\list
|
||||
|
||||
\li \l {Issues}
|
||||
|
||||
\li \l {Search Results}
|
||||
|
||||
\li \l {Application Output}
|
||||
|
||||
\li \l {Compile Output}
|
||||
|
||||
\if defined(qtcreator)
|
||||
\li \l {Terminal}
|
||||
\endif
|
||||
|
||||
\li \uicontrol {QML Debugger Console}
|
||||
|
||||
\li \uicontrol{General Messages}
|
||||
|
||||
\if defined(qtcreator)
|
||||
\li \l {Static Code Analysis}{Axivion}
|
||||
\endif
|
||||
|
||||
\li \uicontrol{Version Control}
|
||||
|
||||
\if defined(qtcreator)
|
||||
\li \l{Running Autotests}{Test Results}
|
||||
|
||||
\li \l{Using Squish}{Squish} test results and Squish Server and
|
||||
Runner logs
|
||||
|
||||
\li \l {To-Do Entries}
|
||||
|
||||
\endif
|
||||
|
||||
\endlist
|
||||
|
||||
Output is available on the taskbar in all
|
||||
\if defined(qtcreator)
|
||||
\l{Switch between modes}{modes}.
|
||||
\else
|
||||
\l{Mode}{modes}.
|
||||
\endif
|
||||
|
||||
\image qtcreator-output-panes-taskbar.webp "Output on the taskbar"
|
||||
|
||||
You can view output in the following ways:
|
||||
|
||||
\list
|
||||
\li Select the output view on the taskbar.
|
||||
\li Select \key Alt (\key Cmd on \macos) and the number of the view on
|
||||
the taskbar.
|
||||
\li Select \inlineimage icons/output-pane-menu.png
|
||||
, and then select the view to open.
|
||||
\li Select \uicontrol View > \uicontrol Output.
|
||||
The menu items also display the \l{Keyboard Shortcuts}
|
||||
{keyboard shortcuts} that you can use.
|
||||
\endlist
|
||||
|
||||
To maximize an open output view, select the \inlineimage icons/arrowup.png
|
||||
(\uicontrol Maximize) button or press \key {Alt+Shift+9}.
|
||||
|
||||
|
||||
To increase or decrease the output text size, select \inlineimage icons/plus.png
|
||||
(\uicontrol {Zoom In}) or \inlineimage icons/minus.png
|
||||
(\uicontrol {Zoom Out}), or press \key Ctrl++ or \key Ctrl+-. Zooming is
|
||||
not supported in all output views.
|
||||
|
||||
To open the \uicontrol{General Messages} and
|
||||
\if defined(qtcreator)
|
||||
\l{Using Version Control Systems}{Version Control}
|
||||
\else
|
||||
\l{Using Git}{Version Control}
|
||||
\endif
|
||||
views, select \uicontrol View > \uicontrol Output.
|
||||
\if defined(qtcreator)
|
||||
To view \uicontrol {To-Do Entries}, enable the \uicontrol Todo plugin.
|
||||
\endif
|
||||
|
||||
For more information about the \uicontrol {QML Debugger Console} view, see
|
||||
\l{Executing JavaScript Expressions}.
|
||||
|
||||
If the text in the output is not displayed correctly, \QC might
|
||||
be using a different codec from the one used by the tools that generate
|
||||
the output. To specify the codec to use, select \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol Environment > \uicontrol Interface, and
|
||||
then select the codec in the \uicontrol {Text codec for tools} field.
|
||||
|
||||
\image qtcreator-preferences-environment-interface.webp {Interface tab in Environment preferences}
|
||||
|
||||
\section1 Finding and Filtering Output
|
||||
|
||||
To search from output, press \key {Ctrl+F} when the view is active. Enter
|
||||
search criteria in the \uicontrol Find field. For more information, see
|
||||
\l{Finding and Replacing}.
|
||||
|
||||
Besides searching from the output, you can enter a string in the
|
||||
\uicontrol Filter field to filter it. To specify filtering options,
|
||||
select the \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.
|
||||
|
||||
Finding and filtering are not supported in all output views.
|
||||
|
||||
\section1 Issues
|
||||
|
||||
\uicontrol{Issues} lists the following types of issues:
|
||||
|
||||
\list
|
||||
|
||||
\if defined(qtdesignstudio)
|
||||
\li \uicontrol {Asset Export} - Errors and warnings encountered
|
||||
while exporting assets.
|
||||
|
||||
\li \uicontrol {Asset Importer Error} - Errors and warnings encountered
|
||||
while importing assets from a design tool.
|
||||
\else
|
||||
\li \uicontrol Autotests - Errors and warnings encountered while running
|
||||
tests.
|
||||
\endif
|
||||
|
||||
\li \uicontrol {Build System} - Errors and warnings encountered during a
|
||||
build.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\li \uicontrol {Clang Code Model} -
|
||||
\l {Parsing C++ Files with the Clang Code Model}
|
||||
{Errors and warnings from the current editor}.
|
||||
\li \uicontrol {Clang Tools} - Errors and warnings from
|
||||
\l {Using Clang Tools}{Clang-Tidy and Clazy}
|
||||
\endif
|
||||
|
||||
\li \uicontrol Compile - Selected output from the compiler. Open
|
||||
\uicontrol {Compile Output} for more detailed information.
|
||||
|
||||
\li \uicontrol{Debug Information} - Lists debug information packages that might
|
||||
be missing.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\li \uicontrol Debugger - Errors encountered while running the
|
||||
\l{Analyzing Code}{Valgrind code analysis tools}.
|
||||
\endif
|
||||
|
||||
\li \uicontrol{Debugger Runtime} - Errors encountered when starting \QC. For
|
||||
example, information about missing DLLs.
|
||||
|
||||
\li \uicontrol Deployment - Errors encountered between building an application
|
||||
successfully and starting it on a \l{glossary-device}{device}.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\li \uicontrol {My Tasks} - Entries from a task list file (.tasks) generated
|
||||
by \l{Showing Task List Files in Issues}
|
||||
{code scanning and analysis tools}.
|
||||
|
||||
\li \uicontrol Python - Runtime errors and exceptions of Python scripts.
|
||||
\endif
|
||||
|
||||
\li \uicontrol QML and \uicontrol {QML Analysis} -
|
||||
\l{JavaScript and QML Error Codes}
|
||||
{QML and JavaScript syntax errors}.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\li \uicontrol Sanitizer - Tasks created when you run an application if
|
||||
you used an \e {address sanitizer} to detect memory handling issues.
|
||||
\endif
|
||||
\endlist
|
||||
|
||||
The view filters out irrelevant output from the build tools and presents the
|
||||
issues in an organized way. To further filter the output by type, select
|
||||
\inlineimage icons/filtericon.png
|
||||
(\uicontrol {Filter Tree}) and then select a filter. To find output in the
|
||||
view, enter search criteria in the \uicontrol Filter field.
|
||||
|
||||
\image qtcreator-issues.webp {Issues}
|
||||
|
||||
Select one or several lines to apply context-menu actions to their contents.
|
||||
You can remove the selected lines or copy their contents to the clipboard.
|
||||
For single lines, you can search the Internet for a solution using the
|
||||
contents of the line as search criteria or open a version control
|
||||
annotation view of the line that causes the error message.
|
||||
|
||||
To view detailed information about the selected line (where available), press
|
||||
\key Space.
|
||||
|
||||
To navigate to the corresponding source code, click an issue or
|
||||
select \uicontrol {Show in Editor} in the context menu. The entry must contain the
|
||||
name of the file where the issue was found.
|
||||
|
||||
To view more information about an issue in \l {Compile Output},
|
||||
select \uicontrol {Show Compile Output} in the context menu.
|
||||
|
||||
To jump from one issue to the next or previous
|
||||
one, select \inlineimage icons/arrowup.png
|
||||
and \inlineimage icons/arrowdown.png
|
||||
or press \key F6 and \key Shift+F6.
|
||||
|
||||
By default, a new build clears the \uicontrol Issues view. To keep
|
||||
the issues from the previous build rounds, deselect \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol {Build & Run} > \uicontrol General >
|
||||
\uicontrol {Clear issues list on new build}.
|
||||
|
||||
\section1 Search Results
|
||||
|
||||
In \uicontrol{Search Results}, you can search through projects, files on
|
||||
a file system or the currently open files:
|
||||
|
||||
\image qtcreator-search-results.webp {Search Results - criteria}
|
||||
|
||||
The search history (1) stores the search results. You can select earlier
|
||||
searches from the history.
|
||||
|
||||
The figure below shows an example search result for all
|
||||
occurrences of the search string in the specified directory.
|
||||
|
||||
\image qtcreator-search-results-matches.webp {Search Results - matches found}
|
||||
|
||||
For more information about the different search options, see
|
||||
\l {Finding and Replacing}.
|
||||
|
||||
\section1 Application Output
|
||||
|
||||
\uicontrol{Application Output} displays the status of a program when
|
||||
you execute it, and the debug output.
|
||||
|
||||
\image qtcreator-application-output.webp {Application Output}
|
||||
|
||||
\if defined(qtcreator)
|
||||
If you specify command line arguments in the run settings that are passed
|
||||
to the application when running it, they are displayed as a part of the
|
||||
application output. For more information, see
|
||||
\l{Specifying Run Settings for Desktop Device Types}.
|
||||
\endif
|
||||
|
||||
Select toolbar buttons to run applications, to attach the debugger to the
|
||||
running application, and to stop running or debugging.
|
||||
|
||||
To specify settings for displaying application output, select
|
||||
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Build & Run} >
|
||||
\uicontrol {Application Output}, or click the \inlineimage icons/settings.png
|
||||
(\uicontrol {Open Settings Page}) button. You can select whether to open
|
||||
\uicontrol{Application Output} on output when running or debugging
|
||||
applications, to clear old output on a new run,
|
||||
to word-wrap output, and to limit output to the specified number of lines.
|
||||
|
||||
\section1 Compile Output
|
||||
|
||||
\uicontrol{Compile Output} shows all output from the compiler.
|
||||
The \uicontrol{Compile Output} is a more detailed version of information
|
||||
displayed in \l Issues.
|
||||
|
||||
\image qtcreator-compile-output.webp {Compile Output}
|
||||
|
||||
Double-click on a file name in an error message to open the file in the
|
||||
code editor.
|
||||
|
||||
Select the \uicontrol {Cancel Build} button to cancel the build.
|
||||
|
||||
To specify whether to open the \uicontrol {Compile Output} view on output
|
||||
when building applications, select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol {Build & Run} > \uicontrol {Compile Output}, and then select the
|
||||
\uicontrol {Open Compile Output when building} check box.
|
||||
In the \uicontrol {Limit output to} field, you can specify the maximum
|
||||
amount of build output lines to display.
|
||||
|
||||
You can also open the preferences page by clicking \inlineimage icons/settings.png
|
||||
(\uicontrol {Open Settings Page}).
|
||||
|
||||
To copy the output to the clipboard, select \uicontrol {Select All} in the
|
||||
context menu, and then select \uicontrol Copy. Save the output as a file if
|
||||
you want to examine it later without having to build the project again.
|
||||
This is useful for large projects that take a long time to build.
|
||||
|
||||
\section2 Parsing Existing Compile Output
|
||||
|
||||
You can use \QC's output parsers to parse output from builds done outside
|
||||
of \QC or stored from previous build runs. By default, the parsers from the
|
||||
kit selected for the active project are used, but you can select another
|
||||
kit.
|
||||
|
||||
To parse compile output:
|
||||
|
||||
\list 1
|
||||
\li Select \uicontrol Tools > \uicontrol {Parse Build Output}.
|
||||
\image qtcreator-parse-build-output.png
|
||||
\li Paste the build output in the \uicontrol {Build Output} field, or
|
||||
select \uicontrol {Load from File} to load it from a file.
|
||||
\li Deselect the \uicontrol {Output went to stderr} check box if the
|
||||
parser expects issues on \c stdout.
|
||||
\li In the \uicontrol {Use parsers from kit} field, select the kit to
|
||||
use for parsing the output. Select \uicontrol Manage to view
|
||||
and modify kit settings.
|
||||
\li The parser displays the parsed output in \l Issues. By default, the
|
||||
view is cleared before adding the new output.
|
||||
Deselect the \uicontrol {Clear existing tasks} check box to append
|
||||
the new output to the old output.
|
||||
\li Select \uicontrol OK to start parsing.
|
||||
\endlist
|
||||
|
||||
\if defined(qtcreator)
|
||||
|
||||
\section1 Terminal
|
||||
|
||||
When you select the \uicontrol {Run in Terminal} check box and run an
|
||||
application or the \uicontrol {Open Terminal} button to open a terminal,
|
||||
the default terminal opens. On Linux and \macos, you can set the default
|
||||
terminal by selecting \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol Environment > \uicontrol System.
|
||||
|
||||
To open the terminal on the taskbar instead of in a separate window, select
|
||||
\uicontrol Edit > \uicontrol Preferences > \uicontrol Terminal >
|
||||
\uicontrol {Use internal terminal}.
|
||||
|
||||
\image qtcreator-output-terminal.webp {Terminal pane}
|
||||
|
||||
To clear the terminal, select \inlineimage icons/clean_pane_small.png
|
||||
(\uicontrol Clear).
|
||||
|
||||
To close the current terminal, select \inlineimage icons/terminal-close.png
|
||||
.
|
||||
|
||||
To open new terminals as tabs, select \inlineimage icons/terminal-create.png
|
||||
.
|
||||
|
||||
To move between terminals, select the tabs or \inlineimage icons/arrowup.png
|
||||
and \inlineimage icons/arrowdown.png
|
||||
.
|
||||
|
||||
To select a word in a terminal, double-click it. To select the whole line,
|
||||
triple-click it.
|
||||
|
||||
To open links in a browser, files in the editor, or folders in the
|
||||
\l Projects view, hover the mouse over them, and press \key Ctrl.
|
||||
|
||||
To \l{Finding and Replacing}{search} through the output, press \key {Ctrl+F}.
|
||||
|
||||
To make the font larger or smaller, select the \inlineimage icons/plus.png
|
||||
and \inlineimage icons/minus.png
|
||||
buttons. You can also change the font size in terminal preferences.
|
||||
|
||||
To open terminal preferences, select \inlineimage icons/settings.png
|
||||
(\uicontrol Configure).
|
||||
|
||||
Most of the \QC keyboard shortcuts are disabled in the terminal, except the
|
||||
ones for opening terminal preferences or the locator and quitting \QC. To
|
||||
send the escape key to the terminal instead of closing the terminal, select
|
||||
\uicontrol {Shift+Esc}. You can also specify that the escape key is sent to
|
||||
the terminal in terminal preferences.
|
||||
|
||||
\section2 Setting Terminal Preferences
|
||||
|
||||
To set preferences for the internal terminal, select \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol Terminal, or select the
|
||||
\uicontrol Configure button in the \uicontrol Terminal pane.
|
||||
|
||||
\image qtcreator-preferences-terminal.webp {Terminal tab in Preferences}
|
||||
|
||||
\table
|
||||
\header
|
||||
\li Option
|
||||
\li Value
|
||||
\row
|
||||
\li \uicontrol {Use internal terminal}
|
||||
\li Open the \uicontrol Terminal pane when you select
|
||||
\uicontrol {Run in Terminal} or \uicontrol {Open Terminal}.
|
||||
\row
|
||||
\li \uicontrol {Send escape key to terminal}
|
||||
\li Send the escape key to the terminal instead of closing the terminal.
|
||||
\row
|
||||
\li \uicontrol {Audible bell}
|
||||
\li Play an audible bell when the a bell character is received.
|
||||
\row
|
||||
\li \uicontrol {Allow blinking cursor}
|
||||
\li Allow the cursor to blink.
|
||||
\row
|
||||
\li \uicontrol {Font}
|
||||
\li Select the \uicontrol {Font family} and \uicontrol Size for the text
|
||||
in the terminal. You can also use the \inlineimage icons/plus.png
|
||||
and \inlineimage icons/minus.png buttons in the \uicontrol Terminal
|
||||
pane to change the font size.
|
||||
\row
|
||||
\li \uicontrol {Colors}
|
||||
\li Set colors for the \uicontrol Terminal pane \uicontrol Foreground,
|
||||
\uicontrol Background, \uicontrol Selection, and
|
||||
\uicontrol {Find match}.
|
||||
\row
|
||||
\li \uicontrol {Default shell}
|
||||
\li Set the full path to the default terminal executable in
|
||||
\uicontrol {Shell path} and the arguments to pass to the shell
|
||||
in \uicontrol {Shell arguments}.
|
||||
\endtable
|
||||
|
||||
To use an existing color scheme, select \uicontrol {Load Theme}. To revert
|
||||
color changes, select \uicontrol {Reset Theme}.
|
||||
|
||||
\section1 To-Do Entries
|
||||
|
||||
\uicontrol {To-Do Entries} lists the BUG, FIXME, NOTE, TODO, and
|
||||
WARNING keywords from the current file, from all project files, or from a
|
||||
subproject. Click the icons on the toolbar to show only the selected
|
||||
keywords.
|
||||
|
||||
\image qtcreator-to-do-entries.webp {To-Do Entries}
|
||||
|
||||
To add keywords, select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol {To-Do} > \uicontrol Add. Set an icon and a line background color
|
||||
for the keyword.
|
||||
|
||||
\image qtcreator-todo-options.png {To-Do preferences}
|
||||
|
||||
To change the icon and line background color of the selected keyword, select
|
||||
\uicontrol Edit.
|
||||
|
||||
To remove the selected keyword, select \uicontrol Remove.
|
||||
|
||||
To reset the list to predefined keywords, select \uicontrol Reset. All your
|
||||
changes will be permanently lost.
|
||||
|
||||
To determine whether the keywords in the whole project, in the current file,
|
||||
or in a subproject are displayed by default, select the appropriate option
|
||||
in the \uicontrol {Scanning scope} group.
|
||||
|
||||
To exclude files from scanning, select \uicontrol {Project Settings} >
|
||||
\uicontrol {To-Do} in the \uicontrol Projects mode.
|
||||
|
||||
\image qtcreator-todo-excluded-files.png {Excluded Files in To-Do preferences}
|
||||
|
||||
Select \uicontrol Add and double-click the placeholder text in
|
||||
\uicontrol {Exclude Files} to enter a regular expression that
|
||||
matches the path to files to exclude. Use a forward slash (/)
|
||||
as a separator in the path also on Windows.
|
||||
|
||||
Select the link in \uicontrol {Use global settings} to open global
|
||||
To-Do preferences.
|
||||
|
||||
The Todo plugin is disabled by default. To enable the plugin, select
|
||||
\uicontrol Help > \uicontrol {About Plugins} > \uicontrol Utilities >
|
||||
\uicontrol Todo. Then select \uicontrol {Restart Now} to restart \QC
|
||||
and load the plugin.
|
||||
|
||||
In addition, you can open task list files generated by code scanning and
|
||||
analysis tools in \l Issues. For more information, see
|
||||
\l{Showing Task List Files in Issues}.
|
||||
\endif
|
||||
|
||||
*/
|
||||
|
@@ -1,148 +0,0 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
/*!
|
||||
\page creator-views.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-coding-navigating.html
|
||||
\nextpage creator-output-panes.html
|
||||
\else
|
||||
\previouspage creator-quick-tour.html
|
||||
\nextpage creator-projects-view.html
|
||||
\endif
|
||||
|
||||
\title Browsing Project Contents
|
||||
|
||||
\if defined(qtdesignstudio)
|
||||
You can organize \QDS views as \l {Managing Workspaces}{workspaces}.
|
||||
\else
|
||||
You can organize \QC views in \l {Show and hide sidebars}{sidebars} or as
|
||||
workspaces, depending on the \l{Switch between modes}{mode} you are working
|
||||
in. Only views that are relevant to a mode are available in it.
|
||||
\endif
|
||||
|
||||
\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
|
||||
\li \l Projects shows a list of projects open in the current
|
||||
session and the project files needed by the build system.
|
||||
\li \l{File System} shows all files in the currently selected
|
||||
directory.
|
||||
\li \l{Open Documents} shows currently open files.
|
||||
\li \l{Using Bookmarks}{Bookmarks} shows all bookmarks for the current
|
||||
session.
|
||||
\li \l{Working with Branches}{Git Branches} shows the local and remote
|
||||
branches for the project in the Git version control system.
|
||||
\li \l{Viewing Defined Types and Symbols}{Outline} shows an overview of
|
||||
defined types and other symbols, as well as their properties and
|
||||
hierarchy in a source file.
|
||||
\endlist
|
||||
|
||||
\if defined(qtcreator)
|
||||
The following views display additional information about C++ code:
|
||||
|
||||
\list
|
||||
\li \l{Viewing the Class Hierarchy}{Class View} shows the class
|
||||
hierarchy of the currently open projects.
|
||||
\li \l{Running Autotests}{Tests} lists autotests and Qt Quick
|
||||
tests in the project.
|
||||
\li \l{Viewing Type Hierarchy}{Type Hierarchy} shows the base
|
||||
classes of a class.
|
||||
\li \l{Viewing Include Hierarchy}{Include Hierarchy} shows the
|
||||
files that the current file includes and those that include
|
||||
the current file.
|
||||
\endlist
|
||||
\else
|
||||
For more information about views that are only available when editing QML
|
||||
files in the \uicontrol Design mode, see \l{Design Views}.
|
||||
\endif
|
||||
|
||||
The following sections describe the additional options in a particular view.
|
||||
|
||||
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
|
||||
|
||||
The \uicontrol Outline view shows an overview of defined types and other
|
||||
symbols, as well as their properties and hierarchy in a source file.
|
||||
You can move the code for types and symbols around in the source file
|
||||
by dragging and dropping them in the outline.
|
||||
|
||||
\image qtcreator-outline-view.png "Outline view"
|
||||
|
||||
\list
|
||||
\li To see a complete list of all bindings, select
|
||||
\inlineimage icons/filtericon.png
|
||||
(\uicontrol {Filter Tree}) > \uicontrol {Show All Bindings}.
|
||||
\li To sort types or symbols alphabetically, select
|
||||
\inlineimage icons/sort_alphabetically.png
|
||||
(\uicontrol {Sort Alphabetically}).
|
||||
\li To stop the synchronization with the type or symbol selected in the
|
||||
editor, deselect \inlineimage icons/linkicon.png
|
||||
(\uicontrol {Synchronize with Editor}).
|
||||
\endlist
|
||||
|
||||
\if defined(qtcreator)
|
||||
\section1 Viewing the Class Hierarchy
|
||||
|
||||
The \uicontrol {Class View} shows the class hierarchy of the currently
|
||||
open projects.
|
||||
|
||||
\image qtcreator-class-view.png "Class View"
|
||||
|
||||
To organize the view by subprojects, click
|
||||
\inlineimage icons/qtcreator-show-subprojects.png
|
||||
(\uicontrol {Show Subprojects}).
|
||||
|
||||
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
|
||||
class in the code editor and select \uicontrol {Open Type Hierarchy} or
|
||||
press \key {Ctrl+Shift+T}.
|
||||
|
||||
\image qtcreator-type-hierarchy-view.png "Type Hierarchy view"
|
||||
|
||||
To navigate in the type hierarchy, double-click a class or select it,
|
||||
and then select \uicontrol {Open Type Hierarchy} in the context menu.
|
||||
The view highlights the previous class.
|
||||
|
||||
The definition of the selected class opens in the code editor. You
|
||||
can also select \uicontrol {Open in Editor} in the context menu to open
|
||||
it.
|
||||
|
||||
\section1 Viewing Include Hierarchy
|
||||
|
||||
To view the files that the current file includes and those that include
|
||||
the current file, right-click in the editor and select
|
||||
\uicontrol {Open Include Hierarchy} or press \key {Ctrl+Shift+I}.
|
||||
|
||||
\image qtcreator-include-hierarchy-view.png "Include Hierarchy view"
|
||||
|
||||
To keep the view synchronized with the file currently open in the editor,
|
||||
select \inlineimage icons/linkicon.png
|
||||
(\uicontrol {Synchronize with Editor}).
|
||||
\endif
|
||||
*/
|
@@ -20,7 +20,7 @@
|
||||
To use GitLab, you must create a connection to the GitLab server and clone
|
||||
the projects you want to work on. You can also link previously cloned
|
||||
projects to GitLab in the project settings. This enables you to receive
|
||||
event notifications in the \l {Viewing Output}{Version Control} pane.
|
||||
event notifications in the \l {View output}{Version Control} pane.
|
||||
|
||||
\section1 Connecting to GitLab Servers
|
||||
|
||||
|
@@ -1,19 +1,17 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
// **********************************************************************
|
||||
// NOTE: the sections are not ordered by their logical order to avoid
|
||||
// reshuffling the file each time the index order changes (i.e., often).
|
||||
// Run the fixnavi.pl script to adjust the links to the index order.
|
||||
// **********************************************************************
|
||||
|
||||
/*!
|
||||
\previouspage {Creating a Qt Quick Application}
|
||||
\page creator-writing-program.html
|
||||
\nextpage {Creating a Mobile Application}
|
||||
\previouspage creator-tutorials.html
|
||||
\nextpage creator-project-managing.html
|
||||
\ingroup creator-tutorials
|
||||
|
||||
\title Creating a Qt Widget Based Application
|
||||
|
||||
\brief How to use the integrated \QD to create a Qt widget based application
|
||||
for the desktop.
|
||||
|
||||
This tutorial describes how to use \QC to create a small Qt application,
|
||||
Text Finder. It is a simplified version of the Qt UI Tools \l{Text Finder}
|
||||
example. You'll use \QD to construct the application user interface from
|
||||
@@ -29,11 +27,11 @@
|
||||
\uicontrol {Application (Qt)} > \uicontrol {Qt Widgets Application}
|
||||
> \uicontrol Choose.
|
||||
|
||||
\image qtcreator-new-qt-gui-application.png "New Project dialog"
|
||||
\image qtcreator-new-qt-gui-application.png {New Project dialog}
|
||||
|
||||
The \uicontrol{Introduction and Project Location} dialog opens.
|
||||
The \uicontrol{Project Location} dialog opens.
|
||||
|
||||
\image qtcreator-intro-and-location-qt-gui.png "Introduction and Project Location dialog"
|
||||
\image qtcreator-intro-and-location-qt-gui.png {Project Location dialog}
|
||||
|
||||
\li In the \uicontrol{Name} field, type \b {TextFinder}.
|
||||
|
||||
@@ -44,7 +42,7 @@
|
||||
\uicontrol Continue (on \macos) to open the
|
||||
\uicontrol {Define Build System} dialog.
|
||||
|
||||
\image qtcreator-new-project-build-system-qt-gui.png "Define Build System dialog"
|
||||
\image qtcreator-new-project-build-system-qt-gui.png {Define Build System dialog}
|
||||
|
||||
\li In the \uicontrol {Build system} field, select \l {Setting Up CMake}
|
||||
{CMake} as the build system to use for building the project.
|
||||
@@ -52,7 +50,7 @@
|
||||
\li Select \uicontrol Next or \uicontrol Continue to open the
|
||||
\uicontrol{Class Information} dialog.
|
||||
|
||||
\image qtcreator-class-info-qt-gui.png "Class Information dialog"
|
||||
\image qtcreator-class-info-qt-gui.png {Class Information dialog}
|
||||
|
||||
\li In the \uicontrol{Class name} field, type \b {TextFinder} as the class
|
||||
name.
|
||||
@@ -66,7 +64,7 @@
|
||||
\li Select \uicontrol Next or \uicontrol Continue to open the
|
||||
\uicontrol {Translation File} dialog.
|
||||
|
||||
\image qtcreator-new-qt-gui-application-translationfile.png "Translation File dialog"
|
||||
\image qtcreator-new-qt-gui-application-translationfile.png {Translation File dialog}
|
||||
|
||||
\li In the \uicontrol Language field, you can select a language that you
|
||||
plan to \l {Using Qt Linguist}{translate} the application to. This
|
||||
@@ -76,7 +74,7 @@
|
||||
\li Select \uicontrol Next or \uicontrol Continue to open the
|
||||
\uicontrol {Kit Selection} dialog.
|
||||
|
||||
\image qtcreator-new-project-qt-versions-qt-gui.png "Kit Selection dialog"
|
||||
\image qtcreator-new-project-qt-versions-qt-gui.png {Kit Selection dialog}
|
||||
|
||||
\li Select build and run \l{glossary-buildandrun-kit}{kits} for your
|
||||
project.
|
||||
@@ -84,7 +82,7 @@
|
||||
\li Select \uicontrol Next or \uicontrol Continue to open the
|
||||
\uicontrol {Project Management} dialog.
|
||||
|
||||
\image qtcreator-new-project-summary-qt-gui.png "Project Management dialog"
|
||||
\image qtcreator-new-project-summary-qt-gui.png {Project Management dialog}
|
||||
|
||||
\li Review the project settings, and select \uicontrol{Finish} (on Windows and
|
||||
Linux) or \uicontrol Done (on \macos) to create the project.
|
||||
@@ -106,7 +104,7 @@
|
||||
|
||||
\endlist
|
||||
|
||||
\image qtcreator-textfinder-contents.png "TextFinder project contents"
|
||||
\image qtcreator-textfinder-contents.png {TextFinder project contents}
|
||||
|
||||
The .h and .cpp files come with the necessary boiler plate code.
|
||||
|
||||
@@ -120,14 +118,14 @@
|
||||
|
||||
\section2 Designing the User Interface
|
||||
|
||||
\image qtcreator-textfinder-ui.png "Text Finder UI"
|
||||
\image qtcreator-textfinder-ui.png {Text Finder UI}
|
||||
|
||||
\list 1
|
||||
|
||||
\li In the \uicontrol{Editor} mode, double-click the textfinder.ui file in the
|
||||
\uicontrol{Projects} view to launch the integrated \QD.
|
||||
|
||||
\li Drag and drop the following widgets to the form:
|
||||
\li Drag the following widgets to the form:
|
||||
|
||||
\list
|
||||
|
||||
@@ -137,13 +135,13 @@
|
||||
|
||||
\endlist
|
||||
|
||||
\image qtcreator-textfinder-ui-widgets.png "Adding widgets to Text Finder UI"
|
||||
\image qtcreator-textfinder-ui-widgets.png {Adding widgets to Text Finder UI}
|
||||
|
||||
\note To easily locate the widgets, use the search box at the top of the
|
||||
\uicontrol Sidebar. For example, to find the \uicontrol Label widget, start typing
|
||||
the word \b label.
|
||||
|
||||
\image qtcreator-textfinder-filter.png "Filter field"
|
||||
\image qtcreator-textfinder-filter.png {Filter field}
|
||||
|
||||
\li Double-click the \uicontrol{Label} widget and enter the text
|
||||
\b{Keyword}.
|
||||
@@ -154,21 +152,21 @@
|
||||
\li In the \uicontrol Properties view, change the \uicontrol objectName to
|
||||
\b findButton.
|
||||
|
||||
\image qtcreator-textfinder-objectname.png "Changing object names"
|
||||
\image qtcreator-textfinder-objectname.png {Changing object names}
|
||||
|
||||
\li Press \key {Ctrl+A} (or \key {Cmd+A}) to select the widgets and
|
||||
select \uicontrol{Lay out Horizontally} (or press \key {Ctrl+H} on Linux or
|
||||
Windows or \key {Ctrl+Shift+H} on \macos) to apply a horizontal
|
||||
layout (QHBoxLayout).
|
||||
|
||||
\image qtcreator-textfinder-ui-horizontal-layout.png "Applying horizontal layout"
|
||||
\image qtcreator-textfinder-ui-horizontal-layout.png {Applying horizontal layout}
|
||||
|
||||
\li Drag and drop a \uicontrol{Text Edit} widget (QTextEdit) to the form.
|
||||
\li Drag a \uicontrol{Text Edit} widget (QTextEdit) to the form.
|
||||
|
||||
\li Select the screen area, and then select \uicontrol{Lay out Vertically}
|
||||
(or press \key {Ctrl+L}) to apply a vertical layout (QVBoxLayout).
|
||||
|
||||
\image qtcreator-textfinder-ui.png "Text Finder UI"
|
||||
\image qtcreator-textfinder-ui.png {Text Finder UI}
|
||||
|
||||
Applying the horizontal and vertical layouts ensures that the
|
||||
application UI scales to different screen sizes.
|
||||
@@ -274,11 +272,11 @@
|
||||
\li Select \uicontrol File > \uicontrol {New File} >
|
||||
\uicontrol Qt > \uicontrol {Qt Resource File} > \uicontrol Choose.
|
||||
|
||||
\image qtcreator-add-resource-wizard.png "New File dialog"
|
||||
\image qtcreator-add-resource-wizard.png {New File dialog}
|
||||
|
||||
The \uicontrol {Choose the Location} dialog opens.
|
||||
|
||||
\image qtcreator-add-resource-wizard2.png "Choose the Location dialog"
|
||||
\image qtcreator-add-resource-wizard2.png {Choose the Location dialog}
|
||||
|
||||
\li In the \uicontrol{Name} field, enter \b{textfinder}.
|
||||
|
||||
@@ -287,7 +285,7 @@
|
||||
|
||||
The \uicontrol{Project Management} dialog opens.
|
||||
|
||||
\image qtcreator-add-resource-wizard3.png "Project Management dialog"
|
||||
\image qtcreator-add-resource-wizard3.png {Project Management dialog}
|
||||
|
||||
|
||||
\li In the \uicontrol{Add to project} field, select \b{TextFinder}
|
||||
@@ -302,7 +300,7 @@
|
||||
\li Select \uicontrol Add > \uicontrol {Add Files}, to locate and add
|
||||
input.txt.
|
||||
|
||||
\image qtcreator-add-resource.png "Editing resource files"
|
||||
\image qtcreator-add-resource.png {Editing resource files}
|
||||
|
||||
\endlist
|
||||
|
||||
@@ -320,6 +318,6 @@
|
||||
|
||||
Now that you have all the necessary files, select the
|
||||
\inlineimage icons/run_small.png
|
||||
button to compile and run your Application.
|
||||
button to compile and run your application.
|
||||
|
||||
*/
|
||||
|
@@ -31,7 +31,7 @@
|
||||
\section1 Basics
|
||||
|
||||
\list
|
||||
\li \l{Getting and Building Qt Creator}
|
||||
\li \l{Getting Qt and Qt Creator}
|
||||
\li \l{Creating Your First Plugin}
|
||||
\li \l{Plugin Meta Data}
|
||||
\li \l{Plugin Life Cycle}
|
||||
|
@@ -3,53 +3,67 @@
|
||||
|
||||
/*!
|
||||
\page getting-and-building.html
|
||||
\title Getting and Building Qt Creator
|
||||
\title Getting Qt and Qt Creator
|
||||
|
||||
\code
|
||||
TODO: This should be extended.
|
||||
* Windows specific hassle, see README in \QC sources
|
||||
\endcode
|
||||
To create and build a \QC plugin, you need a compatible version of Qt,
|
||||
and either a \QC package (released or snapshot) or your own \QC build.
|
||||
|
||||
There are several reasons why you might want to do your own build of \QC,
|
||||
like using the most current development version and being able to tweak \QC
|
||||
at one or the other place. It is also necessary if you want to create your
|
||||
own \QC plugin.
|
||||
at one or the other place. But it is not strictly necessary for creating
|
||||
plugins. The \QC packages contain a \uicontrol {Plugin Development}
|
||||
component that enables plugin development with the \QC contained in the
|
||||
package.
|
||||
|
||||
\section1 Getting Qt
|
||||
|
||||
Prebuilt \QC packages usually use the latest stable release of Qt. You can
|
||||
see the exact minimum requirement at the top of \QC's \c {qtcreator.pro}.
|
||||
(You can find the current version in our source repository here:
|
||||
\l{https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/qtcreator.pro#n4}.)
|
||||
Prebuilt \QC packages usually use the latest stable release of Qt.
|
||||
See the exact Qt version that a \QC package was built with in its
|
||||
\uicontrol {About \QC} dialog.
|
||||
|
||||
The minimum requirement for building \QC is stated in the
|
||||
\l{https://code.qt.io/cgit/qt-creator/qt-creator.git/about/README.md}
|
||||
{README.md} and near the top of the
|
||||
\l{https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/cmake/QtCreatorAPI.cmake}
|
||||
{cmake/QtCreatorAPI.cmake} file in the sources.
|
||||
|
||||
You can get prebuilt Qt packages from
|
||||
\l{https://download.qt.io}{Qt Downloads}. If you want to use Qt as provided
|
||||
by your Linux distribution, you need to make sure that all Qt development
|
||||
packages and private header packages are also installed.
|
||||
|
||||
\section1 Getting and Building \QC
|
||||
\section1 Getting \QC
|
||||
|
||||
\section2 Installing a Prebuilt Package
|
||||
|
||||
The prebuilt \QC packages contain a \uicontrol {Plugin Development}
|
||||
component that contains the CMake files, headers and other files
|
||||
that you need to build a plugin. It is not installed by default, so make
|
||||
sure to select the component when installing \QC.
|
||||
|
||||
When developing your plugin, point the \c {CMAKE_PREFIX_PATH} to the
|
||||
installation location of \QC, or the \QC app on macOS.
|
||||
|
||||
Get prebuilt packages either from the
|
||||
\l{https://download.qt.io/official_releases/online_installers/}
|
||||
{Qt online installer}, or a standalone \QC installer either for a
|
||||
\l{https://download.qt.io/official_releases/qtcreator/}
|
||||
{released \QC version} or a \l{https://download.qt.io/snapshots/qtcreator/}
|
||||
{development snapshot}.
|
||||
|
||||
\section2 Building \QC
|
||||
|
||||
You can get the \QC sources for a specific version either by using one of
|
||||
the released source bundles, or from the Git repository
|
||||
the released source bundles or by cloning the sources from the Git repository
|
||||
\l{https://code.qt.io/cgit/qt-creator/qt-creator.git}. If you intend to
|
||||
contribute to \QC itself, you should use the repository from our Gerrit
|
||||
review tool as described in:
|
||||
\l{https://wiki.qt.io/Setting_up_Gerrit}{Setting up Gerrit}.
|
||||
|
||||
We strongly encourage you to do out-of-source builds of \QC (also called
|
||||
shadow-builds).
|
||||
Refer to the
|
||||
\l{https://code.qt.io/cgit/qt-creator/qt-creator.git/about/README.md}
|
||||
{README.md} included in the sources for details on building \QC.
|
||||
|
||||
After you put the \QC sources somewhere (lets call the path
|
||||
\c {<QtCreatorSources>})
|
||||
you build it on Linux and Mac with
|
||||
|
||||
\code
|
||||
cd <QtCreatorSources>/..
|
||||
mkdir qtcreator-build
|
||||
cd qtcreator-build
|
||||
<QtInstall>/bin/qmake -r <QtCreatorSources>
|
||||
make
|
||||
\endcode
|
||||
|
||||
or the corresponding commands on Windows systems.
|
||||
When developing your plugin, point the \c {CMAKE_PREFIX_PATH} to the
|
||||
build location of \QC.
|
||||
*/
|
||||
|
@@ -1,8 +1,8 @@
|
||||
// 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
|
||||
|
||||
/*!
|
||||
\page extending-index.html
|
||||
\page index.html
|
||||
\title Extending Qt Creator Manual
|
||||
|
||||
\QC is a cross-platform integrated development environment (IDE) tailored to
|
||||
|
@@ -200,11 +200,6 @@
|
||||
\list
|
||||
\li \l{Writing Code}
|
||||
\list
|
||||
\li \l{Working in Edit Mode}
|
||||
\list
|
||||
\li \l{Browsing Project Contents}
|
||||
\li \l{Viewing Output}
|
||||
\endlist
|
||||
\li \l{Semantic Highlighting}
|
||||
\li \l{Checking Code Syntax}
|
||||
\li \l{Completing Code}
|
||||
|
@@ -47,9 +47,8 @@
|
||||
\section2 Source Component
|
||||
|
||||
The \uicontrol {Source Component} property defines the component for
|
||||
\uicontrol Loader3D to instantiate. Currently, the
|
||||
\uicontrol {Source component} needs to be defined in code using the
|
||||
\l {Working in Edit Mode}{Edit} mode or the \l {Code} view.
|
||||
\uicontrol Loader3D to instantiate. Currently, you need to define the
|
||||
\uicontrol {Source component} in the \l {Code} view.
|
||||
|
||||
\section2 Asynchronous
|
||||
|
||||
|
@@ -129,7 +129,7 @@
|
||||
\li Provides a code editor for viewing and modifying the code
|
||||
generated by the visual editors.
|
||||
\li \image ok.png
|
||||
\li \l {Working in Edit Mode}
|
||||
\li \l {Writing Code}
|
||||
\row
|
||||
\li \l Projects
|
||||
\li Shows a list of open projects and the files they contain.
|
||||
@@ -201,12 +201,12 @@
|
||||
That is, returns the focus to the last location in the last file it
|
||||
was on.
|
||||
\li \key Alt+< (\key Opt+Cmd+< on \macos)
|
||||
\li \l{Navigating Between Open Files and Symbols}
|
||||
\li
|
||||
\row
|
||||
\li \inlineimage icons/next.png
|
||||
\li \uicontrol {Go Forward}: moves a step forward in your location history.
|
||||
\li \key Alt+> (\key Opt+Cmd+> on \macos)
|
||||
\li \l{Navigating Between Open Files and Symbols}
|
||||
\li
|
||||
\row
|
||||
\li \inlineimage icons/close.png
|
||||
\li \uicontrol {Close Document}: closes the current file.
|
||||
|
@@ -21,8 +21,7 @@
|
||||
\uicontrol Edit > \uicontrol {Find/Replace} > \uicontrol {Find/Replace}.
|
||||
You can also select \key Ctrl + \key {F}.
|
||||
|
||||
You can use a subset of the functions available in the
|
||||
\l{Writing Code}{Edit mode}:
|
||||
The view offers the following features:
|
||||
|
||||
\list
|
||||
\li \l{Semantic Highlighting}
|
||||
|
@@ -6,16 +6,16 @@ import qbs.Utilities
|
||||
Module {
|
||||
Depends { name: "cpp"; required: false }
|
||||
|
||||
property string qtcreator_display_version: '11.0.0-rc1'
|
||||
property string ide_version_major: '10'
|
||||
property string qtcreator_display_version: '11.0.0'
|
||||
property string ide_version_major: '11'
|
||||
property string ide_version_minor: '0'
|
||||
property string ide_version_release: '84'
|
||||
property string ide_version_release: '0'
|
||||
property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.'
|
||||
+ ide_version_release
|
||||
|
||||
property string ide_compat_version_major: '10'
|
||||
property string ide_compat_version_major: '11'
|
||||
property string ide_compat_version_minor: '0'
|
||||
property string ide_compat_version_release: '84'
|
||||
property string ide_compat_version_release: '0'
|
||||
property string qtcreator_compat_version: ide_compat_version_major + '.'
|
||||
+ ide_compat_version_minor + '.' + ide_compat_version_release
|
||||
|
||||
|
@@ -27,8 +27,11 @@ qt_add_qml_module(%{TargetName}
|
||||
QML_FILES Main.qml
|
||||
)
|
||||
|
||||
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
|
||||
# If you are developing for iOS or macOS you should consider setting an
|
||||
# explicit, fixed bundle identifier manually though.
|
||||
set_target_properties(%{TargetName} PROPERTIES
|
||||
MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
|
||||
# MACOSX_BUNDLE_GUI_IDENTIFIER com.example.%{TargetName}
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
||||
MACOSX_BUNDLE TRUE
|
||||
|
@@ -17,8 +17,11 @@ qt_add_qml_module(%{TargetName}
|
||||
QML_FILES main.qml %{AdditionalQmlFiles}
|
||||
)
|
||||
|
||||
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
|
||||
# If you are developing for iOS or macOS you should consider setting an
|
||||
# explicit, fixed bundle identifier manually though.
|
||||
set_target_properties(%{TargetName} PROPERTIES
|
||||
MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
|
||||
# MACOSX_BUNDLE_GUI_IDENTIFIER com.example.%{TargetName}
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
||||
MACOSX_BUNDLE TRUE
|
||||
|
@@ -61,8 +61,14 @@ endif()
|
||||
target_link_libraries(%{ProjectName}
|
||||
PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick)
|
||||
|
||||
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
|
||||
# If you are developing for iOS or macOS you should consider setting an
|
||||
# explicit, fixed bundle identifier manually though.
|
||||
if(${QT_VERSION} VERSION_LESS 6.1.0)
|
||||
set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.%{ProjectName})
|
||||
endif()
|
||||
set_target_properties(%{ProjectName} PROPERTIES
|
||||
MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
|
||||
${BUNDLE_ID_OPTION}
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
||||
MACOSX_BUNDLE TRUE
|
||||
|
@@ -64,8 +64,14 @@ endif()
|
||||
|
||||
target_link_libraries(%{ProjectName} PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
|
||||
|
||||
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
|
||||
# If you are developing for iOS or macOS you should consider setting an
|
||||
# explicit, fixed bundle identifier manually though.
|
||||
if(${QT_VERSION} VERSION_LESS 6.1.0)
|
||||
set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.%{ProjectName})
|
||||
endif()
|
||||
set_target_properties(%{ProjectName} PROPERTIES
|
||||
MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
|
||||
${BUNDLE_ID_OPTION}
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
||||
MACOSX_BUNDLE TRUE
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1614,7 +1614,7 @@ void TaskNode::invokeEndHandler(bool success)
|
||||
\endcode
|
||||
|
||||
The task tree above has a top level element of the Group type that contains
|
||||
tasks of the type ProcessTask, FileTransferTask, and ConcurrentCallTask<int>.
|
||||
tasks of the ProcessTask, FileTransferTask, and ConcurrentCallTask<int> type.
|
||||
After taskTree->start() is called, the tasks are run in a chain, starting
|
||||
with ProcessTask. When the ProcessTask finishes successfully, the ConcurrentCallTask<int>
|
||||
task is started. Finally, when the asynchronous task finishes successfully, the
|
||||
@@ -1765,7 +1765,7 @@ void TaskNode::invokeEndHandler(bool success)
|
||||
\section2 Task's Start Handler
|
||||
|
||||
When a corresponding task class object is created and before it's started,
|
||||
the task tree invokes a mandatory user-provided setup handler. The setup
|
||||
the task tree invokes an optionally user-provided setup handler. The setup
|
||||
handler should always take a \e reference to the associated task class object:
|
||||
|
||||
\code
|
||||
@@ -2150,7 +2150,7 @@ void TaskNode::invokeEndHandler(bool success)
|
||||
|
||||
\section1 Task Adapters
|
||||
|
||||
To extend a TaskTree with new a task type, implement a simple adapter class
|
||||
To extend a TaskTree with a new task type, implement a simple adapter class
|
||||
derived from the TaskAdapter class template. The following class is an
|
||||
adapter for a single shot timer, which may be considered as a new
|
||||
asynchronous task:
|
||||
@@ -2164,10 +2164,11 @@ void TaskNode::invokeEndHandler(bool success)
|
||||
task()->setInterval(1000);
|
||||
connect(task(), &QTimer::timeout, this, [this] { emit done(true); });
|
||||
}
|
||||
private:
|
||||
void start() final { task()->start(); }
|
||||
};
|
||||
|
||||
QTC_DECLARE_CUSTOM_TASK(TimeoutTask, TimeoutTaskAdapter);
|
||||
TASKING_DECLARE_TASK(TimeoutTask, TimeoutTaskAdapter);
|
||||
\endcode
|
||||
|
||||
You must derive the custom adapter from the TaskAdapter class template
|
||||
@@ -2178,12 +2179,12 @@ void TaskNode::invokeEndHandler(bool success)
|
||||
accessible through the TaskAdapter::task() method. The constructor
|
||||
of TimeoutTaskAdapter initially configures the QTimer object and connects
|
||||
to the QTimer::timeout signal. When the signal is triggered, TimeoutTaskAdapter
|
||||
emits the done(true) signal to inform the task tree that the task finished
|
||||
successfully. If it emits done(false), the task finished with an error.
|
||||
emits the \c done(true) signal to inform the task tree that the task finished
|
||||
successfully. If it emits \c done(false), the task finished with an error.
|
||||
The TaskAdapter::start() method starts the timer.
|
||||
|
||||
To make QTimer accessible inside TaskTree under the \e TimeoutTask name,
|
||||
register it with QTC_DECLARE_CUSTOM_TASK(TimeoutTask, TimeoutTaskAdapter).
|
||||
register it with TASKING_DECLARE_TASK(TimeoutTask, TimeoutTaskAdapter).
|
||||
TimeoutTask becomes a new task type inside Tasking namespace, using TimeoutTaskAdapter.
|
||||
|
||||
The new task type is now registered, and you can use it in TaskTree:
|
||||
|
@@ -218,14 +218,6 @@ OutputContainer setUnionMerge(InputContainer1 &&input1,
|
||||
template<class OutputContainer, class InputContainer1, class InputContainer2, class Merge>
|
||||
OutputContainer setUnionMerge(InputContainer1 &&input1, InputContainer2 &&input2, Merge merge);
|
||||
|
||||
/////////////////////////
|
||||
// usize / ssize
|
||||
/////////////////////////
|
||||
template<typename Container>
|
||||
std::make_unsigned_t<typename Container::size_type> usize(Container container);
|
||||
template<typename Container>
|
||||
std::make_signed_t<typename Container::size_type> ssize(Container container);
|
||||
|
||||
/////////////////////////
|
||||
// setUnion
|
||||
/////////////////////////
|
||||
@@ -1340,15 +1332,15 @@ OutputContainer setUnionMerge(InputContainer1 &&input1,
|
||||
}
|
||||
|
||||
template<typename Container>
|
||||
std::make_unsigned_t<typename Container::size_type> usize(Container container)
|
||||
auto usize(const Container &container)
|
||||
{
|
||||
return static_cast<std::make_unsigned_t<typename Container::size_type>>(container.size());
|
||||
return static_cast<std::make_unsigned_t<decltype(std::size(container))>>(std::size(container));
|
||||
}
|
||||
|
||||
template<typename Container>
|
||||
std::make_signed_t<typename Container::size_type> ssize(Container container)
|
||||
auto ssize(const Container &container)
|
||||
{
|
||||
return static_cast<std::make_signed_t<typename Container::size_type>>(container.size());
|
||||
return static_cast<std::make_signed_t<decltype(std::size(container))>>(std::size(container));
|
||||
}
|
||||
|
||||
template<typename Compare>
|
||||
|
@@ -1611,7 +1611,7 @@ CheckableDecider BoolAspect::askAgainCheckableDecider()
|
||||
{
|
||||
return CheckableDecider(
|
||||
[this] { return value(); },
|
||||
[this] { setValue(true); }
|
||||
[this] { setValue(false); }
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -21,12 +21,11 @@ ProcessStubCreator::ProcessStubCreator(TerminalInterface *interface)
|
||||
: m_interface(interface)
|
||||
{}
|
||||
|
||||
static const QLatin1String TerminalAppScript{R"(
|
||||
static const QLatin1String TerminalAppScriptAttached{R"(
|
||||
tell application "Terminal"
|
||||
activate
|
||||
set newTab to do script "echo Preparing terminal..."
|
||||
set newTab to do script "%1 && exit"
|
||||
set win to (the id of window 1 where its tab 1 = newTab) as text
|
||||
do script "%1 && exit" in newTab
|
||||
repeat until ((count of processes of newTab) = 0)
|
||||
delay 0.1
|
||||
end repeat
|
||||
@@ -34,14 +33,27 @@ static const QLatin1String TerminalAppScript{R"(
|
||||
end tell
|
||||
)"};
|
||||
|
||||
static const QLatin1String TerminalAppScriptDetached{R"(
|
||||
tell application "Terminal"
|
||||
activate
|
||||
do script "%1 && exit"
|
||||
end tell
|
||||
)"};
|
||||
|
||||
struct AppScript
|
||||
{
|
||||
QString attached;
|
||||
QString detached;
|
||||
};
|
||||
|
||||
expected_str<qint64> ProcessStubCreator::startStubProcess(const ProcessSetupData &setupData)
|
||||
{
|
||||
const TerminalCommand terminal = TerminalCommand::terminalEmulator();
|
||||
bool detached = setupData.m_terminalMode == TerminalMode::Detached;
|
||||
|
||||
if (HostOsInfo::isMacHost()) {
|
||||
static const QMap<QString, QString> terminalMap = {
|
||||
{"Terminal.app", TerminalAppScript},
|
||||
static const QMap<QString, AppScript> terminalMap = {
|
||||
{"Terminal.app", {TerminalAppScriptAttached, TerminalAppScriptDetached}},
|
||||
};
|
||||
|
||||
if (terminalMap.contains(terminal.command.toString())) {
|
||||
@@ -49,29 +61,36 @@ expected_str<qint64> ProcessStubCreator::startStubProcess(const ProcessSetupData
|
||||
= Utils::transform(setupData.m_environment.toStringList(), [](const QString &env) {
|
||||
return CommandLine{"export", {env}}.toUserOutput();
|
||||
}).join('\n');
|
||||
const QString shScript = QString("cd '%1'\n%2\nclear\n'%3' %4\n")
|
||||
|
||||
Process *process = new Process(detached ? nullptr : this);
|
||||
if (detached) {
|
||||
QObject::connect(process, &Process::done, process, &Process::deleteLater);
|
||||
}
|
||||
|
||||
QTemporaryFile shFile;
|
||||
shFile.setAutoRemove(false);
|
||||
QTC_ASSERT(shFile.open(),
|
||||
return make_unexpected(Tr::tr("Failed to open temporary script file.")));
|
||||
|
||||
const QString shScript = QString("cd '%1'\n%2\nclear\n'%3' %4\nrm '%5'\n")
|
||||
.arg(setupData.m_workingDirectory.nativePath())
|
||||
.arg(env)
|
||||
.arg(setupData.m_commandLine.executable().nativePath())
|
||||
.arg(setupData.m_commandLine.arguments());
|
||||
.arg(setupData.m_commandLine.arguments())
|
||||
.arg(shFile.fileName());
|
||||
|
||||
Process *process = new Process(detached ? nullptr : this);
|
||||
if (detached)
|
||||
QObject::connect(process, &Process::done, process, &Process::deleteLater);
|
||||
shFile.write(shScript.toUtf8());
|
||||
shFile.close();
|
||||
|
||||
QTemporaryFile *shFile = new QTemporaryFile(process);
|
||||
QTC_ASSERT(shFile->open(),
|
||||
return make_unexpected(Tr::tr("Failed to open temporary script file.")));
|
||||
shFile->write(shScript.toUtf8());
|
||||
shFile->close();
|
||||
|
||||
FilePath::fromUserInput(shFile->fileName())
|
||||
FilePath::fromUserInput(shFile.fileName())
|
||||
.setPermissions(QFile::ExeUser | QFile::ExeGroup | QFile::ExeOther | QFile::ReadUser
|
||||
| QFile::ReadGroup | QFile::ReadOther | QFile::WriteUser
|
||||
| QFile::WriteGroup | QFile::WriteOther);
|
||||
|
||||
const QString script
|
||||
= terminalMap.value(terminal.command.toString()).arg(shFile->fileName());
|
||||
const QString script = (detached
|
||||
? terminalMap.value(terminal.command.toString()).detached
|
||||
: terminalMap.value(terminal.command.toString()).attached)
|
||||
.arg(shFile.fileName());
|
||||
|
||||
process->setCommand({"osascript", {"-"}});
|
||||
process->setWriteData(script.toUtf8());
|
||||
|
@@ -34,7 +34,7 @@ public:
|
||||
private:
|
||||
CppEditor::SymbolFinder m_symbolFinder;
|
||||
QString m_className;
|
||||
const CPlusPlus::Snapshot &m_snapshot;
|
||||
CPlusPlus::Snapshot m_snapshot;
|
||||
QMap<QString, QtTestCodeLocationAndType> m_privSlots;
|
||||
bool m_valid = false;
|
||||
bool m_inherited = false;
|
||||
|
@@ -181,8 +181,9 @@ QList<Document::Ptr> QuickTestParser::scanDirectoryForQuickTestQmlFiles(const Fi
|
||||
|
||||
QList<Document::Ptr> foundDocs;
|
||||
|
||||
const Snapshot snapshot = QmlJSTools::Internal::ModelManager::instance()->snapshot();
|
||||
for (const FilePath &path : std::as_const(dirs)) {
|
||||
const QList<Document::Ptr> docs = m_qmlSnapshot.documentsInDirectory(path);
|
||||
const QList<Document::Ptr> docs = snapshot.documentsInDirectory(path);
|
||||
for (const Document::Ptr &doc : docs) {
|
||||
const FilePath fi = doc->fileName();
|
||||
//const QFileInfo fi(doc->fileName());
|
||||
|
@@ -92,7 +92,7 @@ void TestCodeParser::syncTestFrameworks(const QList<ITestParser *> &parsers)
|
||||
{
|
||||
if (m_parserState != Idle) {
|
||||
// there's a running parse
|
||||
m_postponedUpdateType = UpdateType::NoUpdate;
|
||||
m_postponedUpdateType = UpdateType::FullUpdate;
|
||||
m_postponedFiles.clear();
|
||||
ProgressManager::cancelTasks(Constants::TASK_PARSE);
|
||||
}
|
||||
|
@@ -4,7 +4,9 @@
|
||||
#include "testprojectsettings.h"
|
||||
|
||||
#include "autotestconstants.h"
|
||||
#include "testcodeparser.h"
|
||||
#include "testframeworkmanager.h"
|
||||
#include "testtreemodel.h"
|
||||
|
||||
#include <projectexplorer/project.h>
|
||||
#include <projectexplorer/projectmanager.h>
|
||||
@@ -49,7 +51,9 @@ void TestProjectSettings::activateFramework(const Id &id, bool activate)
|
||||
{
|
||||
ITestFramework *framework = TestFrameworkManager::frameworkForId(id);
|
||||
m_activeTestFrameworks[framework] = activate;
|
||||
if (!activate)
|
||||
if (TestTreeModel::instance()->parser()->isParsing())
|
||||
framework->rootNode()->markForRemoval(!activate);
|
||||
else if (!activate)
|
||||
framework->resetRootNode();
|
||||
}
|
||||
|
||||
|
@@ -214,11 +214,15 @@ bool TestTreeItem::modifyLineAndColumn(const TestParseResult *result)
|
||||
|
||||
void TestTreeItem::markForRemoval(bool mark)
|
||||
{
|
||||
if (type() == Root)
|
||||
m_status = mark ? ForcedRootRemoval : NewlyAdded;
|
||||
else
|
||||
m_status = mark ? MarkedForRemoval : Cleared;
|
||||
}
|
||||
|
||||
void TestTreeItem::markForRemovalRecursively(bool mark)
|
||||
{
|
||||
if (type() != Root)
|
||||
markForRemoval(mark);
|
||||
for (int row = 0, count = childCount(); row < count; ++row)
|
||||
childItem(row)->markForRemovalRecursively(mark);
|
||||
@@ -231,6 +235,7 @@ void TestTreeItem::markForRemovalRecursively(const QSet<FilePath> &filePaths)
|
||||
child->markForRemovalRecursively(filePaths);
|
||||
mark &= child->markedForRemoval();
|
||||
});
|
||||
if (type() != Root)
|
||||
markForRemoval(mark);
|
||||
}
|
||||
|
||||
|
@@ -167,6 +167,7 @@ private:
|
||||
{
|
||||
NewlyAdded,
|
||||
MarkedForRemoval,
|
||||
ForcedRootRemoval, // only valid on rootNode
|
||||
Cleared
|
||||
};
|
||||
|
||||
|
@@ -485,6 +485,10 @@ void TestTreeModel::markForRemoval(const QSet<Utils::FilePath> &filePaths)
|
||||
void TestTreeModel::sweep()
|
||||
{
|
||||
for (TestTreeItem *frameworkRoot : frameworkRootNodes()) {
|
||||
if (frameworkRoot->m_status == TestTreeItem::ForcedRootRemoval) {
|
||||
frameworkRoot->framework()->resetRootNode();
|
||||
continue;
|
||||
}
|
||||
sweepChildren(frameworkRoot);
|
||||
revalidateCheckState(frameworkRoot);
|
||||
}
|
||||
|
@@ -35,6 +35,7 @@ ClangFormatSettings::ClangFormatSettings()
|
||||
|
||||
usePredefinedStyle.setSettingsKey("usePredefinedStyle");
|
||||
usePredefinedStyle.setLabelText(Tr::tr("Use predefined style:"));
|
||||
usePredefinedStyle.setLabelPlacement(BoolAspect::LabelPlacement::AtCheckBoxWithoutDummyLabel);
|
||||
usePredefinedStyle.setDefaultValue(true);
|
||||
|
||||
predefinedStyle.setSettingsKey("predefinedStyle");
|
||||
|
@@ -59,26 +59,6 @@ void ClangEditorDocumentProcessor::semanticRehighlight()
|
||||
BuiltinEditorDocumentProcessor::semanticRehighlight();
|
||||
}
|
||||
|
||||
bool ClangEditorDocumentProcessor::hasProjectPart() const
|
||||
{
|
||||
return !m_projectPart.isNull();
|
||||
}
|
||||
|
||||
CppEditor::ProjectPart::ConstPtr ClangEditorDocumentProcessor::projectPart() const
|
||||
{
|
||||
return m_projectPart;
|
||||
}
|
||||
|
||||
void ClangEditorDocumentProcessor::clearProjectPart()
|
||||
{
|
||||
m_projectPart.clear();
|
||||
}
|
||||
|
||||
::Utils::Id ClangEditorDocumentProcessor::diagnosticConfigId() const
|
||||
{
|
||||
return m_diagnosticConfigId;
|
||||
}
|
||||
|
||||
void ClangEditorDocumentProcessor::setParserConfig(
|
||||
const CppEditor::BaseEditorDocumentParser::Configuration &config)
|
||||
{
|
||||
|
@@ -19,12 +19,6 @@ public:
|
||||
|
||||
void semanticRehighlight() override;
|
||||
|
||||
bool hasProjectPart() const;
|
||||
CppEditor::ProjectPart::ConstPtr projectPart() const;
|
||||
void clearProjectPart();
|
||||
|
||||
::Utils::Id diagnosticConfigId() const;
|
||||
|
||||
void setParserConfig(const CppEditor::BaseEditorDocumentParser::Configuration &config) override;
|
||||
CppEditor::BaseEditorDocumentParser::Configuration parserConfig();
|
||||
|
||||
@@ -37,8 +31,6 @@ signals:
|
||||
|
||||
private:
|
||||
TextEditor::TextDocument &m_document;
|
||||
CppEditor::ProjectPart::ConstPtr m_projectPart;
|
||||
::Utils::Id m_diagnosticConfigId;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
@@ -232,9 +232,7 @@ ClangModelManagerSupport::ClangModelManagerSupport()
|
||||
connect(modelManager, &CppModelManager::abstractEditorSupportRemoved,
|
||||
this, &ClangModelManagerSupport::onAbstractEditorSupportRemoved);
|
||||
connect(modelManager, &CppModelManager::projectPartsUpdated,
|
||||
this, &ClangModelManagerSupport::onProjectPartsUpdated);
|
||||
connect(modelManager, &CppModelManager::projectPartsRemoved,
|
||||
this, &ClangModelManagerSupport::onProjectPartsRemoved);
|
||||
this, &ClangModelManagerSupport::updateLanguageClient);
|
||||
connect(modelManager, &CppModelManager::fallbackProjectPartUpdated, this, [this] {
|
||||
if (sessionModeEnabled())
|
||||
return;
|
||||
@@ -861,37 +859,6 @@ void ClangModelManagerSupport::onTextMarkContextMenuRequested(TextEditor::TextEd
|
||||
}
|
||||
}
|
||||
|
||||
using ClangEditorDocumentProcessors = QVector<ClangEditorDocumentProcessor *>;
|
||||
static ClangEditorDocumentProcessors clangProcessors()
|
||||
{
|
||||
ClangEditorDocumentProcessors result;
|
||||
for (const CppEditorDocumentHandle *editorDocument : cppModelManager()->cppEditorDocuments())
|
||||
result.append(qobject_cast<ClangEditorDocumentProcessor *>(editorDocument->processor()));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::onProjectPartsUpdated(Project *project)
|
||||
{
|
||||
QTC_ASSERT(project, return);
|
||||
|
||||
updateLanguageClient(project);
|
||||
|
||||
QStringList projectPartIds;
|
||||
const ProjectInfo::ConstPtr projectInfo = cppModelManager()->projectInfo(project);
|
||||
QTC_ASSERT(projectInfo, return);
|
||||
|
||||
for (const ProjectPart::ConstPtr &projectPart : projectInfo->projectParts())
|
||||
projectPartIds.append(projectPart->id());
|
||||
onProjectPartsRemoved(projectPartIds);
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::onProjectPartsRemoved(const QStringList &projectPartIds)
|
||||
{
|
||||
if (!projectPartIds.isEmpty())
|
||||
reinitializeBackendDocuments(projectPartIds);
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::onClangdSettingsChanged()
|
||||
{
|
||||
const bool sessionMode = sessionModeEnabled();
|
||||
@@ -940,21 +907,4 @@ void ClangModelManagerSupport::onClangdSettingsChanged()
|
||||
}
|
||||
}
|
||||
|
||||
static ClangEditorDocumentProcessors
|
||||
clangProcessorsWithProjectParts(const QStringList &projectPartIds)
|
||||
{
|
||||
return ::Utils::filtered(clangProcessors(), [projectPartIds](ClangEditorDocumentProcessor *p) {
|
||||
return p->hasProjectPart() && projectPartIds.contains(p->projectPart()->id());
|
||||
});
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::reinitializeBackendDocuments(const QStringList &projectPartIds)
|
||||
{
|
||||
const ClangEditorDocumentProcessors processors = clangProcessorsWithProjectParts(projectPartIds);
|
||||
for (ClangEditorDocumentProcessor *processor : processors) {
|
||||
processor->clearProjectPart();
|
||||
processor->run();
|
||||
}
|
||||
}
|
||||
|
||||
} // ClangCodeModel::Internal
|
||||
|
@@ -81,12 +81,8 @@ private:
|
||||
int lineNumber,
|
||||
QMenu *menu);
|
||||
|
||||
void onProjectPartsUpdated(ProjectExplorer::Project *project);
|
||||
void onProjectPartsRemoved(const QStringList &projectPartIds);
|
||||
void onClangdSettingsChanged();
|
||||
|
||||
void reinitializeBackendDocuments(const QStringList &projectPartIds);
|
||||
|
||||
void connectTextDocumentToTranslationUnit(TextEditor::TextDocument *textDocument);
|
||||
void connectToWidgetsMarkContextMenuRequested(QWidget *editorWidget);
|
||||
|
||||
|
@@ -7,7 +7,6 @@
|
||||
#include "clangconstants.h"
|
||||
#include "clangdclient.h"
|
||||
#include "clangdiagnostictooltipwidget.h"
|
||||
#include "clangeditordocumentprocessor.h"
|
||||
#include "clangutils.h"
|
||||
|
||||
#include <coreplugin/icore.h>
|
||||
@@ -49,46 +48,15 @@ Project *projectForCurrentEditor()
|
||||
if (filePath.isEmpty())
|
||||
return nullptr;
|
||||
|
||||
if (auto processor = ClangEditorDocumentProcessor::get(filePath)) {
|
||||
if (ProjectPart::ConstPtr projectPart = processor->projectPart())
|
||||
if (ProjectPart::ConstPtr projectPart = projectPartForFile(filePath))
|
||||
return projectForProjectPart(*projectPart);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
enum class DiagnosticType { Clang, Tidy, Clazy };
|
||||
DiagnosticType diagnosticType(const ClangDiagnostic &diagnostic)
|
||||
|
||||
{
|
||||
if (!diagnostic.disableOption.isEmpty())
|
||||
return DiagnosticType::Clang;
|
||||
|
||||
const DiagnosticTextInfo textInfo(diagnostic.text);
|
||||
if (DiagnosticTextInfo::isClazyOption(textInfo.option()))
|
||||
return DiagnosticType::Clazy;
|
||||
return DiagnosticType::Tidy;
|
||||
}
|
||||
|
||||
void disableDiagnosticInConfig(ClangDiagnosticConfig &config, const ClangDiagnostic &diagnostic)
|
||||
{
|
||||
switch (diagnosticType(diagnostic)) {
|
||||
case DiagnosticType::Clang:
|
||||
config.setClangOptions(config.clangOptions() + QStringList(diagnostic.disableOption));
|
||||
break;
|
||||
case DiagnosticType::Tidy:
|
||||
config.setChecks(ClangToolType::Tidy, config.checks(ClangToolType::Tidy) + QString(",-")
|
||||
+ DiagnosticTextInfo(diagnostic.text).option());
|
||||
break;
|
||||
case DiagnosticType::Clazy: {
|
||||
const DiagnosticTextInfo textInfo(diagnostic.text);
|
||||
const QString checkName = DiagnosticTextInfo::clazyCheckName(textInfo.option());
|
||||
QStringList newChecks = config.checks(ClangToolType::Clazy).split(',');
|
||||
newChecks.removeOne(checkName);
|
||||
config.setChecks(ClangToolType::Clazy, newChecks.join(','));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ClangDiagnosticConfig diagnosticConfig()
|
||||
@@ -210,8 +178,10 @@ ClangDiagnostic convertDiagnostic(const ClangdDiagnostic &src,
|
||||
target.severity = convertSeverity(*src.severity());
|
||||
const Diagnostic::Code code = src.code().value_or(Diagnostic::Code());
|
||||
const QString * const codeString = std::get_if<QString>(&code);
|
||||
if (codeString && codeString->startsWith("-W"))
|
||||
if (codeString && codeString->startsWith("-W")) {
|
||||
target.enableOption = *codeString;
|
||||
target.disableOption = "-Wno-" + codeString->mid(2);
|
||||
}
|
||||
for (const CodeAction &codeAction : src.codeActions().value_or(QList<CodeAction>())) {
|
||||
const std::optional<WorkspaceEdit> edit = codeAction.edit();
|
||||
if (!edit)
|
||||
@@ -304,8 +274,9 @@ ClangdTextMark::ClangdTextMark(TextEditor::TextDocument *doc,
|
||||
actions << action;
|
||||
|
||||
// Remove diagnostic warning action
|
||||
Project *project = projectForCurrentEditor();
|
||||
if (project && isDiagnosticConfigChangable(project)) {
|
||||
if (!diag.disableOption.isEmpty()) {
|
||||
if (Project * const project = projectForCurrentEditor();
|
||||
project && isDiagnosticConfigChangable(project)) {
|
||||
action = new QAction();
|
||||
action->setIcon(Icons::BROKEN.icon());
|
||||
action->setToolTip(Tr::tr("Disable Diagnostic in Current Project"));
|
||||
@@ -314,6 +285,7 @@ ClangdTextMark::ClangdTextMark(TextEditor::TextDocument *doc,
|
||||
});
|
||||
actions << action;
|
||||
}
|
||||
}
|
||||
return actions;
|
||||
});
|
||||
}
|
||||
|
@@ -16,6 +16,8 @@
|
||||
|
||||
#include <ios/iosconstants.h>
|
||||
|
||||
#include <webassembly/webassemblyconstants.h>
|
||||
|
||||
#include <coreplugin/find/itemviewfind.h>
|
||||
#include <projectexplorer/buildsteplist.h>
|
||||
#include <projectexplorer/devicesupport/idevice.h>
|
||||
@@ -185,7 +187,8 @@ static bool supportsStageForInstallation(const Kit *kit)
|
||||
QTC_ASSERT(buildDevice, return false);
|
||||
return runDevice->id() != buildDevice->id()
|
||||
&& runDevice->type() != Android::Constants::ANDROID_DEVICE_TYPE
|
||||
&& runDevice->type() != Ios::Constants::IOS_DEVICE_TYPE;
|
||||
&& runDevice->type() != Ios::Constants::IOS_DEVICE_TYPE
|
||||
&& runDevice->type() != WebAssembly::Constants::WEBASSEMBLY_DEVICE_TYPE;
|
||||
}
|
||||
|
||||
CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl, Id id) :
|
||||
@@ -242,7 +245,7 @@ CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl, Id id) :
|
||||
env.set("NINJA_STATUS", ninjaProgressString + "%o/sec] ");
|
||||
env.modify(m_userEnvironmentChanges);
|
||||
|
||||
if (m_useStaging)
|
||||
if (m_useStaging && m_useStaging->value())
|
||||
env.set("DESTDIR", currentStagingDir());
|
||||
});
|
||||
|
||||
|
@@ -60,10 +60,12 @@ public:
|
||||
autoFormatOnlyCurrentProject.setSettingsKey("autoFormatOnlyCurrentProject");
|
||||
autoFormatOnlyCurrentProject.setDefaultValue(true);
|
||||
autoFormatOnlyCurrentProject.setLabelText(Tr::tr("Restrict to files contained in the current project"));
|
||||
autoFormatOnlyCurrentProject.setLabelPlacement(BoolAspect::LabelPlacement::AtCheckBox);
|
||||
|
||||
autoFormatMime.setSettingsKey("autoFormatMime");
|
||||
autoFormatMime.setDefaultValue("text/x-cmake");
|
||||
autoFormatMime.setLabelText(Tr::tr("Restrict to MIME types:"));
|
||||
autoFormatMime.setDisplayStyle(StringAspect::LineEditDisplay);
|
||||
|
||||
setLayouter([this] {
|
||||
using namespace Layouting;
|
||||
@@ -73,9 +75,12 @@ public:
|
||||
Group {
|
||||
title(Tr::tr("Automatic Formatting on File Save")),
|
||||
autoFormatOnSave.groupChecker(),
|
||||
Form {
|
||||
autoFormatMime, br,
|
||||
Span(2, autoFormatOnlyCurrentProject)
|
||||
// Conceptually, that's a Form, but this would look odd:
|
||||
// xxxxxx [____]
|
||||
// [x] xxxxxxxxxxxxxx
|
||||
Column {
|
||||
Row { autoFormatMime },
|
||||
autoFormatOnlyCurrentProject
|
||||
}
|
||||
},
|
||||
st
|
||||
|
@@ -379,8 +379,10 @@ static QMakeAndCMakePrefixPath qtInfoFromCMakeCache(const CMakeConfig &config,
|
||||
args.push_back(qtcQMakeProbeDir.path().path());
|
||||
args.push_back("-B");
|
||||
args.push_back(qtcQMakeProbeDir.filePath("build").path());
|
||||
if (!cmakeGenerator.isEmpty()) {
|
||||
args.push_back("-G");
|
||||
args.push_back(cmakeGenerator);
|
||||
}
|
||||
if (!cmakeGeneratorPlatform.isEmpty()) {
|
||||
args.push_back("-A");
|
||||
args.push_back(cmakeGeneratorPlatform);
|
||||
@@ -708,8 +710,9 @@ QList<void *> CMakeProjectImporter::examineDirectory(const FilePath &importPath,
|
||||
data->sysroot = cache.filePathValueOf("CMAKE_SYSROOT");
|
||||
|
||||
CMakeConfig config;
|
||||
if (cache.valueOf("CMAKE_C_COMPILER").isEmpty()
|
||||
&& cache.valueOf("CMAKE_CXX_COMPILER").isEmpty()) {
|
||||
const bool noCompilers = cache.valueOf("CMAKE_C_COMPILER").isEmpty()
|
||||
&& cache.valueOf("CMAKE_CXX_COMPILER").isEmpty();
|
||||
if (noCompilers || !configurePreset.generator) {
|
||||
QApplication::setOverrideCursor(Qt::WaitCursor);
|
||||
config = configurationFromPresetProbe(importPath, projectDirectory(), configurePreset);
|
||||
QApplication::restoreOverrideCursor();
|
||||
@@ -751,6 +754,8 @@ QList<void *> CMakeProjectImporter::examineDirectory(const FilePath &importPath,
|
||||
// Update QT_QMAKE_EXECUTABLE and CMAKE_C|XX_COMPILER config values
|
||||
updateConfigWithDirectoryData(config, data);
|
||||
|
||||
data->hasQmlDebugging = CMakeBuildConfiguration::hasQmlDebugging(config);
|
||||
|
||||
QByteArrayList buildConfigurationTypes = {cache.valueOf("CMAKE_BUILD_TYPE")};
|
||||
if (buildConfigurationTypes.front().isEmpty()) {
|
||||
buildConfigurationTypes.clear();
|
||||
@@ -771,6 +776,13 @@ QList<void *> CMakeProjectImporter::examineDirectory(const FilePath &importPath,
|
||||
DirectoryData *newData = new DirectoryData(*data);
|
||||
newData->cmakeBuildType = buildType;
|
||||
|
||||
// Handle QML Debugging
|
||||
auto type = CMakeBuildConfigurationFactory::buildTypeFromByteArray(
|
||||
newData->cmakeBuildType);
|
||||
if (type == CMakeBuildConfigurationFactory::BuildTypeDebug
|
||||
|| type == CMakeBuildConfigurationFactory::BuildTypeProfile)
|
||||
newData->hasQmlDebugging = true;
|
||||
|
||||
result.emplace_back(newData);
|
||||
}
|
||||
|
||||
|
@@ -246,6 +246,8 @@ void CMakeManager::reloadCMakePresets()
|
||||
{QMessageBox::Yes, Tr::tr("Reload")},
|
||||
});
|
||||
|
||||
settings->writeSettings(Core::ICore::settings());
|
||||
|
||||
if (clickedButton == QMessageBox::Cancel)
|
||||
return;
|
||||
|
||||
|
@@ -296,6 +296,15 @@ bool parseConfigurePresets(const QJsonValue &jsonValue,
|
||||
if (strategy == "external")
|
||||
preset.architecture->strategy
|
||||
= PresetsDetails::ValueStrategyPair::Strategy::external;
|
||||
} else {
|
||||
preset.architecture->strategy = PresetsDetails::ValueStrategyPair::Strategy::set;
|
||||
}
|
||||
} else {
|
||||
const QString value = object.value("architecture").toString();
|
||||
if (!value.isEmpty()) {
|
||||
preset.architecture = PresetsDetails::ValueStrategyPair();
|
||||
preset.architecture->value = value;
|
||||
preset.architecture->strategy = PresetsDetails::ValueStrategyPair::Strategy::set;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -311,6 +320,15 @@ bool parseConfigurePresets(const QJsonValue &jsonValue,
|
||||
preset.toolset->strategy = PresetsDetails::ValueStrategyPair::Strategy::set;
|
||||
if (strategy == "external")
|
||||
preset.toolset->strategy = PresetsDetails::ValueStrategyPair::Strategy::external;
|
||||
} else {
|
||||
preset.toolset->strategy = PresetsDetails::ValueStrategyPair::Strategy::set;
|
||||
}
|
||||
} else {
|
||||
const QString value = object.value("toolset").toString();
|
||||
if (!value.isEmpty()) {
|
||||
preset.toolset = PresetsDetails::ValueStrategyPair();
|
||||
preset.toolset->value = value;
|
||||
preset.toolset->strategy = PresetsDetails::ValueStrategyPair::Strategy::set;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -74,7 +74,7 @@ void CopilotPlugin::initialize()
|
||||
|
||||
connect(requestAction, &QAction::triggered, this, [this] {
|
||||
if (auto editor = TextEditor::TextEditorWidget::currentTextEditorWidget()) {
|
||||
if (m_client->reachable())
|
||||
if (m_client && m_client->reachable())
|
||||
m_client->requestCompletions(editor);
|
||||
}
|
||||
});
|
||||
|
@@ -143,6 +143,7 @@ const char G_HELP[] = "QtCreator.Group.Help";
|
||||
// File menu groups
|
||||
const char G_FILE_NEW[] = "QtCreator.Group.File.New";
|
||||
const char G_FILE_OPEN[] = "QtCreator.Group.File.Open";
|
||||
const char G_FILE_SESSION[] = "QtCreator.Group.File.Recent";
|
||||
const char G_FILE_PROJECT[] = "QtCreator.Group.File.Project";
|
||||
const char G_FILE_SAVE[] = "QtCreator.Group.File.Save";
|
||||
const char G_FILE_EXPORT[] = "QtCreator.Group.File.Export";
|
||||
|
@@ -36,7 +36,7 @@
|
||||
A common way to present the search results to the user, is to use the
|
||||
shared \uicontrol{Search Results} pane.
|
||||
|
||||
\image qtcreator-searchresults.png
|
||||
\image qtcreator-search-results.webp {Search Results view}
|
||||
|
||||
If you want to implement a find filter that is doing a file based text
|
||||
search, you should use \l Core::BaseTextFind, which already implements all
|
||||
|
@@ -319,7 +319,7 @@ using namespace Core::Internal;
|
||||
\brief The SearchResultWindow class is the implementation of a commonly
|
||||
shared \uicontrol{Search Results} output pane.
|
||||
|
||||
\image qtcreator-searchresults.png
|
||||
\image qtcreator-search-results.webp {Search Results view}
|
||||
|
||||
Whenever you want to show the user a list of search results, or want
|
||||
to present UI for a global search and replace, use the single instance
|
||||
|
@@ -475,6 +475,7 @@ void MainWindow::registerDefaultContainers()
|
||||
filemenu->menu()->setTitle(Tr::tr("&File"));
|
||||
filemenu->appendGroup(Constants::G_FILE_NEW);
|
||||
filemenu->appendGroup(Constants::G_FILE_OPEN);
|
||||
filemenu->appendGroup(Constants::G_FILE_SESSION);
|
||||
filemenu->appendGroup(Constants::G_FILE_PROJECT);
|
||||
filemenu->appendGroup(Constants::G_FILE_SAVE);
|
||||
filemenu->appendGroup(Constants::G_FILE_EXPORT);
|
||||
|
@@ -130,8 +130,8 @@ void ProgressView::mousePressEvent(QMouseEvent *ev)
|
||||
static QPoint boundedInParent(QWidget *widget, const QPoint &pos, QWidget *parent)
|
||||
{
|
||||
QPoint bounded = pos;
|
||||
bounded.setX(qBound(widget->rect().width(), bounded.x(), parent->width()));
|
||||
bounded.setY(qBound(widget->rect().height(), bounded.y(), parent->height()));
|
||||
bounded.setX(std::max(widget->rect().width(), std::min(bounded.x(), parent->width())));
|
||||
bounded.setY(std::max(widget->rect().height(), std::min(bounded.y(), parent->height())));
|
||||
return bounded;
|
||||
}
|
||||
|
||||
|
@@ -100,7 +100,7 @@ SessionManager::SessionManager()
|
||||
ActionContainer *msession = ActionManager::createMenu(M_SESSION);
|
||||
msession->menu()->setTitle(PE::Tr::tr("S&essions"));
|
||||
msession->setOnAllDisabledBehavior(ActionContainer::Show);
|
||||
mfile->addMenu(msession, Core::Constants::G_FILE_OPEN);
|
||||
mfile->addMenu(msession, Core::Constants::G_FILE_SESSION);
|
||||
sb_d->m_sessionMenu = msession->menu();
|
||||
connect(mfile->menu(), &QMenu::aboutToShow, this, [] { sb_d->updateSessionMenu(); });
|
||||
|
||||
@@ -609,6 +609,7 @@ bool SessionManager::loadSession(const QString &session, bool initial)
|
||||
return true;
|
||||
}
|
||||
} else if (loadImplicitDefault) {
|
||||
emit SessionManager::instance()->sessionLoaded(DEFAULT_SESSION);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -492,6 +492,7 @@ void ClangdProjectSettings::setDiagnosticConfigId(Utils::Id configId)
|
||||
{
|
||||
m_customSettings.diagnosticConfigId = configId;
|
||||
saveSettings();
|
||||
emit ClangdSettings::instance().changed();
|
||||
}
|
||||
|
||||
void ClangdProjectSettings::blockIndexing()
|
||||
|
@@ -56,7 +56,8 @@ void CppHighlighter::highlightBlock(const QString &text)
|
||||
const Tokens tokens = tokenize(text, initialLexerState);
|
||||
lexerState = tokenize.state(); // refresh lexer state
|
||||
|
||||
initialLexerState &= ~0x80; // discard newline expected bit
|
||||
static const auto lexerStateWithoutNewLineExpectedBit = [](int state) { return state & ~0x80; };
|
||||
initialLexerState = lexerStateWithoutNewLineExpectedBit(initialLexerState);
|
||||
int foldingIndent = initialBraceDepth;
|
||||
if (TextBlockUserData *userData = TextDocumentLayout::textUserData(currentBlock())) {
|
||||
userData->setFoldingIndent(0);
|
||||
@@ -220,7 +221,8 @@ void CppHighlighter::highlightBlock(const QString &text)
|
||||
if (text.length() > lastTokenEnd)
|
||||
formatSpaces(text, lastTokenEnd, text.length() - lastTokenEnd);
|
||||
|
||||
if (!initialLexerState && lexerState && !tokens.isEmpty()) {
|
||||
if (!initialLexerState && lexerStateWithoutNewLineExpectedBit(lexerState)
|
||||
&& !tokens.isEmpty()) {
|
||||
const Token &lastToken = tokens.last();
|
||||
if (lastToken.is(T_COMMENT) || lastToken.is(T_DOXY_COMMENT)) {
|
||||
insertParen({Parenthesis::Opened, QLatin1Char('+'), lastToken.utf16charsBegin()});
|
||||
@@ -636,6 +638,30 @@ void CppHighlighterTest::test()
|
||||
QCOMPARE(actualFormat, expectedFormat);
|
||||
}
|
||||
}
|
||||
|
||||
void CppHighlighterTest::testParentheses_data()
|
||||
{
|
||||
QTest::addColumn<int>("line");
|
||||
QTest::addColumn<int>("expectedParenCount");
|
||||
|
||||
QTest::newRow("function head") << 41 << 2;
|
||||
QTest::newRow("function opening brace") << 42 << 1;
|
||||
QTest::newRow("loop head") << 43 << 1;
|
||||
QTest::newRow("comment") << 44 << 0;
|
||||
QTest::newRow("loop end") << 45 << 3;
|
||||
QTest::newRow("function closing brace") << 46 << 1;
|
||||
}
|
||||
|
||||
void CppHighlighterTest::testParentheses()
|
||||
{
|
||||
QFETCH(int, line);
|
||||
QFETCH(int, expectedParenCount);
|
||||
|
||||
QTextBlock block = m_doc.findBlockByNumber(line - 1);
|
||||
QVERIFY(block.isValid());
|
||||
QCOMPARE(TextDocumentLayout::parentheses(block).count(), expectedParenCount);
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
#endif // WITH_TESTS
|
||||
|
||||
|
@@ -52,6 +52,8 @@ public:
|
||||
private slots:
|
||||
void test_data();
|
||||
void test();
|
||||
void testParentheses_data();
|
||||
void testParentheses();
|
||||
|
||||
private:
|
||||
QTextDocument m_doc;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user