|
3721 | 3721 | }, |
3722 | 3722 | { |
3723 | 3723 | "id": "ai", |
3724 | | - "title": "AI (ᴇxᴘᴇʀɪᴍᴇɴᴛᴀʟ)", |
| 3724 | + "title": "AI (ᴘʀᴇᴠɪᴇᴡ)", |
3725 | 3725 | "order": 1000, |
3726 | 3726 | "properties": { |
3727 | | - "gitlens.ai.experimental.generateCommitMessage.enabled": { |
3728 | | - "type": "boolean", |
3729 | | - "default": true, |
3730 | | - "markdownDescription": "Specifies whether to enable GitLens' experimental, AI-powered, on-demand commit message generation", |
3731 | | - "scope": "window", |
3732 | | - "order": 1 |
3733 | | - }, |
3734 | | - "gitlens.experimental.generateCommitMessagePrompt": { |
3735 | | - "type": "string", |
3736 | | - "default": "Now, based on the provided code diff and any additional context, create a concise but meaningful commit message following the instructions above.", |
3737 | | - "markdownDescription": "Specifies the prompt to use to tell the AI provider how to structure or format the generated commit message", |
3738 | | - "scope": "window", |
3739 | | - "order": 2 |
3740 | | - }, |
3741 | | - "gitlens.experimental.generateCloudPatchMessagePrompt": { |
3742 | | - "type": "string", |
3743 | | - "default": "Now, based on the provided code diff and any additional context, create a concise but meaningful title and description following the instructions above.", |
3744 | | - "markdownDescription": "Specifies the prompt to use to tell the AI provider how to structure or format the generated title and description", |
3745 | | - "scope": "window", |
3746 | | - "order": 3 |
3747 | | - }, |
3748 | | - "gitlens.experimental.generateCodeSuggestMessagePrompt": { |
3749 | | - "type": "string", |
3750 | | - "default": "Now, based on the provided code diff and any additional context, create a concise but meaningful code review title and description following the instructions above.", |
3751 | | - "markdownDescription": "Specifies the prompt to use to tell the AI provider how to structure or format the generated title and description", |
3752 | | - "scope": "window", |
3753 | | - "order": 3 |
3754 | | - }, |
3755 | | - "gitlens.ai.experimental.model": { |
| 3727 | + "gitlens.ai.model": { |
3756 | 3728 | "type": [ |
3757 | 3729 | "string", |
3758 | 3730 | "null" |
3759 | 3731 | ], |
3760 | 3732 | "default": null, |
3761 | | - "enum": [ |
3762 | | - "openai:gpt-4o", |
3763 | | - "openai:gpt-4o-mini", |
3764 | | - "openai:gpt-4-turbo", |
3765 | | - "openai:gpt-4-turbo-preview", |
3766 | | - "openai:gpt-4", |
3767 | | - "openai:gpt-4-32k", |
3768 | | - "openai:gpt-3.5-turbo", |
3769 | | - "openai:gpt-3.5-turbo-16k", |
3770 | | - "anthropic:claude-3-opus-20240229", |
3771 | | - "anthropic:claude-3-opus-latest", |
3772 | | - "anthropic:claude-3-5-sonnet-20240620", |
3773 | | - "anthropic:claude-3-5-sonnet-20241022", |
3774 | | - "anthropic:claude-3-5-sonnet-latest", |
3775 | | - "anthropic:claude-3-sonnet-20240229", |
3776 | | - "anthropic:claude-3-haiku-20240307", |
3777 | | - "anthropic:claude-2.1", |
3778 | | - "anthropic:claude-2", |
3779 | | - "anthropic:claude-instant-1", |
3780 | | - "google:gemini-1.5-pro-latest", |
3781 | | - "google:gemini-1.5-flash-latest", |
3782 | | - "google:gemini-1.0-pro", |
3783 | | - "vscode", |
3784 | | - "xai:grok-beta" |
3785 | | - ], |
3786 | | - "enumDescriptions": [ |
3787 | | - "OpenAI GPT-4 Omni", |
3788 | | - "OpenAI GPT-4 Omni Mini", |
3789 | | - "OpenAI GPT-4 Turbo with Vision", |
3790 | | - "OpenAI GPT-4 Turbo Preview", |
3791 | | - "OpenAI GPT-4", |
3792 | | - "OpenAI GPT-4 32k", |
3793 | | - "OpenAI GPT-3.5 Turbo", |
3794 | | - "OpenAI GPT-3.5 Turbo 16k", |
3795 | | - "Anthropic Claude 3 Opus", |
3796 | | - "Anthropic Claude 3.5 Sonnet", |
3797 | | - "Anthropic Claude 3 Sonnet", |
3798 | | - "Anthropic Claude 3 Haiku", |
3799 | | - "Anthropic Claude 2.1", |
3800 | | - "Anthropic Claude 2", |
3801 | | - "Anthropic Claude Instant 1.2", |
3802 | | - "Google Gemini 1.5 Pro (Latest)", |
3803 | | - "Google Gemini 1.5 Flash", |
3804 | | - "Google Gemini 1.0 Pro", |
3805 | | - "VS Code Extension" |
3806 | | - ], |
3807 | | - "markdownDescription": "Specifies the AI model to use for GitLens' experimental AI features", |
| 3733 | + "pattern": "^((anthropic|github|google|huggingface|openai|xai):([\\w.-]+)|vscode)$", |
| 3734 | + "markdownDescription": "Specifies the AI model to use for GitLens' experimental AI features. Should be formatted as `provider:model` (e.g. `openai:gpt-4o` or `anthropic:claude-3-5-sonnet-latest`), or `vscode` for models provided by the VS Code extension API (e.g. Copilot)", |
3808 | 3735 | "scope": "window", |
3809 | | - "order": 100 |
| 3736 | + "order": 10, |
| 3737 | + "tags": [ |
| 3738 | + "preview" |
| 3739 | + ] |
3810 | 3740 | }, |
3811 | | - "gitlens.ai.experimental.openai.url": { |
| 3741 | + "gitlens.ai.vscode.model": { |
3812 | 3742 | "type": [ |
3813 | 3743 | "string", |
3814 | 3744 | "null" |
3815 | 3745 | ], |
3816 | 3746 | "default": null, |
3817 | | - "markdownDescription": "Specifies a custom URL to use for access to an OpenAI model via Azure. Azure URLs should be in the following format: https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}", |
| 3747 | + "pattern": "^(.*):(.*)$", |
| 3748 | + "markdownDescription": "Specifies the VS Code provided model to use for GitLens' experimental AI features, formatted as `vendor:family`", |
3818 | 3749 | "scope": "window", |
3819 | | - "order": 102 |
| 3750 | + "order": 20, |
| 3751 | + "tags": [ |
| 3752 | + "preview" |
| 3753 | + ] |
3820 | 3754 | }, |
3821 | | - "gitlens.ai.experimental.vscode.model": { |
| 3755 | + "gitlens.ai.openai.url": { |
3822 | 3756 | "type": [ |
3823 | 3757 | "string", |
3824 | 3758 | "null" |
3825 | 3759 | ], |
3826 | 3760 | "default": null, |
3827 | | - "pattern": "^(.*):(.*)$", |
3828 | | - "markdownDescription": "Specifies the VS Code provided model to use for GitLens' experimental AI features, formatted as `vendor:family`", |
| 3761 | + "markdownDescription": "Specifies a custom URL to use for access to an OpenAI model via Azure. Azure URLs should be in the following format: https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}", |
| 3762 | + "scope": "window", |
| 3763 | + "order": 30, |
| 3764 | + "tags": [ |
| 3765 | + "preview" |
| 3766 | + ] |
| 3767 | + }, |
| 3768 | + "gitlens.ai.explainChanges.customInstructions": { |
| 3769 | + "type": "string", |
| 3770 | + "default": null, |
| 3771 | + "markdownDescription": "Specifies custom instructions to provide to the AI provider when generating a summary of changes", |
| 3772 | + "scope": "window", |
| 3773 | + "order": 100, |
| 3774 | + "tags": [ |
| 3775 | + "preview" |
| 3776 | + ] |
| 3777 | + }, |
| 3778 | + "gitlens.ai.generateCommitMessage.customInstructions": { |
| 3779 | + "type": "string", |
| 3780 | + "default": null, |
| 3781 | + "markdownDescription": "Specifies custom instructions to provide to the AI provider when generating a commit message", |
| 3782 | + "scope": "window", |
| 3783 | + "order": 200, |
| 3784 | + "tags": [ |
| 3785 | + "preview" |
| 3786 | + ] |
| 3787 | + }, |
| 3788 | + "gitlens.ai.generateCommitMessage.enabled": { |
| 3789 | + "type": "boolean", |
| 3790 | + "default": true, |
| 3791 | + "markdownDescription": "Specifies whether to enable GitLens' AI-powered, on-demand commit message generation", |
3829 | 3792 | "scope": "window", |
3830 | | - "order": 105 |
| 3793 | + "order": 210, |
| 3794 | + "tags": [ |
| 3795 | + "preview" |
| 3796 | + ] |
| 3797 | + }, |
| 3798 | + "gitlens.ai.generateCloudPatchMessage.customInstructions": { |
| 3799 | + "type": "string", |
| 3800 | + "default": null, |
| 3801 | + "markdownDescription": "Specifies custom instructions to provide to the AI provider when generating a cloud patch title and description", |
| 3802 | + "scope": "window", |
| 3803 | + "order": 300, |
| 3804 | + "tags": [ |
| 3805 | + "preview" |
| 3806 | + ] |
| 3807 | + }, |
| 3808 | + "gitlens.ai.generateCodeSuggestMessage.customInstructions": { |
| 3809 | + "type": "string", |
| 3810 | + "default": null, |
| 3811 | + "markdownDescription": "Specifies custom instructions to provide to the AI provider when generating a code suggest title and description", |
| 3812 | + "scope": "window", |
| 3813 | + "order": 400, |
| 3814 | + "tags": [ |
| 3815 | + "preview" |
| 3816 | + ] |
3831 | 3817 | } |
3832 | 3818 | } |
3833 | 3819 | }, |
|
5662 | 5648 | "commands": [ |
5663 | 5649 | { |
5664 | 5650 | "command": "gitlens.generateCommitMessage", |
5665 | | - "title": "Generate Commit Message (GitLens)...", |
| 5651 | + "title": "Generate Commit Message...", |
| 5652 | + "category": "GitLens" |
| 5653 | + }, |
| 5654 | + { |
| 5655 | + "command": "gitlens.scm.generateCommitMessage", |
| 5656 | + "title": "Generate Commit Message with GitLens...", |
5666 | 5657 | "category": "GitLens" |
5667 | 5658 | }, |
5668 | 5659 | { |
|
5780 | 5771 | "title": "Copy Working Changes to Worktree...", |
5781 | 5772 | "category": "GitLens" |
5782 | 5773 | }, |
| 5774 | + { |
| 5775 | + "command": "gitlens.graph.generateCommitMessage", |
| 5776 | + "title": "Generate Commit Message...", |
| 5777 | + "category": "GitLens" |
| 5778 | + }, |
5783 | 5779 | { |
5784 | 5780 | "command": "gitlens.createPatch", |
5785 | 5781 | "title": "Create Patch...", |
|
9232 | 9228 | "icon": "$(eye)" |
9233 | 9229 | }, |
9234 | 9230 | { |
9235 | | - "command": "gitlens.graph.openSCM", |
9236 | | - "title": "Open Source Control", |
| 9231 | + "command": "gitlens.graph.commitViaSCM", |
| 9232 | + "title": "Commit via Source Control...", |
9237 | 9233 | "category": "GitLens" |
9238 | 9234 | }, |
9239 | 9235 | { |
|
12466 | 12462 | "when": "false" |
12467 | 12463 | }, |
12468 | 12464 | { |
12469 | | - "command": "gitlens.graph.openSCM", |
| 12465 | + "command": "gitlens.graph.commitViaSCM", |
12470 | 12466 | "when": "false" |
12471 | 12467 | }, |
12472 | 12468 | { |
|
12863 | 12859 | }, |
12864 | 12860 | { |
12865 | 12861 | "command": "gitlens.generateCommitMessage", |
12866 | | - "when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:gk:organization:ai:enabled && config.gitlens.ai.experimental.generateCommitMessage.enabled" |
| 12862 | + "when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:gk:organization:ai:enabled && config.gitlens.ai.generateCommitMessage.enabled" |
| 12863 | + }, |
| 12864 | + { |
| 12865 | + "command": "gitlens.scm.generateCommitMessage", |
| 12866 | + "when": "false" |
| 12867 | + }, |
| 12868 | + { |
| 12869 | + "command": "gitlens.graph.generateCommitMessage", |
| 12870 | + "when": "false" |
12867 | 12871 | }, |
12868 | 12872 | { |
12869 | 12873 | "command": "gitlens.resetAIKey", |
|
13216 | 13220 | "group": "4_gitlens@3" |
13217 | 13221 | }, |
13218 | 13222 | { |
13219 | | - "command": "gitlens.generateCommitMessage", |
13220 | | - "when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:gk:organization:ai:enabled && config.gitlens.ai.experimental.generateCommitMessage.enabled && config.gitlens.menus.scmRepository.generateCommitMessage", |
| 13223 | + "command": "gitlens.scm.generateCommitMessage", |
| 13224 | + "when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:gk:organization:ai:enabled && config.gitlens.ai.generateCommitMessage.enabled && config.gitlens.menus.scmRepository.generateCommitMessage", |
13221 | 13225 | "group": "4_gitlens@4" |
13222 | 13226 | } |
13223 | 13227 | ], |
|
13267 | 13271 | "group": "2_z_gitlens@3" |
13268 | 13272 | }, |
13269 | 13273 | { |
13270 | | - "command": "gitlens.generateCommitMessage", |
13271 | | - "when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:gk:organization:ai:enabled && config.gitlens.ai.experimental.generateCommitMessage.enabled && scmProvider == git && config.gitlens.menus.scmRepository.generateCommitMessage", |
| 13274 | + "command": "gitlens.scm.generateCommitMessage", |
| 13275 | + "when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:gk:organization:ai:enabled && config.gitlens.ai.generateCommitMessage.enabled && scmProvider == git && config.gitlens.menus.scmRepository.generateCommitMessage", |
13272 | 13276 | "group": "2_z_gitlens@4" |
13273 | 13277 | }, |
13274 | 13278 | { |
|
16343 | 16347 | "group": "3_gitlens_explore@0" |
16344 | 16348 | }, |
16345 | 16349 | { |
16346 | | - "command": "gitlens.graph.openSCM", |
| 16350 | + "command": "gitlens.graph.commitViaSCM", |
16347 | 16351 | "when": "!listMultiSelection && webviewItem == gitlens:wip", |
16348 | | - "group": "3_gitlens_explore@1" |
| 16352 | + "group": "1_gitlens@1" |
| 16353 | + }, |
| 16354 | + { |
| 16355 | + "command": "gitlens.graph.generateCommitMessage", |
| 16356 | + "when": "!listMultiSelection && webviewItem == gitlens:wip && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:gk:organization:ai:enabled && config.gitlens.ai.generateCommitMessage.enabled", |
| 16357 | + "group": "1_gitlens@2" |
16349 | 16358 | }, |
16350 | 16359 | { |
16351 | 16360 | "command": "gitlens.graph.openCommitOnRemote", |
|
0 commit comments