aboutsummaryrefslogtreecommitdiffstats
path: root/dist/changelog/changes-11.0.0.md
blob: 8b1330dae7a47ffc42b522d1a02c95d8e0fa6430 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
Qt Creator 11
=============

Qt Creator version 11 contains bug fixes and new features.

The most important changes are listed in this document. For a complete list of
changes, see the Git log for the Qt Creator sources that you can check out from
the public Git repository. For example:

    git clone git://code.qt.io/qt-creator/qt-creator.git
    git log --cherry-pick --pretty=oneline origin/10.0..v11.0.0

What's new?
------------

* Markdown editor with preview
  ([QTCREATORBUG-27883](https://bugreports.qt.io/browse/QTCREATORBUG-27883))
* Internal terminal
  ([QTCREATORBUG-8511](https://bugreports.qt.io/browse/QTCREATORBUG-8511))
* Experimental support for GitHub Copilot
* Experimental support for the `vcpkg` C/C++ package manager
* Experimental support for the Axivion static analyzer

### Markdown

You can open markdown (.md) files for editing or select `File > New File >
General > Markdown File` to create a new file.

([Documentation](https://doc.qt.io/qtcreator/creator-markdown-editor.html))

### Terminal

When you select the `Run in Terminal` check box and run an application or the
`Open Terminal` button to open a terminal, the default terminal opens in the
`Terminal` output view. It supports multiple tabs, as well as various
shells, colors, and fonts.

To use an external terminal, deselect the `Use internal terminal` check box in
`Preferences > Terminal`.

([Documentation](https://doc.qt.io/qtcreator/creator-reference-terminal-view.html))

### Copilot

The Copilot plugin (disabled by default) integrates
[GitHub Copilot](https://github.com/features/copilot), which uses OpenAI to
suggest code in the `Edit` mode.

To set Copilot preferences, select `Preferences > Copilot`.

([Documentation](https://doc.qt.io/qtcreator/creator-copilot.html))

### vcpkg

The experimental vcpkg plugin integrates the [vcpgk](https://vcpkg.io)
package manager for downloading and managing libraries.

Select the `vcpkg` installation location in `Preferences > CMake > Vcpkg > Path`.

To create a new `vcpkg.json` package manifest file, select `File > New File >
vcpkg`. The file is automatically added to the CMakeLists.txt file for the
project.

Edit manifest files in the manifest editor. To search for packages to add to the
file, select the `Search Package` button on the manifest editor toolbar.

([Documentation](https://doc.qt.io/qtcreator/creator-vcpkg.html))

### Axivion

After you configure access to the [Axivion](https://www.axivion.com) Dashboard
and link a project to an Axivion project in the project settings, Qt Creator
shows annotations of the latest run in the editors and allows you to view some
details on the issues.

([Documentation](https://doc.qt.io/qtcreator/creator-axivion.html))

General
-------

* Added a more spacious `Relaxed` toolbar style to `Preferences > Environment >
  Interface`
* Added a pin button to progress details instead of automatically resetting
  their position
  ([QTCREATORBUG-28829](https://bugreports.qt.io/browse/QTCREATORBUG-28829))
* Improved the selection and navigation in the `Issues` view
  ([QTCREATORBUG-26128](https://bugreports.qt.io/browse/QTCREATORBUG-26128),
   [QTCREATORBUG-27006](https://bugreports.qt.io/browse/QTCREATORBUG-27006),
   [QTCREATORBUG-27506](https://bugreports.qt.io/browse/QTCREATORBUG-27506))
* Fixed a crash with a large number of search hits from Silver Searcher
  ([QTCREATORBUG-29130](https://bugreports.qt.io/browse/QTCREATORBUG-29130))
* Locator
    * Improved performance
    * Added the creation of directories to the `Files in File System` filter
    * Added device roots and browsing remote file systems to the
      `Files in File System` filter

Editing
-------

* Improved the performance of the multi-cursor support
* Fixed the saving of hardlinked files
  ([QTCREATORBUG-19651](https://bugreports.qt.io/browse/QTCREATORBUG-19651))
* Fixed an issue of copy and paste with multiple cursors
  ([QTCREATORBUG-29117](https://bugreports.qt.io/browse/QTCREATORBUG-29117))
* Fixed the handling of pre-edit text for input methods
  ([QTCREATORBUG-29134](https://bugreports.qt.io/browse/QTCREATORBUG-29134))

### C++

* Improved the style of forward declarations in the outline
  ([QTCREATORBUG-312](https://bugreports.qt.io/browse/QTCREATORBUG-312))
* Added highlighting for typed string literals and user-defined literals
  ([QTCREATORBUG-28869](https://bugreports.qt.io/browse/QTCREATORBUG-28869))
* Extended the `Add Class Member` refactoring action to create class
  members from assignments
  ([QTCREATORBUG-1918](https://bugreports.qt.io/browse/QTCREATORBUG-1918))
* Fixed that generated functions did not have a `const` qualifier when
  required
  ([QTCREATORBUG-29274](https://bugreports.qt.io/browse/QTCREATORBUG-29274))
* Fixed that the locator showed both the declaration and the definition of symbols
  ([QTCREATORBUG-13894](https://bugreports.qt.io/browse/QTCREATORBUG-13894))
* Fixed the handling of C++20 keywords and concepts
* Fixed that the automatic Doxygen comment generation did not work when
  initializer lists `{}` were present
  ([QTCREATORBUG-29198](https://bugreports.qt.io/browse/QTCREATORBUG-29198))
* Fixed an issue when matching braces
  ([QTCREATORBUG-29339](https://bugreports.qt.io/browse/QTCREATORBUG-29339))
* Clangd
    * Fixed that the index could be outdated after VCS operations
    * Fixed the highlighting of labels
      ([QTCREATORBUG-27338](https://bugreports.qt.io/browse/QTCREATORBUG-27338))
    * Fixed freezes when showing tool tips
      ([QTCREATORBUG-29356](https://bugreports.qt.io/browse/QTCREATORBUG-29356))
* Built-in
    * Fixed support for `if`-statements with initializer
      ([QTCREATORBUG-29182](https://bugreports.qt.io/browse/QTCREATORBUG-29182))
* Clang Format
    * Fixed the conversion of tab indentation settings to Clang Format
      ([QTCREATORBUG-29185](https://bugreports.qt.io/browse/QTCREATORBUG-29185))

### Language Server Protocol

* Added actions for opening the `Call Hierarchy` to the context menu of the
  editor
  ([QTCREATORBUG-28839](https://bugreports.qt.io/browse/QTCREATORBUG-28839),
   [QTCREATORBUG-28842](https://bugreports.qt.io/browse/QTCREATORBUG-28842))

### QML

* Fixed the reformatting in the presence of JavaScript directives and function
  return type annotations
  ([QTCREATORBUG-29001](https://bugreports.qt.io/browse/QTCREATORBUG-29001),
   [QTCREATORBUG-29046](https://bugreports.qt.io/browse/QTCREATORBUG-29046))
* Fixed that reformatting changed `of` to `in`
  ([QTCREATORBUG-29123](https://bugreports.qt.io/browse/QTCREATORBUG-29123))
* Fixed the completion for Qt Quick Controls
  ([QTCREATORBUG-28648](https://bugreports.qt.io/browse/QTCREATORBUG-28648))
* Fixed that `qmllint` issues were not shown in the `Issues` view
  ([QTCREATORBUG-28720](https://bugreports.qt.io/browse/QTCREATORBUG-28720),
   [QTCREATORBUG-27762](https://bugreports.qt.io/browse/QTCREATORBUG-27762))
* Fixed a wrong `M16` warning
  ([QTCREATORBUG-28468](https://bugreports.qt.io/browse/QTCREATORBUG-28468))

### Python

* Added the `Create Virtual Environment` option to the Python interpreter
  selector on the editor toolbar and to the wizards in `File > New Project >
  > Application (Qt for Python)`
  ([PYSIDE-2152](https://bugreports.qt.io/browse/PYSIDE-2152))
* Fixed that too many progress indicators could be created
  ([QTCREATORBUG-29224](https://bugreports.qt.io/browse/QTCREATORBUG-29224))

  ([Documentation](https://doc.qt.io/qtcreator/creator-python-development.html))

### Meson

* Fixed the file targets
  ([QTCREATORBUG-29349](https://bugreports.qt.io/browse/QTCREATORBUG-29349))

Projects
--------

* Made it possible to add devices in `Preferences > Devices > Add` without going
  through the wizard
  ([Documentation](https://doc.qt.io/qtcreator/creator-developing-b2qt.html))
  ([Documentation](https://doc.qt.io/qtcreator/creator-developing-generic-linux.html))
* Added support for moving files to a different directory when renaming them in
  the `File System` view
  ([QTCREATORBUG-15981](https://bugreports.qt.io/browse/QTCREATORBUG-15981))
  ([Documentation](https://doc.qt.io/qtcreator/creator-file-system-view.html))

### CMake

* Implemented adding files to the project
  ([QTCREATORBUG-25922](https://bugreports.qt.io/browse/QTCREATORBUG-25922),
   [QTCREATORBUG-26006](https://bugreports.qt.io/browse/QTCREATORBUG-26006),
   [QTCREATORBUG-27213](https://bugreports.qt.io/browse/QTCREATORBUG-27213),
   [QTCREATORBUG-27538](https://bugreports.qt.io/browse/QTCREATORBUG-27538),
   [QTCREATORBUG-28493](https://bugreports.qt.io/browse/QTCREATORBUG-28493),
   [QTCREATORBUG-28904](https://bugreports.qt.io/browse/QTCREATORBUG-28904),
   [QTCREATORBUG-28985](https://bugreports.qt.io/browse/QTCREATORBUG-28985),
   [QTCREATORBUG-29006](https://bugreports.qt.io/browse/QTCREATORBUG-29006))
  ([Documentation](https://doc.qt.io/qtcreator/creator-project-cmake.html))
* Added support for the `block()` and `endblock()` CMake commands
  ([CMake documentation](https://cmake.org/cmake/help/latest/command/block.html#command:block))
* Fixed issues with detecting a configured Qt version when importing a build
  ([QTCREATORBUG-29075](https://bugreports.qt.io/browse/QTCREATORBUG-29075))
* Fixed the project wizards for Qt 6.3 and earlier
  ([QTCREATORBUG-29067](https://bugreports.qt.io/browse/QTCREATORBUG-29067))
* Presets
    * Added `Build > Reload CMake Presets` to reload CMake presets after making
      changes to them
      ([Documentation](https://doc.qt.io/qtcreator/creator-build-settings-cmake-presets.html))
    * Fixed that presets were not visible in the `Projects` view
      ([QTCREATORBUG-28966](https://bugreports.qt.io/browse/QTCREATORBUG-28966))
    * Fixed the type handling of the `architecture` and `toolset` fields
      ([QTCREATORBUG-28693](https://bugreports.qt.io/browse/QTCREATORBUG-28693))
    * Fixed the setting for QML debugging when creating build configurations
      ([QTCREATORBUG-29311](https://bugreports.qt.io/browse/QTCREATORBUG-29311))


### Qmake

* Fixed an infinite loop when the Qt ABI changed
  ([QTCREATORBUG-29204](https://bugreports.qt.io/browse/QTCREATORBUG-29204))

### Python

* Added an option for selecting the interpreter to the wizards in
  `File > New Project > Application (Qt for Python)`
  ([Documentation](https://doc.qt.io/qtcreator/creator-project-creating.html))

Debugging
---------

* Improved the UI for enabling and disabling debuggers in `Projects > Run >
  Debugger settings`
  ([QTCREATORBUG-28627](https://bugreports.qt.io/browse/QTCREATORBUG-28627))
  ([Documentation](https://doc.qt.io/qtcreator/creator-debugging-qml.html))
* Fixed the automatic source mapping for Qt versions from an installer
  ([QTCREATORBUG-28950](https://bugreports.qt.io/browse/QTCREATORBUG-28950))
* Fixed pretty printer for `std::string` for recent `libc++`
  ([QTCREATORBUG-29230](https://bugreports.qt.io/browse/QTCREATORBUG-29230))
* Fixed the pretty printers on Fedora 37
  ([QTCREATORBUG-28659](https://bugreports.qt.io/browse/QTCREATORBUG-28659))
* Fixed the display of arrays with `Array of 10,000 items`
  ([QTCREATORBUG-29196](https://bugreports.qt.io/browse/QTCREATORBUG-29196))

### C++

* Added the `Default array size` option for setting the default number of array
  elements to show in `Preferences > Debugger > Locals & Expressions`
* Fixed debugging in a terminal as the root user
  ([QTCREATORBUG-27519](https://bugreports.qt.io/browse/QTCREATORBUG-27519))
* CDB
    * Added automatic source file mapping for Qt packages
    * Fixed the variables view on remote Windows devices
      ([QTCREATORBUG-29000](https://bugreports.qt.io/browse/QTCREATORBUG-29000))
* LLDB
    * Fixed that long lines in the application output were broken into multiple
      lines
      ([QTCREATORBUG-29098](https://bugreports.qt.io/browse/QTCREATORBUG-29098))

### Qt Quick

* Improved the auto-detection of whether QML debugging is required
  ([QTCREATORBUG-28627](https://bugreports.qt.io/browse/QTCREATORBUG-28627))
* Added the `Use customized static analyzer` option for disabling static analyzer
  messages to `Preferences > Qt Quick > QML/JS Editing`
  ([QTCREATORBUG-29095](https://bugreports.qt.io/browse/QTCREATORBUG-29095))
  ([Documentation](https://doc.qt.io/qtcreator/creator-checking-code-syntax.html))

Analyzer
--------

### Clang

* Fixed that a `.clang-tidy` file in the project directory was not used by
  default
  ([QTCREATORBUG-28852](https://bugreports.qt.io/browse/QTCREATORBUG-28852))

Version Control Systems
-----------------------

### Git

* Instant Blame
    * Improved the performance
      ([QTCREATORBUG-29151](https://bugreports.qt.io/browse/QTCREATORBUG-29151))
    * Fixed that it did not show at the end of the document

Platforms
---------

### Android

* Fixed an issue with building library targets
  ([QTCREATORBUG-26980](https://bugreports.qt.io/browse/QTCREATORBUG-26980))

### iOS

* Improved the bundle ID that the project wizards create
  ([QTCREATORBUG-29340](https://bugreports.qt.io/browse/QTCREATORBUG-29340))

### Remote Linux

* Removed the automatic sourcing of target-side shell profiles

### Docker

* Added support for `qmake` based projects
  ([QTCREATORBUG-29140](https://bugreports.qt.io/browse/QTCREATORBUG-29140))
* Fixed issues after deleting the Docker image for a registered Docker device
  ([QTCREATORBUG-28880](https://bugreports.qt.io/browse/QTCREATORBUG-28880))

### MCU

* Fixed that errors were shown for valid QML code
  ([QTCREATORBUG-26655](https://bugreports.qt.io/browse/QTCREATORBUG-26655),
   [QTCREATORBUG-29155](https://bugreports.qt.io/browse/QTCREATORBUG-29155))
* Fixed that files were missing from locator and project search
  ([QTCREATORBUG-29297](https://bugreports.qt.io/browse/QTCREATORBUG-29297))

### QNX

* Added `slog2info` as a requirement for devices
* Fixed the support for remote working directories
  ([QTCREATORBUG-28900](https://bugreports.qt.io/browse/QTCREATORBUG-28900))

Credits for these changes go to:
--------------------------------
Aleksei German  
Alessandro Portale  
Alexander Drozdov  
Alexander Pershin  
Alexey Edelev  
Alexis Jeandet  
Ali Kianian  
Alibek Omarov  
Amr Essam  
Andre Hartmann  
André Pönitz  
Artem Mukhin  
Artem Sokolovskii  
Assam Boudjelthia  
Björn Schäpers  
Brook Cronin  
Burak Hancerli  
Christian Kandeler  
Christian Stenger  
Cristian Adam  
David Schulz  
Eike Ziller  
Esa Törmänen  
Fabian Kosmale  
Filippo Gentile  
Friedemann Kleint  
Haowei Hsu  
Henning Gruendl  
Jaroslaw Kobus  
Joni Poikelin  
Jussi Witick  
Kai Köhne  
Knud Dollereder  
Knut Petter Svendsen  
Leena Miettinen  
Mahmoud Badri  
Marco Bubke  
Marcus Tillmanns  
Martin Delille  
Mats Honkamaa  
Miikka Heikkinen  
Mitch Curtis  
Niels Weber  
Olivier Delaune  
Orgad Shaneh  
Pranta Dastider  
Robert Löhning  
Samuel Ghinet  
Semih Yavuz  
Tasuku Suzuki  
Thiago Macieira  
Thomas Hartmann  
Tim Jenssen  
Ulf Hermann  
Vikas Pachdha  
Wladimir Leuschner  
Yasser Grimes  
Yixue Wang