und is the command-line interface to Understand — script project creation, analysis, CodeCheck, metrics, and reports, locally or in CI.
Run Understand from the command line · Headless workflow: create, analyze, check, report
und Settings Examples
A real, working und settings command for each setting that has discrete options, grouped by language. Every example was run against a project and accepted by the tool; myProject.und is a stand-in database name.
Setting several options in one command
A single und settings call can set as many options as you like — just list each switch and its value. Each command below was validated as a whole.
| What it does | Command |
|---|---|
| Several general options at once | und settings -DependencyExcludeStandard On -DependencyUseIncludes On -DependencyMode Compile myProject.und |
| Tune the C/C++ analysis | und settings -C++UseStrict On -C++CreateUniqueEntitiesForObjectDataMembers On -C++CreateUniqueEntitiesForObjectFunctionMembers On -C++CreateReferencesInInactiveCode On myProject.und |
| Enable a set of metrics | und settings -MetricWriteColumnTitles On -MetricAddUniqueNameColumn On -MetricShowFunctionParameterTypes On -MetricShowDeclaredInFile On myProject.und |
| General, metric, and C/C++ options together | und settings -DependencyExcludeStandard On -DependencyUseIncludes On -MetricWriteColumnTitles On -C++UseStrict On myProject.und |
A typical command-line workflow
Create a project, add sources, tune the analysis, parse, run CodeCheck, and generate reports — as you might in a CI job. The settings options below were validated by the tool; the paths are stand-ins.
und create -db myProject.und -languages c++
und add -db myProject.und ./src
und settings -C++UseStrict On -C++CreateUniqueEntitiesForObjectDataMembers On -MetricWriteColumnTitles On myProject.und
und analyze -db myProject.und
und codecheck -gitfiles MyConfig myProject.und ./codecheck_out
und report myProject.und
General Settings
| Setting | Options | Example |
|---|---|---|
| DependencyExcludeStandard | On/Off | und settings -DependencyExcludeStandard On myProject.und |
| DependencyUseIncludes | On/Off | und settings -DependencyUseIncludes On myProject.und |
| DependencyMode | Compile/Link | und settings -DependencyMode Compile myProject.und |
| OpenFilesAsReadOnly | On/Off | und settings -OpenFilesAsReadOnly On myProject.und |
| EnforcePortability | On/Off | und settings -EnforcePortability On myProject.und |
| MaxFileSizeParsed | 2-150 MB | und settings -MaxFileSizeParsed 2 myProject.und |
| FileEncoding | UTF-8 | und settings -FileEncoding UTF-8 myProject.und |
Metric Settings
| Setting | Options | Example |
|---|---|---|
| WriteColumnTitles | On/Off | und settings -MetricWriteColumnTitles On myProject.und |
| AddUniqueNameColumn | On/Off | und settings -MetricAddUniqueNameColumn On myProject.und |
| ShowFunctionParameterTypes | On/Off | und settings -MetricShowFunctionParameterTypes On myProject.und |
| ShowDeclaredInFile | On/Off | und settings -MetricShowDeclaredInFile On myProject.und |
| DeclaredInFileDisplayMode | NoPath/FullPath/RelativePath | und settings -MetricDeclaredInFileDisplayMode NoPath myProject.und |
| FileNameDisplayMode | NoPath/FullPath/RelativePath | und settings -MetricFileNameDisplayMode NoPath myProject.und |
| ShowLineCountMetrics | On/Off | und settings -MetricShowLineCountMetrics On myProject.und |
| InactiveLines | Exclude/Include/Both | und settings -MetricInactiveLines Exclude myProject.und |
| ShowStatementCountMetrics | On/Off | und settings -MetricShowStatementCountMetrics On myProject.und |
| BreakdownCountsByWebLanguage | On/Off | und settings -MetricBreakdownCountsByWebLanguage On myProject.und |
| Cyclomatic | All/Normal/Strict/Modified/StrictModified | und settings -MetricCyclomatic All myProject.und |
| ShowMaximumNesting | On/Off | und settings -MetricShowMaximumNesting On myProject.und |
| ShowPaths | On/Off | und settings -MetricShowPaths On myProject.und |
| ShowKnots | On/Off | und settings -MetricShowKnots On myProject.und |
| ShowEssential | On/Off | und settings -MetricShowEssential On myProject.und |
| ShowInheritanceMetrics | On/Off | und settings -MetricShowInheritanceMetrics On myProject.und |
| ShowMethodAndVariableCountMetrics | On/Off | und settings -MetricShowMethodAndVariableCountMetrics On myProject.und |
| ShowDefaultSummaryMetrics | On/Off | und settings -MetricShowDefaultSummaryMetrics On myProject.und |
| ShowAggregatedFileMetrics | On/Off | und settings -MetricShowAggregatedFileMetrics On myProject.und |
| ShowAggregatedFunctionMetrics | On/Off | und settings -MetricShowAggregatedFunctionMetrics On myProject.und |
| ShowAggregatedClassMetrics | On/Off | und settings -MetricShowAggregatedClassMetrics On myProject.und |
Report Settings
| Setting | Options | Example |
|---|---|---|
| DisplayCreationDate | On/Off | und settings -ReportDisplayCreationDate On myProject.und |
| DisplayParameters | On/Off | und settings -ReportDisplayParameters On myProject.und |
| IndexByMethod | On/Off | und settings -ReportIndexByMethod On myProject.und |
| GroupByDirectory | On/Off | und settings -ReportGroupByDirectory On myProject.und |
| DisplayHeaderText | On/Off | und settings -ReportDisplayHeaderText On myProject.und |
| DisplayUserHeaderText | On/Off | und settings -ReportDisplayUserHeaderText On myProject.und |
| FileNameDisplayMode | Full/Short | und settings -ReportFileNameDisplayMode Full myProject.und |
| GenerateHTMLReport | On/Off | und settings -ReportGenerateHTMLReport On myProject.und |
| NumberofPages | Single/Alphabetic/NEntity | und settings -ReportNumberofPages Single myProject.und |
| HTMLClearDirectory | On/Off | und settings -ReportHTMLClearDirectory On myProject.und |
| GenerateTextReport | On/Off | und settings -ReportGenerateTextReport On myProject.und |
| NumberOfFiles | Single/Separate | und settings -ReportNumberOfFiles Single myProject.und |
Ada Settings
| Setting | Options | Example |
|---|---|---|
| Display | Original/Upper/Lower/First/Mixed | und settings -AdaDisplay Original myProject.und |
| LinkageCase | Lowercase/Uppercase | und settings -AdaLinkageCase Lowercase myProject.und |
| CountAndOrOperators | On/Off | und settings -AdaCountAndOrOperators On myProject.und |
| CountExceptionsHandlers | On/Off | und settings -AdaCountExceptionsHandlers On myProject.und |
| CountForLoops | On/Off | und settings -AdaCountForLoops On myProject.und |
| CreateRecordObjectComponents | On/Off | und settings -AdaCreateRecordObjectComponents On myProject.und |
| CreateRelationsBetweenFormalAndActualParameters | On/Off | und settings -AdaCreateRelationsBetweenFormalAndActualParameters On myProject.und |
| OptimizeForLessMemory | On/Off | und settings -AdaOptimizeForLessMemory On myProject.und |
| SaveCommentsWithEntities | On/Off | und settings -AdaSaveCommentsWithEntities On myProject.und |
| PromptOnParseError | On/Off | und settings -AdaPromptOnParseError On myProject.und |
| Version | Ada83/Ada95/Ada05/Ada12 | und settings -AdaVersion Ada83 myProject.und |
| Preprocessor | None/C/Gnatprep/GreenHills/Verdix | und settings -AdaPreprocessor None myProject.und |
Basic Settings
| Setting | Options | Example |
|---|---|---|
| Analyze Reference DLLs | On/Off | und settings -BasicAnalyzeReferenceDLLs On myProject.und |
C/C++ Settings
| Setting | Options | Example |
|---|---|---|
| UseStrict | On/Off | und settings -C++UseStrict On myProject.und |
| CreateUniqueEntitiesForObjectDataMembers | On/Off | und settings -C++CreateUniqueEntitiesForObjectDataMembers On myProject.und |
| CreateUniqueEntitiesForObjectFunctionMembers | On/Off | und settings -C++CreateUniqueEntitiesForObjectFunctionMembers On myProject.und |
| CreateReferencesInInactiveCode | On/Off | und settings -C++CreateReferencesInInactiveCode On myProject.und |
| SaveCommentsWithEntities | On/Off | und settings -C++SaveCommentsWithEntities On myProject.und |
| SaveMacroExpansionText | On/Off | und settings -C++SaveMacroExpansionText On myProject.und |
| SimplifyMacroExpansion | On/Off | und settings -C++SimplifyMacroExpansion On myProject.und |
| StartWorkerProcessesSerially | On/Off | und settings -C++StartWorkerProcessesSerially On myProject.und |
| AddFoundFilesToProject | On/Off | und settings -C++AddFoundFilesToProject On myProject.und |
| AddFoundSystemFiles | On/Off | und settings -C++AddFoundSystemFiles On myProject.und |
| SearchForIncludesInProject | On/Off | und settings -C++SearchForIncludesInProject On myProject.und |
| IgnoreDirectory | On/Off | und settings -C++IgnoreDirectory On myProject.und |
| AnalyzeHeadersInIsolation | On/Off | und settings -C++AnalyzeHeadersInIsolation On myProject.und |
| DisableSystemIncludes | On/Off | und settings -C++DisableSystemIncludes On myProject.und |
| DisableCxxStdLibIncludes | On/Off | und settings -C++DisableCxxStdLibIncludes On myProject.und |
| AllowNestedComments | On/Off | und settings -C++AllowNestedComments On myProject.und |
| IgnorePreprocessorConditionals | On/Off | und settings -C++IgnorePreprocessorConditionals On myProject.und |
| TreatSystemIncludesAsUser | On/Off | und settings -C++TreatSystemIncludesAsUser On myProject.und |
| CreateImplicitSpecialMemberFunctions | On/Off | und settings -C++CreateImplicitSpecialMemberFunctions On myProject.und |
| CreateReferencesInAssembly | On/Off | und settings -C++CreateReferencesInAssembly On myProject.und |
| CreateReferencesToLocalObjects | On/Off | und settings -C++CreateReferencesToLocalObjects On myProject.und |
| CreateReferencesToMacrosDuringMacroExpansion | On/Off | und settings -C++CreateReferencesToMacrosDuringMacroExpansion On myProject.und |
| CreateReferencesToParameter | On/Off | und settings -C++CreateReferencesToParameter On myProject.und |
| SaveDuplicateReferences | On/Off | und settings -C++SaveDuplicateReferences On myProject.und |
| UseIncludeCache | On/Off | und settings -C++UseIncludeCache On myProject.und |
C# Settings
| Setting | Options | Example |
|---|---|---|
| AnalyzeReferenceDLLs | On/Off | und settings -C#AnalyzeReferenceDLLs On myProject.und |
| SaveCommentsWithEntities | On/Off | und settings -C#SaveCommentsWithEntities On myProject.und |
Fortran Settings
| Setting | Options | Example |
|---|---|---|
| Display | Original/Upper/Lower/First/Mixed | und settings -FortranDisplay Original myProject.und |
| AllowCStyleComments | On/Off | und settings -FortranAllowCStyleComments On myProject.und |
| AllowSemicolonStarComments | On/Off | und settings -FortranAllowSemicolonStarComments On myProject.und |
| AllowColonsInNames | On/Off | und settings -FortranAllowColonsInNames On myProject.und |
| AllowFunctionDeclarationWithoutParentheses | On/Off | und settings -FortranAllowFunctionDeclarationWithoutParentheses On myProject.und |
| AllowParameterDeclarationWithoutParentheses | On/Off | und settings -FortranAllowParameterDeclarationWithoutParentheses On myProject.und |
| AllowQuoteInOctalConstants | On/Off | und settings -FortranAllowQuoteInOctalConstants On myProject.und |
| CaseSensitiveIdentifiers | On/Off | und settings -FortranCaseSensitiveIdentifiers On myProject.und |
| UsePreprocessor | On/Off | und settings -FortranUsePreprocessor On myProject.und |
| Format | Auto/Free/Fixed | und settings -FortranFormat Auto myProject.und |
| Case | Lowercase/Uppercase/Preserve | und settings -FortranCase Lowercase myProject.und |
| PromptOnParseError | On/Off | und settings -FortranPromptOnParseError On myProject.und |
| SaveComments with Entities | On/Off | und settings -FortranSaveCommentswithEntities On myProject.und |
| Truncate | Auto/None/72/132/Custom | und settings -FortranTruncate Auto myProject.und |
| Version | Fortran77/Fortran90/Fortran95/Fortran03/Fortran08/Fortran18 | und settings -FortranVersion Fortran77 myProject.und |
Java Settings
| Setting | Options | Example |
|---|---|---|
| IncludePackageName | On/Off | und settings -JavaIncludePackageName On myProject.und |
| SaveComments with Entities | On/Off | und settings -JavaSaveCommentswithEntities On myProject.und |
| Version | 1.3/1.4/5/6/7/8/9/10-21 | und settings -JavaVersion 1.3 myProject.und |
Jovial Settings
| Setting | Options | Example |
|---|---|---|
| ExpandCopyFileReferences | On/Off | und settings -JovialExpandCopyFileReferences On myProject.und |
| Display | Original/Upper/Lower/First/Mixed | und settings -JovialDisplay Original myProject.und |
| Case | Lowercase/Uppercase/Preserve | und settings -JovialCase Lowercase myProject.und |
| Truncate | Custom/None/72 | und settings -JovialTruncate None myProject.und |
| Version | Jovial3/Jovial73 | und settings -JovialVersion Jovial3 myProject.und |
Pascal Settings
| Setting | Options | Example |
|---|---|---|
| AllowEmbeddedSQL | On/Off | und settings -PascalAllowEmbeddedSQL On myProject.und |
| Display | Original/Upper/Lower/First/Mixed | und settings -PascalDisplay Original myProject.und |
| Case | Lowercase/Preserve/Uppercase | und settings -PascalCase Lowercase myProject.und |
| Version | Delphi/Compaq/DEC/HP/Pascal86/Turbo/VSI | und settings -PascalVersion Delphi myProject.und |
Python Settings
| Setting | Options | Example |
|---|---|---|
| UseBuiltinStandard | On/Off | und settings -PythonUseBuiltinStandard On myProject.und |
| UseInstalledStandard | On/Off | und settings -PythonUseInstalledStandard On myProject.und |
| PythonSetVersion | Python2/Python3 | und settings -PythonSetVersion Python2 myProject.und |
| SaveComments with Entities | On/Off | und settings -PythonSaveCommentswithEntities On myProject.und |
| AssumeNearestMatches | On/Off | und settings -PythonAssumeNearestMatches On myProject.und |
| IgnoreImportErrorsInTryBlocks | On/Off | und settings -PythonIgnoreImportErrorsInTryBlocks On myProject.und |
Rust Settings
| Setting | Options | Example |
|---|---|---|
| Release Profile | On/Off | und settings -RustReleaseProfile On myProject.und |
Web Settings
| Setting | Options | Example |
|---|---|---|
| AddFoundImportedJSFiles | On/Off | und settings -WebAddFoundImportedJSFiles On myProject.und |
| AllowAspStylePhpTags | On/Off | und settings -WebAllowAspStylePhpTags On myProject.und |
| AllowShortPhpTags | On/Off | und settings -WebAllowShortPhpTags On myProject.und |
| PhpVersion | 5.3/5.4/5.5/5.6/7.0/7.1/7.2/7.3/7.4/8.0/8.1/8.2/8.3 | und settings -PhpVersion 5.3 myProject.und |
| AllowJQuery | On/Off | und settings -WebAllowJQuery On myProject.und |
| AllowNodeJS | On/Off | und settings -WebAllowNodeJS On myProject.und |
| SearchStringsForEntityNames | On/Off | und settings -WebSearchStringsForEntityNames On myProject.und |