Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tobias Hunger
qt-creator
Commits
3cad0a65
Commit
3cad0a65
authored
Jan 13, 2011
by
Leena Miettinen
Browse files
Doc: list available refactoring actions
Reviewed-by: Christian Kamm
parent
3f10d88a
Changes
1
Hide whitespace changes
Inline
Side-by-side
doc/qtcreator.qdoc
View file @
3cad0a65
...
...
@@ -2156,7 +2156,7 @@
In
the
context
menu
,
select
\
gui
{
Refactoring
}
and
then
select
a
refactoring
action
.
You
can
also
press
\
gui
{
Alt
+
Enter
}
to
open
a
context
menu
that
contains
refactoring
actions
.
actions
available
in
the
current
cursor
position
.
\
section2
Refactoring
C
++
Code
...
...
@@ -2166,11 +2166,11 @@
\
o
Change
binary
operands
\
o
Simplify
if
and
whe
n
conditions
(
for
example
,
move
declarations
out
of
\
o
Simplify
if
and
wh
il
e
conditions
(
for
example
,
move
declarations
out
of
if
conditions
)
\
o
Modify
strings
(
for
example
,
set
the
encoding
for
a
string
to
Latin
-
1
,
mark
strings
translatable
,
and
convert
s
tring
s
to
camel
case
)
strings
translatable
,
and
convert
s
ymbol
name
s
to
camel
case
)
\
o
Create
variable
declarations
...
...
@@ -2178,6 +2178,298 @@
\
endlist
The
following
table
summarizes
the
refactoring
actions
for
C
++
code
.
The
action
is
available
when
the
cursor
is
in
the
position
described
in
the
Activation
column
.
\
table
\
header
\
i
Refactoring
Action
\
i
Description
\
i
Activation
\
row
\
i
Add
Curly
Braces
\
i
Adds
curly
braces
to
an
if
statement
that
does
not
contain
a
compound
statement
.
For
example
,
rewrites
\
code
if
(
a
)
b
;
\
endcode
as
\
code
if
(
a
)
{
b
;
}
\
endcode
\
i
if
\
row
\
i
Move
Declaration
out
of
Condition
\
i
Moves
a
declaration
out
of
an
if
or
while
condition
to
simplify
the
condition
.
For
example
,
rewrites
\
code
if
(
Type
name
=
foo
())
{...}
\
endcode
as
\
code
Type
name
=
foo
;
if
(
name
)
{...}
\
endcode
\
i
Name
of
the
introduced
variable
\
row
\
i
Rewrite
Condition
Using
||
\
i
Rewrites
the
expression
according
to
De
Morgan
's laws. For example,
rewrites:
\code
!a && !b
\endcode
as
\code
!(a || b)
\endcode
\i &&
\row
\i Rewrite Using \e operator
\i Rewrites an expression negating it and using the inverse operator. For
example, rewrites:
\list
\o \code
a op b
\endcode
as
\code
!(a invop b)
\endcode
\o \code
(a op b)
\endcode
as
\code
!(a invop b)
\endcode
\o \code
!(a op b)
\endcode
as
\code
(a invob b)
\endcode
\endlist
\i <= < > >= == !=
\row
\i Split Declaration
\i Splits a simple declaration into several declarations. For example,
rewrites:
\code
int *a, b;
\endcode
as
\code
int *a;
int b;
\endcode
\i Type name or variable name
\row
\i Split if Statement
\i Splits an if statement into several statements. For example, rewrites:
\code
if (something && something_else) {
}
\endcode
as
\code
if (something) {
if (something_else) {
}
}
\endcode
and
\code
if (something || something_else)
x;
\endcode
with
\code
if (something)
x;
else if (something_else)
x;
\endcode
\i && ||
\row
\i Swap Operands
\i Rewrites an expression in the inverse order using the inverse operator.
For example, rewrites:
\code
a op b
\endcode
as
\code
b flipop a
\endcode
\i <= < > >= == != && ||
\row
\i Convert to Decimal
\i Converts an integer literal to decimal representation
\i Numeric literal
\row
\i Convert to Hexadecimal
\i Converts an integer literal to hexadecimal representation
\i Numeric literal
\row
\i Convert to Octal
\i Converts an integer literal to octal representation
\i Numeric literal
\row
\i Convert to Objective-C String Literal
\i Converts a string literal to an Objective-C string literal
if the file type is Objective-C(++). For example, rewrites the following strings
\code
"abcd"
QLatin1String("abcd")
QLatin1Literal("abcd")
\endcode
as
\code
@"abcd"
\endcode
\i String literal
\row
\i Enclose in QLatin1Char(...)
\i Sets the encoding for a character to Latin-1, unless the character is
already enclosed in QLatin1Char, QT_TRANSLATE_NOOP, tr, trUtf8,
QLatin1Literal, or QLatin1String. For example, rewrites
\code
'
a
'
\endcode
as
\code
QLatin1Char('
a
')
\endcode
\i String literal
\row
\i Enclose in QLatin1String(...)
\i Sets the encoding for a string to Latin-1, unless the string is
already enclosed in QLatin1Char, QT_TRANSLATE_NOOP, tr, trUtf8,
QLatin1Literal, or QLatin1String. For example, rewrites
\code
"abcd"
\endcode
as
\code
QLatin1String("abcd")
\endcode
\i String literal
\row
\i Mark as Translatable
\i Marks a string translatable. For example, rewrites \c "abcd" with
one of the following options, depending on which of them is available:
\code
tr("abcd")
QCoreApplication::translate("CONTEXT", "abcd")
QT_TRANSLATE_NOOP("GLOBAL", "abcd")
\endcode
\i String literal
\row
\i #include Header File
\i Adds the matching #include statement for a forward-declared class or struct
\i Forward-declared class or struct
\row
\i Add Definition in '
filename
'
\i Inserts a definition stub for a member function declaration in the
implementation file
\i Method name
\row
\i Add '
Function
' Declaration
\i Inserts the member function declaration that matches the member function
definition into the class declaration. The function can be public,
protected, private, public slot, protected slot, or private slot.
\i Method name
\row
\i Add Local Declaration
\i
Adds the type of an assignee, if the type of the right-hand side of the assignment
is known. For example, rewrites
\code
a = foo();
\endcode
as
\code
Type a = foo();
\endcode
where Type is the return type of \c {foo()}
\i Assignee
\row
\i Convert to Camel Case...
\i Converts a symbol name to camel case, where elements of the name are joined
without delimiter characters and the initial character of each element is
capitalized. For example, rewrites \c an_example_symbol
as \c anExampleSymbol and \c AN_EXAMPLE_SYMBOL as \c AnExampleSymbol
\i Indentifier
\row
\i Complete Switch Statement
\i Adds all possible cases to a switch statement of the type \c enum
\i Switch
\row
\i Generate Missing Q_PROPERTY Members...
\i Adds missing members to a Q_PROPERTY:
\list
\o \c read method
\o \c write method, if there is a WRITE
\o \c {on...Changed} signal, if there is a NOTIFY
\o data member with the name \c {m_<propertyName>}
\endlist
\i Q_PROPERTY
\endtable
\section2 Refactoring QML Code
You can apply the following types of refactoring actions to QML code:
...
...
@@ -2193,7 +2485,46 @@
\endlist
*/
The following table summarizes the refactoring actions for QML code. The
action is available when the cursor is in the position described in the
Activation column.
\table
\header
\i Refactoring Action
\i Description
\i Activation
\row
\i Move Component into '
filename
.
qml
'
\i Moves a QML element into a separate file
\i Element name
\row
\i Rename id
\i Renames all instances of an element ID in the currently open file
\i Element ID
\row
\i Split Initializer
\i Reformats a one-line element into a multi-line element. For example,
rewrites
\code
Item { x: 10; y: 20; width: 10 }
\endcode
as
\code
Item {
x: 10;
y: 20;
width: 10
}
\endcode
\i Element property
\endtable
*/
/*!
\contentspage index.html
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment