forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/11.0'
Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs Change-Id: If3ada34dcc764fa1d0cce04fd343fb5a02c2fbaa
This commit is contained in:
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.
|
||||
*/
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
\page creator-editor-functions.html
|
||||
\previouspage creator-coding.html
|
||||
\if defined(qtdesignstudio)
|
||||
\nextpage creator-output-panes.html
|
||||
\nextpage creator-highlighting.html
|
||||
\else
|
||||
\nextpage creator-coding-navigating.html
|
||||
\endif
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -92,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
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/*!
|
||||
\page creator-highlighting.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-output-panes.html
|
||||
\previouspage creator-editor-functions.html
|
||||
\else
|
||||
\previouspage creator-coding-navigating.html
|
||||
\endif
|
||||
@@ -55,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.
|
||||
|
||||
|
||||
@@ -32,6 +32,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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}
|
||||
@@ -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}.
|
||||
*/
|
||||
@@ -125,38 +129,6 @@
|
||||
\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-run-from-cli.html
|
||||
\previouspage creator-how-tos.html
|
||||
@@ -399,11 +371,16 @@
|
||||
|
||||
\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
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -8,8 +8,6 @@
|
||||
|
||||
\title Tutorials
|
||||
|
||||
\image front-help.png
|
||||
|
||||
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.
|
||||
|
||||
@@ -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,9 +17,6 @@
|
||||
\list
|
||||
\li \l{IDE Overview}
|
||||
\li \l{User Interface}
|
||||
\list
|
||||
\li \l{Viewing Output}
|
||||
\endlist
|
||||
\li \l{Configuring Qt Creator}
|
||||
\li \l{Building and Running an Example}
|
||||
\li \l{Tutorials}
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
\nextpage creator-open-documents-view.html
|
||||
\else
|
||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||
\nextpage creator-output-panes.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-reference-sidebar-views
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
// 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
|
||||
\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.
|
||||
|
||||
\section1 Output views
|
||||
|
||||
The following views show output:
|
||||
|
||||
\if defined(qtcreator)
|
||||
\annotatedlist creator-reference-output-views
|
||||
\else
|
||||
\annotatedlist studio-reference-output-views
|
||||
\endif
|
||||
*/
|
||||
@@ -4,7 +4,6 @@
|
||||
/*!
|
||||
\page creator-outline-view.html
|
||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||
\nextpage creator-output-panes.html
|
||||
\ingroup creator-reference-sidebar-views
|
||||
|
||||
\title Outline
|
||||
@@ -33,7 +32,6 @@
|
||||
/*!
|
||||
\page creator-class-view.html
|
||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||
\nextpage creator-output-panes.html
|
||||
\ingroup creator-reference-sidebar-views
|
||||
|
||||
\title Class View
|
||||
@@ -54,7 +52,6 @@
|
||||
/*!
|
||||
\page creator-call-hierarchy-view.html
|
||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||
\nextpage creator-output-panes.html
|
||||
\ingroup creator-reference-sidebar-views
|
||||
|
||||
\title Call Hierarchy
|
||||
@@ -77,7 +74,6 @@
|
||||
/*!
|
||||
\page creator-type-hierarchy.html
|
||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||
\nextpage creator-output-panes.html
|
||||
\ingroup creator-reference-sidebar-views
|
||||
|
||||
\title Type Hierarchy
|
||||
@@ -110,7 +106,6 @@
|
||||
/*!
|
||||
\page creator-include-hierarchy-view.html
|
||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||
\nextpage creator-output-panes.html
|
||||
\ingroup creator-reference-sidebar-views
|
||||
|
||||
\title Include Hierarchy
|
||||
|
||||
@@ -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-how-to-view-output.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-how-to-view-output.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}
|
||||
*/
|
||||
@@ -9,7 +9,6 @@
|
||||
\nextpage studio-content-library.html
|
||||
\else
|
||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||
\nextpage creator-output-panes.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-reference-sidebar-views
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
\nextpage creator-file-system-view.html
|
||||
\else
|
||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||
\nextpage creator-output-panes.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-reference-sidebar-views
|
||||
|
||||
@@ -0,0 +1,257 @@
|
||||
// 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
|
||||
\previouspage creator-how-to-view-output.html
|
||||
|
||||
\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
|
||||
\previouspage creator-how-to-view-output.html
|
||||
|
||||
\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
|
||||
\previouspage creator-how-to-view-output.html
|
||||
|
||||
\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
|
||||
\previouspage creator-how-to-view-output.html
|
||||
|
||||
\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
|
||||
@@ -127,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
|
||||
@@ -140,465 +135,3 @@
|
||||
|
||||
\endif
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page creator-output-panes.html
|
||||
\if defined(qtdesignstudio)
|
||||
\previouspage creator-editor-functions.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
|
||||
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -200,7 +200,6 @@
|
||||
\list
|
||||
\li \l{Writing Code}
|
||||
\list
|
||||
\li \l{Viewing Output}
|
||||
\li \l{Semantic Highlighting}
|
||||
\li \l{Checking Code Syntax}
|
||||
\li \l{Completing Code}
|
||||
|
||||
@@ -36253,7 +36253,7 @@ Weitere Erklärungen sind möglicherweise in "Ausgabe der Anwendung" z
|
||||
</message>
|
||||
<message>
|
||||
<source>The build device failed to prepare for the build of %1 (%2).</source>
|
||||
<translation>Das Build-Gerät konnte nicht für das Erstellen von %1 (%2) vorbereitet werden.</translation>
|
||||
<translation>Das Gerät konnte nicht für das Erstellen von %1 (%2) vorbereitet werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compile</source>
|
||||
@@ -36395,7 +36395,7 @@ Weitere Erklärungen sind möglicherweise in "Ausgabe der Anwendung" z
|
||||
</message>
|
||||
<message>
|
||||
<source>Locates files of all open projects. Append "+<number>" or ":<number>" to jump to the given line number. Append another "+<number>" or ":<number>" to jump to the column number as well.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Findet Dateien in allen geöffneten Projekten. Fügen Sie "+<Zahl>" oder ":<Zahl>" an, um zur angegebenen Zeile zu springen. Fügen Sie noch einmal "+<Zahl>" oder ":<Zahl>" an, um auch zur angegebenen Spalte zu springen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All Projects</source>
|
||||
@@ -36495,7 +36495,7 @@ Außer: %2
|
||||
</message>
|
||||
<message>
|
||||
<source>Locates files from the current document's project. Append "+<number>" or ":<number>" to jump to the given line number. Append another "+<number>" or ":<number>" to jump to the column number as well.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Findet Dateien im Projekt des aktuellen Dokuments. Fügen Sie "+<Zahl>" oder ":<Zahl>" an, um zur angegebenen Zeile zu springen. Fügen Sie noch einmal "+<Zahl>" oder ":<Zahl>" an, um auch zur angegebenen Spalte zu springen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project "%1"</source>
|
||||
@@ -37215,23 +37215,23 @@ Bitte versuchen Sie es erneut.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Locates files from all project directories. Append "+<number>" or ":<number>" to jump to the given line number. Append another "+<number>" or ":<number>" to jump to the column number as well.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Findet Dateien in allen Projektverzeichnissen. Fügen Sie "+<Zahl>" oder ":<Zahl>" an, um zur angegebenen Zeile zu springen. Fügen Sie noch einmal "+<Zahl>" oder ":<Zahl>" an, um auch zur angegebenen Spalte zu springen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run Run Configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ausführungskonfiguration ausführen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Runs a run configuration of the active project.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Führt eine Ausführungskonfiguration des aktiven Projekts aus.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Switch Run Configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ausführungskonfiguration auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Switches the active run configuration of the active project.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Wechselt die aktive Ausführungskonfiguration des aktiven Projekts.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run %1</source>
|
||||
@@ -37869,7 +37869,7 @@ The name of the build configuration created by default for a generic project.</e
|
||||
</message>
|
||||
<message>
|
||||
<source>Environment:</source>
|
||||
<translation type="unfinished">Umgebung:</translation>
|
||||
<translation>Umgebung:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No executable specified.</source>
|
||||
@@ -38167,12 +38167,12 @@ Aktivieren Sie dies, wenn Sie 32bit-x86-Binärdateien erstellen wollen, ohne ein
|
||||
</message>
|
||||
<message>
|
||||
<source>&Start Wizard to Add Device...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Gerät mit &Assistent hinzufügen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add %1</source>
|
||||
<extracomment>Add <Device Type Name></extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>%1 hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Yes (id is "%1")</source>
|
||||
@@ -38475,7 +38475,7 @@ Aktivieren Sie dies, wenn Sie 32bit-x86-Binärdateien erstellen wollen, ohne ein
|
||||
</message>
|
||||
<message>
|
||||
<source>Show in Application Output when running</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Beim Start in "Ausgabe der Anwendung" anzeigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No device configured.</source>
|
||||
@@ -38756,7 +38756,7 @@ Bitte schließen Sie alle laufenden Instanzen Ihrer Anwendung vor dem Erstellen.
|
||||
</message>
|
||||
<message>
|
||||
<source>Ignoring invalid task (no text).</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ignoriere ungültige Aufgabe (kein Text).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File Error</source>
|
||||
@@ -39036,47 +39036,57 @@ Bitte schließen Sie alle laufenden Instanzen Ihrer Anwendung vor dem Erstellen.
|
||||
<source>Creates a widget-based Qt application that contains a Qt Designer-based main window and C++ source and header files to implement the application logic.
|
||||
|
||||
Preselects a desktop Qt for building the application if available.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Erstellt eine Widget-basierte Qt-Anwendung mit einem Qt Designer-basierten Hauptfenster und C++-Quell- und Headerdateien zur Implementierung der Applikationslogik.
|
||||
|
||||
Wählt eine für Desktop-Entwicklung geeignete Qt-Version aus, sofern verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a C++ library. You can create:<ul><li>a shared C++ library for use with <tt>QPluginLoader</tt> and runtime (Plugins)</li><li>a shared or static C++ library for use with another project at linktime</li></ul></source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Erstellt eine C++-Bibliothek. Sie können folgendes erstellen:<ul><li>eine dynamisch gebundene C++-Bibliothek zur Verwendung mit <tt>QPluginLoader</tt> zur Laufzeit (Plugins)</li><li>eine statisch oder dynamisch gebundene C++-Bibliothek zur Verwendung in einem anderen Projekt zur Linkzeit</li></ul></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a project containing a single main.cpp file with a stub implementation and no graphical UI.
|
||||
|
||||
Preselects a desktop Qt for building the application if available.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Erstellt ein Projekt, das aus einer main.cpp-Datei mit einem Implementationsrumpf ohne grafische Benutzeroberfläche besteht.
|
||||
|
||||
Wählt eine für Desktop-Entwicklung geeignete Qt-Version aus, sofern verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PySide 2</source>
|
||||
<translation type="unfinished">PySide 2</translation>
|
||||
<translation>PySide 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Define Python Interpreter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Python-Interpreter festlegen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a Qt Quick application that contains an empty window.
|
||||
|
||||
Use this "compat" version if you want to use other build systems than CMake or Qt versions lower than 6.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Erstellt eine Qt Quick-Anwendung, die ein leeres Fenster enthält.
|
||||
|
||||
Nutzen Sie diese "Kompatibilitätsversion", falls Sie andere Buildsysteme als CMake oder frühere Qt-Versionen als Qt 6 benutzen wollen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Qt Quick Application (compat)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Qt Quick-Anwendung (compat)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a Qt Quick UI project for previewing and prototyping designs.
|
||||
|
||||
To develop a full application, create a Qt Quick Application project instead.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Erstellt ein Qt Quick UI-Projekt für Vorschauen und Design-Prototypen.
|
||||
|
||||
Für vollständige Anwendungen erstellen Sie stattdessen eine Qt Quick-Anwendung.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a Qt Quick application that can have both QML and C++ code. You can build the application and deploy it to desktop, embedded, and mobile target platforms.
|
||||
|
||||
You can select an option to create a project that you can open in Qt Design Studio, which has a visual editor for Qt Quick UIs.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Erstellt eine Qt Quick-Anwendung, die aus QML- und C++-Code bestehen kann. Unterstützt das Erstellen und Deployment der Anwendung für Desktop, Embedded und Mobile Zielplattformen.
|
||||
|
||||
Wahlweise können Sie ein Projekt erstellen, das in Qt Design Studio geöffnet werden kann, welches einen visuellen Editor für Qt Quick-Benutzeroberflächen enthält.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Qt Quick Application</source>
|
||||
@@ -39088,11 +39098,11 @@ You can select an option to create a project that you can open in Qt Design Stud
|
||||
</message>
|
||||
<message>
|
||||
<source>Boost Test (header only)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Boost Test (nur Header)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Boost Test (shared libraries)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Boost Test (dynamisch gebundene Bibliotheken)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Test framework:</source>
|
||||
@@ -39108,7 +39118,7 @@ You can select an option to create a project that you can open in Qt Design Stud
|
||||
</message>
|
||||
<message>
|
||||
<source>Boost install directory (optional):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Boost-Installationsverzeichnis (optional):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a new unit test project. Unit tests allow you to verify that the code is fit for use and that there are no regressions.</source>
|
||||
@@ -39136,11 +39146,11 @@ You can select an option to create a project that you can open in Qt Design Stud
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a markdown file.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Erzeugt eine Markdown-Datei.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Markdown File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Markdown-Datei</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a Java file with boilerplate code.</source>
|
||||
@@ -39198,27 +39208,29 @@ You can select an option to create a project that you can open in Qt Design Stud
|
||||
<source>You must tell Qt Creator which test framework is used inside the project.
|
||||
|
||||
You should not mix multiple test frameworks in a project.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Sie müssen Qt Creator mitteilen, welches Test-Framework im Projekt benutzt wird.
|
||||
|
||||
Sie sollten nicht mehrere Test-Frameworks im selben Projekt mischen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.' + Util.preferredSuffix('text/x-c++src')}</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>%{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.' + Util.preferredSuffix('text/x-c++src')}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.qml'}</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>%{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.qml'}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Test Information</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Testinformation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a source file that you can add to an existing test project.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Erstellt eine Quelldatei, die zu einem existierenden Testprojekt hinzugefügt werden kann.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Test Case</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Testfall</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates an empty Nim script file using UTF-8 charset.</source>
|
||||
@@ -39836,11 +39848,11 @@ You should not mix multiple test frameworks in a project.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Qt 6.4</source>
|
||||
<translation type="unfinished">Qt 6.4</translation>
|
||||
<translation>Qt 6.4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Qt 6.5</source>
|
||||
<translation type="unfinished">Qt 6.5</translation>
|
||||
<translation>Qt 6.5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The minimum version of Qt you want to build the application for.</source>
|
||||
@@ -39890,7 +39902,7 @@ You should not mix multiple test frameworks in a project.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a CMake-based test project where you can enter a code snippet to compile and check it.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Erstellt ein CMake-basiertes Testprojekt, für welches Sie einen Code-Ausschnitt angegeben können, der erstellt und geprüft wird.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Code Snippet</source>
|
||||
@@ -41019,7 +41031,7 @@ Was soll %1 tun?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the path to the executable</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Geben Sie den Pfad zur ausführbaren Datei ein</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executable:</source>
|
||||
@@ -41051,7 +41063,7 @@ Was soll %1 tun?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Interpreter:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Interpreter:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X11 Forwarding:</source>
|
||||
@@ -41217,7 +41229,7 @@ Was soll %1 tun?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The build directory is not reachable from the build device.</source>
|
||||
<translation>Das Build-Verzeichnis kann auf dem Build-Gerät nicht erreicht werden.</translation>
|
||||
<translation>Das Build-Verzeichnis kann auf dem Gerät nicht erreicht werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shadow build:</source>
|
||||
@@ -41333,7 +41345,7 @@ Was soll %1 tun?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run device type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Gerätetyp (Ausführung)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown device type</source>
|
||||
@@ -41341,7 +41353,7 @@ Was soll %1 tun?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run device</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Gerät (Ausführung)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The device to run the applications on.</source>
|
||||
@@ -41377,11 +41389,11 @@ Was soll %1 tun?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device root directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Wurzelverzeichnis des Geräts</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build device root directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Wurzelverzeichnis des Geräts (Erstellung)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change...</source>
|
||||
@@ -41790,7 +41802,7 @@ fails because Clang does not understand the target architecture.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build device</source>
|
||||
<translation>Build-Gerät</translation>
|
||||
<translation>Gerät (Erstellung)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The device used to build applications on.</source>
|
||||
@@ -41798,27 +41810,27 @@ fails because Clang does not understand the target architecture.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>No build device set.</source>
|
||||
<translation>Kein Build-Gerät gesetzt.</translation>
|
||||
<translation>Kein Gerät für die Erstellung gesetzt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build host address</source>
|
||||
<translation>Hostadresse des Build-Geräts</translation>
|
||||
<translation>Hostadresse des Geräts (Erstellung)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build SSH port</source>
|
||||
<translation>SSH-Port des Build-Geräts</translation>
|
||||
<translation>SSH-Port des Geräts (Erstellung)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build user name</source>
|
||||
<translation>Benutzername des Build-Geräts</translation>
|
||||
<translation>Benutzername des Geräts (Erstellung)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build private key file</source>
|
||||
<translation>Private Schlüsseldatei des Build-Geräts</translation>
|
||||
<translation>Private Schlüsseldatei des Geräts (Erstellung)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build device name</source>
|
||||
<translation>Build-Gerätename</translation>
|
||||
<translation>Gerätename (Erstellung)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run as root user</source>
|
||||
@@ -41879,29 +41891,29 @@ fails because Clang does not understand the target architecture.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Source:</source>
|
||||
<translation type="unfinished">Quelle:</translation>
|
||||
<translation>Quelle:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Target:</source>
|
||||
<translation type="unfinished">Ziel:</translation>
|
||||
<translation>Ziel:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copying failed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Fehler beim Kopieren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copying finished.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Kopieren beendet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy file</source>
|
||||
<extracomment>Default CopyStep display name</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Datei kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy directory recursively</source>
|
||||
<extracomment>Default CopyStep display name</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Verzeichnis rekursiv kopieren</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -49641,211 +49653,211 @@ Failed to open file "%1"</source>
|
||||
<name>QtC::Terminal</name>
|
||||
<message>
|
||||
<source>Configure...</source>
|
||||
<translation type="unfinished">Einstellungen...</translation>
|
||||
<translation>Einstellungen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sends Esc to terminal instead of Qt Creator.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Sendet Escape zum Terminal statt zu Qt Creator.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Press %1 to send Esc to terminal.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Drücken Sie %1, um Escape zum Terminal zu senden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Terminal</source>
|
||||
<translation type="unfinished">Terminal</translation>
|
||||
<translation>Terminal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sends keyboard shortcuts to Terminal.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Sendet Tastenkombinationen zum Terminal.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sends keyboard shortcuts to Qt Creator.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Sendet Tastenkombinationen zu Qt Creator.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New Terminal</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Neues Terminal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new Terminal.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Erstelle ein neues Terminal.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Next Terminal</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Nächstes Terminal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Previous Terminal</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Vorangehendes Terminal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close the current Terminal.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das aktuelle Terminal schließen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Devices</source>
|
||||
<translation type="unfinished">Geräte</translation>
|
||||
<translation>Geräte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The color used for %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Die für "%1" benutzte Farbe.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to open file.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Datei konnte nicht geöffnet werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>JSON parsing error: "%1", at offset: %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Fehler beim Auswerten von JSON: "%1", an Position: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No colors found.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Es wurden keine Farben gefunden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid color format.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ungültiges Farbformat.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown color scheme format.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Unbekanntes Farbschema-Format.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use internal terminal</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Integriertes Terminal benutzen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Uses the internal terminal when "Run In Terminal" is enabled and for "Open Terminal here".</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Benutzt das integrierte Terminal, wenn "Im Terminal ausführen" aktiviert ist und für "Terminalfenster hier öffnen".</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Family:</source>
|
||||
<translation type="unfinished">Name:</translation>
|
||||
<translation>Name:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The font family used in the terminal.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Der Name der Zeichensatz-Familie, die im Terminal benutzt wird.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Size:</source>
|
||||
<translation type="unfinished">Größe:</translation>
|
||||
<translation>Größe:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The font size used in the terminal (in points).</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Die Größe des Zeichensatzes, der im Terminal benutzt wird (in Punkten).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow blinking cursor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Blinkenden Cursor erlauben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow the cursor to blink.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Erlaubt dem Cursor zu blinken.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shell path:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Shell-Pfad:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The shell executable to be started.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Die ausführbare Datei der Shell, die gestartet werden soll.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shell arguments:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Shell-Argumente:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The arguments to be passed to the shell.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Die Argumente, die an die Shell übergeben werden sollen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send escape key to terminal</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Escape-Taste zum Terminal senden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sends the escape key to the terminal when pressedinstead of closing the terminal.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Sendet die Escape-Taste zum Terminal, anstatt das Terminal zu schliessen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Audible bell</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Akustische Glocke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Makes the terminal beep when a bell character is received.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Lässt das Terminal piepen, wenn ein Glockenzeichen empfangen wird.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Theme...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Thema laden...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset Theme</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Thema zurücksetzen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished">Fehler</translation>
|
||||
<translation>Fehler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>General</source>
|
||||
<translation type="unfinished">Allgemein</translation>
|
||||
<translation>Allgemein</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Font</source>
|
||||
<translation type="unfinished">Zeichensatz</translation>
|
||||
<translation>Zeichensatz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Colors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Farben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Foreground</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Zeichen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Background</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Hintergrund</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selection</source>
|
||||
<translation type="unfinished">Auswahl</translation>
|
||||
<translation>Auswahl</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find match</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Fundstelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Shell</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Vorgabe-Shell</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy</source>
|
||||
<translation type="unfinished">Kopieren</translation>
|
||||
<translation>Kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Paste</source>
|
||||
<translation type="unfinished">Einfügen</translation>
|
||||
<translation>Einfügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear Selection</source>
|
||||
<translation type="unfinished">Auswahl löschen</translation>
|
||||
<translation>Auswahl löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear Terminal</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Terminal-Inhalt löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Move Cursor Word Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Cursor ein Wort nach links bewegen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Move Cursor Word Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Cursor ein Wort nach rechts bewegen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close Terminal</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Terminal schließen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -21,7 +21,7 @@ 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 "%1 && exit"
|
||||
@@ -33,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())) {
|
||||
@@ -48,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());
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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())
|
||||
return projectForProjectPart(*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;
|
||||
}
|
||||
}
|
||||
config.setClangOptions(config.clangOptions() + QStringList(diagnostic.disableOption));
|
||||
}
|
||||
|
||||
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,15 +274,17 @@ ClangdTextMark::ClangdTextMark(TextEditor::TextDocument *doc,
|
||||
actions << action;
|
||||
|
||||
// Remove diagnostic warning action
|
||||
Project *project = projectForCurrentEditor();
|
||||
if (project && isDiagnosticConfigChangable(project)) {
|
||||
action = new QAction();
|
||||
action->setIcon(Icons::BROKEN.icon());
|
||||
action->setToolTip(Tr::tr("Disable Diagnostic in Current Project"));
|
||||
QObject::connect(action, &QAction::triggered, [diag] {
|
||||
disableDiagnosticInCurrentProjectConfig(diag);
|
||||
});
|
||||
actions << action;
|
||||
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"));
|
||||
QObject::connect(action, &QAction::triggered, [diag] {
|
||||
disableDiagnosticInCurrentProjectConfig(diag);
|
||||
});
|
||||
actions << action;
|
||||
}
|
||||
}
|
||||
return actions;
|
||||
});
|
||||
|
||||
@@ -754,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();
|
||||
@@ -774,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);
|
||||
}
|
||||
|
||||
|
||||
@@ -73,7 +73,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);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -37,3 +37,10 @@ const auto s5 = uR"("o
|
||||
ne")"_w;
|
||||
const auto s6 = u"o\
|
||||
ne"_w;
|
||||
|
||||
static void parenTest()
|
||||
{
|
||||
do {
|
||||
/* comment */ \
|
||||
} while (false);
|
||||
}
|
||||
|
||||
@@ -155,7 +155,8 @@ bool DebuggerRunConfigurationAspect::useCppDebugger() const
|
||||
static bool projectHasQmlDefines(ProjectExplorer::Project *project)
|
||||
{
|
||||
auto projectInfo = CppEditor::CppModelManager::instance()->projectInfo(project);
|
||||
QTC_ASSERT(projectInfo, return false);
|
||||
if (!projectInfo) // we may have e.g. a Python project
|
||||
return false;
|
||||
return Utils::anyOf(projectInfo->projectParts(),
|
||||
[](const CppEditor::ProjectPart::ConstPtr &part){
|
||||
return Utils::anyOf(part->projectMacros, [](const Macro ¯o){
|
||||
|
||||
@@ -59,6 +59,7 @@ QWidget *NinjaBuildStep::createConfigWidget()
|
||||
buildTargetsList->setFrameShadow(QFrame::Raised);
|
||||
|
||||
auto toolArguments = new QLineEdit(widget);
|
||||
toolArguments->setText(m_commandArgs);
|
||||
|
||||
auto wrapper = Core::ItemViewFind::createSearchableWrapper(buildTargetsList,
|
||||
Core::ItemViewFind::LightColored);
|
||||
|
||||
@@ -60,7 +60,7 @@ QWidget *NimCompilerBuildStep::createConfigWidget()
|
||||
auto additionalArgumentsLineEdit = new QLineEdit(widget);
|
||||
|
||||
auto commandTextEdit = new QTextEdit(widget);
|
||||
commandTextEdit->setEnabled(false);
|
||||
commandTextEdit->setReadOnly(true);
|
||||
commandTextEdit->setMinimumSize(QSize(0, 0));
|
||||
|
||||
auto defaultArgumentsComboBox = new QComboBox(widget);
|
||||
|
||||
@@ -83,7 +83,7 @@ NimToolChainConfigWidget::NimToolChainConfigWidget(NimToolChain *tc)
|
||||
fillUI();
|
||||
|
||||
// Connect
|
||||
connect(m_compilerCommand, &PathChooser::textChanged, this, [this] {
|
||||
connect(m_compilerCommand, &PathChooser::validChanged, this, [this] {
|
||||
const FilePath path = m_compilerCommand->rawFilePath();
|
||||
auto tc = static_cast<NimToolChain *>(toolChain());
|
||||
QTC_ASSERT(tc, return);
|
||||
|
||||
@@ -222,26 +222,18 @@ void DesignModeWidget::setup()
|
||||
// Connect opening of the 'workspaces' menu with creation of the workspaces menu
|
||||
connect(mworkspaces->menu(), &QMenu::aboutToShow, this, &DesignModeWidget::aboutToShowWorkspaces);
|
||||
|
||||
Core::ActionContainer *mpanes = Core::ActionManager::actionContainer(Core::Constants::M_VIEW_PANES);
|
||||
|
||||
// Initially disable menus
|
||||
mviews->menu()->setEnabled(false);
|
||||
mworkspaces->menu()->setEnabled(false);
|
||||
mpanes->menu()->setEnabled(false);
|
||||
|
||||
// Enable/disable menus when mode is different to MODE_DESIGN
|
||||
connect(Core::ModeManager::instance(),
|
||||
&Core::ModeManager::currentModeChanged,
|
||||
this,
|
||||
[mviews, mworkspaces, mpanes](Utils::Id mode, Utils::Id) {
|
||||
[mworkspaces](Utils::Id mode, Utils::Id) {
|
||||
if (mode == Core::Constants::MODE_DESIGN) {
|
||||
mviews->menu()->setEnabled(true);
|
||||
mworkspaces->menu()->setEnabled(true);
|
||||
mpanes->menu()->setEnabled(true);
|
||||
} else {
|
||||
mviews->menu()->setEnabled(false);
|
||||
mworkspaces->menu()->setEnabled(false);
|
||||
mpanes->menu()->setEnabled(false);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ public:
|
||||
auto fetchButton = new QPushButton(Tr::tr("Fetch Device Environment"));
|
||||
addWidget(fetchButton);
|
||||
|
||||
connect(target, &Target::kitChanged, [aspect] { aspect->setRemoteEnvironment({}); });
|
||||
connect(target, &Target::kitChanged, aspect, [aspect] { aspect->setRemoteEnvironment({}); });
|
||||
|
||||
connect(fetchButton, &QPushButton::clicked, this, [aspect, target] {
|
||||
if (IDevice::ConstPtr device = DeviceKitAspect::device(target->kit())) {
|
||||
|
||||
@@ -3,7 +3,7 @@ import qbs
|
||||
StaticLibrary {
|
||||
name: "qtcjson"
|
||||
Depends { name: "cpp" }
|
||||
cpp.cxxLanguageVersion: "c++11"
|
||||
cpp.cxxLanguageVersion: "c++17"
|
||||
cpp.minimumMacosVersion: project.minimumMacosVersion
|
||||
files: [
|
||||
"json.cpp",
|
||||
|
||||
Submodule src/shared/qbs updated: 97769dfdac...2e6eb75c76
@@ -15,7 +15,7 @@
|
||||
# resolver:
|
||||
# name: custom-snapshot
|
||||
# location: "./custom-snapshot.yaml"
|
||||
resolver: lts-7.24
|
||||
resolver: lts-21.1
|
||||
|
||||
# User packages to be built.
|
||||
# Various formats can be used as shown in the example below.
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
:Send to Codepaster.protocolBox_QComboBox {name='protocolBox' type='QComboBox' visible='1' window=':Send to Codepaster_CodePaster::PasteView'}
|
||||
:Send to Codepaster.qt_spinbox_lineedit_QLineEdit {name='qt_spinbox_lineedit' type='QLineEdit' visible='1' window=':Send to Codepaster_CodePaster::PasteView'}
|
||||
:Send to Codepaster_CodePaster::PasteView {name='CodePaster.ViewDialog' type='QDialog' visible='1' windowTitle='Send to Codepaster'}
|
||||
:Session Manager_ProjectExplorer::Internal::SessionDialog {name='ProjectExplorer.SessionDialog' type='ProjectExplorer::Internal::SessionDialog' visible='1' windowTitle='Session Manager'}
|
||||
:Session Manager_ProjectExplorer::Internal::SessionDialog {name='ProjectExplorer.SessionDialog' type='Core::Internal::SessionDialog' visible='1'}
|
||||
:Startup.contextHelpComboBox_QComboBox {container=':Form.Startup_QGroupBox' name='contextHelpComboBox' type='QComboBox' visible='1'}
|
||||
:User Interface.languageBox_QComboBox {name='languageBox' type='QComboBox' visible='1'}
|
||||
:Utils::FakeToolTip {type='Utils::FakeToolTip' unnamed='1' visible='1'}
|
||||
|
||||
@@ -8,7 +8,7 @@ source("../../shared/suites_qtta.py")
|
||||
def main():
|
||||
# expected error texts - for different compilers
|
||||
expectedErrorAlternatives = ["'SyntaxError' was not declared in this scope",
|
||||
"\xe2\x80\x98SyntaxError\xe2\x80\x99 was not declared in this scope",
|
||||
u"\u2018SyntaxError\u2019 was not declared in this scope",
|
||||
"'SyntaxError' : undeclared identifier", # MSVC2013
|
||||
"'SyntaxError': undeclared identifier", # MSVC2015
|
||||
"use of undeclared identifier 'SyntaxError'",
|
||||
|
||||
@@ -28,7 +28,7 @@ def main():
|
||||
baseName = os.path.basename(currentFile)
|
||||
fileName = os.path.join(directory, baseName)
|
||||
test.log("Testing file %s" % fileName)
|
||||
content = readFile(currentFile)
|
||||
content = stringify(readFile(currentFile))
|
||||
preparedContent, emptyLine, trailingWS = prepareFileExternal(fileName, content)
|
||||
isIgnored = isIgnoredFile(baseName, ignoredFiles)
|
||||
test.verify(preparedContent.find('\t') != -1, "Added at least one tab.")
|
||||
|
||||
@@ -18,7 +18,7 @@ def main():
|
||||
return
|
||||
for currentFile in files:
|
||||
test.log("Opening file %s" % currentFile)
|
||||
size = len(readFile(currentFile))
|
||||
size = len(stringify(readFile(currentFile)))
|
||||
invokeMenuItem("File", "Open File or Project...")
|
||||
selectFromFileDialog(currentFile, True)
|
||||
editor = getEditorForFileSuffix(currentFile)
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
source("../../shared/qtcreator.py")
|
||||
|
||||
currentSelectedTreeItem = None
|
||||
sectionInProgress = None
|
||||
genericDebuggers = []
|
||||
warningOrError = re.compile('<p><b>((Error|Warning).*?)</p>')
|
||||
|
||||
def main():
|
||||
@@ -28,6 +30,7 @@ def __createMinimumIni__(emptyParent):
|
||||
iniFile.close()
|
||||
|
||||
def __checkKits__():
|
||||
global genericDebuggers
|
||||
mouseClick(waitForObjectItem(":Options_QListView", "Kits"))
|
||||
# check compilers
|
||||
expectedCompilers = __getExpectedCompilers__()
|
||||
@@ -51,6 +54,8 @@ def __checkKits__():
|
||||
__iterateTree__(":BuildAndRun_QTreeView", __dbgFunc__, foundDebugger)
|
||||
test.verify(__compareDebuggers__(foundDebugger, expectedDebuggers),
|
||||
"Verifying found and expected debuggers are equal.")
|
||||
if not test.compare(len(genericDebuggers), 2, "Verifying generic debugger count."):
|
||||
test.log(str(genericDebuggers))
|
||||
# check Qt versions
|
||||
qmakePath = which("qmake")
|
||||
foundQt = []
|
||||
@@ -87,14 +92,16 @@ def __processSubItems__(treeObjStr, section, parModelIndexStr, doneItems,
|
||||
additionalFunc, *additionalParameters)
|
||||
|
||||
def __iterateTree__(treeObjStr, additionalFunc, *additionalParameters):
|
||||
global currentSelectedTreeItem
|
||||
global currentSelectedTreeItem, sectionInProgress
|
||||
model = waitForObject(treeObjStr).model()
|
||||
# 1st row: Auto-detected, 2nd row: Manual
|
||||
# 1st row: Auto-detected, 2nd row: Manual (Debugger has additional section Generic prepended)
|
||||
for sect in dumpIndices(model):
|
||||
sectionInProgress = str(sect.text)
|
||||
doneItems = []
|
||||
parentModelIndex = "%s container='%s'}" % (objectMap.realName(sect)[:-1], treeObjStr)
|
||||
__processSubItems__(treeObjStr, sect, parentModelIndex, doneItems,
|
||||
additionalFunc, *additionalParameters)
|
||||
sectionInProgress = None
|
||||
|
||||
def __compFunc__(it, foundComp, foundCompNames):
|
||||
# skip sub section items (will continue on its children)
|
||||
@@ -118,9 +125,16 @@ def __compFunc__(it, foundComp, foundCompNames):
|
||||
foundCompNames.append(it)
|
||||
|
||||
def __dbgFunc__(it, foundDbg):
|
||||
global sectionInProgress, genericDebuggers
|
||||
waitFor("object.exists(':Path.Utils_BaseValidatingLineEdit')", 2000)
|
||||
pathLineEdit = findObject(":Path.Utils_BaseValidatingLineEdit")
|
||||
foundDbg.append(str(pathLineEdit.text))
|
||||
if sectionInProgress == 'Generic':
|
||||
debugger = str(pathLineEdit.text)
|
||||
test.verify(debugger == 'gdb' or debugger == 'lldb',
|
||||
'Verifying generic debugger is GDB or LLDB.')
|
||||
genericDebuggers.append(debugger)
|
||||
else:
|
||||
foundDbg.append(str(pathLineEdit.text))
|
||||
|
||||
def __qtFunc__(it, foundQt, qmakePath):
|
||||
qtPath = str(waitForObject(":QtSupport__Internal__QtVersionManager.qmake_QLabel").text)
|
||||
|
||||
@@ -22,10 +22,9 @@ kitNameTemplate = "Manual.%s"
|
||||
|
||||
def __removeKit__(_, kitName):
|
||||
global kitNameTemplate
|
||||
if kitName == Targets.getStringForTarget(Targets.getDefaultKit()):
|
||||
# The following kits will be the default kit at that time
|
||||
kitNameTemplate += " (default)"
|
||||
item = kitNameTemplate % kitName.replace(".", "\\.")
|
||||
if kitName == Targets.getStringForTarget(Targets.getDefaultKit()):
|
||||
item += " (default)"
|
||||
mouseClick(waitForObjectItem(":BuildAndRun_QTreeView", item))
|
||||
clickButton(waitForObject(":Remove_QPushButton"))
|
||||
|
||||
|
||||
@@ -63,18 +63,18 @@ def prepareTestExamples():
|
||||
def switchSession(toSession):
|
||||
test.log("Switching to session '%s'" % toSession)
|
||||
invokeMenuItem("File", "Sessions", "Manage...")
|
||||
sessionView = ("{name='sessionView' type='ProjectExplorer::Internal::SessionView' visible='1' "
|
||||
sessionView = ("{name='sessionView' type='Core::Internal::SessionView' visible='1' "
|
||||
"window=':Session Manager_ProjectExplorer::Internal::SessionDialog'}")
|
||||
mouseClick(waitForObjectItem(sessionView, toSession))
|
||||
clickButton(waitForObject("{name='btOpen' type='QPushButton' visible='1' "
|
||||
"window=':Session Manager_ProjectExplorer::Internal::SessionDialog'}"))
|
||||
|
||||
def createAndSwitchToSession(toSession):
|
||||
sessionInputDialog = ("{type='ProjectExplorer::Internal::SessionNameInputDialog' unnamed='1' "
|
||||
sessionInputDialog = ("{type='Core::Internal::SessionNameInputDialog' unnamed='1' "
|
||||
"visible='1' windowTitle='New Session Name'}")
|
||||
test.log("Switching to session '%s' after creating it." % toSession)
|
||||
invokeMenuItem("File", "Sessions", "Manage...")
|
||||
clickButton(waitForObject("{name='btCreateNew' text='New' type='QPushButton' visible='1' "
|
||||
clickButton(waitForObject("{name='btCreateNew' type='QPushButton' visible='1' "
|
||||
"window=':Session Manager_ProjectExplorer::Internal::SessionDialog'}"))
|
||||
lineEdit = waitForObject("{type='QLineEdit' unnamed='1' visible='1' window=%s}"
|
||||
% sessionInputDialog)
|
||||
|
||||
Reference in New Issue
Block a user