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>