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
|
/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing
**
** This file is part of Qt Creator
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
**
****************************************************************************/
// **********************************************************************
// 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.
// **********************************************************************
/*!
\contentspage {Qt Creator Manual}
\previouspage creator-editor-refactoring.html
\page creator-beautifier.html
\nextpage creator-editor-options.html
\title Beautifying Source Code
You can use the experimental Beautifier plugin to format your source code
by using the following external tools:
\list
\li \l{http://astyle.sourceforge.net}{Artistic Style}
\li \l{http://clang.llvm.org/docs/ClangFormat.html}{ClangFormat}
\li \l{http://uncrustify.sourceforge.net}{Uncrustify}
\endlist
The Beautifier plugin parses the source code into component structures, such
as assignment statements, if blocks, loops, and so on, and formats them as
specified in the Beautifier options. You can use a predefined style or
define your own style.
To use the Beautifier plugin:
\list 1
\li Download and install the tool to use for formatting source code:
\list
\li \l{http://sourceforge.net/projects/astyle/files/astyle}
{Artistic Style}
\li \l{http://llvm.org/releases/download.html}{ClangFormat}
\li \l{http://sourceforge.net/projects/uncrustify/files/uncrustify}
{Uncrustify}
\endlist
You might have to build the tools from sources for some platforms.
\li Select \uicontrol Help > \uicontrol {About Plugins} > \uicontrol {C++} >
\uicontrol Beautifier to enable the plugin.
\li Restart \QC to be able to use the plugin.
\li Select \uicontrol Tools > \uicontrol Options > \uicontrol Beautifier
to specify settings for the tool you want to use.
\image beautifier_options.png
\li In the \uicontrol {Artistic Style command},
\uicontrol {Clang Format command}, or
\uicontrol {Uncrustify command} field, specify the path to the tool
executable.
\li In the \uicontrol Options group, select the configuration file that
defines the style to use in the source files. If you select several
options, they are applied from top down.
\list
\li Select the \uicontrol {Use file defined in project files}
option to use the configuration file defined in the qmake
DISTFILES variable as the configuration file for the
selected tool.
\li Select the \uicontrol {Use file in $HOME} option to use the
specified file in the user's home directory as the
configuration file for the selected tool.
\li Select the \uicontrol {Use customized style} option, and
then \uicontrol Add to define your own style.
Define code formatting in the
\uicontrol {Edit Configuration} dialog. It provides syntax
highlighting, auto-completion, and context-sensitive help.
For these features, you must have the tool installed.
\image beautifier_editor.png
\endlist
\li Select \uicontrol Tools > \uicontrol Beautifier >
\uicontrol {Artistic Style}, \uicontrol ClangFormat, or
\uicontrol Uncrustify > \uicontrol {Format Current File} to format
the currently open file.
You can \l{Keyboard Shortcuts}{create keyboard shortcuts} for the
functions.
\endlist
In addition to the \uicontrol {Format Current File} command, ClangFormat
and Uncrustify provide the \uicontrol {Format Selected Text} command. If you
select it when no text is selected, nothing happens. To format the entire
file in this case when using Clang, select the
\uicontrol {Format entire file if no text was selected} check box in the
\uicontrol {Clang Format} options.
*/
|