vscode: Ordering of installation of vscode:extensions matters and leads to errors on loading

Behaviour:

  • Upon opening a GitHub code space with the following configuration of extensions, I get an error saying that one of the extensions are not installed (but it should be installed since it is in the list).

  • VS Code Version: Version: 1.83.1 (Universal) / Commit: f1b07bd25dfad64b0167beb15359ae573aecd2cc

  • OS Version: macOS 13.6 (22G120)

Steps to Reproduce:

  1. Use GitHub code spaces with the following .devcontainer (see below)
  2. Open the GitHub code space
  3. When loaded you get the error: “Cannot activate the ‘autopep8’ extension because it depends on the ‘Python’ extension, which is not loaded. Would you like to reload the window to load the extension?”

Diagnosis:

In speaking with the GitHub code spaces team, I learned that:

  • “It looks like all of the extensions are being passed into the VS Code server at the same time, so it would require upstream changes in VS Code to handle the installation order in a better way.”

and

  • “My guess is that the extensions are installed in parallel and the python one just takes longer to install/activate and the pep8 one is trying to activate too early before the python finishes installing”

devcontainer.json includes

{
	"name": "Python 3",
	"image": "mcr.microsoft.com/devcontainers/python:0-3.11",
	"features": {
	    "ghcr.io/devcontainers-contrib/features/poetry:2": {},
	    "ghcr.io/devcontainers/features/github-cli:1": {}
	},

	"customizations": {

		"vscode": {
			"extensions": [
				"ms-python.python",
				"ms-toolsai.jupyter",
				"eamodio.gitlens",

				"redhat.vscode-yaml",
				"GitHub.copilot",
				"ms-python.vscode-pylance",
				"ms-python.autopep8"
			],
			"settings": {
			    "python.testing.pytestArgs": [
			        "data"
			    ],
			    "python.testing.unittestEnabled": true,
			    "python.testing.pytestEnabled": true,
			    "[python]": {
			        "editor.defaultFormatter": "ms-python.autopep8",
			        "editor.formatOnSave": true
			    }
			}
		}
	}
}

About this issue

  • Original URL
  • State: closed
  • Created 8 months ago
  • Reactions: 4
  • Comments: 26 (11 by maintainers)

Most upvoted comments

I have been running into this same situation, except inside a devcontainer. The Black Formatter extension and the Flake8 extension fail 100% of the time and VSCode suggests reloading. Reloading always works.

Is anyone aware of a workaround in the meantime to enforce an ordering?

I’ve also been seeing such issues for months, particularly for extensions that depend on ms-python.python.

As someone maintaining the development setup environment for a team, it would be really helpful to have any solution that works without a manual reload or custom configuration for each user.

thanks @sandy081 🎉

I stumbled upon a workaround with a long-running updateContentCommand in .devcontainer.json, so I suspect for anyone having this issue you could potentially do something like:

"updateContentCommand": "sleep 20",

Not pretty, but neither is the “always click the reload button” option.

Thanks for feedback. I closed this because I do not see us investing resources in fixing issues like this in the next 6 months. Not saying it is invalid. We might still reopen it after I discuss with @sandy081

As for GitHub - I suggest to reach out to the Codespaces team and if they have capacity they can invest in making a PR.

Something like an “extension-order” setting, similar to the features, would be amazing in VS Code or development containers.

Or at least loading extensions in the order as given in the extensions list, then users could at least easily hand-sort to avoid these annoying dependency problems until a “real” fix comes along. Presumably/hopefully this could be a quick fix as it’s a small change?

this issue shows another simple repro example, they even provided a repo that reproduces this issue every time and it only has two extensions listed in devcontainer.json: https://github.com/PelicanQ/devcontainer-issue.git

I’m seeing the same behavior as @mjpizz with a slight clarification:

The Black Formatter extension, the isort extension, and the Flake8 extension fail 100% of the time when calling Rebuild and Reopen in Container, and VSCode suggests reloading. Reloading always works. Just doing Reopen in Container also seems to always work.

I have the following in my .devcontainer.json:

