From 62348f6c9b0cd56c4977e3215db7beffbe73cb8f Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Thu, 7 Oct 2021 17:30:08 -0700 Subject: [PATCH 01/18] Provide IntelliSense status information when using github.dev --- package.nls.json | 3 +++ src/client/browser/extension.ts | 2 ++ src/client/browser/intellisenseStatus.ts | 21 ++++++++++++++++++ src/client/common/utils/localize.ts | 5 +++++ types/vscode.proposed.d.ts | 27 ++++++++++++++++++++++++ 5 files changed, 58 insertions(+) create mode 100644 src/client/browser/intellisenseStatus.ts diff --git a/package.nls.json b/package.nls.json index 1a101b51c327..d4e84d90dc7a 100644 --- a/package.nls.json +++ b/package.nls.json @@ -165,6 +165,9 @@ "Testing.configureTests": "Configure Test Framework", "Testing.testNotConfigured": "No test framework configured.", "Common.openOutputPanel": "Show output", + "LanguageService.statusItem.name":"Python IntelliSense Status", + "LanguageService.statusItem.text": "Partial Mode", + "LanguageService.statusItem.detail": "Project Wide IntelliSense not available", "LanguageService.lsFailedToStart": "We encountered an issue starting the language server. Reverting to Jedi language engine. Check the Python output panel for details.", "LanguageService.lsFailedToDownload": "We encountered an issue downloading the language server. Reverting to Jedi language engine. Check the Python output panel for details.", "LanguageService.lsFailedToExtract": "We encountered an issue extracting the language server. Reverting to Jedi language engine. Check the Python output panel for details.", diff --git a/src/client/browser/extension.ts b/src/client/browser/extension.ts index fb25d3d8765b..88891aebd4a6 100644 --- a/src/client/browser/extension.ts +++ b/src/client/browser/extension.ts @@ -11,6 +11,7 @@ import { LanguageServerType } from '../activation/types'; import { AppinsightsKey, PVSC_EXTENSION_ID, PYLANCE_EXTENSION_ID } from '../common/constants'; import { loadLocalizedStringsForBrowser } from '../common/utils/localizeHelpers'; import { EventName } from '../telemetry/constants'; +import { createStatusItem } from './intellisenseStatus'; interface BrowserConfig { distUrl: string; // URL to Pylance's dist folder. @@ -115,6 +116,7 @@ async function runPylance( const disposable = languageClient.start(); context.subscriptions.push(disposable); + context.subscriptions.push(createStatusItem()); } catch (e) { console.log(e); } diff --git a/src/client/browser/intellisenseStatus.ts b/src/client/browser/intellisenseStatus.ts new file mode 100644 index 000000000000..f4dd563d82f5 --- /dev/null +++ b/src/client/browser/intellisenseStatus.ts @@ -0,0 +1,21 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import * as vscode from 'vscode'; +import { Common, LanguageService } from '../common/utils/localize'; + +export function createStatusItem(): vscode.Disposable { + const statusItem = vscode.languages.createLanguageStatusItem('python.projectStatus', { + language: 'python', + }); + statusItem.name = LanguageService.statusItem.name(); + statusItem.severity = vscode.LanguageStatusSeverity.Warning; + statusItem.text = LanguageService.statusItem.text(); + statusItem.detail = LanguageService.statusItem.detail(); + statusItem.command = { + title: Common.learnMore(), + command: 'vscode.open', + arguments: [vscode.Uri.parse('https://aka.ms/AAdzyh4')], + }; + return statusItem; +} diff --git a/src/client/common/utils/localize.ts b/src/client/common/utils/localize.ts index 6e490da58dea..594287f32ff1 100644 --- a/src/client/common/utils/localize.ts +++ b/src/client/common/utils/localize.ts @@ -204,6 +204,11 @@ export namespace TensorBoard { } export namespace LanguageService { + export const statusItem = { + name: localize('LanguageService.statusItem.name', 'Python IntelliSense Status'), + text: localize('LanguageService.statusItem.text', 'Partial Mode'), + detail: localize('LanguageService.statusItem.detail', 'Project Wide IntelliSense not available'), + }; export const startingMicrosoft = localize( 'LanguageService.startingMicrosoft', 'Starting Microsoft Python language server.', diff --git a/types/vscode.proposed.d.ts b/types/vscode.proposed.d.ts index 3f817992a0ef..3a0ae806c476 100644 --- a/types/vscode.proposed.d.ts +++ b/types/vscode.proposed.d.ts @@ -750,6 +750,33 @@ declare module 'vscode' { replaceOutputItems(items: NotebookCellOutputItem | NotebookCellOutputItem[], outputId: string): Thenable; } + //#region https://github.com/microsoft/vscode/issues/129037 + + enum LanguageStatusSeverity { + Information = 0, + Warning = 1, + Error = 2, + } + + interface LanguageStatusItem { + readonly id: string; + selector: DocumentSelector; + // todo@jrieken replace with boolean ala needsAttention + severity: LanguageStatusSeverity; + name: string | undefined; + text: string; + detail?: string; + command: Command | undefined; + accessibilityInformation?: AccessibilityInformation; + dispose(): void; + } + + namespace languages { + export function createLanguageStatusItem(id: string, selector: DocumentSelector): LanguageStatusItem; + } + + //#endregion + export interface QuickPick extends QuickInput { /** * An optional flag to sort the final results by index of first query match in label. Defaults to true. From 56bf637ab288c181f033815e7347425b0614936d Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Thu, 7 Oct 2021 17:32:01 -0700 Subject: [PATCH 02/18] News entry --- news/1 Enhancements/17658.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 news/1 Enhancements/17658.md diff --git a/news/1 Enhancements/17658.md b/news/1 Enhancements/17658.md new file mode 100644 index 000000000000..48023372756a --- /dev/null +++ b/news/1 Enhancements/17658.md @@ -0,0 +1 @@ +Provide IntelliSense status information when using `github.dev` or any other web platform. From a3215faa64306a1f42fb912682434126a2f83a4d Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Thu, 7 Oct 2021 18:20:09 -0700 Subject: [PATCH 03/18] Update wording --- package.nls.json | 2 +- src/client/common/utils/localize.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.nls.json b/package.nls.json index d4e84d90dc7a..37f19892ef79 100644 --- a/package.nls.json +++ b/package.nls.json @@ -167,7 +167,7 @@ "Common.openOutputPanel": "Show output", "LanguageService.statusItem.name":"Python IntelliSense Status", "LanguageService.statusItem.text": "Partial Mode", - "LanguageService.statusItem.detail": "Project Wide IntelliSense not available", + "LanguageService.statusItem.detail": "Only limited Intellisense via Pylance is supported.", "LanguageService.lsFailedToStart": "We encountered an issue starting the language server. Reverting to Jedi language engine. Check the Python output panel for details.", "LanguageService.lsFailedToDownload": "We encountered an issue downloading the language server. Reverting to Jedi language engine. Check the Python output panel for details.", "LanguageService.lsFailedToExtract": "We encountered an issue extracting the language server. Reverting to Jedi language engine. Check the Python output panel for details.", diff --git a/src/client/common/utils/localize.ts b/src/client/common/utils/localize.ts index 594287f32ff1..6f7561df31ab 100644 --- a/src/client/common/utils/localize.ts +++ b/src/client/common/utils/localize.ts @@ -207,7 +207,7 @@ export namespace LanguageService { export const statusItem = { name: localize('LanguageService.statusItem.name', 'Python IntelliSense Status'), text: localize('LanguageService.statusItem.text', 'Partial Mode'), - detail: localize('LanguageService.statusItem.detail', 'Project Wide IntelliSense not available'), + detail: localize('LanguageService.statusItem.detail', 'Only limited Intellisense via Pylance is supported.'), }; export const startingMicrosoft = localize( 'LanguageService.startingMicrosoft', From c9c6a2dd16733d45088e56d1ceba66a3749bd049 Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Mon, 11 Oct 2021 11:09:59 -0700 Subject: [PATCH 04/18] PR reviews --- src/client/browser/intellisenseStatus.ts | 30 ++++++++++++++---------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/client/browser/intellisenseStatus.ts b/src/client/browser/intellisenseStatus.ts index f4dd563d82f5..ec34a6a43808 100644 --- a/src/client/browser/intellisenseStatus.ts +++ b/src/client/browser/intellisenseStatus.ts @@ -3,19 +3,23 @@ import * as vscode from 'vscode'; import { Common, LanguageService } from '../common/utils/localize'; +import { noop } from '../common/utils/misc'; export function createStatusItem(): vscode.Disposable { - const statusItem = vscode.languages.createLanguageStatusItem('python.projectStatus', { - language: 'python', - }); - statusItem.name = LanguageService.statusItem.name(); - statusItem.severity = vscode.LanguageStatusSeverity.Warning; - statusItem.text = LanguageService.statusItem.text(); - statusItem.detail = LanguageService.statusItem.detail(); - statusItem.command = { - title: Common.learnMore(), - command: 'vscode.open', - arguments: [vscode.Uri.parse('https://aka.ms/AAdzyh4')], - }; - return statusItem; + if (vscode.languages.createLanguageStatusItem) { + const statusItem = vscode.languages.createLanguageStatusItem('python.projectStatus', { + language: 'python', + }); + statusItem.name = LanguageService.statusItem.name(); + statusItem.severity = vscode.LanguageStatusSeverity.Warning; + statusItem.text = LanguageService.statusItem.text(); + statusItem.detail = LanguageService.statusItem.detail(); + statusItem.command = { + title: Common.learnMore(), + command: 'vscode.open', + arguments: [vscode.Uri.parse('https://aka.ms/AAdzyh4')], + }; + return statusItem; + } + return { dispose: noop }; } From de27180a7b6522a2bad6e05047c9446d25f2e0d0 Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 11:12:48 -0700 Subject: [PATCH 05/18] Include proposed APIs for browser config --- tsconfig.browser.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tsconfig.browser.json b/tsconfig.browser.json index d4aae7e98208..cda0a494e0f2 100644 --- a/tsconfig.browser.json +++ b/tsconfig.browser.json @@ -1,6 +1,7 @@ { "extends": "./tsconfig.json", "include": [ - "./src/client/browser" + "./src/client/browser", + "./types/vscode.proposed.d.ts" ] } From 30db55b9d766cc8690f9a8818d0483f0762aa980 Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 11:29:45 -0700 Subject: [PATCH 06/18] Include common module for browser config --- tsconfig.browser.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tsconfig.browser.json b/tsconfig.browser.json index cda0a494e0f2..5372cc33de98 100644 --- a/tsconfig.browser.json +++ b/tsconfig.browser.json @@ -2,6 +2,7 @@ "extends": "./tsconfig.json", "include": [ "./src/client/browser", - "./types/vscode.proposed.d.ts" + "./types/vscode.proposed.d.ts", + "./src/client/common" ] } From e2b7c1093ffc8616e78b493ca59cd594cda4231c Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 11:30:02 -0700 Subject: [PATCH 07/18] Change how we detect --- src/client/browser/intellisenseStatus.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/browser/intellisenseStatus.ts b/src/client/browser/intellisenseStatus.ts index ec34a6a43808..56fb84e40b26 100644 --- a/src/client/browser/intellisenseStatus.ts +++ b/src/client/browser/intellisenseStatus.ts @@ -6,7 +6,7 @@ import { Common, LanguageService } from '../common/utils/localize'; import { noop } from '../common/utils/misc'; export function createStatusItem(): vscode.Disposable { - if (vscode.languages.createLanguageStatusItem) { + if ('createLanguageStatusItem' in vscode.languages) { const statusItem = vscode.languages.createLanguageStatusItem('python.projectStatus', { language: 'python', }); From 53e79e3092e32b894c22353cc59f2c70c00c3ec1 Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 11:35:06 -0700 Subject: [PATCH 08/18] Change wording --- package.nls.json | 2 +- src/client/common/utils/localize.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.nls.json b/package.nls.json index 37f19892ef79..11a0468d4daf 100644 --- a/package.nls.json +++ b/package.nls.json @@ -167,7 +167,7 @@ "Common.openOutputPanel": "Show output", "LanguageService.statusItem.name":"Python IntelliSense Status", "LanguageService.statusItem.text": "Partial Mode", - "LanguageService.statusItem.detail": "Only limited Intellisense via Pylance is supported.", + "LanguageService.statusItem.detail": "Limited IntelliSense provided by Pylance", "LanguageService.lsFailedToStart": "We encountered an issue starting the language server. Reverting to Jedi language engine. Check the Python output panel for details.", "LanguageService.lsFailedToDownload": "We encountered an issue downloading the language server. Reverting to Jedi language engine. Check the Python output panel for details.", "LanguageService.lsFailedToExtract": "We encountered an issue extracting the language server. Reverting to Jedi language engine. Check the Python output panel for details.", diff --git a/src/client/common/utils/localize.ts b/src/client/common/utils/localize.ts index 6f7561df31ab..d274342d2fe4 100644 --- a/src/client/common/utils/localize.ts +++ b/src/client/common/utils/localize.ts @@ -207,7 +207,7 @@ export namespace LanguageService { export const statusItem = { name: localize('LanguageService.statusItem.name', 'Python IntelliSense Status'), text: localize('LanguageService.statusItem.text', 'Partial Mode'), - detail: localize('LanguageService.statusItem.detail', 'Only limited Intellisense via Pylance is supported.'), + detail: localize('LanguageService.statusItem.detail', 'Limited IntelliSense provided by Pylance'), }; export const startingMicrosoft = localize( 'LanguageService.startingMicrosoft', From dc162d9eae1adffe357a979acc8fb28ff4644362 Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 11:40:24 -0700 Subject: [PATCH 09/18] Have same browser config as extension config --- tsconfig.browser.json | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/tsconfig.browser.json b/tsconfig.browser.json index 5372cc33de98..d5805806b675 100644 --- a/tsconfig.browser.json +++ b/tsconfig.browser.json @@ -1,8 +1,25 @@ { - "extends": "./tsconfig.json", - "include": [ - "./src/client/browser", - "./types/vscode.proposed.d.ts", - "./src/client/common" - ] + "compilerOptions": { + "baseUrl": ".", + "module": "commonjs", + "target": "es6", + "outDir": "out", + "lib": [ + "es6", + "es2018", + "ES2019", + "ES2020", + ], + "sourceMap": true, + "rootDir": "src", + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "noImplicitThis": false + }, + "exclude": [ + "node_modules", + ".vscode-test", + ".vscode test", + "build" + ] } From 8d559876554e358e75de229fa7275e0a30aca480 Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 14:07:08 -0700 Subject: [PATCH 10/18] Revert "Have same browser config as extension config" This reverts commit 515003aee2fa4a44105f22c4749f1fa721be6bcf. --- tsconfig.browser.json | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/tsconfig.browser.json b/tsconfig.browser.json index d5805806b675..5372cc33de98 100644 --- a/tsconfig.browser.json +++ b/tsconfig.browser.json @@ -1,25 +1,8 @@ { - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "target": "es6", - "outDir": "out", - "lib": [ - "es6", - "es2018", - "ES2019", - "ES2020", - ], - "sourceMap": true, - "rootDir": "src", - "experimentalDecorators": true, - "allowSyntheticDefaultImports": true, - "noImplicitThis": false - }, - "exclude": [ - "node_modules", - ".vscode-test", - ".vscode test", - "build" - ] + "extends": "./tsconfig.json", + "include": [ + "./src/client/browser", + "./types/vscode.proposed.d.ts", + "./src/client/common" + ] } From 44a3661d490f6dce2ee60cc9121f7c9e40443d3c Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 14:07:19 -0700 Subject: [PATCH 11/18] Revert "Change wording" This reverts commit dd64f24d4c4c8cb763d9fa3aa5a2eb5808b5af9b. --- package.nls.json | 2 +- src/client/common/utils/localize.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.nls.json b/package.nls.json index 11a0468d4daf..37f19892ef79 100644 --- a/package.nls.json +++ b/package.nls.json @@ -167,7 +167,7 @@ "Common.openOutputPanel": "Show output", "LanguageService.statusItem.name":"Python IntelliSense Status", "LanguageService.statusItem.text": "Partial Mode", - "LanguageService.statusItem.detail": "Limited IntelliSense provided by Pylance", + "LanguageService.statusItem.detail": "Only limited Intellisense via Pylance is supported.", "LanguageService.lsFailedToStart": "We encountered an issue starting the language server. Reverting to Jedi language engine. Check the Python output panel for details.", "LanguageService.lsFailedToDownload": "We encountered an issue downloading the language server. Reverting to Jedi language engine. Check the Python output panel for details.", "LanguageService.lsFailedToExtract": "We encountered an issue extracting the language server. Reverting to Jedi language engine. Check the Python output panel for details.", diff --git a/src/client/common/utils/localize.ts b/src/client/common/utils/localize.ts index d274342d2fe4..6f7561df31ab 100644 --- a/src/client/common/utils/localize.ts +++ b/src/client/common/utils/localize.ts @@ -207,7 +207,7 @@ export namespace LanguageService { export const statusItem = { name: localize('LanguageService.statusItem.name', 'Python IntelliSense Status'), text: localize('LanguageService.statusItem.text', 'Partial Mode'), - detail: localize('LanguageService.statusItem.detail', 'Limited IntelliSense provided by Pylance'), + detail: localize('LanguageService.statusItem.detail', 'Only limited Intellisense via Pylance is supported.'), }; export const startingMicrosoft = localize( 'LanguageService.startingMicrosoft', From fffa2d10df2c63e13fb780b6c36c3070b347781b Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 14:07:31 -0700 Subject: [PATCH 12/18] Revert "Change how we detect" This reverts commit ae5607994f30b54158315c72a46583e7cf286fb2. --- src/client/browser/intellisenseStatus.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/browser/intellisenseStatus.ts b/src/client/browser/intellisenseStatus.ts index 56fb84e40b26..ec34a6a43808 100644 --- a/src/client/browser/intellisenseStatus.ts +++ b/src/client/browser/intellisenseStatus.ts @@ -6,7 +6,7 @@ import { Common, LanguageService } from '../common/utils/localize'; import { noop } from '../common/utils/misc'; export function createStatusItem(): vscode.Disposable { - if ('createLanguageStatusItem' in vscode.languages) { + if (vscode.languages.createLanguageStatusItem) { const statusItem = vscode.languages.createLanguageStatusItem('python.projectStatus', { language: 'python', }); From 4c72d5e9619a5fae36d5b72f60060b9e290f94c4 Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 14:07:41 -0700 Subject: [PATCH 13/18] Revert "Include common module for browser config" This reverts commit bf1815c9b8aaa9091c37d54cf010ff3bd46c8ab4. --- tsconfig.browser.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tsconfig.browser.json b/tsconfig.browser.json index 5372cc33de98..cda0a494e0f2 100644 --- a/tsconfig.browser.json +++ b/tsconfig.browser.json @@ -2,7 +2,6 @@ "extends": "./tsconfig.json", "include": [ "./src/client/browser", - "./types/vscode.proposed.d.ts", - "./src/client/common" + "./types/vscode.proposed.d.ts" ] } From 44a142dca81afe390eaad7512cb34e694abbb86e Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 14:38:23 -0700 Subject: [PATCH 14/18] Do not import from misc module --- src/client/browser/intellisenseStatus.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/client/browser/intellisenseStatus.ts b/src/client/browser/intellisenseStatus.ts index ec34a6a43808..0c536625be52 100644 --- a/src/client/browser/intellisenseStatus.ts +++ b/src/client/browser/intellisenseStatus.ts @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. +// IMPORTANT: Do not import any node fs related modules here, as they do not work in browser. import * as vscode from 'vscode'; import { Common, LanguageService } from '../common/utils/localize'; -import { noop } from '../common/utils/misc'; export function createStatusItem(): vscode.Disposable { if (vscode.languages.createLanguageStatusItem) { @@ -21,5 +21,6 @@ export function createStatusItem(): vscode.Disposable { }; return statusItem; } - return { dispose: noop }; + // eslint-disable-next-line @typescript-eslint/no-empty-function + return { dispose: () => {} }; } From 33ba6510999ce731e145b402b8b2ef8d9e69d9e0 Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 14:48:07 -0700 Subject: [PATCH 15/18] Detect how we check if property exists --- src/client/browser/intellisenseStatus.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/browser/intellisenseStatus.ts b/src/client/browser/intellisenseStatus.ts index 0c536625be52..f1cf122b92b2 100644 --- a/src/client/browser/intellisenseStatus.ts +++ b/src/client/browser/intellisenseStatus.ts @@ -6,7 +6,7 @@ import * as vscode from 'vscode'; import { Common, LanguageService } from '../common/utils/localize'; export function createStatusItem(): vscode.Disposable { - if (vscode.languages.createLanguageStatusItem) { + if ('createLanguageStatusItem' in vscode.languages) { const statusItem = vscode.languages.createLanguageStatusItem('python.projectStatus', { language: 'python', }); From 04f414665ea26b9225c2e14617ebce5ff967e6ba Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 15:57:46 -0700 Subject: [PATCH 16/18] Do not localize strings --- package.nls.json | 2 +- src/client/browser/intellisenseStatus.ts | 12 +++++++----- src/client/common/utils/localize.ts | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/package.nls.json b/package.nls.json index 37f19892ef79..11a0468d4daf 100644 --- a/package.nls.json +++ b/package.nls.json @@ -167,7 +167,7 @@ "Common.openOutputPanel": "Show output", "LanguageService.statusItem.name":"Python IntelliSense Status", "LanguageService.statusItem.text": "Partial Mode", - "LanguageService.statusItem.detail": "Only limited Intellisense via Pylance is supported.", + "LanguageService.statusItem.detail": "Limited IntelliSense provided by Pylance", "LanguageService.lsFailedToStart": "We encountered an issue starting the language server. Reverting to Jedi language engine. Check the Python output panel for details.", "LanguageService.lsFailedToDownload": "We encountered an issue downloading the language server. Reverting to Jedi language engine. Check the Python output panel for details.", "LanguageService.lsFailedToExtract": "We encountered an issue extracting the language server. Reverting to Jedi language engine. Check the Python output panel for details.", diff --git a/src/client/browser/intellisenseStatus.ts b/src/client/browser/intellisenseStatus.ts index f1cf122b92b2..657a81d2525e 100644 --- a/src/client/browser/intellisenseStatus.ts +++ b/src/client/browser/intellisenseStatus.ts @@ -3,19 +3,21 @@ // IMPORTANT: Do not import any node fs related modules here, as they do not work in browser. import * as vscode from 'vscode'; -import { Common, LanguageService } from '../common/utils/localize'; export function createStatusItem(): vscode.Disposable { + // TODO: Note strings are not localized here yet. Localizing strings here + // require us to use browser based fs APIs provided by VSCode: + // https://github.com/microsoft/vscode-python/issues/17712 if ('createLanguageStatusItem' in vscode.languages) { const statusItem = vscode.languages.createLanguageStatusItem('python.projectStatus', { language: 'python', }); - statusItem.name = LanguageService.statusItem.name(); + statusItem.name = 'Python IntelliSense Status'; statusItem.severity = vscode.LanguageStatusSeverity.Warning; - statusItem.text = LanguageService.statusItem.text(); - statusItem.detail = LanguageService.statusItem.detail(); + statusItem.text = 'Partial Mode'; + statusItem.detail = 'Limited IntelliSense provided by Pylance'; statusItem.command = { - title: Common.learnMore(), + title: 'Learn More', command: 'vscode.open', arguments: [vscode.Uri.parse('https://aka.ms/AAdzyh4')], }; diff --git a/src/client/common/utils/localize.ts b/src/client/common/utils/localize.ts index 6f7561df31ab..d274342d2fe4 100644 --- a/src/client/common/utils/localize.ts +++ b/src/client/common/utils/localize.ts @@ -207,7 +207,7 @@ export namespace LanguageService { export const statusItem = { name: localize('LanguageService.statusItem.name', 'Python IntelliSense Status'), text: localize('LanguageService.statusItem.text', 'Partial Mode'), - detail: localize('LanguageService.statusItem.detail', 'Only limited Intellisense via Pylance is supported.'), + detail: localize('LanguageService.statusItem.detail', 'Limited IntelliSense provided by Pylance'), }; export const startingMicrosoft = localize( 'LanguageService.startingMicrosoft', From f3cc6959b16e60092aa9f6338378946c3fa5b5ee Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 18:21:54 -0700 Subject: [PATCH 17/18] Localize strings using new localize module --- src/client/browser/intellisenseStatus.ts | 7 ++++--- src/client/common/utils/localize.ts | 5 ----- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/client/browser/intellisenseStatus.ts b/src/client/browser/intellisenseStatus.ts index 657a81d2525e..337921509762 100644 --- a/src/client/browser/intellisenseStatus.ts +++ b/src/client/browser/intellisenseStatus.ts @@ -3,6 +3,7 @@ // IMPORTANT: Do not import any node fs related modules here, as they do not work in browser. import * as vscode from 'vscode'; +import { LanguageService } from './localize'; export function createStatusItem(): vscode.Disposable { // TODO: Note strings are not localized here yet. Localizing strings here @@ -12,10 +13,10 @@ export function createStatusItem(): vscode.Disposable { const statusItem = vscode.languages.createLanguageStatusItem('python.projectStatus', { language: 'python', }); - statusItem.name = 'Python IntelliSense Status'; + statusItem.name = LanguageService.statusItem.name(); statusItem.severity = vscode.LanguageStatusSeverity.Warning; - statusItem.text = 'Partial Mode'; - statusItem.detail = 'Limited IntelliSense provided by Pylance'; + statusItem.text = LanguageService.statusItem.text(); + statusItem.detail = LanguageService.statusItem.detail(); statusItem.command = { title: 'Learn More', command: 'vscode.open', diff --git a/src/client/common/utils/localize.ts b/src/client/common/utils/localize.ts index d274342d2fe4..6e490da58dea 100644 --- a/src/client/common/utils/localize.ts +++ b/src/client/common/utils/localize.ts @@ -204,11 +204,6 @@ export namespace TensorBoard { } export namespace LanguageService { - export const statusItem = { - name: localize('LanguageService.statusItem.name', 'Python IntelliSense Status'), - text: localize('LanguageService.statusItem.text', 'Partial Mode'), - detail: localize('LanguageService.statusItem.detail', 'Limited IntelliSense provided by Pylance'), - }; export const startingMicrosoft = localize( 'LanguageService.startingMicrosoft', 'Starting Microsoft Python language server.', From 55b136b4fc3ad957ce45cdf8f3fc793d0c599b36 Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Tue, 12 Oct 2021 18:25:20 -0700 Subject: [PATCH 18/18] Remove outdated comment --- src/client/browser/intellisenseStatus.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/client/browser/intellisenseStatus.ts b/src/client/browser/intellisenseStatus.ts index 337921509762..19e410399f4d 100644 --- a/src/client/browser/intellisenseStatus.ts +++ b/src/client/browser/intellisenseStatus.ts @@ -6,9 +6,6 @@ import * as vscode from 'vscode'; import { LanguageService } from './localize'; export function createStatusItem(): vscode.Disposable { - // TODO: Note strings are not localized here yet. Localizing strings here - // require us to use browser based fs APIs provided by VSCode: - // https://github.com/microsoft/vscode-python/issues/17712 if ('createLanguageStatusItem' in vscode.languages) { const statusItem = vscode.languages.createLanguageStatusItem('python.projectStatus', { language: 'python',