|
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