2024.1 Release: update pages, extension point lists, code samples, etc. (#1265)

This commit is contained in:
Karol Lewandowski 2024-04-04 14:31:02 +02:00 committed by GitHub
parent 4ec2775bac
commit 88ea433b58
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
63 changed files with 582 additions and 435 deletions

View File

@ -7,7 +7,7 @@ on:
paths: [ 'code_samples/**','.github/workflows/code-samples.yml' ]
env:
PLUGIN_VERIFIER_IDE_VERSIONS: '2023.1.5 2023.2.5 2023.3'
PLUGIN_VERIFIER_IDE_VERSIONS: '2023.2.6 2023.3.6 2024.1'
jobs:

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
}
tasks {
@ -28,7 +28,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -22,7 +22,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
plugins.set(listOf("com.intellij.java"))
}
@ -33,7 +33,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -22,7 +22,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
plugins.set(listOf("com.intellij.java"))
}
@ -33,7 +33,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
}
tasks {
@ -28,7 +28,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
}
tasks {
@ -28,7 +28,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.facet;
@ -9,7 +9,6 @@ import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleType;
import icons.SdkIcons;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
@ -46,7 +45,6 @@ final class DemoFacetType extends FacetType<DemoFacet, DemoFacetConfiguration> {
return true;
}
@Nullable
@Override
public Icon getIcon() {
return SdkIcons.Sdk_default_icon;

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
plugins.set(listOf("com.intellij.java"))
}
@ -29,7 +29,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -19,7 +19,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
}
tasks {
@ -29,8 +29,8 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
compileKotlin {

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
}
tasks {
@ -28,7 +28,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.liveTemplates;
@ -27,7 +27,7 @@ final class TitleCaseMacro extends MacroBase {
if (text == null) {
return null;
}
if (text.length() > 0) {
if (!text.isEmpty()) {
// Capitalize the start of every word
text = StringUtil.toTitleCase(text);
}

View File

@ -3,6 +3,7 @@
plugins {
id("java")
id("org.jetbrains.intellij") version "1.17.3"
id("org.jetbrains.kotlin.jvm") version "1.9.23"
}
group = "org.intellij.sdk"
@ -18,7 +19,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
}
tasks {
@ -28,7 +29,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -1,4 +1,4 @@
// Copyright 2000-2022 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.maxOpenProjects;
@ -14,11 +14,6 @@ public class ProjectCloseListener implements ProjectManagerListener {
@Override
public void projectClosed(@NotNull Project project) {
// Ensure this isn't part of testing
if (ApplicationManager.getApplication().isUnitTestMode()) {
return;
}
// Get the counting service
ProjectCountingService projectCountingService =
ApplicationManager.getApplication().getService(ProjectCountingService.class);

View File

@ -1,41 +0,0 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.maxOpenProjects;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.startup.StartupActivity;
import com.intellij.openapi.ui.Messages;
import org.jetbrains.annotations.NotNull;
/**
* Invoked on opening a project.
*/
final class ProjectOpenStartupActivity implements StartupActivity.DumbAware {
@Override
public void runActivity(@NotNull Project project) {
// Ensure this isn't part of testing
if (ApplicationManager.getApplication().isUnitTestMode()) {
return;
}
// Get the counting service
ProjectCountingService projectCountingService =
ApplicationManager.getApplication().getService(ProjectCountingService.class);
// Increment the project count
projectCountingService.increaseOpenProjectCount();
// See if the total # of projects violates the limit.
if (projectCountingService.isOpenProjectsLimitExceeded()) {
// Transitioned to outside the limit
String title = String.format("Opening Project \"%s\"", project.getName());
String message = "<br>The number of open projects exceeds the SDK plugin max_opened_projects limit.<br><br>";
ApplicationManager.getApplication().invokeLater(() ->
Messages.showMessageDialog(project, message, title, Messages.getInformationIcon())
);
}
}
}

View File

@ -0,0 +1,29 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.maxOpenProjects
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.project.DumbAware
import com.intellij.openapi.project.Project
import com.intellij.openapi.startup.ProjectActivity
import com.intellij.openapi.ui.Messages
/**
* Invoked on opening a project.
*/
internal class ProjectOpenStartupActivity : ProjectActivity, DumbAware {
override suspend fun execute(project: Project) {
val application = ApplicationManager.getApplication()
val projectCountingService = application.getService(ProjectCountingService::class.java)
projectCountingService.increaseOpenProjectCount()
if (projectCountingService.isOpenProjectsLimitExceeded) {
application.invokeLater {
Messages.showMessageDialog(
project,
"The number of open projects exceeded the limit while opening the '${project.name}' project.",
"Open Projects Limit Exceeded",
Messages.getInformationIcon()
)
}
}
}
}

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
}
tasks {
@ -28,7 +28,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -1,4 +1,4 @@
// Copyright 2000-2022 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.module;
@ -6,6 +6,7 @@ import com.intellij.ide.util.projectWizard.ModuleBuilder;
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
import com.intellij.ide.util.projectWizard.WizardContext;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.module.ModuleType;
import com.intellij.openapi.roots.ModifiableRootModel;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@ -17,7 +18,7 @@ public class DemoModuleBuilder extends ModuleBuilder {
}
@Override
public DemoModuleType getModuleType() {
public ModuleType<DemoModuleBuilder> getModuleType() {
return DemoModuleType.getInstance();
}

View File

@ -31,7 +31,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
plugins.set(listOf("com.intellij.java"))
}
@ -29,7 +29,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.project.model;
@ -62,8 +62,7 @@ public class LibrariesAction extends AnAction {
final ProjectFileIndex fileIndex = ProjectRootManager.getInstance(project).getFileIndex();
StringBuilder jars = new StringBuilder();
for (OrderEntry orderEntry : fileIndex.getOrderEntriesForFile(virtualFile)) {
if (orderEntry instanceof LibraryOrderEntry) {
final LibraryOrderEntry libraryEntry = (LibraryOrderEntry) orderEntry;
if (orderEntry instanceof LibraryOrderEntry libraryEntry) {
final Library library = libraryEntry.getLibrary();
if (library == null) {
continue;
@ -79,7 +78,7 @@ public class LibrariesAction extends AnAction {
}
String fileAndLibs;
if (jars.length() > 0) {
fileAndLibs = virtualFile.getName() + ": " + jars.toString();
fileAndLibs = virtualFile.getName() + ": " + jars;
} else {
fileAndLibs = "None";
}

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.project.model;
@ -32,7 +32,7 @@ public class ShowSourceRootsActions extends AnAction {
sourceRootsList.append(file.getUrl()).append("\n");
}
Messages.showInfoMessage(
"Source roots for the " + projectName + " plugin:\n" + sourceRootsList.toString(),
"Source roots for the " + projectName + " plugin:\n" + sourceRootsList,
"Project Properties"
);
}

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
}
tasks {
@ -28,7 +28,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
}
tasks {
@ -28,7 +28,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
plugins.set(listOf("com.intellij.java"))
}
@ -29,7 +29,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
}
tasks {
@ -28,7 +28,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
}
tasks {
@ -28,7 +28,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -1,4 +1,4 @@
// Copyright 2000-2022 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.settings;
@ -8,7 +8,6 @@ import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
import com.intellij.util.xmlb.XmlSerializerUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* Supports storing the application settings in a persistent way.
@ -28,7 +27,6 @@ final class AppSettingsState implements PersistentStateComponent<AppSettingsStat
return ApplicationManager.getApplication().getService(AppSettingsState.class);
}
@Nullable
@Override
public AppSettingsState getState() {
return this;

View File

@ -31,7 +31,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
plugins.set(listOf("com.intellij.java"))
}
@ -42,7 +42,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.language;
@ -10,7 +10,6 @@ import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.psi.codeStyle.CodeStyleSettingsProvider;
import com.intellij.psi.codeStyle.CustomCodeStyleSettings;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
final class SimpleCodeStyleSettingsProvider extends CodeStyleSettingsProvider {
@ -19,7 +18,6 @@ final class SimpleCodeStyleSettingsProvider extends CodeStyleSettingsProvider {
return new SimpleCodeStyleSettings(settings);
}
@Nullable
@Override
public String getConfigurableDisplayName() {
return "Simple";

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.language;
@ -22,7 +22,6 @@ final class SimpleColorSettingsPage implements ColorSettingsPage {
new AttributesDescriptor("Bad value", SimpleSyntaxHighlighter.BAD_CHARACTER)
};
@Nullable
@Override
public Icon getIcon() {
return SimpleIcons.FILE;
@ -37,18 +36,19 @@ final class SimpleColorSettingsPage implements ColorSettingsPage {
@NotNull
@Override
public String getDemoText() {
return "# You are reading the \".properties\" entry.\n" +
"! The exclamation mark can also mark text as comments.\n" +
"website = https://en.wikipedia.org/\n" +
"language = English\n" +
"# The backslash below tells the application to continue reading\n" +
"# the value onto the next line.\n" +
"message = Welcome to \\\n" +
" Wikipedia!\n" +
"# Add spaces to the key\n" +
"key\\ with\\ spaces = This is the value that could be looked up with the key \"key with spaces\".\n" +
"# Unicode\n" +
"tab : \\u0009";
return """
# You are reading the ".properties" entry.
! The exclamation mark can also mark text as comments.
website = https://en.wikipedia.org/
language = English
# The backslash below tells the application to continue reading
# the value onto the next line.
message = Welcome to \\
Wikipedia!
# Add spaces to the key
key\\ with\\ spaces = This is the value that could be looked up with the key "key with spaces".
# Unicode
tab : \\u0009""";
}
@Nullable

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.language;
@ -7,13 +7,11 @@ import org.jetbrains.annotations.Nullable;
final class SimpleCommenter implements Commenter {
@Nullable
@Override
public String getLineCommentPrefix() {
return "#";
}
@Nullable
@Override
public String getBlockCommentPrefix() {
return "";

View File

@ -1,10 +1,9 @@
// Copyright 2000-2023 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.language;
import com.intellij.openapi.fileTypes.LanguageFileType;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
@ -34,7 +33,6 @@ public final class SimpleFileType extends LanguageFileType {
return "simple";
}
@Nullable
@Override
public Icon getIcon() {
return SimpleIcons.FILE;

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.language;
@ -15,7 +15,6 @@ import org.jetbrains.annotations.Nullable;
final class SimpleFindUsagesProvider implements FindUsagesProvider {
@Nullable
@Override
public WordsScanner getWordsScanner() {
return new DefaultWordsScanner(new SimpleLexerAdapter(),

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.language;
@ -27,7 +27,9 @@ import java.util.List;
final class SimpleFoldingBuilder extends FoldingBuilderEx implements DumbAware {
@Override
public FoldingDescriptor @NotNull [] buildFoldRegions(@NotNull PsiElement root, @NotNull Document document, boolean quick) {
public FoldingDescriptor @NotNull [] buildFoldRegions(@NotNull PsiElement root,
@NotNull Document document,
boolean quick) {
// Initialize the group of folding regions that will expand/collapse together.
FoldingGroup group = FoldingGroup.newGroup(SimpleAnnotator.SIMPLE_PREFIX_STR);
// Initialize the list of folding regions
@ -40,7 +42,8 @@ final class SimpleFoldingBuilder extends FoldingBuilderEx implements DumbAware {
super.visitLiteralExpression(literalExpression);
String value = PsiLiteralUtil.getStringLiteralContent(literalExpression);
if (value != null && value.startsWith(SimpleAnnotator.SIMPLE_PREFIX_STR + SimpleAnnotator.SIMPLE_SEPARATOR_STR)) {
if (value != null &&
value.startsWith(SimpleAnnotator.SIMPLE_PREFIX_STR + SimpleAnnotator.SIMPLE_SEPARATOR_STR)) {
Project project = literalExpression.getProject();
String key = value.substring(
SimpleAnnotator.SIMPLE_PREFIX_STR.length() + SimpleAnnotator.SIMPLE_SEPARATOR_STR.length()
@ -58,7 +61,7 @@ final class SimpleFoldingBuilder extends FoldingBuilderEx implements DumbAware {
}
});
return descriptors.toArray(FoldingDescriptor.EMPTY);
return descriptors.toArray(FoldingDescriptor.EMPTY_ARRAY);
}
/**
@ -95,7 +98,9 @@ final class SimpleFoldingBuilder extends FoldingBuilderEx implements DumbAware {
return StringUtil.THREE_DOTS;
}
return propertyValue.replaceAll("\n", "\\n").replaceAll("\"", "\\\\\"");
return propertyValue
.replaceAll("\n", "\\n")
.replaceAll("\"", "\\\\\"");
}
return null;

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.language;
@ -27,19 +27,20 @@ final class SimpleLanguageCodeStyleSettingsProvider extends LanguageCodeStyleSet
@Override
public String getCodeSample(@NotNull SettingsType settingsType) {
return "# You are reading the \".properties\" entry.\n" +
"! The exclamation mark can also mark text as comments.\n" +
"website = https://en.wikipedia.org/\n" +
"\n" +
"language = English\n" +
"# The backslash below tells the application to continue reading\n" +
"# the value onto the next line.\n" +
"message = Welcome to \\\n" +
" Wikipedia!\n" +
"# Add spaces to the key\n" +
"key\\ with\\ spaces = This is the value that could be looked up with the key \"key with spaces\".\n" +
"# Unicode\n" +
"tab : \\u0009";
return """
# You are reading the ".properties" entry.
! The exclamation mark can also mark text as comments.
website = https://en.wikipedia.org/
language = English
# The backslash below tells the application to continue reading
# the value onto the next line.
message = Welcome to \\
Wikipedia!
# Add spaces to the key
key\\ with\\ spaces = This is the value that could be looked up with the key "key with spaces".
# Unicode
tab : \\u0009""";
}
}

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.language;
@ -21,12 +21,11 @@ final class SimpleLineMarkerProvider extends RelatedItemLineMarkerProvider {
protected void collectNavigationMarkers(@NotNull PsiElement element,
@NotNull Collection<? super RelatedItemLineMarkerInfo<?>> result) {
// This must be an element with a literal expression as a parent
if (!(element instanceof PsiJavaTokenImpl) || !(element.getParent() instanceof PsiLiteralExpression)) {
if (!(element instanceof PsiJavaTokenImpl) || !(element.getParent() instanceof PsiLiteralExpression literalExpression)) {
return;
}
// The literal expression must start with the Simple language literal expression
PsiLiteralExpression literalExpression = (PsiLiteralExpression) element.getParent();
String value = literalExpression.getValue() instanceof String ? (String) literalExpression.getValue() : null;
if ((value == null) ||
!value.startsWith(SimpleAnnotator.SIMPLE_PREFIX_STR + SimpleAnnotator.SIMPLE_SEPARATOR_STR)) {
@ -39,7 +38,7 @@ final class SimpleLineMarkerProvider extends RelatedItemLineMarkerProvider {
SimpleAnnotator.SIMPLE_PREFIX_STR.length() + SimpleAnnotator.SIMPLE_SEPARATOR_STR.length()
);
final List<SimpleProperty> properties = SimpleUtil.findProperties(project, possibleProperties);
if (properties.size() > 0) {
if (!properties.isEmpty()) {
// Add the property to a collection of line marker info
NavigationGutterIconBuilder<PsiElement> builder =
NavigationGutterIconBuilder.create(SimpleIcons.FILE)

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.language;
@ -47,7 +47,7 @@ final class SimpleReference extends PsiReferenceBase<PsiElement> implements PsiP
List<SimpleProperty> properties = SimpleUtil.findProperties(project);
List<LookupElement> variants = new ArrayList<>();
for (final SimpleProperty property : properties) {
if (property.getKey() != null && property.getKey().length() > 0) {
if (property.getKey() != null && !property.getKey().isEmpty()) {
variants.add(LookupElementBuilder
.create(property).withIcon(SimpleIcons.FILE)
.withTypeText(property.getContainingFile().getName())

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.language;
@ -34,7 +34,7 @@ final class SimpleSpellcheckingStrategy extends SpellcheckingStrategy {
private static class SimpleCommentTokenizer extends Tokenizer<PsiComment> {
@Override
public void tokenize(@NotNull PsiComment element, TokenConsumer consumer) {
public void tokenize(@NotNull PsiComment element, @NotNull TokenConsumer consumer) {
// Exclude the start of the comment with its # characters from spell checking
int startIndex = 0;
for (char c : element.textToCharArray()) {
@ -53,7 +53,7 @@ final class SimpleSpellcheckingStrategy extends SpellcheckingStrategy {
private static class SimplePropertyTokenizer extends Tokenizer<SimpleProperty> {
public void tokenize(@NotNull SimpleProperty element, TokenConsumer consumer) {
public void tokenize(@NotNull SimpleProperty element, @NotNull TokenConsumer consumer) {
//Spell check the keys and values of properties with different splitters
final ASTNode key = element.getNode().findChildByType(SimpleTypes.KEY);
if (key != null && key.getTextLength() > 0) {

View File

@ -1,4 +1,4 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.language;
@ -13,7 +13,6 @@ import org.jetbrains.annotations.Nullable;
final class SimpleStructureViewFactory implements PsiStructureViewFactory {
@Nullable
@Override
public StructureViewBuilder getStructureViewBuilder(@NotNull final PsiFile psiFile) {
return new TreeBasedStructureViewBuilder() {

View File

@ -1,4 +1,4 @@
// Copyright 2000-2022 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.language;
@ -13,7 +13,6 @@ import com.intellij.psi.PsiReference;
import com.intellij.psi.codeStyle.CodeStyleManager;
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
import com.intellij.usageView.UsageInfo;
import com.intellij.util.containers.ContainerUtil;
import org.intellij.sdk.language.psi.SimpleProperty;
import java.util.Collection;
@ -49,7 +48,7 @@ public class SimpleCodeInsightTest extends LightJavaCodeInsightFixtureTestCase {
WriteCommandAction.writeCommandAction(getProject()).run(() ->
CodeStyleManager.getInstance(getProject()).reformatText(
myFixture.getFile(),
ContainerUtil.newArrayList(myFixture.getFile().getTextRange())
List.of(myFixture.getFile().getTextRange())
)
);
myFixture.checkResultByFile("DefaultTestData.simple");

View File

@ -1,4 +1,4 @@
// Copyright 2000-2022 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.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.language;
@ -22,11 +22,6 @@ public class SimpleParsingTest extends ParsingTestCase {
return "src/test/testData";
}
@Override
protected boolean skipSpaces() {
return false;
}
@Override
protected boolean includeRanges() {
return true;

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
}
tasks {
@ -28,7 +28,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

View File

@ -18,7 +18,7 @@ java {
// See https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
version.set("2023.1.5")
version.set("2023.2.6")
}
tasks {
@ -28,7 +28,7 @@ tasks {
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("231")
untilBuild.set("233.*")
sinceBuild.set("232")
untilBuild.set("241.*")
}
}

File diff suppressed because it is too large Load Diff

View File

@ -77,7 +77,7 @@ See also:
## ProductInfo
{#ProductInfo}
[`ProductInfo`](%gh-ijpgp%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/model/ProductInfo.kt)
[`ProductInfo`](%gh-ijpgp%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/models/ProductInfo.kt)
Represents information about the IntelliJ Platform product.
@ -114,7 +114,7 @@ Throws
## ProductRelease.Channel
{#ProductRelease-Channel}
[`ProductRelease.Channel`](%gh-ijpgp%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/model/ProductRelease.kt)
[`ProductRelease.Channel`](%gh-ijpgp%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/models/ProductRelease.kt)
List of available channels used by JetBrains IDEs and Android Studio for describing binary releases.
@ -137,7 +137,7 @@ See also:
## ProductReleasesValueSource.FilterParameters
{#ProductReleasesValueSource-FilterParameters}
[`ProductReleasesValueSource.FilterParameters`](%gh-ijpgp%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/provider/ProductReleasesValueSource.kt)
[`ProductReleasesValueSource.FilterParameters`](%gh-ijpgp%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/providers/ProductReleasesValueSource.kt)
Interface that provides a clear way to filter binary product releases for the purposes of IntelliJ Plugin Verifier.

View File

@ -29,7 +29,7 @@ Instead, we recommend using the high-level pattern classes provided by the Intel
Some built-in languages in the IntelliJ Platform implement their own pattern classes and can provide additional examples:
- [`XmlPatterns`](%gh-ic%/xml/xml-psi-api/src/com/intellij/patterns/XmlPatterns.java) provides patterns for XML attributes, values, entities, and texts.
- [`PythonPatterns`](%gh-ic%/python/src/com/jetbrains/python/patterns/PythonPatterns.java) provides patterns for literals, strings, arguments, and function/method arguments for Python.
- [`PsiJavaPatterns`](%gh-ic%/java/java-psi-api/src/com/intellij/patterns/PsiJavaPatterns.java) provides patterns for literals, strings, arguments, and function/method arguments for Java.
- [`DomPatterns`](%gh-ic%/xml/dom-openapi/src/com/intellij/patterns/DomPatterns.java) builds upon `XmlPatterns` and acts as a wrapper to provide further patterns for [DOM-API](xml_dom_api.md).
## Examples

View File

@ -435,7 +435,7 @@ to "reserve" Action ID, so they become visible in <ui-path>Settings | Keymap</ui
## Executing Actions Programmatically
Sometimes, it is required to execute actions programmatically, e.g., executing an action implementing logic we need and the implementation is out of our control.
Executing actions can be achieved with [`ActionUtils.invokeAction()`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ActionUtil.java).
Executing actions can be achieved with [`ActionUtils.invokeAction()`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ActionUtil.kt).
> Executing actions programmatically should be avoided whenever possible.
> If an action executed programmatically is under your control, extract its logic to a [service](plugin_services.md) or utility class and call it directly.

View File

@ -40,7 +40,7 @@ The following steps need to be performed only once for each language that suppor
**Examples**:
- [`JavaStubElementTypes`](%gh-ic%/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/JavaStubElementTypes.java) registered in [`JavaPsiPlugin.xml`](%gh-ic%/java/java-psi-impl/src/META-INF/JavaPsiPlugin.xml)
- see [`Angular2MetadataElementTypes`](%gh-ij-plugins%/AngularJS/src/org/angular2/entities/metadata/Angular2MetadataElementTypes.kt) for Kotlin sample
- see [`Angular2MetadataElementTypes`](%gh-ij-plugins%/Angular/src/org/angular2/entities/metadata/Angular2MetadataElementTypes.kt) for Kotlin sample
</procedure>
@ -60,7 +60,7 @@ For each element type that needs to be stored in the stub tree, perform the foll
Override `getExternalId()` according to common used `externalIdPrefix` for the language (see [](#stubs-setup)).
For always-leaf stub nodes return `true` from `isAlwaysLeaf()` (2023.3).
"Container" stubs that do not serialize any data of their own may implement [`EmptyStubSerializer`](%gh-ic-master%/platform/core-api/src/com/intellij/psi/stubs/EmptyStubSerializer.java) to optimize storage (2023.3).
"Container" stubs that do not serialize any data of their own may implement [`EmptyStubSerializer`](%gh-ic%/platform/core-api/src/com/intellij/psi/stubs/EmptyStubSerializer.java) to optimize storage (2023.3).
6. Use the class implementing `IStubElementType` as the element type constant when parsing ([example](%gh-ic%/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/parsing/PropertiesElementTypes.java)).
7. Make sure all methods in the PSI element interface access the stub data rather than the PSI tree when appropriate ([example: `Property.getKey()` implementation](%gh-ic%/plugins/properties/properties-psi-impl/src/com/intellij/lang/properties/psi/impl/PropertyImpl.java)).

View File

@ -128,7 +128,7 @@ The following types of values can be persisted:
- maps
- enums
For other types, extend [`Converter`](%gh-ic%/platform/util/src/com/intellij/util/xmlb/Converter.java).
For other types, extend [`Converter`](%gh-ic-master%/platform/util/src/com/intellij/util/xmlb/api.kt).
See the example below.
#### Converter Example {collapsible="true"}
@ -245,12 +245,12 @@ See the [](#defining-the-storage-location) for more details.
{style="note"}
If you want to use the default bean serialization but need to customize the storage format in XML (for example, for compatibility with previous versions of a plugin or externally defined XML formats), use the
[`@Tag`](%gh-ic-master%/platform/util/src/com/intellij/util/xmlb/annotations/Tag.java),
[`@Attribute`](%gh-ic-master%/platform/util/src/com/intellij/util/xmlb/annotations/Attribute.java),
[`@Property`](%gh-ic-master%/platform/util/src/com/intellij/util/xmlb/annotations/Property.java),
[`@MapAnnotation`](%gh-ic-master%/platform/util/src/com/intellij/util/xmlb/annotations/MapAnnotation.java),
[`@XMap`](%gh-ic-master%/platform/util/src/com/intellij/util/xmlb/annotations/XMap.java),
and [`@XCollection`](%gh-ic-master%/platform/util/src/com/intellij/util/xmlb/annotations/XCollection.java)
[`@Tag`](%gh-ic%/platform/util/src/com/intellij/util/xmlb/annotations/Tag.java),
[`@Attribute`](%gh-ic%/platform/util/src/com/intellij/util/xmlb/annotations/Attribute.java),
[`@Property`](%gh-ic%/platform/util/src/com/intellij/util/xmlb/annotations/Property.java),
[`@MapAnnotation`](%gh-ic%/platform/util/src/com/intellij/util/xmlb/annotations/MapAnnotation.java),
[`@XMap`](%gh-ic%/platform/util/src/com/intellij/util/xmlb/annotations/XMap.java),
and [`@XCollection`](%gh-ic%/platform/util/src/com/intellij/util/xmlb/annotations/XCollection.java)
annotations.
If the state to serialize doesn't map cleanly to a JavaBean, then `org.jdom.Element` can be used as the state class.

View File

@ -6,7 +6,7 @@
<link-summary>Overview of Extension Points and Listeners for CLion.</link-summary>
128 Extension Points and 38 Listeners for CLion
135 Extension Points and 40 Listeners for CLion
See [](extension_point_list.md) for IntelliJ Platform.
@ -18,11 +18,13 @@ See [](extension_point_list.md) for IntelliJ Platform.
| Topic | Listener |
|-------|----------|
| [CubeMXManager#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.clion.embedded.stm32cubemx.CubeMXManager.CubeStatusListener) | `CubeStatusListener` |
| [FileSymbolTablesCache#OUT_OF_CODE_BLOCK_TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.psi.util.PsiModificationTracker.Listener) ![Project-Level][project-level] | [`Listener`](%gh-ic%/platform/core-api/src/com/intellij/psi/util/PsiModificationTracker.java) |
| [CMakeSettingsListener.Companion#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.cidr.cpp.cmake.CMakeSettingsListener) | `CMakeSettingsListener` |
| [Listener.Companion#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.cidr.cpp.cmake.python.CMakePythonSdkService.Companion.Listener) | `Listener` |
| [Listener.Companion#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.cidr.cpp.cmake.python.CMakePythonSettingListenerService.Companion.Listener) | `Listener` |
| [CMakeWorkspaceListener#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.cidr.cpp.cmake.workspace.CMakeWorkspaceListener) | `CMakeWorkspaceListener` |
| [CompDBSettingsListener.Companion#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.cidr.cpp.compdb.settings.CompDBSettingsListener) | `CompDBSettingsListener` |
| [CubeMXManager#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.cidr.cpp.embedded.stm32cubemx.CubeMXManager.CubeStatusListener) | `CubeStatusListener` |
| [CLionExternalBuildManagerListener#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.cidr.cpp.execution.external.build.CLionExternalBuildManagerListener) | `CLionExternalBuildManagerListener` |
| [ClionProjectToolManagerListener.Companion#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.cidr.cpp.execution.external.build.ClionProjectToolManagerListener) | `ClionProjectToolManagerListener` |
| [MakefileBuildTargetsManagerListener#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.cidr.cpp.makefile.execution.build.MakefileBuildTargetsManagerListener) | `MakefileBuildTargetsManagerListener` |
@ -66,7 +68,7 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [clangd.clangTidyResolveInfoProvider](https://jb.gg/ipe?extensions=clangd.clangTidyResolveInfoProvider) | `ClangTidyResolveInfoProvider` |
| [clangd.clangdAnnotatorUtil](https://jb.gg/ipe?extensions=clangd.clangdAnnotatorUtil) | `ClangAnnotatorUtil` |
| [clangd.clangdBridge](https://jb.gg/ipe?extensions=clangd.clangdBridge) | `ClangdBridgeInterface` |
| [clangd.externalCompletionProvider](https://jb.gg/ipe?extensions=clangd.externalCompletionProvider) | `ExternalCompletionProvider` |
| [clangd.externalCompletionProvider](https://jb.gg/ipe?extensions=clangd.externalCompletionProvider) ![DumbAware][dumb-aware] | `ExternalCompletionProvider` |
### CidrCoveragePlugin.xml
@ -87,6 +89,7 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [cidr.debugger.backendConsoleInjectionHelper](https://jb.gg/ipe?extensions=cidr.debugger.backendConsoleInjectionHelper) | `BackendConsoleInjectionHelper` |
| [cidr.debugger.customDebuggerProvider](https://jb.gg/ipe?extensions=cidr.debugger.customDebuggerProvider) | `CidrCustomDebuggerProvider` |
| [cidr.debugger.debugProcessConfigurator](https://jb.gg/ipe?extensions=cidr.debugger.debugProcessConfigurator) | `CidrDebugProcessConfigurator` |
| [cidr.debugger.debuggerMessagesProvider](https://jb.gg/ipe?extensions=cidr.debugger.debuggerMessagesProvider) ![Internal][internal] | `CidrDebuggerMessagesProvider` |
| [cidr.debugger.disasmRegisterProvider](https://jb.gg/ipe?extensions=cidr.debugger.disasmRegisterProvider) ![Experimental][experimental] | `CidrDisasmRegisterProvider` |
| [cidr.debugger.editorsExtension](https://jb.gg/ipe?extensions=cidr.debugger.editorsExtension) | `CidrDebuggerEditorsExtension` |
| [cidr.debugger.formatters.natvis.provider](https://jb.gg/ipe?extensions=cidr.debugger.formatters.natvis.provider) | `NatvisFileProvider` |
@ -138,6 +141,7 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [cidr.lang.customHeaderProvider](https://jb.gg/ipe?extensions=cidr.lang.customHeaderProvider) ![Non-Dynamic][non-dynamic] | `CustomHeaderProvider` |
| [cidr.lang.doxygenExtension](https://jb.gg/ipe?extensions=cidr.lang.doxygenExtension) ![Non-Dynamic][non-dynamic] | `Doxygen` |
| [cidr.lang.externalResolver](https://jb.gg/ipe?extensions=cidr.lang.externalResolver) | `OCExternalResolver` |
| [cidr.lang.fileToBuildSymbolsCollector](https://jb.gg/ipe?extensions=cidr.lang.fileToBuildSymbolsCollector) ![Non-Dynamic][non-dynamic] | `FileToBuildSymbolsCollector` |
| [cidr.lang.foreignUsagesRenameProcessor](https://jb.gg/ipe?extensions=cidr.lang.foreignUsagesRenameProcessor) ![Non-Dynamic][non-dynamic] | `OCForeignUsagesRenameProcessor` |
| [cidr.lang.groupedFileNaming](https://jb.gg/ipe?extensions=cidr.lang.groupedFileNaming) ![Non-Dynamic][non-dynamic] | `OCGroupedFileNaming` |
| [cidr.lang.includeHelper](https://jb.gg/ipe?extensions=cidr.lang.includeHelper) ![Non-Dynamic][non-dynamic] | `OCIncludeHelper` |
@ -176,7 +180,7 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [cidr.lang.compilerKindProvider](https://jb.gg/ipe?extensions=cidr.lang.compilerKindProvider) | `OCCompilerKindProvider` |
| [cidr.lang.compilerResolver](https://jb.gg/ipe?extensions=cidr.lang.compilerResolver) ![Project-Level][project-level] | `OCCompilerResolver` |
| [cidr.lang.fileScopeProvider](https://jb.gg/ipe?extensions=cidr.lang.fileScopeProvider) ![Non-Dynamic][non-dynamic] | `OCFileScopeProvider` |
| [cidr.lang.fileWideHighlighter](https://jb.gg/ipe?extensions=cidr.lang.fileWideHighlighter) ![Non-Dynamic][non-dynamic] | `FileWideHighlighter` |
| [cidr.lang.fileWideHighlighter](https://jb.gg/ipe?extensions=cidr.lang.fileWideHighlighter) ![Non-Dynamic][non-dynamic] ![DumbAware][dumb-aware] | `FileWideHighlighter` |
| [cidr.lang.headerSearchRootFactory](https://jb.gg/ipe?extensions=cidr.lang.headerSearchRootFactory) | `HeadersSearchRootFactory` |
| [cidr.lang.resolveConfigurationSelector](https://jb.gg/ipe?extensions=cidr.lang.resolveConfigurationSelector) | `OCResolveConfigurationSelector` |
| [cidr.projectModel.deserializingVetoCondition](https://jb.gg/ipe?extensions=cidr.projectModel.deserializingVetoCondition) | `OCWorkspaceDeserializingVetoCondition` |
@ -279,18 +283,32 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [cidr.uml.dragAndDropReceiver](https://jb.gg/ipe?extensions=cidr.uml.dragAndDropReceiver) | `UmlDiagramDragAndDropReceiver` |
| [cidr.uml.umlDiagramProvider](https://jb.gg/ipe?extensions=cidr.uml.umlDiagramProvider) | `UmlDiagramLanguage` |
### com.intellij.rml.dfa.ide
| Extension Point | Implementation |
|-----------------|----------------|
| [com.intellij.rml.dfa.debug.provider](https://jb.gg/ipe?extensions=com.intellij.rml.dfa.debug.provider) | `DFADebugProvider` |
### intellij.clion.profiling.xml
### intellij.cidr.profiling.xml
| Extension Point | Implementation |
|-----------------|----------------|
| [cidr.profiler.memory.environmentProvider](https://jb.gg/ipe?extensions=cidr.profiler.memory.environmentProvider) ![Non-Dynamic][non-dynamic] | `MemoryProfileEnvironmentProvider` |
| [cidr.profiler.memory.presentation](https://jb.gg/ipe?extensions=cidr.profiler.memory.presentation) ![Non-Dynamic][non-dynamic] | `MemoryProfilePresentation` |
| [cidr.profiler.valgrind.disabler](https://jb.gg/ipe?extensions=cidr.profiler.valgrind.disabler) | `ValgrindDisabler` |
| [cidr.profiler.valgrind.executionContext](https://jb.gg/ipe?extensions=cidr.profiler.valgrind.executionContext) | `ValgrindExecutionContext` |
### intellij.clion.featuresTrainer.xml
| Extension Point | Implementation |
|-----------------|----------------|
| [training.clion.lessons](https://jb.gg/ipe?extensions=training.clion.lessons) | `CLionExternalLessons` |
### intellij.clion.runFile.xml
| Extension Point | Implementation |
|-----------------|----------------|
| [cidr.cpp.runFile.entryPointDetector](https://jb.gg/ipe?extensions=cidr.cpp.runFile.entryPointDetector) | `CppFileEntryPointDetector` |
### intellij.rml.dfa.devtools.xml
| Extension Point | Implementation |
|-----------------|----------------|
| [com.intellij.rml.dfa.devtools.debug.provider](https://jb.gg/ipe?extensions=com.intellij.rml.dfa.devtools.debug.provider) | `DfaDebugProvider` |
[deprecated]: https://img.shields.io/badge/-Deprecated-lightgrey?style=flat-square
[removal]: https://img.shields.io/badge/-Removal-red?style=flat-square

View File

@ -6,7 +6,7 @@
<link-summary>Overview of Extension Points and Listeners for DataGrip.</link-summary>
74 Extension Points and 27 Listeners for DataGrip
75 Extension Points and 28 Listeners for DataGrip
See [](extension_point_list.md) for IntelliJ Platform.
@ -26,7 +26,6 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [DataSourceModelStorage#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.dataSource.DataSourceModelStorage.Listener) | `Listener` |
| [DataSourceStorage#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.dataSource.DataSourceStorage.Listener) | `Listener` |
| [DatabaseConnectionManager#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.dataSource.DatabaseConnectionManager.Listener) | `Listener` |
| [DatabaseModelLoader#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.dataSource.DatabaseModelLoader.Listener) | `Listener` |
| [DatabaseArtifactManager#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.dataSource.artifacts.DatabaseArtifactManager.ArtifactListener) | `ArtifactListener` |
| [DataSourceTestConnectionManager#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.dataSource.ui.DataSourceTestConnectionManager.Listener) | `Listener` |
| [DatabaseTopics#AUDIT_TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.datagrid.DataAuditor) | `DataAuditor` |
@ -35,7 +34,9 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [DataGridListener#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.datagrid.DataGridListener) | `DataGridListener` |
| [DatabaseTopics#REQUEST_TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.datagrid.DataProducer) | `DataProducer` |
| [ImportHead#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.dbimport.ImportHead.Listener) | `Listener` |
| [DbImportDialog#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.dbimport.editor.DbImportDialog.Listener) | `Listener` |
| [ScriptGeneratorDiagnosticListener#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.dialects.base.generator.ScriptGeneratorDiagnosticListener) | `ScriptGeneratorDiagnosticListener` |
| [DatabaseModelLoader#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.introspection.DatabaseModelLoader.Listener) | `Listener` |
| [DataSourceManager#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.psi.DataSourceManager.Listener) | `Listener` |
| [DbPsiFacade#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.psi.DbPsiFacade.Listener) | `Listener` |
| [DataGridAppearanceSettings#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.database.settings.DataGridAppearanceSettings.Listener) | `Listener` |
@ -113,6 +114,7 @@ See [](extension_point_list.md) for IntelliJ Platform.
| Extension Point | Implementation |
|-----------------|----------------|
| [com.intellij.database.cli.runTargetProvider](https://jb.gg/ipe?extensions=com.intellij.database.cli.runTargetProvider) | `CliRunTargetProvider` |
| [com.intellij.database.databaseViewStructureExtension](https://jb.gg/ipe?extensions=com.intellij.database.databaseViewStructureExtension) | `DvStructureExtension` |
| [com.intellij.database.debuggerFacade](https://jb.gg/ipe?extensions=com.intellij.database.debuggerFacade) | `SqlDebuggerFacade` |
| [com.intellij.database.predicatesHelper](https://jb.gg/ipe?extensions=com.intellij.database.predicatesHelper) | `PredicatesHelper` |

View File

@ -24,6 +24,7 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [GoProjectLifecycleListener#TOPIC](https://jb.gg/ipe/listeners?topics=com.goide.project.GoProjectLifecycleListener) | `GoProjectLifecycleListener` |
| [VgoProjectSettings#VGO_INTEGRATION_TOPIC](https://jb.gg/ipe/listeners?topics=com.goide.vgo.configuration.VgoProjectSettings.IntegrationListener) | `IntegrationListener` |
### goland.xml
| Extension Point | Implementation |

View File

@ -16,7 +16,7 @@ Overview of Extension Points and Listeners for OSS plugins bundled with [](idea_
<include from="snippets.md" element-id="ep_list_legend"/>
20 Extension Points and 9 Listeners
25 Extension Points and 9 Listeners
## IntelliJ Open Source Plugins
@ -26,7 +26,7 @@ Overview of Extension Points and Listeners for OSS plugins bundled with [](idea_
|-------|----------|
| [ChangeListener#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.dts.settings.DtsSettings.ChangeListener) ![Project-Level][project-level] | [`ChangeListener`](%gh-ij-plugins%/dts/src/com/intellij/dts/settings/DtsSettings.kt) |
| [FlexBuildConfigurationChangeListener#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.lang.javascript.flex.projectStructure.model.impl.FlexBuildConfigurationChangeListener) | [`FlexBuildConfigurationChangeListener`](%gh-ij-plugins%/flex/src/com/intellij/lang/javascript/flex/projectStructure/model/impl/FlexBuildConfigurationChangeListener.java) |
| [SerialSettingsChangeListener#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.plugins.serialmonitor.service.SerialSettingsChangeListener) | [`SerialSettingsChangeListener`](%gh-ij-plugins%/serial-monitor/src/main/java/com/intellij/plugins/serialmonitor/service/SerialSettingsChangeListener.java) |
| [SerialPortsListener.Companion#SERIAL_PORTS_TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.plugins.serialmonitor.service.SerialPortsListener) | [`SerialPortsListener`](%gh-ij-plugins%/serial-monitor/src/main/java/com/intellij/plugins/serialmonitor/service/SerialPortsListener.kt) |
| [PlatformioServiceKt#PLATFORMIO_UPDATES_TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.cidr.cpp.embedded.platformio.PlatformioUpdatesNotifier) ![Project-Level][project-level] | [`PlatformioUpdatesNotifier`](%gh-ij-plugins%/platformio/src/com/jetbrains/cidr/cpp/embedded/platformio/PlatformioService.kt) |
| [PlatformioSettingsListener.Companion#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.cidr.cpp.embedded.platformio.project.PlatformioSettingsListener) | [`PlatformioSettingsListener`](%gh-ij-plugins%/platformio/src/com/jetbrains/cidr/cpp/embedded/platformio/project/PlatformioSettings.kt) |
| [DartAnalysisServerMessages#DART_ANALYSIS_TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.lang.dart.analyzer.DartAnalysisServerMessages.DartAnalysisNotifier) | [`DartAnalysisNotifier`](%gh-ij-plugins%/Dart/src/com/jetbrains/lang/dart/analyzer/DartAnalysisServerMessages.java) |
@ -37,12 +37,24 @@ Overview of Extension Points and Listeners for OSS plugins bundled with [](idea_
### AngularJS
[`AngularJS`](%gh-ij-plugins%/AngularJS/resources/META-INF/plugin.xml)
[`AngularJS`](%gh-ij-plugins%/Angular/resources/META-INF/plugin.xml)
| Extension Point | Implementation |
|-----------------|----------------|
| [org.angular2.frameworkHandler](https://jb.gg/ipe?extensions=org.angular2.frameworkHandler) ![Experimental][experimental] | [`Angular2FrameworkHandler`](%gh-ij-plugins%/AngularJS/src/org/angular2/entities/Angular2FrameworkHandler.kt) |
| [org.angular2.templateScopesProvider](https://jb.gg/ipe?extensions=org.angular2.templateScopesProvider) | [`Angular2TemplateScopesProvider`](%gh-ij-plugins%/AngularJS/src/org/angular2/codeInsight/template/Angular2TemplateScopesProvider.kt) |
| [org.angular2.configProvider](https://jb.gg/ipe?extensions=org.angular2.configProvider) | [`AngularConfigProvider`](%gh-ij-plugins%/Angular/src/org/angular2/cli/config/AngularConfigProvider.kt) |
| [org.angular2.entitiesSource](https://jb.gg/ipe?extensions=org.angular2.entitiesSource) | [`Angular2EntitiesSource`](%gh-ij-plugins%/Angular/src/org/angular2/entities/Angular2EntitiesSource.kt) |
| [org.angular2.frameworkHandler](https://jb.gg/ipe?extensions=org.angular2.frameworkHandler) ![Experimental][experimental] | [`Angular2FrameworkHandler`](%gh-ij-plugins%/Angular/src/org/angular2/entities/Angular2FrameworkHandler.kt) |
| [org.angular2.importsHandler](https://jb.gg/ipe?extensions=org.angular2.importsHandler) | [`Angular2ImportsHandler`](%gh-ij-plugins%/Angular/src/org/angular2/codeInsight/imports/Angular2ImportsHandler.kt) |
| [org.angular2.jsHandlersFactory](https://jb.gg/ipe?extensions=org.angular2.jsHandlersFactory) | [`Angular2JSHandlersFactory`](%gh-ij-plugins%/Angular/src/org/angular2/codeInsight/Angular2HandlersFactory.kt) |
| [org.angular2.templateScopesProvider](https://jb.gg/ipe?extensions=org.angular2.templateScopesProvider) | [`Angular2TemplateScopesProvider`](%gh-ij-plugins%/Angular/src/org/angular2/codeInsight/template/Angular2TemplateScopesProvider.kt) |
### com.intellij.dts
[`com.intellij.dts`](%gh-ij-plugins%/dts/resources/META-INF/plugin.xml)
| Extension Point | Implementation |
|-----------------|----------------|
| [com.intellij.clion.dtsUtil](https://jb.gg/ipe?extensions=com.intellij.clion.dtsUtil) | [`DtsCLionUtil`](%gh-ij-plugins%/dts/src/com/intellij/dts/clion/DtsCLionUtil.kt) |
### com.intellij.flex

View File

@ -6,7 +6,7 @@
<link-summary>Overview of Extension Points and Listeners for Spring API.</link-summary>
52 Extension Points and 5 Listeners for Spring API
53 Extension Points and 5 Listeners for Spring API
<include from="snippets.md" element-id="ep_list_legend"/>
@ -29,6 +29,7 @@
|-----------------|----------------|
| [com.intellij.spring.autodetected.filesets](https://jb.gg/ipe?extensions=com.intellij.spring.autodetected.filesets) | `SpringAutodetectedFilesetsSearcher` |
| [com.intellij.spring.autodetected.models](https://jb.gg/ipe?extensions=com.intellij.spring.autodetected.models) | `SpringAutodetectedModelsSearcher` |
| [com.intellij.spring.beanClassLineMarker](https://jb.gg/ipe?extensions=com.intellij.spring.beanClassLineMarker) | `BeanClassLineMarker` |
| [com.intellij.spring.beans.stereotype](https://jb.gg/ipe?extensions=com.intellij.spring.beans.stereotype) | `SpringBeanStereotype` |
| [com.intellij.spring.componentScanExtender](https://jb.gg/ipe?extensions=com.intellij.spring.componentScanExtender) | `ComponentScanExtender` |
| [com.intellij.spring.conditionalEvaluatorProvider](https://jb.gg/ipe?extensions=com.intellij.spring.conditionalEvaluatorProvider) | `ConditionalEvaluatorProvider` |
@ -50,6 +51,7 @@
| [com.intellij.spring.placeholderReferenceResolver](https://jb.gg/ipe?extensions=com.intellij.spring.placeholderReferenceResolver) | `SpringPlaceholderReferenceResolver` |
| [com.intellij.spring.resourceTypeProvider](https://jb.gg/ipe?extensions=com.intellij.spring.resourceTypeProvider) | `SpringResourceTypeProvider` |
| [com.intellij.spring.scriptBeanPsiClassDiscoverer](https://jb.gg/ipe?extensions=com.intellij.spring.scriptBeanPsiClassDiscoverer) | `ScriptBeanPsiClassDiscoverer` |
| [com.intellij.spring.settingsProvider](https://jb.gg/ipe?extensions=com.intellij.spring.settingsProvider) | `SpringSettingsProvider` |
| [com.intellij.spring.testingAnnotationsProvider](https://jb.gg/ipe?extensions=com.intellij.spring.testingAnnotationsProvider) | `SpringTestingAnnotationsProvider` |
| [com.intellij.spring.testingImplicitContextsProvider](https://jb.gg/ipe?extensions=com.intellij.spring.testingImplicitContextsProvider) | `SpringTestingImplicitContextsProvider` |
| [com.intellij.spring.valueConverter](https://jb.gg/ipe?extensions=com.intellij.spring.valueConverter) | `SpringValueConvertersProvider` |
@ -89,7 +91,6 @@
| Extension Point | Implementation |
|-----------------|----------------|
| [com.intellij.spring.mvc.applicationPathProvider](https://jb.gg/ipe?extensions=com.intellij.spring.mvc.applicationPathProvider) | `SpringApplicationPathProvider` |
| [com.intellij.spring.mvc.applicationPortProvider](https://jb.gg/ipe?extensions=com.intellij.spring.mvc.applicationPortProvider) | `SpringApplicationPortProvider` |
| [com.intellij.spring.mvc.mergingMvcRequestMappingLineMarkerProvider](https://jb.gg/ipe?extensions=com.intellij.spring.mvc.mergingMvcRequestMappingLineMarkerProvider) | `SpringMergingMvcRequestMappingLineMarkerProvider` |
| [com.intellij.spring.mvc.springEndpointsIconProvider](https://jb.gg/ipe?extensions=com.intellij.spring.mvc.springEndpointsIconProvider) | `SpringEndpointsIconProvider` |
| [com.intellij.spring.mvc.viewResolverFactory](https://jb.gg/ipe?extensions=com.intellij.spring.mvc.viewResolverFactory) | `ViewResolverFactory` |

View File

@ -6,7 +6,7 @@
<link-summary>Overview of Extension Points and Listeners for PHP.</link-summary>
61 Extension Points and 10 Listeners for PHP
61 Extension Points and 11 Listeners for PHP
See [](extension_point_list.md) for IntelliJ Platform.
@ -28,6 +28,7 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [StateChangedListener#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.php.debug.listener.PhpDebugExternalConnectionsAccepter.StateChangedListener) | `StateChangedListener` |
| [RectorChangesListener#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.php.rector.RectorChangesListener) | `RectorChangesListener` |
| [PhpRemoteInterpreterChangedListener#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.php.remote.interpreter.ui.PhpRemoteInterpreterConfigurationForm.PhpRemoteInterpreterChangedListener) | `PhpRemoteInterpreterChangedListener` |
| [CustomExpectationNotifier.Companion#TOPIC](https://jb.gg/ipe/listeners?topics=com.pestphp.pest.features.customExpectations.CustomExpectationNotifier) ![Project-Level][project-level] | `CustomExpectationNotifier` |
### com.intellij.phing

View File

@ -6,7 +6,7 @@
<link-summary>Overview of Extension Points and Listeners for Rider.</link-summary>
109 Extension Points and 5 Listeners for Rider
128 Extension Points and 7 Listeners for Rider
See [](extension_point_list.md) for IntelliJ Platform.
@ -20,7 +20,9 @@ See [](extension_point_list.md) for IntelliJ Platform.
|-------|----------|
| [RiderStyleCopConfigurable#STYLE_COP_CONFIGURABLE_TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.application.options.editor.EditorOptionsListener) | [`EditorOptionsListener`](%gh-ic%/platform/platform-impl/src/com/intellij/application/options/editor/EditorOptionsListener.java) |
| [SSHCredentialsInClipboardNotifier.Companion#SSH_CREDENTIALS_IN_CLIPBOARD_TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.rider.debugger.attach.remoting.SSHCredentialsInClipboardNotifier) | `SSHCredentialsInClipboardNotifier` |
| [DotnetDebuggerSymbolsLoadedListener.Companion#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.rider.debugger.modulesView.actions.DotnetDebuggerSymbolsLoadedListener) | `DotnetDebuggerSymbolsLoadedListener` |
| [FrontendTypedHandlerManager#BEFORE_TYPING_SENT](https://jb.gg/ipe/listeners?topics=com.jetbrains.rider.editorActions.IFrontendTypingListener) | `IFrontendTypingListener` |
| [RiderDockerDeploymentListener.Companion#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.rider.plugins.appender.docker.deployment.RiderDockerDeploymentListener) | `RiderDockerDeploymentListener` |
| [MSBuildEvaluationListener.Companion#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.rider.run.environment.MSBuildEvaluationListener) | `MSBuildEvaluationListener` |
| [RiderGlobalBackendProgressListener#TOPIC](https://jb.gg/ipe/listeners?topics=com.jetbrains.rider.services.RiderGlobalProgressHost.RiderGlobalBackendProgressListener) | `RiderGlobalBackendProgressListener` |
@ -38,6 +40,12 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [com.jetbrains.rider-cpp.run.configurations.cpp](https://jb.gg/ipe?extensions=com.jetbrains.rider-cpp.run.configurations.cpp) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `CppConfigurationParametersExtension` |
| [com.jetbrains.rider-cpp.run.configurations.cpp.launch.profile](https://jb.gg/ipe?extensions=com.jetbrains.rider-cpp.run.configurations.cpp.launch.profile) ![Non-Dynamic][non-dynamic] | `CppProjectLaunchProfile` |
### com.jetbrains.rider.razor
| Extension Point | Implementation |
|-----------------|----------------|
| [com.intellij.rider.blazorDialectSubstitutor](https://jb.gg/ipe?extensions=com.intellij.rider.blazorDialectSubstitutor) ![Non-Dynamic][non-dynamic] | `BlazorHtmlDialectSubstitutor` |
### DotNetPlugin.xml
| Extension Point | Implementation |
@ -53,19 +61,26 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [com.intellij.lang.altEnter](https://jb.gg/ipe?extensions=com.intellij.lang.altEnter) ![Non-Dynamic][non-dynamic] | `BulbMenuModelFactory` |
| [com.intellij.lang.altEnter.popupModelDelegate](https://jb.gg/ipe?extensions=com.intellij.lang.altEnter.popupModelDelegate) ![Non-Dynamic][non-dynamic] | `PopupModelDelegate` |
| [com.intellij.projectModelViewUpdater](https://jb.gg/ipe?extensions=com.intellij.projectModelViewUpdater) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `ProjectModelViewUpdater` |
| [com.intellij.protocolComponentFactory](https://jb.gg/ipe?extensions=com.intellij.protocolComponentFactory) ![Deprecated][deprecated] ![Non-Dynamic][non-dynamic] | `ProtocolComponentFactory` |
| [com.intellij.rdclient.preemptiveCompletionSuppressor](https://jb.gg/ipe?extensions=com.intellij.rdclient.preemptiveCompletionSuppressor) ![Non-Dynamic][non-dynamic] | `PreemptiveCompletionSuppressor` |
| [com.intellij.rdclient.typingPolicy](https://jb.gg/ipe?extensions=com.intellij.rdclient.typingPolicy) ![Non-Dynamic][non-dynamic] | `CustomTypingSessionPolicy` |
| [com.intellij.rider.action.fallback.strategy](https://jb.gg/ipe?extensions=com.intellij.rider.action.fallback.strategy) ![Non-Dynamic][non-dynamic] | `RiderAsyncBackendDelegatingActionFallbackStrategy` |
| [com.intellij.rider.altEnter.layouter](https://jb.gg/ipe?extensions=com.intellij.rider.altEnter.layouter) ![Non-Dynamic][non-dynamic] | `RiderAltEnterLayouter` |
| [com.intellij.rider.backendCrashAnalyser](https://jb.gg/ipe?extensions=com.intellij.rider.backendCrashAnalyser) ![Non-Dynamic][non-dynamic] | `BackendCrashAnalyzer` |
| [com.intellij.rider.backendLogXmlPathProvider](https://jb.gg/ipe?extensions=com.intellij.rider.backendLogXmlPathProvider) ![Non-Dynamic][non-dynamic] | `RiderCustomBackendLogXmlPathProvider` |
| [com.intellij.rider.breakingWorkflowChangeInterceptor](https://jb.gg/ipe?extensions=com.intellij.rider.breakingWorkflowChangeInterceptor) ![Non-Dynamic][non-dynamic] ![Experimental][experimental] ![Internal][internal] | `RiderBreakingWorkflowChangeInterceptor` |
| [com.intellij.rider.codeStyleContentConverter](https://jb.gg/ipe?extensions=com.intellij.rider.codeStyleContentConverter) ![Non-Dynamic][non-dynamic] | `RiderCodeStyleContentPageConverter` |
| [com.intellij.rider.credentials.provider](https://jb.gg/ipe?extensions=com.intellij.rider.credentials.provider) ![Non-Dynamic][non-dynamic] | `ICredentialsProvider` |
| [com.intellij.rider.diagnostics.specialPathsProvider](https://jb.gg/ipe?extensions=com.intellij.rider.diagnostics.specialPathsProvider) ![Non-Dynamic][non-dynamic] | `SpecialPathsProvider` |
| [com.intellij.rider.documentBehaviour](https://jb.gg/ipe?extensions=com.intellij.rider.documentBehaviour) ![Non-Dynamic][non-dynamic] | `RiderDocumentBehaviour` |
| [com.intellij.rider.extraSettingsSync](https://jb.gg/ipe?extensions=com.intellij.rider.extraSettingsSync) ![Non-Dynamic][non-dynamic] | `ExtraSettingsSync` |
| [com.intellij.rider.fileBreadcrumbExtensions](https://jb.gg/ipe?extensions=com.intellij.rider.fileBreadcrumbExtensions) | `CustomFileBreadcrumbExtensions` |
| [com.intellij.rider.markup.cacheFilter](https://jb.gg/ipe?extensions=com.intellij.rider.markup.cacheFilter) | `RiderMarkupFSCacheFilter` |
| [com.intellij.rider.grave.filter](https://jb.gg/ipe?extensions=com.intellij.rider.grave.filter) ![Experimental][experimental] | `RiderHighlightingGraveFilter` |
| [com.intellij.rider.namingPageProvider](https://jb.gg/ipe?extensions=com.intellij.rider.namingPageProvider) ![Non-Dynamic][non-dynamic] | `NamingPageProvider` |
| [com.intellij.rider.protocol.hostFlagsProvider](https://jb.gg/ipe?extensions=com.intellij.rider.protocol.hostFlagsProvider) ![Non-Dynamic][non-dynamic] | `RiderBackendFlagsProvider` |
| [com.intellij.rider.protocol.hostEnvProvider](https://jb.gg/ipe?extensions=com.intellij.rider.protocol.hostEnvProvider) ![Non-Dynamic][non-dynamic] | `RiderBackendEnvProvider` |
| [com.intellij.rider.riderApplicationPreloadListener](https://jb.gg/ipe?extensions=com.intellij.rider.riderApplicationPreloadListener) ![Non-Dynamic][non-dynamic] | `RiderApplicationPreloadListener` |
| [com.intellij.rider.wrappedMergeableIconProvider](https://jb.gg/ipe?extensions=com.intellij.rider.wrappedMergeableIconProvider) ![Non-Dynamic][non-dynamic] | `RiderWrappedMergeableIconProvider` |
| [com.intellij.selfProfilingPaths.customizer](https://jb.gg/ipe?extensions=com.intellij.selfProfilingPaths.customizer) ![Non-Dynamic][non-dynamic] | `DotnetSelfProfilerPathsCustomizer` |
| [com.intellij.solutionLoadNotification](https://jb.gg/ipe?extensions=com.intellij.solutionLoadNotification) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `SolutionLoadNotification` |
### DotNetProjectView.xml
@ -75,25 +90,19 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [com.intellij.rider.projectModelIconProvider](https://jb.gg/ipe?extensions=com.intellij.rider.projectModelIconProvider) | `ProjectModelIconProvider` |
| [com.intellij.rider.workspaceCountableProjectsPolicy](https://jb.gg/ipe?extensions=com.intellij.rider.workspaceCountableProjectsPolicy) | `CountableProjectsPolicy` |
### iniPluginCppPart.xml
| Extension Point | Implementation |
|-----------------|----------------|
| [rider.cpp.debugProcessExtension](https://jb.gg/ipe?extensions=rider.cpp.debugProcessExtension) | `RiderCppDebugProcessExtension` |
### intellij.rider.cpp.debugger
| Extension Point | Implementation |
|-----------------|----------------|
| [com.intellij.rider.cpp.debuggerSettings](https://jb.gg/ipe?extensions=com.intellij.rider.cpp.debuggerSettings) ![Non-Dynamic][non-dynamic] | `CppDebuggerSettings` |
### org.jetbrains.plugins.clion.radler
| Extension Point | Implementation |
|-----------------|----------------|
| [com.intellij.rider.refactoringPageProvider](https://jb.gg/ipe?extensions=com.intellij.rider.refactoringPageProvider) ![Non-Dynamic][non-dynamic] | `RefactoringPageProvider` |
### plugin.xml
| Extension Point | Implementation |
|-----------------|----------------|
| [com.intellij.rider.client.typedHandler](https://jb.gg/ipe?extensions=com.intellij.rider.client.typedHandler) | `RiderClientLookupTypedHandler` |
### rider-plugins-appender.database.xml
### intellij.rider.plugins.appender.database.xml
| Extension Point | Implementation |
|-----------------|----------------|
@ -105,52 +114,61 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [com.intellij.rider.database.jdbcUrlToConnectionStringConverter](https://jb.gg/ipe?extensions=com.intellij.rider.database.jdbcUrlToConnectionStringConverter) ![Project-Level][project-level] | `JdbcUrlToConnectionStringConverter` |
| [com.intellij.rider.database.schemaCompareDataModelCreatedListener](https://jb.gg/ipe?extensions=com.intellij.rider.database.schemaCompareDataModelCreatedListener) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `SchemaCompareDataModelCreatedListener` |
### rider-plugins-appender.docker.xml
### intellij.rider.plugins.appender.docker.xml
| Extension Point | Implementation |
|-----------------|----------------|
| [com.intellij.rider.dockerDebugProvider](https://jb.gg/ipe?extensions=com.intellij.rider.dockerDebugProvider) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `IRiderDockerDebugProvider` |
| [com.intellij.rider.dockerDeploymentTransformer](https://jb.gg/ipe?extensions=com.intellij.rider.dockerDeploymentTransformer) ![Non-Dynamic][non-dynamic] ![Internal][internal] ![Project-Level][project-level] | `RiderDockerDeploymentTransformer` |
### rider-plugins-appender.javascript.xml
### intellij.rider.plugins.appender.javascript.xml
| Extension Point | Implementation |
|-----------------|----------------|
| [JavaScript.packageJson.configuration.handler](https://jb.gg/ipe?extensions=JavaScript.packageJson.configuration.handler) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderPackageJsonConfiguratorHandler` |
### RiderCppCore.xml
### intellij.rider.plugins.cwm
| Extension Point | Implementation |
|-----------------|----------------|
| [com.jetbrains.rider.cpp.fileType.cppFileTypeIconProvider](https://jb.gg/ipe?extensions=com.jetbrains.rider.cpp.fileType.cppFileTypeIconProvider) ![Non-Dynamic][non-dynamic] | `CppFileTypeIconProvider` |
| [com.intellij.rider.client.typedHandler](https://jb.gg/ipe?extensions=com.intellij.rider.client.typedHandler) | `RiderClientLookupTypedHandler` |
### org.jetbrains.plugins.clion.radler
| Extension Point | Implementation |
|-----------------|----------------|
| [com.intellij.rider.refactoringPageProvider](https://jb.gg/ipe?extensions=com.intellij.rider.refactoringPageProvider) ![Non-Dynamic][non-dynamic] | `RefactoringPageProvider` |
### RiderExtensionPoints.xml
| Extension Point | Implementation |
|-----------------|----------------|
| [com.intellij.dotNetRuntimeType](https://jb.gg/ipe?extensions=com.intellij.dotNetRuntimeType) ![Non-Dynamic][non-dynamic] | `DotNetRuntimeType` |
| [com.intellij.fileSystemExplorerCustomization](https://jb.gg/ipe?extensions=com.intellij.fileSystemExplorerCustomization) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `FileSystemExplorerCustomization` |
| [com.intellij.moveProviderExtension](https://jb.gg/ipe?extensions=com.intellij.moveProviderExtension) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `MoveProviderExtension` |
| [com.intellij.nestingRulesLanguageExtensions](https://jb.gg/ipe?extensions=com.intellij.nestingRulesLanguageExtensions) ![Non-Dynamic][non-dynamic] | `RiderNestingRulesLanguageExtensions` |
| [com.intellij.nugetCredentialProvider](https://jb.gg/ipe?extensions=com.intellij.nugetCredentialProvider) ![Non-Dynamic][non-dynamic] | `NuGetCredentialProvider` |
| [com.intellij.openDirectoryExtensions](https://jb.gg/ipe?extensions=com.intellij.openDirectoryExtensions) ![Non-Dynamic][non-dynamic] | `OpenDirectoryExtensions` |
| [com.intellij.projectModelViewExtensions](https://jb.gg/ipe?extensions=com.intellij.projectModelViewExtensions) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `ProjectModelViewExtensions` |
| [com.intellij.projectTemplateProvider](https://jb.gg/ipe?extensions=com.intellij.projectTemplateProvider) ![Non-Dynamic][non-dynamic] | `RiderProjectTemplateProvider` |
| [com.intellij.projectTemplateCustomizer](https://jb.gg/ipe?extensions=com.intellij.projectTemplateCustomizer) ![Non-Dynamic][non-dynamic] | `ProjectTemplateCustomizer` |
| [com.intellij.projectTemplateProvider](https://jb.gg/ipe?extensions=com.intellij.projectTemplateProvider) ![Deprecated][deprecated] ![Non-Dynamic][non-dynamic] | `RiderProjectTemplateProvider` |
| [com.intellij.projectTemplateProviderNew](https://jb.gg/ipe?extensions=com.intellij.projectTemplateProviderNew) ![Non-Dynamic][non-dynamic] | `ProjectTemplateProvider` |
| [com.intellij.rider.ProfileActionPrinter](https://jb.gg/ipe?extensions=com.intellij.rider.ProfileActionPrinter) ![Non-Dynamic][non-dynamic] | `ProfileActionPrinter` |
| [com.intellij.rider.ProjectTypesProvider](https://jb.gg/ipe?extensions=com.intellij.rider.ProjectTypesProvider) ![Non-Dynamic][non-dynamic] | `RiderProjectTypesProvider` |
| [com.intellij.rider.SolutionFileTypesProvider](https://jb.gg/ipe?extensions=com.intellij.rider.SolutionFileTypesProvider) ![Non-Dynamic][non-dynamic] | `SolutionFileTypesProvider` |
| [com.intellij.rider.action.technical.support.info.provider](https://jb.gg/ipe?extensions=com.intellij.rider.action.technical.support.info.provider) ![Non-Dynamic][non-dynamic] | `RiderTechnicalSupportInfoProvider` |
| [com.intellij.rider.android.project.validator](https://jb.gg/ipe?extensions=com.intellij.rider.android.project.validator) ![Non-Dynamic][non-dynamic] | `ICustomAndroidProjectValidator` |
| [com.intellij.rider.backendCrashAnalyser](https://jb.gg/ipe?extensions=com.intellij.rider.backendCrashAnalyser) ![Non-Dynamic][non-dynamic] | `BackendCrashAnalyzer` |
| [com.intellij.rider.breakpoint.customPanelProvider](https://jb.gg/ipe?extensions=com.intellij.rider.breakpoint.customPanelProvider) ![Non-Dynamic][non-dynamic] | `IDotNetLineBreakpointCustomPanelsProvider` |
| [com.intellij.rider.breakpoint.customPopupActionsProvider](https://jb.gg/ipe?extensions=com.intellij.rider.breakpoint.customPopupActionsProvider) ![Non-Dynamic][non-dynamic] | `IDotNetLineBreakpointPopupActionsProvider` |
| [com.intellij.rider.build.riderBuildConsoleDecorator](https://jb.gg/ipe?extensions=com.intellij.rider.build.riderBuildConsoleDecorator) ![Project-Level][project-level] | `RiderBuildConsoleDecorator` |
| [com.intellij.rider.buildButtonModeProvider](https://jb.gg/ipe?extensions=com.intellij.rider.buildButtonModeProvider) | `BuildButtonModeProvider` |
| [com.intellij.rider.cleanupAction](https://jb.gg/ipe?extensions=com.intellij.rider.cleanupAction) ![Non-Dynamic][non-dynamic] | `CleanupAction` |
| [com.intellij.rider.codeLens.vcsDeclarationRangesProvider](https://jb.gg/ipe?extensions=com.intellij.rider.codeLens.vcsDeclarationRangesProvider) ![Non-Dynamic][non-dynamic] | `VcsDeclarationRangesProvider` |
| [com.intellij.rider.completion.csharpIdentifierPartHelper](https://jb.gg/ipe?extensions=com.intellij.rider.completion.csharpIdentifierPartHelper) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `CSharpIdentifierPartHelper` |
| [com.intellij.rider.completion.preselectionStrategy](https://jb.gg/ipe?extensions=com.intellij.rider.completion.preselectionStrategy) ![Non-Dynamic][non-dynamic] | `RiderFrontendLanguagesPreselectionStrategy` |
| [com.intellij.rider.configurationExecutorExtension](https://jb.gg/ipe?extensions=com.intellij.rider.configurationExecutorExtension) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderConfigurationExecutorExtension` |
| [com.intellij.rider.configurationLaunchSettingsExtension](https://jb.gg/ipe?extensions=com.intellij.rider.configurationLaunchSettingsExtension) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderConfigurationLaunchSettingsExtension` |
| [com.intellij.rider.consoleFilter](https://jb.gg/ipe?extensions=com.intellij.rider.consoleFilter) | `RiderConsoleFilterExtension` |
| [com.intellij.rider.debug.breakpoint.handler.factory](https://jb.gg/ipe?extensions=com.intellij.rider.debug.breakpoint.handler.factory) ![Non-Dynamic][non-dynamic] | `IDotNetSupportedBreakpointHandlerFactory` |
| [com.intellij.rider.debugger.value.evaluator.factory](https://jb.gg/ipe?extensions=com.intellij.rider.debugger.value.evaluator.factory) ![Non-Dynamic][non-dynamic] | `RiderCustomComponentEvaluatorFactory` |
| [com.intellij.rider.debugger.value.presenter](https://jb.gg/ipe?extensions=com.intellij.rider.debugger.value.presenter) ![Non-Dynamic][non-dynamic] | `RiderDebuggerValuePresenter` |
| [com.intellij.rider.debuggerSupportPolicy](https://jb.gg/ipe?extensions=com.intellij.rider.debuggerSupportPolicy) ![Non-Dynamic][non-dynamic] | `RiderDebuggerSupportPolicy` |
| [com.intellij.rider.editSourceSuppressor](https://jb.gg/ipe?extensions=com.intellij.rider.editSourceSuppressor) ![Non-Dynamic][non-dynamic] | `RiderEditSourceSuppressor` |
@ -159,26 +177,34 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [com.intellij.rider.fileTemplating.postCreateAction](https://jb.gg/ipe?extensions=com.intellij.rider.fileTemplating.postCreateAction) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderNewFileFromTemplateExtension` |
| [com.intellij.rider.findPopupProjectScopeProvider](https://jb.gg/ipe?extensions=com.intellij.rider.findPopupProjectScopeProvider) | `FindPopupProjectScopeProvider` |
| [com.intellij.rider.guidPresenter](https://jb.gg/ipe?extensions=com.intellij.rider.guidPresenter) ![Project-Level][project-level] | `GuidGeneratorPresenter` |
| [com.intellij.rider.ideaInspectionBackendSuppressionSupport](https://jb.gg/ipe?extensions=com.intellij.rider.ideaInspectionBackendSuppressionSupport) | `IdeaInspectionBackendSuppressionSupport` |
| [com.intellij.rider.newFileListener](https://jb.gg/ipe?extensions=com.intellij.rider.newFileListener) ![Project-Level][project-level] | `RiderNewFileListener` |
| [com.intellij.rider.newRunConfigurationTreeGroupingProvider](https://jb.gg/ipe?extensions=com.intellij.rider.newRunConfigurationTreeGroupingProvider) ![Non-Dynamic][non-dynamic] | `RiderNewRunConfigurationTreeGroupingProvider` |
| [com.intellij.rider.patchCommandLine](https://jb.gg/ipe?extensions=com.intellij.rider.patchCommandLine) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `PatchCommandLineExtension` |
| [com.intellij.rider.pencils.filters.provider](https://jb.gg/ipe?extensions=com.intellij.rider.pencils.filters.provider) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `PencilsFiltersProvider` |
| [com.intellij.rider.pencils.inspectionToolGroup](https://jb.gg/ipe?extensions=com.intellij.rider.pencils.inspectionToolGroup) ![Non-Dynamic][non-dynamic] | `n/a` |
| [com.intellij.rider.pencils.pencilsFilterGroup](https://jb.gg/ipe?extensions=com.intellij.rider.pencils.pencilsFilterGroup) ![Non-Dynamic][non-dynamic] | `n/a` |
| [com.intellij.rider.problemsView.actionsHandler](https://jb.gg/ipe?extensions=com.intellij.rider.problemsView.actionsHandler) ![Non-Dynamic][non-dynamic] | `RiderProblemsViewActionsHandler` |
| [com.intellij.rider.problemsView.problems.notifier](https://jb.gg/ipe?extensions=com.intellij.rider.problemsView.problems.notifier) ![Non-Dynamic][non-dynamic] | `ProblemsViewNotifier` |
| [com.intellij.rider.problemsView.problems.processor](https://jb.gg/ipe?extensions=com.intellij.rider.problemsView.problems.processor) ![Non-Dynamic][non-dynamic] | `RiderProblemsDiffProcessor` |
| [com.intellij.rider.projectView.actions.projectTemplating.backend.reSharperProjectTemplateCustomizer](https://jb.gg/ipe?extensions=com.intellij.rider.projectView.actions.projectTemplating.backend.reSharperProjectTemplateCustomizer) ![Non-Dynamic][non-dynamic] | `ReSharperProjectTemplateCustomizer` |
| [com.intellij.rider.projectView.actions.projectTemplating.backend.reSharperProjectTemplateCustomizer](https://jb.gg/ipe?extensions=com.intellij.rider.projectView.actions.projectTemplating.backend.reSharperProjectTemplateCustomizer) ![Deprecated][deprecated] ![Non-Dynamic][non-dynamic] | `ReSharperProjectTemplateCustomizer` |
| [com.intellij.rider.publish.publishSettingsProvider](https://jb.gg/ipe?extensions=com.intellij.rider.publish.publishSettingsProvider) ![Project-Level][project-level] | `IPublishRuntimeCoreSettingsProvider` |
| [com.intellij.rider.publishConfigurationProvider](https://jb.gg/ipe?extensions=com.intellij.rider.publishConfigurationProvider) ![Non-Dynamic][non-dynamic] | `RiderContextPublishProvider` |
| [com.intellij.rider.refactoringPageProvider](https://jb.gg/ipe?extensions=com.intellij.rider.refactoringPageProvider) ![Non-Dynamic][non-dynamic] | `RefactoringPageProvider` |
| [com.intellij.rider.resolveContextWidgetProvider](https://jb.gg/ipe?extensions=com.intellij.rider.resolveContextWidgetProvider) ![Non-Dynamic][non-dynamic] | `RiderResolveContextWidgetProvider` |
| [com.intellij.rider.run.configurations.dotNetExe](https://jb.gg/ipe?extensions=com.intellij.rider.run.configurations.dotNetExe) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `DotNetExeConfigurationExtension` |
| [com.intellij.rider.run.configurations.externalRunConfigurationGenerator](https://jb.gg/ipe?extensions=com.intellij.rider.run.configurations.externalRunConfigurationGenerator) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `ExternalRunConfigurationGeneratorExtension` |
| [com.intellij.rider.run.configurations.host](https://jb.gg/ipe?extensions=com.intellij.rider.run.configurations.host) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RunConfigurationHostExtensions` |
| [com.intellij.rider.run.configurations.host.executor](https://jb.gg/ipe?extensions=com.intellij.rider.run.configurations.host.executor) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RunConfigurationHostExecutorExtensions` |
| [com.intellij.rider.run.configurations.launchSettings](https://jb.gg/ipe?extensions=com.intellij.rider.run.configurations.launchSettings) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `LaunchSettingsConfigurationExtension` |
| [com.intellij.rider.run.configurations.launchSettings.command](https://jb.gg/ipe?extensions=com.intellij.rider.run.configurations.launchSettings.command) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `LaunchSettingsCommandExtension` |
| [com.intellij.rider.run.configurations.multiPlatform.mac.extension](https://jb.gg/ipe?extensions=com.intellij.rider.run.configurations.multiPlatform.mac.extension) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `MacRunConfigurationExtension` |
| [com.intellij.rider.run.configurations.project](https://jb.gg/ipe?extensions=com.intellij.rider.run.configurations.project) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `DotNetProjectConfigurationExtension` |
| [com.intellij.rider.run.configurations.riderCoreDumpConfigurationProvider](https://jb.gg/ipe?extensions=com.intellij.rider.run.configurations.riderCoreDumpConfigurationProvider) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderCoreDumpConfigurationProvider` |
| [com.intellij.rider.run.configurations.riderCoreDumpConfigurationProvider](https://jb.gg/ipe?extensions=com.intellij.rider.run.configurations.riderCoreDumpConfigurationProvider) ![Non-Dynamic][non-dynamic] | `RiderCoreDumpConfigurationProvider` |
| [com.intellij.rider.run.configurations.uwp](https://jb.gg/ipe?extensions=com.intellij.rider.run.configurations.uwp) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `UwpConfigurationExtension` |
| [com.intellij.rider.runToPopupShowPolicy](https://jb.gg/ipe?extensions=com.intellij.rider.runToPopupShowPolicy) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderRunToPopupShowPolicy` |
| [com.intellij.rider.runWidgetSuspenderExtension](https://jb.gg/ipe?extensions=com.intellij.rider.runWidgetSuspenderExtension) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RunWidgetSuspenderExtension` |
| [com.intellij.rider.runtime.dotNetRuntimeAutodetect](https://jb.gg/ipe?extensions=com.intellij.rider.runtime.dotNetRuntimeAutodetect) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `DotNetRuntimeAutodetect` |
| [com.intellij.rider.solutionConfigurationPresenter](https://jb.gg/ipe?extensions=com.intellij.rider.solutionConfigurationPresenter) | `SolutionConfigurationPresenter` |
| [com.intellij.rider.solutionConfigurationToolbarCustomizer](https://jb.gg/ipe?extensions=com.intellij.rider.solutionConfigurationToolbarCustomizer) | `SolutionConfigurationToolbarCustomizer` |
| [com.intellij.rider.unitTesting.actionsProvider](https://jb.gg/ipe?extensions=com.intellij.rider.unitTesting.actionsProvider) ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderUnitTestActionsProvider` |

View File

@ -6,7 +6,7 @@
<link-summary>Overview of Extension Points and Listeners for RubyMine.</link-summary>
79 Extension Points and 11 Listeners for RubyMine
80 Extension Points and 12 Listeners for RubyMine
See [](extension_point_list.md) for IntelliJ Platform.
@ -25,6 +25,7 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [InflectorService#INFLECTIONS_CHANGED](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.rails.InflectorService.InflectionChanged) | `InflectionChanged` |
| [AssetsRegistrationWatcher#ASSETS_CHANGED_TOPIC](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.rails.codeInsight.sprockets.assetsPaths.AssetsRegistrationWatcher.AssetsListener) | `AssetsListener` |
| [MigrationParser#MIGRATIONS_CHANGED_TOPIC](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.rails.database.MigrationParser.MigrationListener) ![Project-Level][project-level] | `MigrationListener` |
| [RailsPathsChangedListener#TOPIC](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.rails.facet.configuration.RailsPathsChangedListener) | `RailsPathsChangedListener` |
| [RubyRemoteInterpreterManager#RUBY_REMOTE_SDK_TRANSFER_LISTENER_TOPIC](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.remote.RubyRemoteSdkTransferListener) | `RubyRemoteSdkTransferListener` |
| [RequireSetChangedListener#TOPIC](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.ruby.codeInsight.symbols.cache.RequiresIndexExtension.RequireSetChangedListener) | `RequireSetChangedListener` |
| [RubySdkType#SDK_PATHS_INITIALIZED_TOPIC](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.ruby.sdk.RubySdkType.SdkPathsInitializedListener) | `SdkPathsInitializedListener` |
@ -73,6 +74,7 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [org.jetbrains.plugins.ruby.ruby.run.runEnvironmentProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.ruby.run.runEnvironmentProvider) | `RunEnvironmentProvider` |
| [org.jetbrains.plugins.ruby.ruby.run.testFrameworkConfigurator](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.ruby.run.testFrameworkConfigurator) | `TestFrameworkConfigurator` |
| [org.jetbrains.plugins.ruby.rubyElementNameAndDescriptionProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.rubyElementNameAndDescriptionProvider) | `RubyElementNameAndDescriptionProvider` |
| [org.jetbrains.plugins.ruby.rubyLocalVariablesProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.rubyLocalVariablesProvider) | `RubyLocalVariablesProvider` |
| [org.jetbrains.plugins.ruby.rubyParamDefSearchTextProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.rubyParamDefSearchTextProvider) | `RubyParamDefSearchTextProvider` |
| [org.jetbrains.plugins.ruby.rubyParameterInfoDelegateProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.rubyParameterInfoDelegateProvider) | `RubyParameterInfoDelegateProvider` |
| [org.jetbrains.plugins.ruby.rubyRenameProcessor](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.rubyRenameProcessor) | `RenameProcessor` |
@ -101,6 +103,7 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [org.jetbrains.plugins.ruby.gemFacetEditorTab](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.gemFacetEditorTab) | `GemFacetEditorTabFactory` |
| [org.jetbrains.plugins.ruby.generatorConfigurator](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.generatorConfigurator) | `GeneratorActionConfigurator` |
| [org.jetbrains.plugins.ruby.i18n.i18nProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.i18n.i18nProvider) | `I18nProvider` |
| [org.jetbrains.plugins.ruby.inflectionsProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.inflectionsProvider) | `RubyInflectionsProvider` |
| [org.jetbrains.plugins.ruby.methodTypeInfoProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.methodTypeInfoProvider) | `RubyMethodTypeInfoProvider` |
| [org.jetbrains.plugins.ruby.rails.assetsPathsProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.rails.assetsPathsProvider) | `SprocketAssetsPathProvider` |
| [org.jetbrains.plugins.ruby.rails.sprocketsDirectiveContextProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.rails.sprocketsDirectiveContextProvider) | `SprocketsDirectiveContextProvider` |
@ -112,13 +115,12 @@ See [](extension_point_list.md) for IntelliJ Platform.
| [org.jetbrains.plugins.ruby.rake.rakeRunCommandLineModifierProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.rake.rakeRunCommandLineModifierProvider) | `RakeRunCommandLineModifierProvider` |
| [org.jetbrains.plugins.ruby.rake.runConfigurationSettingsFactory](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.rake.runConfigurationSettingsFactory) | `RakeRunConfigurationSettingsFactory` |
| [org.jetbrains.plugins.ruby.rerunFailedTestsActionProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.rerunFailedTestsActionProvider) | `RubyRerunFailedTestsProvider` |
| [org.jetbrains.plugins.ruby.ruby.associatedDeclarationProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.ruby.associatedDeclarationProvider) | `RubyAssociatedDeclarationProvider` |
| [org.jetbrains.plugins.ruby.ruby.associatedDeclarationProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.ruby.associatedDeclarationProvider) ![DumbAware][dumb-aware] | `RubyAssociatedDeclarationProvider` |
| [org.jetbrains.plugins.ruby.ruby.run.configuration.debugger.rubyDebugHelperFactory](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.ruby.run.configuration.debugger.rubyDebugHelperFactory) | `RubyDebugHelperFactory` |
| [org.jetbrains.plugins.ruby.ruby.topLevelSymbolProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.ruby.topLevelSymbolProvider) | `RubyTopLevelSymbolProvider` |
| [org.jetbrains.plugins.ruby.ruby.typeSignatureProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.ruby.typeSignatureProvider) | `RubyTypeSignatureProvider` |
| [org.jetbrains.plugins.ruby.ruby.typeSignatureProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.ruby.typeSignatureProvider) ![DumbAware][dumb-aware] | `RubyTypeSignatureProvider` |
| [org.jetbrains.plugins.ruby.rubyFileStructureProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.rubyFileStructureProvider) | `RubyFileStructureViewProvider` |
| [org.jetbrains.plugins.ruby.rubyInsertHandlerProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.rubyInsertHandlerProvider) | `RubyInsertHandlerProvider` |
| [org.jetbrains.plugins.ruby.rubyLocalVariablesProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.rubyLocalVariablesProvider) | `RubyLocalVariablesProvider` |
| [org.jetbrains.plugins.ruby.runConfigurationExtension](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.runConfigurationExtension) | `RubyRunConfigurationExtension` |
| [org.jetbrains.plugins.ruby.structureViewCustomizer](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.structureViewCustomizer) | `RubyStructureViewCustomizer` |
| [org.jetbrains.plugins.ruby.testing.rspec.rspecContextNameProvider](https://jb.gg/ipe?extensions=org.jetbrains.plugins.ruby.testing.rspec.rspecContextNameProvider) | `RSpecContextNameProvider` |

View File

@ -11,7 +11,7 @@
<link-summary>Overview of Extension Points and Listeners for WebStorm.</link-summary>
69 Extension Points and 5 Listeners for WebStorm
74 Extension Points and 5 Listeners for WebStorm
See [](extension_point_list.md) for IntelliJ Platform and [](oss_plugins_extension_point_list.md) for additional plugins.
@ -29,6 +29,7 @@ See [](extension_point_list.md) for IntelliJ Platform and [](oss_plugins_extensi
| [JSLibraryManager#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.lang.javascript.library.JSLibraryManager.JSLibraryManagerChangeListener) ![Project-Level][project-level] | `JSLibraryManagerChangeListener` |
| [JSRemoteModulesRegistry#TOPIC](https://jb.gg/ipe/listeners?topics=com.intellij.lang.javascript.modules.remote.JSRemoteModulesChangeListener) | `JSRemoteModulesChangeListener` |
### com.intellij.css
| Extension Point | Implementation |
@ -67,18 +68,22 @@ See [](extension_point_list.md) for IntelliJ Platform and [](oss_plugins_extensi
| [JavaScript.classInheritorsProvider](https://jb.gg/ipe?extensions=JavaScript.classInheritorsProvider) | `JSClassInheritorsProvider` |
| [JavaScript.completionHelper](https://jb.gg/ipe?extensions=JavaScript.completionHelper) | `JSCompletionHelper` |
| [JavaScript.completionPlaceFilter](https://jb.gg/ipe?extensions=JavaScript.completionPlaceFilter) ![Project-Level][project-level] | `JSCompletionPlaceFilterProvider` |
| [JavaScript.componentUsageProvider](https://jb.gg/ipe?extensions=JavaScript.componentUsageProvider) | `JSComponentUsageProvider` |
| [JavaScript.conditionalCompilationDefinitionsProvider](https://jb.gg/ipe?extensions=JavaScript.conditionalCompilationDefinitionsProvider) | `JSConditionalCompilationDefinitionsProvider` |
| [JavaScript.dialectSpecificHandlersFactory](https://jb.gg/ipe?extensions=JavaScript.dialectSpecificHandlersFactory) | `JSDialectSpecificHandlersFactory` |
| [JavaScript.elementScopeProvider](https://jb.gg/ipe?extensions=JavaScript.elementScopeProvider) | `JSElementResolveScopeProvider` |
| [JavaScript.frameworkIndexingHandler](https://jb.gg/ipe?extensions=JavaScript.frameworkIndexingHandler) | `FrameworkIndexingHandler` |
| [JavaScript.frameworkSpecificHandler](https://jb.gg/ipe?extensions=JavaScript.frameworkSpecificHandler) | `JSFrameworkSpecificHandler` |
| [JavaScript.frameworkSpecificStructureViewExtension](https://jb.gg/ipe?extensions=JavaScript.frameworkSpecificStructureViewExtension) | `JSFrameworkSpecificStructureExtension` |
| [JavaScript.handlersFactory](https://jb.gg/ipe?extensions=JavaScript.handlersFactory) | `JSHandlersFactory` |
| [JavaScript.iconProvider](https://jb.gg/ipe?extensions=JavaScript.iconProvider) | `JSIconProvider` |
| [JavaScript.importCandidatesFactory](https://jb.gg/ipe?extensions=JavaScript.importCandidatesFactory) | `CandidatesFactory` |
| [JavaScript.importCandidatesFilterFactory](https://jb.gg/ipe?extensions=JavaScript.importCandidatesFilterFactory) | `FilterFactory` |
| [JavaScript.importModulePathStrategy](https://jb.gg/ipe?extensions=JavaScript.importModulePathStrategy) ![Experimental][experimental] | `JSImportModulePathStrategy` |
| [JavaScript.indexedFileTypeProvider](https://jb.gg/ipe?extensions=JavaScript.indexedFileTypeProvider) | `IndexedFileTypeProvider` |
| [JavaScript.inheritedLanguagesConfigurableProvider](https://jb.gg/ipe?extensions=JavaScript.inheritedLanguagesConfigurableProvider) | `JSInheritedLanguagesConfigurableProvider` |
| [JavaScript.intentionAndInspectionFilter](https://jb.gg/ipe?extensions=JavaScript.intentionAndInspectionFilter) | `IntentionAndInspectionFilter` |
| [JavaScript.isNotMinifiedFile.provider](https://jb.gg/ipe?extensions=JavaScript.isNotMinifiedFile.provider) ![Internal][internal] | `JSIsNotMinifiedFileProvider` |
| [JavaScript.jestPackageProvider](https://jb.gg/ipe?extensions=JavaScript.jestPackageProvider) | `JestPackageProvider` |
| [JavaScript.jsDocCustomTagsHandler](https://jb.gg/ipe?extensions=JavaScript.jsDocCustomTagsHandler) ![Experimental][experimental] | `JSDocCustomTagsHandler` |
| [JavaScript.jsxImplementation](https://jb.gg/ipe?extensions=JavaScript.jsxImplementation) | `JSXImplementation` |
@ -90,6 +95,7 @@ See [](extension_point_list.md) for IntelliJ Platform and [](oss_plugins_extensi
| [JavaScript.nodeModulesIndexableFileNamesProvider](https://jb.gg/ipe?extensions=JavaScript.nodeModulesIndexableFileNamesProvider) | `NodeModulesIndexableFileNamesProvider` |
| [JavaScript.nodeRunConfigurationExtension](https://jb.gg/ipe?extensions=JavaScript.nodeRunConfigurationExtension) | `AbstractNodeRunConfigurationExtension` |
| [JavaScript.predefinedLibraryProvider](https://jb.gg/ipe?extensions=JavaScript.predefinedLibraryProvider) | `JSPredefinedLibraryProvider` |
| [JavaScript.projectGeneratorPanelCustomizer](https://jb.gg/ipe?extensions=JavaScript.projectGeneratorPanelCustomizer) | `ProjectGeneratorSettingsCustomizer` |
| [JavaScript.resolveHelper](https://jb.gg/ipe?extensions=JavaScript.resolveHelper) | `JSResolveHelper` |
| [JavaScript.runConfigurationBuilder](https://jb.gg/ipe?extensions=JavaScript.runConfigurationBuilder) ![Project-Level][project-level] | `JSRunConfigurationBuilder` |
| [JavaScript.scanningFileListenerContributor](https://jb.gg/ipe?extensions=JavaScript.scanningFileListenerContributor) | `ScanningFileListenerContributor` |

View File

@ -178,7 +178,7 @@ Prior to 2023.1 IDEs were required to have JavaScript plugin installed for the s
### Angular
Angular plugin Web Types are available
[here](%gh-ij-plugins%/AngularJS/resources/web-types)
[here](%gh-ij-plugins%/Angular/resources/web-types)
for reference.
Any Web Types file targeting only Angular support should have `framework` property set to `angular`.
Highlights: `js/ng-custom-events` contribute symbols with patterns for any custom events supported by Angular `EventManager`s, e.g.:

View File

@ -57,7 +57,7 @@ Using JCEF requires using a dedicated JetBrains Runtime and enabling JCEF in the
## Using JCEF In a Plugin
The core JCEF class exposed by IntelliJ Platform API is [`JBCefApp`](%gh-ic-master%/platform/platform-api/src/com/intellij/ui/jcef/JBCefApp.java).
The core JCEF class exposed by IntelliJ Platform API is [`JBCefApp`](%gh-ic%/platform/platform-api/src/com/intellij/ui/jcef/JBCefApp.java).
It is responsible for initializing JCEF context and managing its lifecycle.
There is no need for initializing `JBCefApp` explicitly.
@ -80,16 +80,16 @@ JCEF can be unsupported when:
### Browser
JCEF browser is represented by [`JBCefBrowser`](%gh-ic-master%/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowser.java) class.
JCEF browser is represented by [`JBCefBrowser`](%gh-ic%/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowser.java) class.
It is responsible for loading and rendering requested documents in the actual Chromium-based browser.
JCEF browsers can be created either by using the `JBCefBrowser` class' constructors, or via [`JBCefBrowserBuilder`](%gh-ic-master%/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowserBuilder.java).
JCEF browsers can be created either by using the `JBCefBrowser` class' constructors, or via [`JBCefBrowserBuilder`](%gh-ic%/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowserBuilder.java).
Use constructors in the cases when a browser with the default [client](#browser-client) and default options is enough.
The builder approach allows using custom clients and configuring other options.
#### Adding Browser to UI
[`JBCefBrowser.getComponent()`](%gh-ic-master%/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowser.java) exposes the UI component embedding the actual browser.
[`JBCefBrowser.getComponent()`](%gh-ic%/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowser.java) exposes the UI component embedding the actual browser.
The component is an instance of Swing `JComponent`, which can be added to the plugin UI:
```java
@ -100,7 +100,7 @@ myPanel.add(browser.getComponent());
#### Loading Documents
To load a document in the browser, use one of [`JBCefBrowserBase.load*()`](%gh-ic-master%/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowserBase.java) methods.
To load a document in the browser, use one of [`JBCefBrowserBase.load*()`](%gh-ic%/platform/platform-api/src/com/intellij/ui/jcef/JBCefBrowserBase.java) methods.
Methods loading documents can be called from both UI and non-UI threads.
It is possible to set an initial URL (passed to constructor or builder) that will be loaded when browser is created and initialized.
@ -114,7 +114,7 @@ Browser client provides an interface for setting up [handlers](#event-handlers)
Handlers allow reacting to these events in plugin code and change browser's behavior.
Each browser is tied to a single client and a single client can be shared with multiple browser instances.
Browser client is represented by [`JBCefClient`](%gh-ic-master%/platform/platform-api/src/com/intellij/ui/jcef/JBCefClient.java), which is a wrapper for JCEF's [`CefClient`](%gh-jcef%/org/cef/CefClient.java).
Browser client is represented by [`JBCefClient`](%gh-ic%/platform/platform-api/src/com/intellij/ui/jcef/JBCefClient.java), which is a wrapper for JCEF's [`CefClient`](%gh-jcef%/org/cef/CefClient.java).
`JBCefClient` allows registering multiple handlers of the same type, which is not possible with `CefClient`.
To access the underlying `CefClient` and its API, call `JBCefClient.getCefClient()`.
@ -178,7 +178,7 @@ It is common to pass `browser.getCefBrowser().getUrl()` or null/empty string, an
JCEF doesn't provide direct access to DOM from the plugin code (it may [change](https://youtrack.jetbrains.com/issue/JBR-2046) in the future) and asynchronous communication with JavaScript is achieved with the callback mechanism.
It allows executing plugin code from the embedded browser via JavaScript, e.g., when a button or link is clicked, a shortcut is pressed, a JavaScript function is called, etc.
JavaScript query callback is represented by [`JBCefJSQuery`](%gh-ic-master%/platform/platform-api/src/com/intellij/ui/jcef/JBCefJSQuery.java).
JavaScript query callback is represented by [`JBCefJSQuery`](%gh-ic%/platform/platform-api/src/com/intellij/ui/jcef/JBCefJSQuery.java).
It is an object bound to a specific browser, and it holds a set of handlers that implement the required plugin behavior.
Consider a case, which requires opening local files links in the editor and external links in an external browser.
@ -245,7 +245,7 @@ See [`JCefImageViewer`](%gh-ic%/images/src/org/intellij/images/editor/impl/jcef/
Default browser scrollbars may be insufficient, e.g. when they stand out of the IDE scrollbars look, or specific look and behavior is required.
In JCEF browsers, scrollbars look and feel can be customized by CSS and JavaScript.
IntelliJ Platform provides [`JBCefScrollbarsHelper`](%gh-ic-master%/platform/platform-api/src/com/intellij/ui/jcef/JBCefScrollbarsHelper.java) that allows to customize scrollbars in two ways:
IntelliJ Platform provides [`JBCefScrollbarsHelper`](%gh-ic%/platform/platform-api/src/com/intellij/ui/jcef/JBCefScrollbarsHelper.java) that allows to customize scrollbars in two ways:
1. Using `JBCefScrollbarsHelper.getOverlayScrollbarStyle()`, which provides the styles adapted to the IDE scrollbars.
2. Using [OverlayScrollbars](https://kingsora.github.io/OverlayScrollbars/) library adapted to the IDE look and feel.
For the details, see `getOverlayScrollbarsSourceCSS()`, `getOverlayScrollbarsSourceJS()`, and `buildScrollbarsStyle()` Javadocs.
@ -253,7 +253,7 @@ IntelliJ Platform provides [`JBCefScrollbarsHelper`](%gh-ic-master%/platform/pla
### Disposing Resources
`JBCefBrowser`, `JBCefClient`, and `JBCefJSQuery` classes implement [`JBCefDisposable`](%gh-ic-master%/platform/platform-api/src/com/intellij/ui/jcef/JBCefDisposable.java), which extends [`Disposable`](%gh-ic%/platform/util/src/com/intellij/openapi/Disposable.java).
`JBCefBrowser`, `JBCefClient`, and `JBCefJSQuery` classes implement [`JBCefDisposable`](%gh-ic%/platform/platform-api/src/com/intellij/ui/jcef/JBCefDisposable.java), which extends [`Disposable`](%gh-ic%/platform/util/src/com/intellij/openapi/Disposable.java).
It means that these classes should clean up their resources according to the rules described on the [](disposers.md) page.
For example, a custom `JBCefClient` with registered handlers should remove them in the `dispose()` method implementation.

View File

@ -24,7 +24,7 @@ The bigger picture here is that documentation providers co-exist and if there is
the first one that returns a value different from `null` wins.
Although discouraged, the ordering of documentation providers can be influenced by using the `order` attribute when registering the extension.
For instance, [`python-core-common.xml`](%gh-ic%/python/src/META-INF/python-core-common.xml) uses the following to call the external documentation
For instance, [`intellij.python.community.impl.xml`](%gh-ic%/python/src/intellij.python.community.impl.xml) uses the following to call the external documentation
provider before the default one (registered with `id="pythonDocumentationProvider"`):
```xml

View File

@ -117,7 +117,7 @@ Internal templates can be exposed in the <control>Files</control> category by ad
```
**Example**:
[`NewKotlinFileAction`](%gh-ic%/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/actions/NewKotlinFileAction.kt) for Kotlin files creation action.
[`NewKotlinFileAction`](%gh-ic%/plugins/kotlin/kotlin.ide/src/org/jetbrains/kotlin/idea/actions/NewKotlinFileAction.kt) for Kotlin files creation action.
## Improving "Save File as Template…" Action

4
v.list
View File

@ -3,8 +3,8 @@
SYSTEM "https://resources.jetbrains.com/writerside/1.0/vars.dtd">
<vars>
<var name="ijPlatform" value="2023.3.6"/>
<var name="ijPlatformBuild" value="233.15026.9"/>
<var name="ijPlatform" value="2024.1"/>
<var name="ijPlatformBuild" value="241.14494.240"/>
<var name="gh-sdk-samples" value="https://github.com/JetBrains/intellij-sdk-code-samples/tree/main"/>