diff --git a/extensions/git/package.json b/extensions/git/package.json index f450b7b4f70..922a16d0bf0 100644 --- a/extensions/git/package.json +++ b/extensions/git/package.json @@ -1769,20 +1769,25 @@ "contents": "%view.workbench.scm.disabled%", "when": "!config.git.enabled" }, + { + "view": "workbench.scm", + "contents": "%view.workbench.scm.missing%", + "when": "config.git.enabled && git.missing" + }, { "view": "workbench.scm", "contents": "%view.workbench.scm.empty%", - "when": "config.git.enabled && workbenchState == empty" + "when": "config.git.enabled && !git.missing && workbenchState == empty" }, { "view": "workbench.scm", "contents": "%view.workbench.scm.folder%", - "when": "config.git.enabled && workbenchState == folder" + "when": "config.git.enabled && !git.missing && workbenchState == folder" }, { "view": "workbench.scm", "contents": "%view.workbench.scm.workspace%", - "when": "config.git.enabled && workbenchState == workspace" + "when": "config.git.enabled && !git.missing && workbenchState == workspace" } ] } diff --git a/extensions/git/package.nls.json b/extensions/git/package.nls.json index 62b2b21357d..55b1b423f20 100644 --- a/extensions/git/package.nls.json +++ b/extensions/git/package.nls.json @@ -147,6 +147,7 @@ "colors.ignored": "Color for ignored resources.", "colors.conflict": "Color for resources with conflicts.", "colors.submodule": "Color for submodule resources.", + "view.workbench.scm.missing": "A valid git installation was not detected, more details can be found in the [git output](command:git.showOutput).\nPlease [install git](https://git-scm.com/), or learn more about how to use Git and source control in VS Code in [our docs](https://aka.ms/vscode-scm).\nIf you're using a different version control system, you can [search the Marketplace](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22) for additional extensions.", "view.workbench.scm.disabled": "If you would like to use git features, please enable git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", "view.workbench.scm.empty": "In order to use git features, you can open a folder containing a git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone from URL](command:git.clone)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", "view.workbench.scm.folder": "The folder currently open doesn't have a git repository.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", diff --git a/extensions/git/src/main.ts b/extensions/git/src/main.ts index 7bb5081d12f..ddf16d76aac 100644 --- a/extensions/git/src/main.ts +++ b/extensions/git/src/main.ts @@ -175,6 +175,7 @@ export async function activate(context: ExtensionContext): Promise console.warn(err.message); outputChannel.appendLine(err.message); + commands.executeCommand('setContext', 'git.missing', true); warnAboutMissingGit(); return new GitExtensionImpl();