Skip to main content

Android Studio / IntelliJ Plugin

DCM plugin is responsible for starting the analysis process and displaying analysis errors.

To download the extension,

or search DCM in the IntelliJ / AS plugins list.

Plugin capabilities

All the errors calculated by the analysis process will be displayed in the opened files and in the DCM Problems View.

Quick fixes are also available, simply call the quick fix menu on the issue in the opened file.

You can quickly fix all fixable DCM rule issues with "DCM: Fix All Auto-fixable Problems" IDE command or via a shortcut ⌘ + Shift + S.

DCM Fix All IDE Command

Assists

Wrap with ...

Analysis options files

If the analysis_options.yaml file is open, the plugin will mark all rules that support additional config with ⚙️ icon.

Analysis options config icons preview

You can also call code actions menu on each rule to quickly change its severity, disable it or open the rule documentation.

Analysis options code actions preview

Custom analysis options files

Aside from the regular analysis_option.yaml file, you can add a custom config file that matches one of the given patterns

  • starts with analysis_options (e.g. analysis_options.1.1.0.yaml)
  • starts with dcm (e.g. dcm_config.yaml or dcm.yaml)
  • placed inside a folder called dcm (e.g. dcm/config.yaml)

If such a file is referenced by any analysis_option.yaml file, DCM will correctly update configuration changes, validate rule names and display a configuration icon (⚙️) for configurable rules.

However, unlike for regular analysis_options.yaml files, code actions are not available.

DCM Problems View

Separate view is used to display the errors, calculated by the analysis process. Several other actions are also available from this view (e.g. restarting the analysis process or calling the quick fix menu for the selected problem).

DCM Problems View

To filter errors by severity, use the filter menu.

DCM Problems View

DCM Status Widget

You can easily see the status of the DCM analysis process in the bottom right corner of the IDE. Clicking on the status widget allows to call additional actions (e.g. restarting the process or seeing the timeouts for analysis requests).

DCM Status Widget

Available commands

  1. DCM: Restart Analysis server
  2. DCM: Activate License key
  3. DCM: Share Feedback
  4. DCM: Fix All Auto-fixable Problems
  5. DCM: Format Current File
  6. DCM: Show Issues From Baseline
  7. DCM: Hide Issues From Baseline

Available configuration

  1. Dart SDK path - is detected automatically if listed in PATH, but can be set up explicitly, if another version of the SDK should be used. FVM is also supported, if the project has a .fvm/flutter_sdk symlink - it will be used by the plugin as well.
  2. DCM executable path - is detected automatically if listed in PATH, but can be set up explicitly.

Manually locating the Dart SDK

If for some reason the Dart SDK was not located automatically (and you have it in your PATH), use the extension configuration to locate it manually.

For a locally installed Flutter SDK, the expected folder is named dart-sdk and is typically located at ...flutter/bin/cache/dart-sdk (where flutter is the Flutter SDK folder).

Alternatively, you can run which dart (or an alternative Windows command) and replace /dart with /cache/dart-sdk.

note

If you are setting the path to the Dart SDK manually, consider reaching out to our support team.

We are interested in supporting as many cases as possible to ultimately reduce the need for manual setup to zero.

Locating plugin logs

To find the plugin logs, use this official IntelliJ documentation guide.

All DCM log entries begin with the "com.dcm" prefix.

Ensuring the entire team installs the IDE plugin

To ensure that your entire team installs the IntelliJ / AS plugin, configure the list of "Required plugins".

Enabling inline diagnostics

To have diagnostics appear as text at the end of the line, consider installing an additional IDE plugin (for example, Inspection Lens).

warning

Make sure the installed third-party plugin is not malicious. We are not liable for any damage caused by third-party plugins.

Changelog

See the changelog.