"extensions": [
	"bierner.markdown-mermaid",
	"donjayamanne.githistory",
	"h5web.vscode-h5web",
	"janisdd.vscode-edit-csv",
	"jebbs.plantuml",
	"ms-azuretools.vscode-docker",
	"ms-python.black-formatter",
	"ms-python.flake8",
	"ms-python.isort",
	"ms-python.python",
	"ms-toolsai.jupyter",
	"ryanluker.vscode-coverage-gutters"
]

Order (moving python above black-formatter, flake8, and isort) doesn’t seem to matter.

Visual Studio Code Version: 1.84.2 (user setup) Commit: 1a5daa3a0231a0fbba4f14db7ec463cf99d7768e Date: 2023-11-09T10:51:52.184Z Electron: 25.9.2 ElectronBuildId: 24603566 Chromium: 114.0.5735.289 Node.js: 18.15.0 V8: 11.4.183.29-electron.0 OS: Windows_NT x64 10.0.19045

any updates @isidorn or @sandy081 ?

Will investigate and see if I can repro

We closed this issue because we don’t plan to address it in the foreseeable future.

I have to admit that I’m confused. The linked page talks about closing out-of-scope feature requests. I don’t see how this can be relevant here, as this report is of extension loading being broken/erroring. In fact, I’m confused why the bug label was removed by @sandy081. Furthermore, users have supplied logs as requested, and even repos for reproduction, yet the info-needed label was not removed, and now failing extension loading is closed as out-of-scope?

@isidorn I’d be curious about the decision process here, to be honest. 😞 ☮️

@sandy081

