IntelliJ Platform Plugin SDK Help

17. Commenter

A commenter enables the user to comment-out a line of code at the cursor or selected code automatically. The Commenter defines support for Code | Comment with Line Comment and Code | Comment with Block Comment actions.

Define a Commenter

The commenter for Simple Language defines the line comment prefix as #.

// Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package org.intellij.sdk.language; import com.intellij.lang.Commenter; import org.jetbrains.annotations.Nullable; public class SimpleCommenter implements Commenter { @Nullable @Override public String getLineCommentPrefix() { return "#"; } @Nullable @Override public String getBlockCommentPrefix() { return ""; } @Nullable @Override public String getBlockCommentSuffix() { return null; } @Nullable @Override public String getCommentedBlockCommentPrefix() { return null; } @Nullable @Override public String getCommentedBlockCommentSuffix() { return null; } }

Register the Commenter

The SimpleCommenter implementation is registered in the plugin configuration file using the com.intellij.lang.commenter extension point.

<extensions defaultExtensionNs="com.intellij"> <lang.commenter language="Simple" implementationClass="org.intellij.sdk.language.SimpleCommenter"/> </extensions>

Run the Project

Run the plugin by using the Gradle runIde task.

Open the example Simple Language properties file in the IDE Development Instance. Place the cursor at the website line. Select Code | Comment with Line Comment. The line is converted to a comment. Select Code | Comment with Line Comment again, and the comment is converted back to active code.

Commenter
Last modified: 03 June 2021