Doc: Describe the experimental Axivion plugin
Fixes: QTCREATORBUG-29240 Change-Id: I61e068796ddfd942553c9a0b64a8bede0d1db070 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
BIN
doc/qtcreator/images/icons/home.png
Normal file
|
After Width: | Height: | Size: 276 B |
BIN
doc/qtcreator/images/icons/info.png
Normal file
|
After Width: | Height: | Size: 203 B |
BIN
doc/qtcreator/images/qtcreator-axivion-annotation.webp
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
doc/qtcreator/images/qtcreator-axivion-view-rule.webp
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
doc/qtcreator/images/qtcreator-axivion-view.webp
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
doc/qtcreator/images/qtcreator-edit-dashboard-configuration.webp
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-axivion-project.webp
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-axivion.webp
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (C) 2022 The Qt Company Ltd.
|
// Copyright (C) 2023 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||||
|
|
||||||
// **********************************************************************
|
// **********************************************************************
|
||||||
@@ -44,6 +44,11 @@
|
|||||||
example, and use the results to make the tests more efficient and
|
example, and use the results to make the tests more efficient and
|
||||||
complete.
|
complete.
|
||||||
|
|
||||||
|
\li \l{Static Code Analysis}{Axivion}
|
||||||
|
|
||||||
|
Do static code analysis and architecture analysis to detect and
|
||||||
|
eliminate unnecessary complexity of code.
|
||||||
|
|
||||||
\li \l{Using Valgrind Code Analysis Tools}{Valgrind Code Analysis Tools}
|
\li \l{Using Valgrind Code Analysis Tools}{Valgrind Code Analysis Tools}
|
||||||
|
|
||||||
Detect problems in memory management by using the Memcheck
|
Detect problems in memory management by using the Memcheck
|
||||||
|
|||||||
109
doc/qtcreator/src/analyze/creator-axivion.qdoc
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
// Copyright (C) 2023 The Qt Company Ltd.
|
||||||
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\previouspage creator-coco.html
|
||||||
|
\page creator-axivion.html
|
||||||
|
\nextpage creator-valgrind-overview.html
|
||||||
|
|
||||||
|
\title Static Code Analysis
|
||||||
|
|
||||||
|
\l{https://www.axivion.com/en/products/axivion-suite/}{Axivion Suite} is
|
||||||
|
a tool suite for protecting software from erosion. Static code analysis,
|
||||||
|
architecture analysis, and code-smells-detection enable you to:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li Check the source code for potential runtime errors.
|
||||||
|
\li Use metrics to generate quantitative information about the
|
||||||
|
internal quality of the source code.
|
||||||
|
\li Run style checks to achieve compliance with coding guidelines.
|
||||||
|
\li Detect both duplicates and similar pieces of code in the source code.
|
||||||
|
\li Recognize cyclical dependencies at different levels.
|
||||||
|
\li Detect unreachable code.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
The experimental Axivion plugin integrates the Axivion dashboard server into
|
||||||
|
\QC.
|
||||||
|
|
||||||
|
To use the plugin, you must set up a project in the Axivion dashboard
|
||||||
|
server and link to it from \QC. You can then see style violations in the
|
||||||
|
\uicontrol Edit mode and descriptions and issue counts in the
|
||||||
|
\uicontrol Axivion view.
|
||||||
|
|
||||||
|
The editor shows style violations as inline annotations. Hover the mouse over
|
||||||
|
an annotation to bring up a tool tip with a short description of the issue.
|
||||||
|
|
||||||
|
\image qtcreator-axivion-annotation.webp {Annotation popup}
|
||||||
|
|
||||||
|
Select the \inlineimage icons/info.png
|
||||||
|
button to view detailed information about the issue in the \uicontrol Axivion
|
||||||
|
view.
|
||||||
|
|
||||||
|
\image qtcreator-axivion-view-rule.webp {Axivion view}
|
||||||
|
|
||||||
|
To view the issue counts, select \inlineimage icons/home.png
|
||||||
|
(\uicontrol {Show Dashboard}).
|
||||||
|
|
||||||
|
\section1 Enabling the Axivion Plugin
|
||||||
|
|
||||||
|
To enable the Axivion plugin:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li Select \uicontrol Help > \uicontrol {About Plugins} >
|
||||||
|
\uicontrol {Code Analyzer} > \uicontrol Axivion to enable the plugin.
|
||||||
|
\li Select \uicontrol {Restart Now} to restart \QC and load the plugin.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 Connecting to Axivion Dashboard Servers
|
||||||
|
|
||||||
|
To connect to Axivion:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Axivion.
|
||||||
|
\image qtcreator-preferences-axivion.webp {General tab in Axivion Preferences}
|
||||||
|
\li Select \uicontrol Edit to create a connection to the Axivion
|
||||||
|
dashboard server.
|
||||||
|
\image qtcreator-edit-dashboard-configuration.webp {Edit Dashboard Configuration dialog}
|
||||||
|
\li In \uicontrol {Dashboard URL}, enter the URL of the server.
|
||||||
|
\li In \uicontrol Description, enter a free-text description of the
|
||||||
|
server.
|
||||||
|
\li In \uicontrol {Access token}, enter the IDE application token that
|
||||||
|
you created in the server, in user preferences.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 Linking to Dashboards
|
||||||
|
|
||||||
|
To link a project to a dashboard:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li \uicontrol Projects > \uicontrol {Project Settings} >
|
||||||
|
\uicontrol Axivion.
|
||||||
|
\image qtcreator-preferences-axivion-project.webp {Axivion settings in Project Settings}
|
||||||
|
\li Select \uicontrol {Fetch Projects} to list projects from Axivion.
|
||||||
|
\li Select a project, and then select \uicontrol {Link Project} to link
|
||||||
|
to it.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
To unlink a project, select \uicontrol {Unlink Project}.
|
||||||
|
|
||||||
|
\section1 Viewing Issue Counts
|
||||||
|
|
||||||
|
\image qtcreator-axivion-view.webp {Axivion view}
|
||||||
|
|
||||||
|
The \uicontrol Axivion view lists the numbers of the following types of
|
||||||
|
issues that Axivion found in the linked project:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \uicontrol AV - architecture violations, such as hidden dependencies
|
||||||
|
\li \uicontrol CL - duplicates and similar pieces of code
|
||||||
|
\li \uicontrol CY - call, component, and include cycles
|
||||||
|
\li \uicontrol DE - dead code
|
||||||
|
\li \uicontrol MV - violations of metrics based on lines and tokens,
|
||||||
|
nesting, cyclomatic complexity, control flow, and so on.
|
||||||
|
\li \uicontrol SV - style violations, such as deviations from the naming
|
||||||
|
or coding conventions
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
To clear the view, select \inlineimage icons/clean_pane_small.png
|
||||||
|
(\uicontrol Clear).
|
||||||
|
*/
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
/*!
|
/*!
|
||||||
\previouspage creator-qml-performance-monitor.html
|
\previouspage creator-qml-performance-monitor.html
|
||||||
\page creator-coco.html
|
\page creator-coco.html
|
||||||
\nextpage creator-valgrind-overview.html
|
\nextpage creator-axivion.html
|
||||||
|
|
||||||
\title Checking Code Coverage
|
\title Checking Code Coverage
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
// **********************************************************************
|
// **********************************************************************
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\previouspage creator-coco.html
|
\previouspage creator-axivion.html
|
||||||
\page creator-valgrind-overview.html
|
\page creator-valgrind-overview.html
|
||||||
\nextpage creator-analyzer.html
|
\nextpage creator-analyzer.html
|
||||||
|
|
||||||
|
|||||||
@@ -205,6 +205,7 @@
|
|||||||
\list
|
\list
|
||||||
\li \l{Profiling QML Applications}
|
\li \l{Profiling QML Applications}
|
||||||
\li \l{Checking Code Coverage}
|
\li \l{Checking Code Coverage}
|
||||||
|
\li \l{Static Code Analysis}
|
||||||
\li \l{Using Valgrind Code Analysis Tools}
|
\li \l{Using Valgrind Code Analysis Tools}
|
||||||
\list
|
\list
|
||||||
\li \l{Detecting Memory Leaks with Memcheck}
|
\li \l{Detecting Memory Leaks with Memcheck}
|
||||||
|
|||||||
@@ -392,6 +392,10 @@
|
|||||||
|
|
||||||
\li \uicontrol{General Messages}
|
\li \uicontrol{General Messages}
|
||||||
|
|
||||||
|
\if defined(qtcreator)
|
||||||
|
\li \l {Static Code Analysis}{Axivion}
|
||||||
|
\endif
|
||||||
|
|
||||||
\li \uicontrol{Version Control}
|
\li \uicontrol{Version Control}
|
||||||
|
|
||||||
\if defined(qtcreator)
|
\if defined(qtcreator)
|
||||||
|
|||||||