plugin/plugin.xml (579 lines of code) (raw):

<?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.4"?> <plugin> <extension point="org.eclipse.ui.services"> <sourceProvider provider="software.aws.toolkits.eclipse.amazonq.lsp.auth.AuthSourceProvider"> <variable name="is_logged_in" priorityLevel="workbench"/> </sourceProvider> </extension> <extension point="org.eclipse.ui.views"> <!-- Old View Ids registered necessary to migrate to ViewContainer --> <category name="Amazon Q" id="amazonq"> </category> <view id="software.aws.toolkits.eclipse.amazonq.views.ReauthenticateView" name="Amazon Q" icon="icons/AmazonQ.png" class="software.aws.toolkits.eclipse.amazonq.views.AmazonQViewContainer"> </view> <view id="software.aws.toolkits.eclipse.amazonq.views.DependencyMissingView" name="Amazon Q" icon="icons/AmazonQ.png" class="software.aws.toolkits.eclipse.amazonq.views.AmazonQViewContainer"> </view> <view id="software.aws.toolkits.eclipse.amazonq.views.ChatAssetMissingView" name="Amazon Q" icon="icons/AmazonQ.png" class="software.aws.toolkits.eclipse.amazonq.views.AmazonQViewContainer"> </view> <view id="software.aws.toolkits.eclipse.amazonq.views.ToolkitLoginWebview" name="Amazon Q" icon="icons/AmazonQ.png" class="software.aws.toolkits.eclipse.amazonq.views.AmazonQViewContainer" category="amazonq" inject="true"> </view> <view id="software.aws.toolkits.eclipse.amazonq.views.AmazonQChatWebview" name="Amazon Q" icon="icons/AmazonQ.png" class="software.aws.toolkits.eclipse.amazonq.views.AmazonQViewContainer" inject="true"> </view> </extension> <extension point="org.eclipse.ui.activities"> <!-- These activities and activityPatternBindings prevent the view from showing up in the Show View menu. Logic exists that will filter these views out. --> <!-- ToolkitLoginWebview is intentionally excluded here as this should be the only view that should show in the menu. --> <activityPatternBinding activityId="software.aws.toolkits.eclipse.amazonq.activity.AmazonQCodeReferenceView" isEqualityPattern="true" pattern="amazon-q-eclipse/software.aws.toolkits.eclipse.amazonq.views.AmazonQCodeReferenceView"> </activityPatternBinding> <activityPatternBinding activityId="software.aws.toolkits.eclipse.amazonq.activity.AmazonQViewContainer" isEqualityPattern="true" pattern="amazon-q-eclipse/software.aws.toolkits.eclipse.amazonq.views.AmazonQViewContainer"> </activityPatternBinding> </extension> <extension point="org.eclipse.ui.perspectiveExtensions"> <!-- These perspectiveExtensions ensure that the view is display in the appropriate portion of the layout. In most cases, it should stack the ToolkitLoginWebview. --> <perspectiveExtension targetID="*"> <view id="software.aws.toolkits.eclipse.amazonq.views.ToolkitLoginWebview" relative="org.eclipse.ui.editorss" relationship="right" visible="false"> </view> <view id="software.aws.toolkits.eclipse.amazonq.views.AmazonQChatWebview" relative="software.aws.toolkits.eclipse.amazonq.views.ToolkitLoginWebview" relationship="stack" visible="false"> </view> <view id="software.aws.toolkits.eclipse.amazonq.views.AmazonQCodeReferenceView" relative="software.aws.toolkits.eclipse.amazonq.views.ToolkitLoginWebview" relationship="stack" visible="false"> </view> <view id="software.aws.toolkits.eclipse.amazonq.views.DependencyMissingView" relative="software.aws.toolkits.eclipse.amazonq.views.ToolkitLoginWebview" relationship="stack" visible="false"> </view> <view id="software.aws.toolkits.eclipse.amazonq.views.ReauthenticateView" relative="software.aws.toolkits.eclipse.amazonq.views.ToolkitLoginWebview" relationship="stack" visible="false"> </view> <view id="software.aws.toolkits.eclipse.amazonq.views.DependencyMissingView" relative="software.aws.toolkits.eclipse.amazonq.views.ToolkitLoginWebview" relationship="stack" visible="false"> </view> <view id="software.aws.toolkits.eclipse.amazonq.views.ChatAssetMissingView" relative="software.aws.toolkits.eclipse.amazonq.views.ToolkitLoginWebview" relationship="stack" visible="false"> </view> </perspectiveExtension> </extension> <extension point="org.eclipse.ui.views"> <!-- If adding a new view: --> <!-- 1. Include the view in the activities extension point to hide it from the Show View menu --> <!-- 2. Include the view in the perspectiveExtensions extension point to display it in the appropriate part of the layout --> <category name="Amazon Q" id="amazonq"> </category> <view class="software.aws.toolkits.eclipse.amazonq.views.AmazonQViewContainer" id="software.aws.toolkits.eclipse.amazonq.views.AmazonQViewContainer" name="Amazon Q" icon="icons/AmazonQ.png"> </view> <view class="software.aws.toolkits.eclipse.amazonq.views.AmazonQCodeReferenceView" icon="icons/AmazonQ.png" id="software.aws.toolkits.eclipse.amazonq.views.AmazonQCodeReferenceView" name="Amazon Q Code Reference" restorable="true"> </view> </extension> <extension point="org.eclipse.ui.activities"> <!-- These activities and activityPatternBindings prevent the view from showing up in the Show View menu. Logic exists that will filter these views out. --> <!-- ToolkitLoginWebview is intentionally excluded here as this should be the only view that should show in the menu. --> <activityPatternBinding activityId="software.aws.toolkits.eclipse.amazonq.activity.AmazonQCodeReferenceView" isEqualityPattern="true" pattern="amazon-q-eclipse/software.aws.toolkits.eclipse.amazonq.views.AmazonQCodeReferenceView"> </activityPatternBinding> <activityPatternBinding activityId="software.aws.toolkits.eclipse.amazonq.activity.AmazonQViewContainer" isEqualityPattern="true" pattern="amazon-q-eclipse/software.aws.toolkits.eclipse.amazonq.views.AmazonQViewContainer"> </activityPatternBinding> </extension> <extension point="org.eclipse.ui.perspectiveExtensions"> <!-- These perspectiveExtensions ensure that the view is display in the appropriate portion of the layout. In most cases, it should stack the ToolkitLoginWebview. --> <perspectiveExtension targetID="*"> <view id="software.aws.toolkits.eclipse.amazonq.views.AmazonQViewContainer" relative="org.eclipse.ui.editorss" relationship="right" visible="false"> </view> </perspectiveExtension> </extension> <extension point="org.eclipse.lsp4e.languageServer"> <server class="software.aws.toolkits.eclipse.amazonq.lsp.connection.QLspConnectionProvider" clientImpl="software.aws.toolkits.eclipse.amazonq.lsp.AmazonQLspClientImpl" id="software.aws.toolkits.eclipse.amazonq.qlanguageserver" label="Amazon Q Language Server" launcherBuilder="software.aws.toolkits.eclipse.amazonq.lsp.AmazonQLspServerBuilder" lastDocumentDisconnectedTimeout="31560000" singleton="true"> </server> <contentTypeMapping contentType="org.eclipse.jdt.core.javaSource" id="software.aws.toolkits.eclipse.amazonq.qlanguageserver" languageId="java"> </contentTypeMapping> <contentTypeMapping contentType="org.eclipse.core.runtime.text" id="software.aws.toolkits.eclipse.amazonq.qlanguageserver"> </contentTypeMapping> <contentTypeMapping contentType="org.eclipse.wst.jsdt.core.jsSource" id="software.aws.toolkits.eclipse.amazonq.qlanguageserver" languageId="javascript"> </contentTypeMapping> </extension> <extension point="org.eclipse.core.filebuffers.documentSetup"> <participant class="org.eclipse.lsp4e.ConnectDocumentToLanguageServerSetupParticipant" contentTypeId="org.eclipse.jdt.core.javaSource"> </participant> <participant class="org.eclipse.lsp4e.ConnectDocumentToLanguageServerSetupParticipant" contentTypeId="org.eclipse.wst.jsdt.core.jsSource"> </participant> </extension> <extension point="org.eclipse.ui.commands"> <category id="software.aws.toolkits.eclipse.amazonq.commands.category" name="Amazon Q"> </category> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" name="Trigger Suggestions" id="software.aws.toolkits.eclipse.amazonq.commands.triggerSuggestions"> </command> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" name="Trigger Inline Chat" id="software.aws.toolkits.eclipse.amazonq.commands.triggerInlineChat"> </command> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" name="Accept Suggestions" id="software.aws.toolkits.eclipse.amazonq.commands.acceptSuggestions"> </command> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" name="Reject Suggestions" id="software.aws.toolkits.eclipse.amazonq.commands.rejectSuggestions"> </command> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" name="Accept Inline Chat" id="software.aws.toolkits.eclipse.amazonq.commands.acceptInlineChat"> </command> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" name="Reject Inline Chat" id="software.aws.toolkits.eclipse.amazonq.commands.rejectInlineChat"> </command> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" id="software.aws.toolkits.eclipse.amazonq.commands.toggleSuggestionsForward" name="Toggle Suggestions Forward"> </command> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" id="software.aws.toolkits.eclipse.amazonq.commands.toggleSuggestionsBackward" name="Toggle Suggestions Backward"> </command> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" id="software.aws.toolkits.eclipse.amazonq.commands.explain" name="Explain"> </command> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" id="software.aws.toolkits.eclipse.amazonq.commands.refactor" name="Refactor"> </command> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" id="software.aws.toolkits.eclipse.amazonq.commands.fix" name="Fix"> </command> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" id="software.aws.toolkits.eclipse.amazonq.commands.optimize" name="Optimize"> </command> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" id="software.aws.toolkits.eclipse.amazonq.commands.sendToPrompt" name="Send To Prompt"> </command> <command categoryId="software.aws.toolkits.eclipse.amazonq.commands.category" name="Open Amazon Q Login View" id="software.aws.toolkits.eclipse.amazonq.commands.openAmazonQLoginView"> </command> </extension> <extension point="org.eclipse.ui.handlers"> <handler class="software.aws.toolkits.eclipse.amazonq.handlers.QTriggerSuggestionsHandler" commandId="software.aws.toolkits.eclipse.amazonq.commands.triggerSuggestions"> </handler> <handler class="software.aws.toolkits.eclipse.amazonq.handlers.QTriggerInlineChatHandler" commandId="software.aws.toolkits.eclipse.amazonq.commands.triggerInlineChat"> <activeWhen> <with variable="is_logged_in"> <equals value="true"/> </with> </activeWhen> </handler> <handler class="software.aws.toolkits.eclipse.amazonq.handlers.QOpenLoginViewHandler" commandId="software.aws.toolkits.eclipse.amazonq.commands.triggerInlineChat"> <activeWhen> <with variable="is_logged_in"> <equals value="false"/> </with> </activeWhen> </handler> <handler commandId="software.aws.toolkits.eclipse.amazonq.commands.acceptSuggestions" class="software.aws.toolkits.eclipse.amazonq.handlers.QAcceptSuggestionsHandler"> </handler> <handler class="software.aws.toolkits.eclipse.amazonq.handlers.QRejectSuggestionsHandler" commandId="software.aws.toolkits.eclipse.amazonq.commands.rejectSuggestions"> </handler> <handler commandId="software.aws.toolkits.eclipse.amazonq.commands.acceptInlineChat" class="software.aws.toolkits.eclipse.amazonq.handlers.QAcceptInlineChatHandler"> </handler> <handler class="software.aws.toolkits.eclipse.amazonq.handlers.QRejectInlineChatHandler" commandId="software.aws.toolkits.eclipse.amazonq.commands.rejectInlineChat"> </handler> <handler class="software.aws.toolkits.eclipse.amazonq.handlers.QToggleSuggestionsForwardHandler" commandId="software.aws.toolkits.eclipse.amazonq.commands.toggleSuggestionsForward"> </handler> <handler class="software.aws.toolkits.eclipse.amazonq.handlers.QToggleSuggestionsBackwardHandler" commandId="software.aws.toolkits.eclipse.amazonq.commands.toggleSuggestionsBackward"> </handler> <handler class="software.aws.toolkits.eclipse.amazonq.handlers.QExplainHandler" commandId="software.aws.toolkits.eclipse.amazonq.commands.explain"> </handler> <handler class="software.aws.toolkits.eclipse.amazonq.handlers.QRefactorHandler" commandId="software.aws.toolkits.eclipse.amazonq.commands.refactor"> </handler> <handler class="software.aws.toolkits.eclipse.amazonq.handlers.QFixHandler" commandId="software.aws.toolkits.eclipse.amazonq.commands.fix"> </handler> <handler class="software.aws.toolkits.eclipse.amazonq.handlers.QOptimizeHandler" commandId="software.aws.toolkits.eclipse.amazonq.commands.optimize"> </handler> <handler class="software.aws.toolkits.eclipse.amazonq.handlers.QSendToPromptHandler" commandId="software.aws.toolkits.eclipse.amazonq.commands.sendToPrompt"> </handler> <handler class="software.aws.toolkits.eclipse.amazonq.handlers.QOpenLoginViewHandler" commandId="software.aws.toolkits.eclipse.amazonq.commands.openAmazonQLoginView"> </handler> </extension> <extension point="org.eclipse.ui.bindings"> <key commandId="software.aws.toolkits.eclipse.amazonq.commands.triggerSuggestions" contextId="org.eclipse.ui.textEditorScope" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="M3+C"> </key> <key commandId="software.aws.toolkits.eclipse.amazonq.commands.triggerInlineChat" contextId="org.eclipse.ui.textEditorScope" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="M1+SHIFT+I"> </key> <key commandId="software.aws.toolkits.eclipse.amazonq.commands.acceptSuggestions" contextId="org.eclipse.ui.suggestionsContext" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="TAB"> </key> <key commandId="software.aws.toolkits.eclipse.amazonq.commands.rejectSuggestions" contextId="org.eclipse.ui.suggestionsContext" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="ESC"> </key> <key commandId="software.aws.toolkits.eclipse.amazonq.commands.acceptInlineChat" contextId="org.eclipse.ui.inlineChatContext" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="ENTER"> </key> <key commandId="software.aws.toolkits.eclipse.amazonq.commands.rejectInlineChat" contextId="org.eclipse.ui.inlineChatContext" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="ESC"> </key> <key commandId="software.aws.toolkits.eclipse.amazonq.commands.toggleSuggestionsBackward" contextId="org.eclipse.ui.textEditorScope" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="M3+["> </key> <key commandId="software.aws.toolkits.eclipse.amazonq.commands.toggleSuggestionsForward" contextId="org.eclipse.ui.textEditorScope" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="M3+]"> </key> </extension> <extension point="org.eclipse.ui.startup"> <startup class="software.aws.toolkits.eclipse.amazonq.lsp.LspStartupActivity"> </startup> </extension> <extension point="org.eclipse.ui.editors.annotationTypes"> <type name="diffAnnotation.added"/> <type name="diffAnnotation.deleted"/> <type name="diffAnnotation.added.dark"/> <type name="diffAnnotation.deleted.dark"/> </extension> <extension point="org.eclipse.ui.editors.markerAnnotationSpecification"> <!-- Added code annotation --> <specification annotationType="diffAnnotation.added" colorPreferenceKey="diffAnnotation.added.color" colorPreferenceValue="230,255,230" contributesToHeader="false" highlightPreferenceKey="diffAnnotation.added.highlight" highlightPreferenceValue="true" includeOnPreferencePage="true" label="Added Code" overviewRulerPreferenceKey="diffAnnotation.added.overview" overviewRulerPreferenceValue="true" presentationLayer="0" textPreferenceKey="diffAnnotation.added.text" textPreferenceValue="true" textStylePreferenceValue="BACKGROUND" verticalRulerPreferenceKey="diffAnnotation.added.ruler" verticalRulerPreferenceValue="true"> </specification> <!-- Deleted code annotation --> <specification annotationType="diffAnnotation.deleted" colorPreferenceKey="diffAnnotation.deleted.color" colorPreferenceValue="255,230,230" contributesToHeader="false" highlightPreferenceKey="diffAnnotation.deleted.highlight" highlightPreferenceValue="true" includeOnPreferencePage="true" label="Deleted Code" overviewRulerPreferenceKey="diffAnnotation.deleted.overview" overviewRulerPreferenceValue="true" presentationLayer="0" textPreferenceKey="diffAnnotation.deleted.text" textPreferenceValue="true" textStylePreferenceValue="BACKGROUND" verticalRulerPreferenceKey="diffAnnotation.deleted.ruler" verticalRulerPreferenceValue="true"> </specification> <!-- Dark mode - Added code annotation --> <specification annotationType="diffAnnotation.added.dark" colorPreferenceKey="diffAnnotation.added.dark.color" colorPreferenceValue="0,70,0" contributesToHeader="false" highlightPreferenceKey="diffAnnotation.added.dark.highlight" highlightPreferenceValue="true" includeOnPreferencePage="true" label="Added Code (Dark Theme)" overviewRulerPreferenceKey="diffAnnotation.added.dark.overview" overviewRulerPreferenceValue="true" presentationLayer="0" textPreferenceKey="diffAnnotation.added.dark.text" textPreferenceValue="true" textStylePreferenceValue="BACKGROUND" verticalRulerPreferenceKey="diffAnnotation.added.dark.ruler" verticalRulerPreferenceValue="true"> </specification> <!-- Dark mode - Deleted code annotation --> <specification annotationType="diffAnnotation.deleted.dark" colorPreferenceKey="diffAnnotation.deleted.dark.color" colorPreferenceValue="70,0,0" contributesToHeader="false" highlightPreferenceKey="diffAnnotation.deleted.dark.highlight" highlightPreferenceValue="true" includeOnPreferencePage="true" label="Deleted Code (Dark Theme)" overviewRulerPreferenceKey="diffAnnotation.deleted.dark.overview" overviewRulerPreferenceValue="true" presentationLayer="0" textPreferenceKey="diffAnnotation.deleted.dark.text" textPreferenceValue="true" textStylePreferenceValue="BACKGROUND" verticalRulerPreferenceKey="diffAnnotation.deleted.dark.ruler" verticalRulerPreferenceValue="true"> </specification> </extension> <extension point="org.eclipse.ui.preferencePages"> <page class="software.aws.toolkits.eclipse.amazonq.preferences.AmazonQPreferencePage" id="software.aws.toolkits.eclipse.amazonq.preferences.AmazonQPreferencePage" name="Amazon Q"> </page> </extension> <extension point="org.eclipse.core.runtime.preferences"> <initializer class="software.aws.toolkits.eclipse.amazonq.preferences.AmazonQPreferenceInitializer"> </initializer> </extension> <extension point="org.eclipse.ui.menus"> <menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar?endof"> <toolbar id="software.aws.toolkits.eclipse.amazonq.toolbar"> <command id="software.aws.toolkits.eclipse.amazonq.toolbar.command" commandId="software.aws.toolkits.eclipse.amazonq.commands.openAmazonQLoginView" icon="icons/AmazonQ.png" style="pulldown" tooltip="Amazon Q"> <visibleWhen checkEnabled="false"> <with variable="is_logged_in"> <!-- Provided by AuthSourceProvider --> <equals value="true"/> </with> </visibleWhen> </command> </toolbar> <toolbar id="software.aws.toolkits.eclipse.amazonq.toolbar-unauthenticated"> <command id="software.aws.toolkits.eclipse.amazonq.toolbar-unauthenticated.command" commandId="software.aws.toolkits.eclipse.amazonq.commands.openAmazonQLoginView" icon="icons/AmazonQDisconnected.png" tooltip="Amazon Q"> <visibleWhen checkEnabled="false"> <with variable="is_logged_in"> <!-- Provided by AuthSourceProvider --> <equals value="false"/> </with> </visibleWhen> </command> </toolbar> </menuContribution> <menuContribution locationURI="menu:showView?before=viewsShortlist"> <command commandId="software.aws.toolkits.eclipse.amazonq.commands.openAmazonQLoginView" icon="icons/AmazonQ.png" label="Amazon Q" style="push"> </command> </menuContribution> <menuContribution locationURI="popup:org.eclipse.ui.popup.any?after=additions"> <menu icon="icons/AmazonQ.png" label="Amazon Q"> <visibleWhen checkEnabled="false"> <and> <with variable="activePartId"> <or> <equals value="org.eclipse.ui.DefaultTextEditor"/> <equals value="org.eclipse.jdt.ui.CompilationUnitEditor"/> <equals value="org.eclipse.ui.genericeditor.GenericEditor"/> <equals value="software.aws.toolkits.eclipse.amazonq.views.AmazonQViewContainer"/> </or> </with> </and> </visibleWhen> <command commandId="software.aws.toolkits.eclipse.amazonq.commands.explain" label="Explain"> </command> <command commandId="software.aws.toolkits.eclipse.amazonq.commands.refactor" label="Refactor"> </command> <command commandId="software.aws.toolkits.eclipse.amazonq.commands.fix" label="Fix"> </command> <command commandId="software.aws.toolkits.eclipse.amazonq.commands.optimize" label="Optimize"> </command> <command commandId="software.aws.toolkits.eclipse.amazonq.commands.sendToPrompt" label="Send To Prompt"> </command> <command commandId="software.aws.toolkits.eclipse.amazonq.commands.triggerInlineChat" label="Inline Chat"> </command> </menu> </menuContribution> <menuContribution allPopups="false" locationURI="toolbar:org.eclipse.ui.trim.status"> <toolbar id="software.aws.toolkits.eclipse.amazonq.statusbar"> <control class="software.aws.toolkits.eclipse.amazonq.views.actions.InlineQueryStatusBarContribution" id="software.aws.toolkits.eclipse.amazonq.views.actions.InlineQueryStatusBarContribution" > <visibleWhen checkEnabled="false"> <with variable="is_logged_in"> <equals value="true"/> </with> </visibleWhen> </control> </toolbar> </menuContribution> </extension> </plugin>