Repro steps

  1. I use this link to open the seesharprun/codespace-test repository as a codespace:

    https://codespaces.new/seesharprun/codespace-test?quickstart=1&devcontainer_path=.devcontainer%2Fdevcontainer.json

    Relevant devcontainer configuration:

    {
      "customizations": {
        "vscode": {
          "extensions": [
            "ms-dotnettools.csdevkit"
          ]
        }
      }
    }
    
  2. I waited for the C# extensions to install and to observe the “Cannot activate the ‘C#’ extension because it depends on the ‘.NET Install Tool’ extension, which is not loaded. Would you like to reload the window to load the extension?” popup.

  3. F1 > Open View > Server

  4. Here’s the logs:

    2023-11-29 15:41:44.047 [trace] Remote configuration data at /home/codespace/.vscode-remote
    2023-11-29 15:41:44.047 [trace] process arguments: {"_":[],"host":"127.0.0.1","port":"0","connection-token-file":"/home/codespace/.vscode-remote/data/Machine/.connection-token-1a5daa3a0231a0fbba4f14db7ec463cf99d7768e","without-connection-token":false,"disable-websocket-compression":false,"print-startup-performance":false,"print-ip-address":false,"accept-server-license-terms":true,"server-data-dir":"/home/codespace/.vscode-remote","enable-smoke-test-driver":false,"disable-telemetry":false,"disable-workspace-trust":false,"log":["trace"],"force-disable-user-env":true,"enable-sync":false,"use-test-resolver":false,"extensions-download-dir":"/home/codespace/.vscode-remote/extensionsCache","install-extension":["ms-dotnettools.csdevkit"],"install-builtin-extension":["GitHub.vscode-pull-request-github","github.github-vscode-theme","github.codespaces"],"list-extensions":false,"show-versions":false,"force":false,"do-not-sync":true,"pre-release":false,"start-server":true,"enable-remote-auto-shutdown":true,"remote-auto-shutdown-without-delay":false,"use-host-proxy":false,"without-browser-env-var":false,"help":false,"version":false,"user-data-dir":"/home/codespace/.vscode-remote/data","builtin-extensions-dir":"/vscode/bin/linux-x64/1a5daa3a0231a0fbba4f14db7ec463cf99d7768e/extensions","extensions-dir":"/home/codespace/.vscode-remote/extensions","logsPath":"/home/codespace/.vscode-remote/data/logs/20231129T154143"}
    2023-11-29 15:41:44.047 [info] 
    
    
    
    
    2023-11-29 15:41:44.047 [trace] [File Watcher (node.js)] Request to start watching: /home/codespace/.vscode-remote/data/Machine (excludes: <none>, includes: <all>, correlationId: <none>),/home/codespace/.vscode-remote/data/Machine/settings.json (excludes: <none>, includes: <all>, correlationId: <none>)
    2023-11-29 15:41:44.047 [trace] Installing builtin extensions passed via args...
    2023-11-29 15:41:44.047 [trace] Started scanning user extensions {"$mid":1,"external":"file:///home/codespace/.vscode-remote/extensions/extensions.json","path":"/home/codespace/.vscode-remote/extensions/extensions.json","scheme":"file"}
    2023-11-29 15:41:44.047 [trace] Installing extensions passed via args...
    2023-11-29 15:41:44.047 [info] Extension host agent started.
    2023-11-29 15:41:44.052 [trace] [File Watcher (node.js)] Started watching: '/home/codespace/.vscode-remote/data/Machine'
    2023-11-29 15:41:44.053 [trace] [File Watcher (node.js)] Request to start watching: /home/codespace/.vscode-remote/extensions (excludes: <none>, includes: <all>, correlationId: <none>)
    2023-11-29 15:41:44.059 [trace] [File Watcher (node.js)] Started watching: '/home/codespace/.vscode-remote/data/Machine/settings.json'
    2023-11-29 15:41:44.061 [info] Started initializing default profile extensions in extensions installation folder. file:///home/codespace/.vscode-remote/extensions
    2023-11-29 15:41:44.061 [trace] Started scanning user extensions {"$mid":1,"fsPath":"/home/codespace/.vscode-remote/extensions","external":"file:///home/codespace/.vscode-remote/extensions","path":"/home/codespace/.vscode-remote/extensions","scheme":"file"}
    2023-11-29 15:41:44.076 [trace] Deleting from cache /home/codespace/.vscode-remote/extensionsCache/formulahendry.code-runner-0.12.1
    2023-11-29 15:41:44.077 [trace] Deleting from cache /home/codespace/.vscode-remote/extensionsCache/vscjava.vscode-java-debug-0.55.0
    2023-11-29 15:41:44.077 [trace] Deleting from cache /home/codespace/.vscode-remote/extensionsCache/ms-toolsai.jupyter-2023.11.1003351000
    2023-11-29 15:41:44.078 [trace] Deleting from cache /home/codespace/.vscode-remote/extensionsCache/vscode-icons-team.vscode-icons-12.6.0
    2023-11-29 15:41:44.081 [trace] [File Watcher (node.js)] Started watching: '/home/codespace/.vscode-remote/extensions'
    2023-11-29 15:41:44.086 [debug] ComputeTargetPlatform: linux-x64
    2023-11-29 15:41:44.086 [trace] Scanned user extensions: 0
    2023-11-29 15:41:44.088 [trace] [File Watcher (node.js)] [raw] ["rename"] extensions.json
    2023-11-29 15:41:44.088 [trace] [File Watcher (node.js)] [raw] ["change"] extensions.json
    2023-11-29 15:41:44.089 [trace] [File Watcher (node.js)] [ADDED] /home/codespace/.vscode-remote/extensions/extensions.json
    2023-11-29 15:41:44.136 [info] Completed initializing default profile extensions in extensions installation folder. file:///home/codespace/.vscode-remote/extensions
    2023-11-29 15:41:44.138 [trace] [File Watcher (node.js)] Request to start watching: /home/codespace/.vscode-remote/extensions/extensions.json (excludes: <none>, includes: <all>, correlationId: <none>)
    2023-11-29 15:41:44.142 [trace] Scanned user extensions: 0
    2023-11-29 15:41:44.142 [trace] [File Watcher (node.js)] Started watching: '/home/codespace/.vscode-remote/extensions/extensions.json'
    2023-11-29 15:41:44.144 [info] [127.0.0.1][2bf0f2be][ManagementConnection] New connection established.
    2023-11-29 15:41:44.145 [trace] Started scanning user extensions {"$mid":1,"fsPath":"/home/codespace/.vscode-remote/extensions","external":"file:///home/codespace/.vscode-remote/extensions","path":"/home/codespace/.vscode-remote/extensions","scheme":"file"}
    2023-11-29 15:41:44.153 [debug] ComputeTargetPlatform: linux-x64
    2023-11-29 15:41:44.155 [trace] resolveShellEnv(): skipped (--force-disable-user-env)
    2023-11-29 15:41:44.222 [trace] [File Watcher (node.js)]  >> normalized [ADDED] /home/codespace/.vscode-remote/extensions/extensions.json
    2023-11-29 15:41:44.227 [trace] [File Watcher (node.js)] [CHANGED] /home/codespace/.vscode-remote/extensions/extensions.json
    2023-11-29 15:41:44.232 [trace] Scanned user extensions: 0
    2023-11-29 15:41:44.281 [trace] Started scanning system extensions
    2023-11-29 15:41:44.282 [trace] Started scanning user extensions {"$mid":1,"fsPath":"/home/codespace/.vscode-remote/extensions/extensions.json","external":"file:///home/codespace/.vscode-remote/extensions/extensions.json","path":"/home/codespace/.vscode-remote/extensions/extensions.json","scheme":"file"}
    2023-11-29 15:41:44.282 [trace] Started scanning system extensions
    2023-11-29 15:41:44.283 [trace] Started scanning user extensions {"$mid":1,"fsPath":"/home/codespace/.vscode-remote/extensions/extensions.json","external":"file:///home/codespace/.vscode-remote/extensions/extensions.json","path":"/home/codespace/.vscode-remote/extensions/extensions.json","scheme":"file"}
    2023-11-29 15:41:44.283 [trace] ExtensionManagementService.refreshReportedCache
    2023-11-29 15:41:44.284 [trace] resolveShellEnv(): skipped (--force-disable-user-env)
    2023-11-29 15:41:44.284 [trace] Started scanning system extensions
    2023-11-29 15:41:44.291 [trace] Started scanning user extensions {"$mid":1,"fsPath":"/home/codespace/.vscode-remote/extensions/extensions.json","external":"file:///home/codespace/.vscode-remote/extensions/extensions.json","path":"/home/codespace/.vscode-remote/extensions/extensions.json","scheme":"file"}
    2023-11-29 15:41:44.294 [info] Log level changed to info
    2023-11-29 15:41:45.641 [info] [127.0.0.1][db55662e][ExtensionHostConnection] New connection established.
    2023-11-29 15:41:45.675 [info] [127.0.0.1][db55662e][ExtensionHostConnection] <1742> Launched Extension Host Process.
    2023-11-29 15:41:46.267 [info] Installing builtin extension 'github.github-vscode-theme'...
    2023-11-29 15:41:46.276 [info] Getting Manifest... github.github-vscode-theme
    2023-11-29 15:41:46.300 [info] Installing builtin extension 'github.vscode-pull-request-github'...
    2023-11-29 15:41:46.321 [info] Getting Manifest... github.vscode-pull-request-github
    2023-11-29 15:41:46.335 [info] Installing builtin extension 'github.codespaces'...
    2023-11-29 15:41:46.336 [info] Getting Manifest... github.codespaces
    2023-11-29 15:41:46.431 [info] Installing extension: github.github-vscode-theme
    2023-11-29 15:41:46.435 [info] Installing extension: github.codespaces
    2023-11-29 15:41:46.448 [info] Installing extension: github.vscode-pull-request-github
    2023-11-29 15:41:47.529 [warning] Extension signature verification failed with error 'ENOENT': github.github-vscode-theme
    2023-11-29 15:41:47.547 [warning] Extension signature verification failed with error 'ENOENT': github.codespaces
    2023-11-29 15:41:47.677 [info] Extracted extension to file:///home/codespace/.vscode-remote/extensions/github.github-vscode-theme-6.3.4: github.github-vscode-theme
    2023-11-29 15:41:47.700 [info] Renamed to /home/codespace/.vscode-remote/extensions/github.github-vscode-theme-6.3.4
    2023-11-29 15:41:47.706 [info] Extracting extension completed. github.github-vscode-theme
    2023-11-29 15:41:47.726 [warning] Extension signature verification failed with error 'ENOENT': github.vscode-pull-request-github
    2023-11-29 15:41:47.734 [info] Extension installed successfully: github.github-vscode-theme
    2023-11-29 15:41:47.735 [info] Extension 'github.github-vscode-theme' v6.3.4 was successfully installed.
    2023-11-29 15:41:47.956 [info] Extracted extension to file:///home/codespace/.vscode-remote/extensions/github.vscode-pull-request-github-0.76.1: github.vscode-pull-request-github
    2023-11-29 15:41:47.982 [info] Renamed to /home/codespace/.vscode-remote/extensions/github.vscode-pull-request-github-0.76.1
    2023-11-29 15:41:47.988 [info] Extracting extension completed. github.vscode-pull-request-github
    2023-11-29 15:41:48.013 [info] Extension installed successfully: github.vscode-pull-request-github
    2023-11-29 15:41:48.016 [info] Extension 'github.vscode-pull-request-github' v0.76.1 was successfully installed.
    2023-11-29 15:41:48.172 [info] Extracted extension to file:///home/codespace/.vscode-remote/extensions/github.codespaces-1.16.2: github.codespaces
    2023-11-29 15:41:48.192 [info] Renamed to /home/codespace/.vscode-remote/extensions/github.codespaces-1.16.2
    2023-11-29 15:41:48.196 [info] Extracting extension completed. github.codespaces
    2023-11-29 15:41:48.213 [info] Extension installed successfully: github.codespaces
    2023-11-29 15:41:48.215 [info] Extension 'github.codespaces' v1.16.2 was successfully installed.
    2023-11-29 15:41:48.216 [info] Installing extensions...
    2023-11-29 15:41:48.645 [info] Installing extension 'ms-dotnettools.csdevkit'...
    2023-11-29 15:41:48.646 [info] Getting Manifest... ms-dotnettools.csdevkit
    2023-11-29 15:41:48.665 [info] Installing extension: ms-dotnettools.csdevkit
    2023-11-29 15:41:49.241 [info] Getting Manifest... ms-dotnettools.csharp
    2023-11-29 15:41:49.360 [info] Getting Manifest... ms-dotnettools.vscode-dotnet-runtime
    2023-11-29 15:41:49.472 [info] Getting Manifest... ms-dotnettools.vscodeintellicode-csharp
    2023-11-29 15:41:49.566 [info] Getting Manifest... ms-dotnettools.csharp
    2023-11-29 15:41:49.706 [info] Installing extension: ms-dotnettools.csharp
    2023-11-29 15:41:49.706 [info] Installing the extension without checking dependencies and pack ms-dotnettools.csharp
    2023-11-29 15:41:49.752 [info] Installing extension: ms-dotnettools.csharp ms-dotnettools.csdevkit
    2023-11-29 15:41:49.754 [info] Installing extension: ms-dotnettools.vscode-dotnet-runtime ms-dotnettools.csdevkit
    2023-11-29 15:41:49.754 [info] Installing extension: ms-dotnettools.vscodeintellicode-csharp ms-dotnettools.csdevkit
    2023-11-29 15:41:50.556 [warning] Extension signature verification failed with error 'ENOENT': ms-dotnettools.vscode-dotnet-runtime
    2023-11-29 15:41:50.712 [warning] Extension signature verification failed with error 'ENOENT': ms-dotnettools.csharp
    2023-11-29 15:41:50.973 [info] Extracted extension to file:///home/codespace/.vscode-remote/extensions/ms-dotnettools.vscode-dotnet-runtime-2.0.0: ms-dotnettools.vscode-dotnet-runtime
    2023-11-29 15:41:51.002 [info] Renamed to /home/codespace/.vscode-remote/extensions/ms-dotnettools.vscode-dotnet-runtime-2.0.0
    2023-11-29 15:41:51.010 [info] Extracting extension completed. ms-dotnettools.vscode-dotnet-runtime
    2023-11-29 15:41:53.781 [info] Extracted extension to file:///home/codespace/.vscode-remote/extensions/ms-dotnettools.csharp-2.0.251: ms-dotnettools.csharp
    2023-11-29 15:41:53.820 [info] Renamed to /home/codespace/.vscode-remote/extensions/ms-dotnettools.csharp-2.0.251
    2023-11-29 15:41:53.830 [info] Extracting extension completed. ms-dotnettools.csharp
    2023-11-29 15:41:53.848 [info] Extension installed successfully: ms-dotnettools.csharp
    2023-11-29 15:41:54.874 [info] Getting Manifest... github.vscode-pull-request-github
    2023-11-29 15:41:55.008 [info] Installing extension: github.vscode-pull-request-github
    2023-11-29 15:41:55.008 [info] Installing the extension without checking dependencies and pack github.vscode-pull-request-github
    2023-11-29 15:41:55.247 [warning] Extension signature verification failed with error 'ENOENT': ms-dotnettools.csharp
    2023-11-29 15:41:55.313 [info] Extension installed successfully: github.vscode-pull-request-github
    2023-11-29 15:41:56.006 [info] Getting Manifest... ms-dotnettools.vscode-dotnet-runtime
    2023-11-29 15:41:56.028 [info] Extensions is already requested to install ms-dotnettools.vscode-dotnet-runtime
    2023-11-29 15:41:56.739 [info] Getting Manifest... github.codespaces
    2023-11-29 15:41:56.762 [info] Installing extension: github.codespaces
    2023-11-29 15:41:56.762 [info] Installing the extension without checking dependencies and pack github.codespaces
    2023-11-29 15:41:57.272 [info] Extension installed successfully: github.codespaces
    2023-11-29 15:41:58.010 [info] Getting Manifest... github.vscode-github-actions
    2023-11-29 15:41:58.038 [info] Installing extension: github.vscode-github-actions
    2023-11-29 15:41:58.040 [info] Installing the extension without checking dependencies and pack github.vscode-github-actions
    2023-11-29 15:41:58.973 [warning] Extension signature verification failed with error 'ENOENT': github.vscode-github-actions
    2023-11-29 15:42:00.258 [info] Extracted extension to file:///home/codespace/.vscode-remote/extensions/github.vscode-github-actions-0.26.2: github.vscode-github-actions
    2023-11-29 15:42:00.472 [info] Renamed to /home/codespace/.vscode-remote/extensions/github.vscode-github-actions-0.26.2
    2023-11-29 15:42:00.554 [info] Extracting extension completed. github.vscode-github-actions
    2023-11-29 15:42:00.729 [info] Extension installed successfully: github.vscode-github-actions
    2023-11-29 15:42:04.255 [info] Getting Manifest... github.vscode-github-actions
    2023-11-29 15:42:04.460 [info] Getting Manifest... ms-dotnettools.vscodeintellicode-csharp
    2023-11-29 15:42:04.545 [info] Getting Manifest... ms-dotnettools.csdevkit
    2023-11-29 15:42:04.608 [info] Getting Manifest... ms-dotnettools.csharp
    2023-11-29 15:42:04.643 [info] Installing extension: github.vscode-github-actions
    2023-11-29 15:42:04.643 [info] Installing the extension without checking dependencies and pack github.vscode-github-actions
    2023-11-29 15:42:04.645 [info] Extensions is already requested to install ms-dotnettools.vscodeintellicode-csharp
    2023-11-29 15:42:04.645 [info] Extensions is already requested to install ms-dotnettools.csdevkit
    2023-11-29 15:42:04.646 [info] Installing extension: ms-dotnettools.csharp
    2023-11-29 15:42:04.646 [info] Installing the extension without checking dependencies and pack ms-dotnettools.csharp
    2023-11-29 15:42:05.508 [info] Extension installed successfully: github.vscode-github-actions
    2023-11-29 15:42:08.049 [warning] Extension signature verification failed with error 'ENOENT': ms-dotnettools.csharp
    2023-11-29 15:42:22.900 [info] Extracted extension to file:///home/codespace/.vscode-remote/extensions/ms-dotnettools.csharp-2.10.28-linux-x64: ms-dotnettools.csharp
    2023-11-29 15:42:22.941 [info] Renamed to /home/codespace/.vscode-remote/extensions/ms-dotnettools.csharp-2.10.28-linux-x64
    2023-11-29 15:42:22.953 [info] Extracting extension completed. ms-dotnettools.csharp
    2023-11-29 15:42:23.454 [info] Marked extension as uninstalled ms-dotnettools.csharp-2.0.251
    2023-11-29 15:42:24.391 [warning] Extension signature verification failed with error 'ENOENT': ms-dotnettools.csdevkit
    2023-11-29 15:42:28.945 [info] Extracted extension to file:///home/codespace/.vscode-remote/extensions/ms-dotnettools.csharp-2.12.4-linux-x64: ms-dotnettools.csharp
    2023-11-29 15:42:29.172 [info] Extracted extension to file:///home/codespace/.vscode-remote/extensions/ms-dotnettools.csdevkit-1.0.14-linux-x64: ms-dotnettools.csdevkit
    2023-11-29 15:42:29.254 [info] Renamed to /home/codespace/.vscode-remote/extensions/ms-dotnettools.csharp-2.12.4-linux-x64
    2023-11-29 15:42:29.266 [info] Extracting extension completed. ms-dotnettools.csharp
    2023-11-29 15:42:29.278 [info] Renamed to /home/codespace/.vscode-remote/extensions/ms-dotnettools.csdevkit-1.0.14-linux-x64
    2023-11-29 15:42:29.282 [info] Extracting extension completed. ms-dotnettools.csdevkit
    2023-11-29 15:42:29.296 [info] Extension installed successfully: ms-dotnettools.csharp
    2023-11-29 15:42:29.306 [info] Marked extension as uninstalled ms-dotnettools.csharp-2.10.28-linux-x64
    2023-11-29 15:42:30.856 [warning] Extension signature verification failed with error 'ENOENT': ms-dotnettools.vscodeintellicode-csharp
    2023-11-29 15:42:36.079 [info] Extracted extension to file:///home/codespace/.vscode-remote/extensions/ms-dotnettools.vscodeintellicode-csharp-0.1.26-linux-x64: ms-dotnettools.vscodeintellicode-csharp
    2023-11-29 15:42:36.102 [info] Renamed to /home/codespace/.vscode-remote/extensions/ms-dotnettools.vscodeintellicode-csharp-0.1.26-linux-x64
    2023-11-29 15:42:36.103 [info] Extracting extension completed. ms-dotnettools.vscodeintellicode-csharp
    2023-11-29 15:42:36.132 [info] Extension installed successfully: ms-dotnettools.vscode-dotnet-runtime
    2023-11-29 15:42:36.132 [info] Extension installed successfully: ms-dotnettools.csharp
    2023-11-29 15:42:36.132 [info] Extension installed successfully: ms-dotnettools.csdevkit
    2023-11-29 15:42:36.132 [info] Extension installed successfully: ms-dotnettools.vscodeintellicode-csharp
    2023-11-29 15:42:36.136 [info] Extension 'ms-dotnettools.csdevkit' v1.0.14 was successfully installed.
    2023-11-29 15:42:36.393 [info] Deleted uninstalled extension from disk ms-dotnettools.csharp /home/codespace/.vscode-remote/extensions/ms-dotnettools.csharp-2.10.28-linux-x64
    2023-11-29 15:42:36.440 [info] Deleted uninstalled extension from disk ms-dotnettools.csharp /home/codespace/.vscode-remote/extensions/ms-dotnettools.csharp-2.0.251
    

We have a similar issue with C#. If you install the C# extension or the C# DevKit extension, it will install quicker than it’s dependent “.NET Install Tool” extension.

This race condition leads to a prompt that shows up the majority of the time to reload the editor to install the dependent extension.