Skip to content

Commit c9a70d7

Browse files
kimadelineKartik Raj
and
Kartik Raj
authored
Disable reloading when changing language servers (#18884)
* Remove LSFolderService dependency * No DI proof of concept * Add safeguard when connecting/disconnecting * Proper Pylance LS disposal * Fix Jedi LS startup/disposal * Add cache support * Remove DI decorators + registry activation * Do not reload window when Pylance not installed * jedi/pylance/none extension managers * languageServer/watcher.unit.test.ts * News entry * Add 2.7 behaviour + fix linting * Remove deprecated LS settings * Add support for 1 LS per workspace folder * Add tests * Update src/client/languageServer/watcher.ts Co-authored-by: Kartik Raj <[email protected]> * Add resource path to "starting ls" message * Fix issue with get() * Amend ILanguageServerExtensionManager comment Co-authored-by: Kartik Raj <[email protected]>
1 parent f7d7354 commit c9a70d7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1684
-2384
lines changed

.eslintignore

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,7 @@ src/test/terminals/codeExecution/terminalCodeExec.unit.test.ts
3535
src/test/terminals/codeExecution/codeExecutionManager.unit.test.ts
3636
src/test/terminals/codeExecution/djangoShellCodeExect.unit.test.ts
3737

38-
src/test/activation/activationService.unit.test.ts
3938
src/test/activation/activeResource.unit.test.ts
40-
src/test/activation/node/languageServerChangeHandler.unit.test.ts
41-
src/test/activation/node/activator.unit.test.ts
4239
src/test/activation/extensionSurvey.unit.test.ts
4340

4441
src/test/utils/fs.ts
@@ -176,18 +173,9 @@ src/client/terminals/codeExecution/djangoContext.ts
176173
src/client/activation/commands.ts
177174
src/client/activation/progress.ts
178175
src/client/activation/extensionSurvey.ts
179-
src/client/activation/common/languageServerChangeHandler.ts
180-
src/client/activation/common/activatorBase.ts
181176
src/client/activation/common/analysisOptions.ts
182177
src/client/activation/refCountedLanguageServer.ts
183178
src/client/activation/languageClientMiddleware.ts
184-
src/client/activation/node/manager.ts
185-
src/client/activation/node/languageServerProxy.ts
186-
src/client/activation/node/languageClientFactory.ts
187-
src/client/activation/node/languageServerFolderService.ts
188-
src/client/activation/node/analysisOptions.ts
189-
src/client/activation/node/activator.ts
190-
src/client/activation/none/activator.ts
191179

192180
src/client/formatters/serviceRegistry.ts
193181
src/client/formatters/helper.ts

news/1 Enhancements/18509.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Do not require a reload when swapping between language servers.

package.nls.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,9 +175,9 @@
175175
"LanguageService.extractionCompletedOutputMessage": "Language server download complete",
176176
"LanguageService.extractionDoneOutputMessage": "done",
177177
"LanguageService.reloadVSCodeIfSeachPathHasChanged": "Search paths have changed for this Python interpreter. Please reload the extension to ensure that the IntelliSense works correctly",
178-
"LanguageService.startingPylance": "Starting Pylance language server.",
179-
"LanguageService.startingJedi": "Starting Jedi language server.",
180-
"LanguageService.startingNone": "Editor support is inactive since language server is set to None.",
178+
"LanguageService.startingPylance": "Starting Pylance language server for {0}.",
179+
"LanguageService.startingJedi": "Starting Jedi language server for {0}.",
180+
"LanguageService.startingNone": "Editor support is inactive since language server is set to None for {0}.",
181181
"LanguageService.reloadAfterLanguageServerChange": "Please reload the window switching between language servers.",
182182
"AttachProcess.unsupportedOS": "Operating system '{0}' not supported.",
183183
"AttachProcess.attachTitle": "Attach to process",

resources/report_issue_user_settings.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"onDidChange": false,
55
"defaultInterpreterPath": "placeholder",
66
"defaultLS": true,
7-
"downloadLanguageServer": true,
87
"envFile": "placeholder",
98
"venvPath": "placeholder",
109
"venvFolders": "placeholder",
@@ -14,7 +13,6 @@
1413
"devOptions": false,
1514
"disableInstallationChecks": false,
1615
"globalModuleInstallation": false,
17-
"autoUpdateLanguageServer": false,
1816
"languageServer": true,
1917
"languageServerIsDefault": false,
2018
"logging": true,

src/client/activation/activationService.ts

Lines changed: 0 additions & 318 deletions
This file was deleted.

src/client/activation/common/defaultlanguageServer.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { injectable } from 'inversify';
55
import { PYLANCE_EXTENSION_ID } from '../../common/constants';
66
import { IDefaultLanguageServer, IExtensions, DefaultLSType } from '../../common/types';
77
import { IServiceManager } from '../../ioc/types';
8-
import { ILSExtensionApi } from '../node/languageServerFolderService';
98
import { LanguageServerType } from '../types';
109

1110
@injectable()
@@ -29,7 +28,7 @@ export async function setDefaultLanguageServer(
2928
}
3029

3130
async function getDefaultLanguageServer(extensions: IExtensions): Promise<DefaultLSType> {
32-
if (extensions.getExtension<ILSExtensionApi>(PYLANCE_EXTENSION_ID)) {
31+
if (extensions.getExtension(PYLANCE_EXTENSION_ID)) {
3332
return LanguageServerType.Node;
3433
}
3534

0 commit comments

Comments
 (0)