Skip to content

Commit 3ac1c24

Browse files
committed
Add a new pylance api to grab the outputChannel
1 parent 6827afb commit 3ac1c24

File tree

5 files changed

+36
-2
lines changed

5 files changed

+36
-2
lines changed

src/client/api.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,9 @@ export function buildApi(
145145
},
146146
},
147147
pylance: {
148+
getOutputChannel: () => outputChannel.channel,
148149
createClient: (...args: any[]): BaseLanguageClient => {
150+
//deprecated
149151
// Make sure we share output channel so that we can share one with
150152
// Jedi as well.
151153
const clientOptions = args[1] as LanguageClientOptions;

src/client/browser/api.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { BaseLanguageClient } from 'vscode-languageclient';
77
import { LanguageClient } from 'vscode-languageclient/browser';
88
import { PYTHON_LANGUAGE } from '../common/constants';
99
import { ApiForPylance, TelemetryReporter } from '../pylanceApi';
10+
import { LogOutputChannel } from 'vscode';
1011

1112
export interface IBrowserExtensionApi {
1213
/**
@@ -16,10 +17,12 @@ export interface IBrowserExtensionApi {
1617
pylance: ApiForPylance;
1718
}
1819

19-
export function buildApi(reporter: TelemetryReporter): IBrowserExtensionApi {
20+
export function buildApi(reporter: TelemetryReporter, outputChannel: LogOutputChannel): IBrowserExtensionApi {
2021
const api: IBrowserExtensionApi = {
2122
pylance: {
23+
getOutputChannel: () => outputChannel,
2224
// eslint-disable-next-line @typescript-eslint/no-explicit-any
25+
// deprecated
2326
createClient: (...args: any[]): BaseLanguageClient =>
2427
new LanguageClient(PYTHON_LANGUAGE, 'Python Language Server', args[0], args[1]),
2528
start: (client: BaseLanguageClient): Promise<void> => client.start(),

src/client/browser/extension.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { EventName } from '../telemetry/constants';
1212
import { createStatusItem } from './intellisenseStatus';
1313
import { PylanceApi } from '../activation/node/pylanceApi';
1414
import { buildApi, IBrowserExtensionApi } from './api';
15+
import { OutputChannelNames } from '../common/utils/localize';
1516

1617
interface BrowserConfig {
1718
distUrl: string; // URL to Pylance's dist folder.
@@ -23,7 +24,8 @@ let pylanceApi: PylanceApi | undefined;
2324
export function activate(context: vscode.ExtensionContext): Promise<IBrowserExtensionApi> {
2425
const reporter = getTelemetryReporter();
2526

26-
const activationPromise = Promise.resolve(buildApi(reporter));
27+
const outputChannel = vscode.window.createOutputChannel(OutputChannelNames.python, { log: true });
28+
const activationPromise = Promise.resolve(buildApi(reporter, outputChannel));
2729
const pylanceExtension = vscode.extensions.getExtension<PylanceApi>(PYLANCE_EXTENSION_ID);
2830
if (pylanceExtension) {
2931
// Make sure we run pylance once we activated core extension.

src/client/pylanceApi.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import { TelemetryEventMeasurements, TelemetryEventProperties } from '@vscode/extension-telemetry';
55
import { BaseLanguageClient } from 'vscode-languageclient';
6+
import { LogOutputChannel } from 'vscode';
67

78
export interface TelemetryReporter {
89
sendTelemetryEvent(
@@ -18,7 +19,9 @@ export interface TelemetryReporter {
1819
}
1920

2021
export interface ApiForPylance {
22+
getOutputChannel(): LogOutputChannel;
2123
// eslint-disable-next-line @typescript-eslint/no-explicit-any
24+
// deprecated
2225
createClient(...args: any[]): BaseLanguageClient;
2326
start(client: BaseLanguageClient): Promise<void>;
2427
stop(client: BaseLanguageClient): Promise<void>;

vscode-python.sln

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
Microsoft Visual Studio Solution File, Format Version 12.00
2+
# Visual Studio Version 17
3+
VisualStudioVersion = 17.5.2.0
4+
MinimumVisualStudioVersion = 10.0.40219.1
5+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vscode-python-signing", "vscode-python-signing.csproj", "{823C528B-3AFE-A8BD-2399-4E1F9CB64B43}"
6+
EndProject
7+
Global
8+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
9+
Debug|Any CPU = Debug|Any CPU
10+
Release|Any CPU = Release|Any CPU
11+
EndGlobalSection
12+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
13+
{823C528B-3AFE-A8BD-2399-4E1F9CB64B43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
14+
{823C528B-3AFE-A8BD-2399-4E1F9CB64B43}.Debug|Any CPU.Build.0 = Debug|Any CPU
15+
{823C528B-3AFE-A8BD-2399-4E1F9CB64B43}.Release|Any CPU.ActiveCfg = Release|Any CPU
16+
{823C528B-3AFE-A8BD-2399-4E1F9CB64B43}.Release|Any CPU.Build.0 = Release|Any CPU
17+
EndGlobalSection
18+
GlobalSection(SolutionProperties) = preSolution
19+
HideSolutionNode = FALSE
20+
EndGlobalSection
21+
GlobalSection(ExtensibilityGlobals) = postSolution
22+
SolutionGuid = {26F89413-CF2F-476E-8C99-5CBE59062416}
23+
EndGlobalSection
24+
EndGlobal

0 commit comments

Comments
 (0)