/****************************************************************************
**
** Copyright (c) 2013 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** 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 index.html
    \previouspage creator-project-generic.html
    \page creator-cli.html
    \nextpage creator-keyboard-shortcuts.html

    \title Using Command Line Options

    You can start \QC and specify some options from the command line.
    For example, you can open a file to any line.

    To specify command line options, enter the following command in the \QC
    installation or build directory:

    \c {qtcreator [option] [filename[:line_number]]}

    \note You can use either a colon (:) or a plus sign (+) as a separator
    between the filename and line number. You can also use a space between the
    separator and the line number.

    For example:

    \list

        \li \c {C:\qtcreator\bin>qtcreator -help}

        \li \c {C:\qtcreator\bin>qtcreator C:\TextFinder\textfinder.cpp:100}

        \li \c {C:\qtcreator\bin>qtcreator C:\TextFinder\textfinder.cpp +100}

    \endlist

    To open a project that is located in a particular folder, you can pass on the folder
    name as a command line argument. \QC looks for a session that matches the folder name and
    loads it. Or it looks for a project file in the folder and opens it. For example:

    \c {qtcreator .}

    The following table summarizes the available options:

    \table
        \header
            \li  Option
            \li  Description

        \row
            \li  -help
            \li  Display help on command line options.

        \row
            \li  -version
            \li  Display \QC version.

        \row
            \li  -client
            \li  Attempt to connect to an already running instance of \QC.

       \row
            \li -load <plugin>
            \li Load the specified plugin.

        \row
            \li  -noload <plugin>
            \li  Do not load the specified plugin.

        \row
            \li  -profile
            \li  Output plugin start up and shut down profiling data.

        \row
            \li  -settingspath <path>
            \li  Override the default path where user settings are stored.

        \row
            \li  -color <color>
            \li  Core plugin: override the selected UI color.

        \row
            \li  -debug <pid>
            \li  Debugger plugin: attach to the process with the given process ID.

        \row
            \li  -debug <executable>[,kit=<kit>]
            \li  Debugger plugin: launch and debug the executable with the name
                 \c{executable}.
                 A \c{kit} can be specified to point to non-default debuggers
                 and sysroots.

        \row
            \li  -debug [executable,]core=<corefile>[,kit=<kit>]
            \li  Debugger plugin: load the core file named \c{corefile}.
                 The parameter \c{executable} specifies the executable that
                 produced the core file.
                 If this parameter is omitted, \QC will attempt to reconstruct
                 it from the core file itself.
                 This will fail for paths with more than about 80 characters.
                 In such cases the \c{executable} parameter is mandatory.
                 A \c{kit} can be specified to point to non-default debuggers
                 and sysroots.

        \row
            \li  -debug <executable>,server=<server:port>[,kit=<kit>]
            \li  Debugger plugin: attach to a debug server running on the port
                 \c{port} on the server \c{server}. The parameter \c{executable}
                 specifies a local copy of the executable the remote debug server is
                 manipulating.
                 A \c{kit} can be specified to point to non-default debuggers
                 and sysroots.

        \row
            \li  -wincrashevent <event-handle>
            \li  Debugger plugin: Attach to crashed processes by using the specified
            event handle.

        \row
            \li  -customwizard-verbose
            \li  ProjectExplorer plugin: display additional information when loading
            custom wizards. For more information about custom wizards, see
            \l{Adding New Custom Wizards}

        \row
            \li  -lastsession
            \li  ProjectExplorer plugin: load the last session when \QC starts.
            Open the projects and files that were open when you last exited \QC.
            For more information about managing sessions, see \l{Managing Sessions}.

        \row
            \li -block
            \li Open files in editors in a running \QC instance and block the
                command line until the first editor is closed.
    \endtable

    \section1 Using Custom Styles

    \QC is a \l{http://qt-project.org/doc/qt-5.0/qtwidgets/qapplication.html#QApplication}
    {Qt application}, and therefore, it accepts the command line options
    that all Qt applications accept. For example, you can use the \c {-style} and
    \c {-stylesheet} options to apply custom styles and
    \l{http://qt-project.org/doc/qt-5.0/qtwidgets/stylesheet.html}{stylesheets}.
    The styling is only applied during the current session.

    Exercise caution when applying styles, as overriding the existing styling
    may make some items difficult to see. Also, setting a stylesheet may affect
    the \l{Specifying Text Editor Settings}{text editor color scheme} and the
    styling of the integrated \QD.

    */
