Files
openide/plugins/completion-ml-ranking/resources/META-INF/plugin.xml
Vladimir Krivosheev ff01e93549 do not preload ClientExperimentStatus
GitOrigin-RevId: ccce9c912b6162dc9a6f85f1a6b078ca348c082a
2024-10-10 23:38:08 +00:00

133 lines
8.3 KiB
XML

<idea-plugin package="com.intellij.completion.ml">
<id>com.intellij.completion.ml.ranking</id>
<name>Machine Learning Code Completion</name>
<vendor>JetBrains</vendor>
<category>Local AI/ML Tools</category>
<description><![CDATA[
<p>The plugin improves code completion feature by reordering of elements in the completion
popup by ranking more relevant items higher using machine learning.
</p>
<br>
<p>To enable the feature for your programming language, check settings in
Editor | General | Code Completion | "Machine Learning Assistant Code Completion" section.</p>
]]></description>
<dependencies>
<plugin id="com.intellij.modules.lang"/>
<module name="intellij.platform.vcs.impl"/>
</dependencies>
<extensionPoints>
<extensionPoint name="features.policy" beanClass="com.intellij.lang.LanguageExtensionPoint" dynamic="true">
<with attribute="implementationClass" implements="com.intellij.completion.ml.features.CompletionFeaturesPolicy"/>
</extensionPoint>
<extensionPoint name="policy" beanClass="com.intellij.lang.LanguageExtensionPoint" dynamic="true">
<with attribute="implementationClass" implements="com.intellij.completion.ml.CompletionMLPolicy"/>
</extensionPoint>
<extensionPoint qualifiedName="com.intellij.completion.ml.lookupFeatures" beanClass="com.intellij.lang.LanguageExtensionPoint" dynamic="true">
<with attribute="implementationClass" implements="com.intellij.completion.ml.sorting.LookupFeatureProvider"/>
</extensionPoint>
<extensionPoint qualifiedName="com.intellij.completion.ml.additionalContextFeatures" beanClass="com.intellij.lang.LanguageExtensionPoint" dynamic="true">
<with attribute="implementationClass" implements="com.intellij.completion.ml.sorting.AdditionalContextFeatureProvider"/>
</extensionPoint>
<extensionPoint qualifiedName="com.intellij.completion.ml.elementIdProvider" dynamic="true" interface="com.intellij.completion.ml.util.LookupElementIdProvider" />
<extensionPoint qualifiedName="com.intellij.completion.ml.localModelProvider" dynamic="true" interface="com.intellij.completion.ml.ranker.local.LocalZipModelProvider" />
<extensionPoint qualifiedName="com.intellij.completion.ml.featuresOverride" beanClass="com.intellij.lang.LanguageExtensionPoint" dynamic="true">
<with attribute="implementationClass" implements="com.intellij.completion.ml.features.RankingFeaturesOverrides"/>
</extensionPoint>
</extensionPoints>
<resource-bundle>messages.MlCompletionBundle</resource-bundle>
<actions>
<action id="DumpMLCompletionFeatures"
class="com.intellij.completion.ml.actions.MLCompletionFeaturesUtil$CopyFeaturesToClipboard">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift alt 9"/>
<add-to-group group-id="MaintenanceGroup" anchor="before" relative-to-action="DumpLookupElementWeights"/>
</action>
<action id="DumpMLExperimentGroups"
class="com.intellij.completion.ml.actions.DumpMLExperimentsGroupsAction"
internal="true">
<add-to-group group-id="MaintenanceGroup" anchor="after" relative-to-action="DumpMLCompletionFeatures"/>
</action>
</actions>
<extensions defaultExtensionNs="com.intellij">
<applicationService serviceImplementation="com.intellij.completion.ml.settings.CompletionMLRankingSettings"/>
<applicationService serviceInterface="com.intellij.codeInsight.completion.CompletionFinalSorter$Factory"
serviceImplementation="com.intellij.completion.ml.sorting.MLSorterFactory"/>
<mlCodeCompletionConfigurable provider="com.intellij.completion.ml.settings.MLRankingConfigurableProvider"/>
<applicationService serviceImplementation="com.intellij.completion.ml.personalization.impl.ApplicationUserFactorStorage"/>
<applicationService serviceInterface="com.intellij.completion.ml.personalization.UserFactorsManager"
serviceImplementation="com.intellij.completion.ml.personalization.impl.UserFactorsManagerImpl"/>
<applicationService serviceInterface="com.intellij.completion.ml.experiment.ExperimentStatus"
serviceImplementation="com.intellij.completion.ml.experiment.ClientExperimentStatus"/>
<projectService serviceImplementation="com.intellij.completion.ml.common.CurrentProjectInfo"/>
<weigher key="completion" id="ml_weigh" implementationClass="com.intellij.completion.ml.features.MLCompletionWeigher" order="last"/>
<completion.contributor language="any" order="first" id="ml_context"
implementationClass="com.intellij.completion.ml.sorting.ContextFeaturesContributor"/>
<registryKey key="completion.ml.reorder.only.top.items" defaultValue="true"
description="Reorder only a few items on the top in the lookup to preserve a proper grouping for the items below"/>
<registryKey key="completion.ml.reorder.without.duplicates" defaultValue="false"
description="Reorder only items with different names"/>
<registryKey key="completion.ml.show.star.notification" defaultValue="true"
description="Show notification with question about ML completion arrows"/>
<registryKey key="completion.ml.enable.session.factors" defaultValue="true"
description="Use inside single session factors"/>
<registryKey key="completion.ml.override.experiment.group.number" defaultValue="-1" restartRequired="true"
description="Set experiment bucket number. If value is negative, will be skipped."/>
<registryKey key="completion.ml.path.to.zip.model" defaultValue="no path"
description="Path to load ml completion model from zip"/>
<completion.ml.contextFeatures language="" implementationClass="com.intellij.completion.ml.VcsContextFeatureProvider"/>
<completion.ml.contextFeatures language="" implementationClass="com.intellij.completion.ml.common.CommonLocationFeatures"/>
<completion.ml.elementFeatures language="" implementationClass="com.intellij.completion.ml.common.CommonElementLocationFeatures"/>
<completion.ml.elementFeatures language="" implementationClass="com.intellij.completion.ml.ngram.NGramFeatureProvider"/>
<completion.ml.elementFeatures language="" implementationClass="com.intellij.completion.ml.common.ContextSimilarityFeatures"/>
<completion.ml.elementFeatures language="" implementationClass="com.intellij.completion.ml.common.RecentPlacesFeatures"/>
<completion.ml.elementFeatures language="" implementationClass="com.intellij.completion.ml.VcsFeatureProvider"/>
<completion.ml.elementFeatures language="" implementationClass="com.intellij.completion.ml.templates.LiveTemplateUsageFeatureProvider"/>
<lookup.usageDetails implementation="com.intellij.completion.ml.features.MLRankingLookupUsageDescriptor"/>
<statistics.collectorExtension implementation="com.intellij.completion.ml.features.MLRankingLookupUsageDescriptor$MLRankingCompletionCollectorExtension"/>
<statistics.validation.customValidationRule
implementation="com.intellij.completion.ml.settings.MLCompletionSettingsCollector$MLRankingSettingsValidationRule"/>
<statistics.counterUsagesCollector implementationClass="com.intellij.completion.ml.settings.MLCompletionSettingsCollector"/>
<completion.ml.localModelProvider implementation="com.intellij.completion.ml.ranker.local.randomforest.LocalRandomForestProvider" />
<completion.ml.localModelProvider implementation="com.intellij.completion.ml.ranker.local.catboost.LocalCatBoostModelProvider" />
</extensions>
<projectListeners>
<listener class="com.intellij.completion.ml.common.RecentPlacesFeatures$StoreRecentPlacesListener"
topic="com.intellij.openapi.fileEditor.impl.IdeDocumentHistoryImpl$RecentPlacesListener"/>
<listener class="com.intellij.completion.ml.tracker.CompletionFactorsInitializer"
topic="com.intellij.codeInsight.lookup.LookupManagerListener" />
<listener class="com.intellij.completion.ml.sorting.ItemsDecoratorInitializer"
topic="com.intellij.codeInsight.lookup.LookupManagerListener"
activeInTestMode="false"/>
<listener class="com.intellij.completion.ml.ngram.NGramFileListener"
topic="com.intellij.openapi.fileEditor.FileEditorManagerListener$Before"/>
</projectListeners>
</idea-plugin>