ReadonlyloggerLogger scoped to this registration.
ReadonlyregistrationsModule RegistrationScope, shared with the Module's other registrations. Own native registrations here so stop closes their ingress synchronously.
ReadonlyresourcesModule ResourceScope, shared by every raw registration in the Module. Own
resource cleanup here; prefer deferAsync when the teardown is a
promise-returning callback, so the registration site says so.
ReadonlyservicesResolves from the Application container, with disposable transients owned
by the Module ResourceScope above. Prefer the injected argument for actual
dependencies so preflight can validate the declared graph; reserve this
resolver for genuinely dynamic lookup.
What a raw registration is given.
Deliberately does not hand over a substitutable
vscodeobject: the framework cannot fake an arbitrary VS Code API, so pretending otherwise would misrepresent what a Test Host guarantees. Importvscodedirectly and put each returned registration or cleanup into the appropriate Module scope below. The Test Host can verify lifecycle and portable collaborators; behavior that calls the realvscodemodule still needs Extension Host integration coverage.