# Rider Extension Point and Listener List
Overview of Extension Points and Listeners for Rider.
**Product-Specific Plugin Development**: [Rider](rider.md)
> See [](intellij_platform_extension_point_list.md) for IntelliJ Platform.
145 Extension Points and 9 Listeners
## Rider
### Rider – Listeners
| Topic | Listener |
|-------|----------|
| [`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` |
| [`AutoAttachDebuggerListener.Companion#TOPIC`](https://jb.gg/ipe/listeners?topics=com.jetbrains.rider.run.AutoAttachDebuggerListener) | `AutoAttachDebuggerListener` |
| [`PublishConfigurationValidationListener.Companion#TOPIC`](https://jb.gg/ipe/listeners?topics=com.jetbrains.rider.run.configurations.publishing.PublishConfigurationValidationListener) | `PublishConfigurationValidationListener` |
| [`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` |
### com.intellij.rider.frontend.customization
| Extension Point | Implementation |
|-----------------|----------------|
| | `CompletionHelper` |
### com.jetbrains.dotTrace.dotMemory
| Extension Point | Implementation |
|-----------------|----------------|
| | `DotTraceRuntimeDetector` |
### com.jetbrains.rider-cpp
| Extension Point | Implementation |
|-----------------|----------------|
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `CppConfigurationParametersExtension` |
| ![Non-Dynamic][non-dynamic] | `CppProjectLaunchProfile` |
| ![Non-Dynamic][non-dynamic] | `CppPlatformInfoProvider` |
| ![Non-Dynamic][non-dynamic] ![Internal][internal] | `CppPlatformPluginPromotion` |
| | `RiderCppDebugProcessExtension` |
### com.jetbrains.rider.razor
| Extension Point | Implementation |
|-----------------|----------------|
| ![Non-Dynamic][non-dynamic] | `BlazorHtmlDialectSubstitutor` |
| | `WebTypingAssistClassifier` |
### DotNetPluginEP.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `RiderActionSupportPolicy` |
| | `RiderAutoImportSupportPolicy` |
| | `RiderAutoPopupSupportPolicy` |
| ![Non-Dynamic][non-dynamic] | `FrontendMarkupAdapterFactory` |
| | `FrontendTypedHandler` |
| | `CompletionSessionStrategy` |
| | `ICompletionHelper` |
| | `BulbMenuModelFactory` |
| | `PopupModelDelegate` |
| | `RiderNavBarMembersSupport` |
| ![Project-Level][project-level] | `ProjectModelViewUpdater` |
| ![Internal][internal] | `FrontendActionsDataContextProvider` |
| | `PreemptiveCompletionSuppressor` |
| | `CustomTypingSessionPolicy` |
| | `RiderAsyncBackendDelegatingActionFallbackStrategy` |
| | `AdditionalQuickDocProvider` |
| | `RiderAltEnterLayouter` |
| | `BackendCrashAnalyzer` |
| | `RiderCustomBackendLogXmlPathProvider` |
| | `RiderCodeStyleContentPageConverter` |
| | `ICredentialsProvider` |
| | `SpecialPathsProvider` |
| | `RiderDocumentBehaviour` |
| | `RiderCustomBackendLanguageSupport` |
| | `ExtraSettingsSync` |
| | `CustomFileBreadcrumbExtensions` |
| ![Experimental][experimental] | `RiderHighlightingGraveFilter` |
| | `IdeaInspectionBackendSuppressionSupport` |
| | `NamingPageProvider` |
| | `RiderBackendEnvProvider` |
| | `RiderApplicationPreloadListener` |
| ![Non-Dynamic][non-dynamic] | `RiderSmartTabsBackendSynchronizer` |
| ![Internal][internal] | `RiderInitialStartupListener` |
| | `DotnetSelfProfilerPathsCustomizer` |
| ![Project-Level][project-level] | `SolutionLoadNotification` |
### DotNetProjectView.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `ProjectModelIconProvider` |
| | `CountableProjectsPolicy` |
### intellij.rider.cpp.debugger
| Extension Point | Implementation |
|-----------------|----------------|
| ![Non-Dynamic][non-dynamic] | `CppDebuggerSettings` |
### intellij.rider.plugins.appender.database.xml
| Extension Point | Implementation |
|-----------------|----------------|
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `DatabaseConnectionUrlRetriever` |
| ![Project-Level][project-level] | `ConnectionStringToJdbcUrlConverter` |
| ![Project-Level][project-level] | `ConnectionStringsFactory` |
| ![Project-Level][project-level] | `ConnectionStringsFinder` |
| ![Project-Level][project-level] | `DotnetDataProvider` |
| ![Project-Level][project-level] | `JdbcUrlToConnectionStringConverter` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `SchemaCompareDataModelCreatedListener` |
### intellij.rider.plugins.appender.docker.xml
| Extension Point | Implementation |
|-----------------|----------------|
| ![Non-Dynamic][non-dynamic] ![Internal][internal] | `RiderDockerDebugProvider` |
| ![Non-Dynamic][non-dynamic] ![Internal][internal] | `RiderDockerDeploymentTransformer` |
### intellij.rider.plugins.appender.javascript.xml
| Extension Point | Implementation |
|-----------------|----------------|
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderPackageJsonConfiguratorHandler` |
### intellij.rider.rdclient.languages.xml
| Extension Point | Implementation |
|-----------------|----------------|
| ![Non-Dynamic][non-dynamic] ![Experimental][experimental] ![Internal][internal] | `RiderBreakingWorkflowChangeInterceptor` |
### org.jetbrains.plugins.clion.radler
| Extension Point | Implementation |
|-----------------|----------------|
| | `RadExternalSymbolsProvider` |
| ![Non-Dynamic][non-dynamic] | `RefactoringPageProvider` |
### RiderCwmCoreEP.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `RiderClientLookupTypedHandler` |
### RiderDebugger.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `DebugEvalAdviceProvider` |
### RiderExtensionPoints.xml
| Extension Point | Implementation |
|-----------------|----------------|
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `FileSystemExplorerCustomization` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `MoveProviderExtension` |
| ![Non-Dynamic][non-dynamic] | `RiderNestingRulesLanguageExtensions` |
| ![Non-Dynamic][non-dynamic] | `NuGetCredentialProvider` |
| ![Non-Dynamic][non-dynamic] | `OpenDirectoryExtensions` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `ProjectModelViewExtensions` |
| ![Non-Dynamic][non-dynamic] | `ProjectTemplateCustomizer` |
| ![Non-Dynamic][non-dynamic] | `ProjectTemplateDialogProvider` |
| ![Non-Dynamic][non-dynamic] | `ProjectTemplateProvider` |
| ![Non-Dynamic][non-dynamic] | `RiderProjectTypesProvider` |
| ![Non-Dynamic][non-dynamic] | `SolutionFileTypesProvider` |
| ![Non-Dynamic][non-dynamic] | `RiderTechnicalSupportInfoProvider` |
| ![Non-Dynamic][non-dynamic] | `IDotNetLineBreakpointCustomPanelsProvider` |
| ![Non-Dynamic][non-dynamic] | `IDotNetLineBreakpointPopupActionsProvider` |
| ![Project-Level][project-level] | `RiderBuildConsoleDecorator` |
| | `BuildButtonModeProvider` |
| ![Non-Dynamic][non-dynamic] | `VcsDeclarationRangesProvider` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `CSharpIdentifierPartHelper` |
| ![Non-Dynamic][non-dynamic] | `RiderFrontendLanguagesPreselectionStrategy` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderConfigurationExecutorExtension` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderConfigurationLaunchSettingsExtension` |
| | `RiderConsoleFilterExtension` |
| | `RiderContributedLanguageElementNameCrawler` |
| ![Non-Dynamic][non-dynamic] | `IDotNetSupportedBreakpointHandlerFactory` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `DotNetEncInfoAutodetect` |
| ![Non-Dynamic][non-dynamic] | `RiderCustomComponentEvaluatorFactory` |
| ![Non-Dynamic][non-dynamic] | `RiderDebuggerValuePresenter` |
| ![Non-Dynamic][non-dynamic] | `RiderDebuggerSupportPolicy` |
| ![Non-Dynamic][non-dynamic] | `RiderEditSourceSuppressor` |
| ![Non-Dynamic][non-dynamic] | `RiderExtendedFileStructure` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `ExternalDirectoryProvider` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderNewFileFromTemplateExtension` |
| ![Non-Dynamic][non-dynamic] | `RiderFilesIndexingRuleProvider` |
| | `FindPopupProjectScopeProvider` |
| | `GodotDetector` |
| | `GotoCustomizer` |
| ![Project-Level][project-level] | `GuidGeneratorPresenter` |
| ![Project-Level][project-level] | `RiderNewFileListener` |
| ![Non-Dynamic][non-dynamic] | `RiderNewRunConfigurationTreeGroupingProvider` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `PatchCommandLineExtension` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `PencilsFiltersProvider` |
| ![Non-Dynamic][non-dynamic] | `n/a` |
| ![Non-Dynamic][non-dynamic] | `n/a` |
| ![Non-Dynamic][non-dynamic] | `RiderProblemsViewActionsHandler` |
| ![Non-Dynamic][non-dynamic] | `ProblemsViewNotifier` |
| | `RiderProblemsDiffProcessor` |
| ![Project-Level][project-level] | `IPublishRuntimeCoreSettingsProvider` |
| ![Non-Dynamic][non-dynamic] | `RiderContextPublishProvider` |
| | `RiderCustomReaderModeMatcher` |
| ![Non-Dynamic][non-dynamic] | `RefactoringPageProvider` |
| ![Non-Dynamic][non-dynamic] | `RiderResolveContextWidgetProvider` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `DotNetExeConfigurationExtension` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `ExternalRunConfigurationGeneratorExtension` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RunConfigurationHostExtensions` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RunConfigurationHostExecutorExtensions` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `LaunchSettingsConfigurationExtension` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `LaunchSettingsCommandExtension` |
| | `LaunchSettingsConfigGeneratorExtension` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `MacRunConfigurationExtension` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `DotNetProjectConfigurationExtension` |
| ![Non-Dynamic][non-dynamic] | `RiderCoreDumpConfigurationProvider` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `UwpConfigurationExtension` |
| ![Non-Dynamic][non-dynamic] | `DotNetProfileConsoleViewProviderExtension` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderRunToPopupShowPolicy` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RunWidgetSuspenderExtension` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `DotNetRuntimeAutodetect` |
| | `SolutionConfigurationPresenter` |
| | `SolutionConfigurationToolbarCustomizer` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderUnitTestActionsProvider` |
| ![Non-Dynamic][non-dynamic] | `IRiderUnitTestDebuggerSessionsHandler` |
| ![Project-Level][project-level] | `UnityDetector` |
| ![Non-Dynamic][non-dynamic] | `DotNetCompanionDebugStarter` |
| ![Non-Dynamic][non-dynamic] | `WebBrowserDebugSupport` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `RiderDebugWritingAccessProvider` |
| ![Non-Dynamic][non-dynamic] | `XamlPreviewEditorExtension` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `SolutionExplorerCustomization` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `SolutionExplorerRootProvider` |
| ![Non-Dynamic][non-dynamic] | `SolutionManagerExtensions` |
| ![Non-Dynamic][non-dynamic] ![Project-Level][project-level] | `SolutionViewPsiNodeNavigator` |
### RiderReformatAndCleanup.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `RiderCodeCleanupSupportPolicy` |
| ![Non-Dynamic][non-dynamic] | `ProfileActionPrinter` |
| ![Non-Dynamic][non-dynamic] | `CleanupAction` |
### RiderSettingsSync.xml
| Extension Point | Implementation |
|-----------------|----------------|
| ![Non-Dynamic][non-dynamic] | `n/a` |
[deprecated]: https://img.shields.io/badge/-Deprecated-lightgrey?style=flat-square
[removal]: https://img.shields.io/badge/-Removal-red?style=flat-square
[obsolete]: https://img.shields.io/badge/-Obsolete-grey?style=flat-square
[experimental]: https://img.shields.io/badge/-Experimental-violet?style=flat-square
[internal]: https://img.shields.io/badge/-Internal-darkred?style=flat-square
[project-level]: https://img.shields.io/badge/-Project--Level-blue?style=flat-square
[non-dynamic]: https://img.shields.io/badge/-Non--Dynamic-orange?style=flat-square
[dumb-aware]: https://img.shields.io/badge/-DumbAware-darkgreen?style=flat-square