File tree Expand file tree Collapse file tree 5 files changed +56
-1
lines changed Expand file tree Collapse file tree 5 files changed +56
-1
lines changed Original file line number Diff line number Diff line change 4
4
- Debug from .csproj and .sln [ #5876 ] ( https://github.com/dotnet/vscode-csharp/issues/5876 )
5
5
6
6
# Latest
7
+ * Update Roslyn to 4.13.0-1.24503.11 (PR: [ #7618 ] ( https://github.com/dotnet/vscode-csharp/pull/7618 ) )
8
+ * LSP hover responses escape backticks within inline code (PR: [ #75364 ] ( https://github.com/dotnet/roslyn/pull/75364 ) )
9
+ * Localize build host message output (PR: [ #74910 ] ( https://github.com/dotnet/roslyn/pull/74910 ) )
10
+ * Log and report NFW when we fail to apply project system update (PR: [ #75362 ] ( https://github.com/dotnet/roslyn/pull/75362 ) )
11
+ * Reduce allocations and UI thread CPU costs in WithDoNotCreateCreationPolicy (PR: [ #75358 ] ( https://github.com/dotnet/roslyn/pull/75358 ) )
12
+ * Enable support for an LSP client to open source generated files (PR: [ #75180 ] ( https://github.com/dotnet/roslyn/pull/75180 ) )
13
+ * Improve error reporting when reading bad metadata during EnC (PR: [ #75304 ] ( https://github.com/dotnet/roslyn/pull/75304 ) )
7
14
* Suppress recoverable errors from razor LSP (PR: [ #7624 ] ( https://github.com/dotnet/vscode-csharp/pull/7624 ) )
8
15
* NOTE: this can be re-enabled by setting ` razor.languageServer.suppressLspErrorToasts = false `
9
16
* Update Roslyn to 4.13.0-1.24501.3 (PR: [ #7618 ] ( https://github.com/dotnet/vscode-csharp/pull/7618 ) )
Original file line number Diff line number Diff line change 37
37
}
38
38
},
39
39
"defaults" : {
40
- "roslyn" : " 4.13.0-1.24501.3 " ,
40
+ "roslyn" : " 4.13.0-1.24503.11 " ,
41
41
"omniSharp" : " 1.39.11" ,
42
42
"razor" : " 9.0.0-preview.24480.1" ,
43
43
"razorOmnisharp" : " 7.0.0-preview.23363.1" ,
Original file line number Diff line number Diff line change @@ -74,6 +74,7 @@ import {
74
74
showErrorMessage ,
75
75
showInformationMessage ,
76
76
} from '../shared/observers/utils/showMessage' ;
77
+ import { registerSourceGeneratedFilesContentProvider } from './sourceGeneratedFilesContentProvider' ;
77
78
78
79
let _channel : vscode . OutputChannel ;
79
80
let _traceChannel : vscode . OutputChannel ;
@@ -1068,6 +1069,8 @@ export async function activateRoslynLanguageServer(
1068
1069
1069
1070
registerRestoreCommands ( context , languageServer , dotnetChannel ) ;
1070
1071
1072
+ registerSourceGeneratedFilesContentProvider ( context , languageServer ) ;
1073
+
1071
1074
context . subscriptions . push ( registerLanguageServerOptionChanges ( optionObservable ) ) ;
1072
1075
1073
1076
return languageServer ;
Original file line number Diff line number Diff line change @@ -230,6 +230,14 @@ export interface CopilotRelatedDocumentsReport {
230
230
_vs_file_paths ?: string [ ] ;
231
231
}
232
232
233
+ export interface SourceGeneratorGetRequestParams {
234
+ textDocument : lsp . TextDocumentIdentifier ;
235
+ }
236
+
237
+ export interface SourceGeneratedDocumentText {
238
+ text : string ;
239
+ }
240
+
233
241
export namespace WorkspaceDebugConfigurationRequest {
234
242
export const method = 'workspace/debugConfiguration' ;
235
243
export const messageDirection : lsp . MessageDirection = lsp . MessageDirection . clientToServer ;
@@ -351,3 +359,9 @@ export namespace CopilotRelatedDocumentsRequest {
351
359
void
352
360
> ( method ) ;
353
361
}
362
+
363
+ export namespace SourceGeneratorGetTextRequest {
364
+ export const method = 'sourceGeneratedDocument/_roslyn_getText' ;
365
+ export const messageDirection : lsp . MessageDirection = lsp . MessageDirection . clientToServer ;
366
+ export const type = new lsp . RequestType < SourceGeneratorGetRequestParams , SourceGeneratedDocumentText , void > ( method ) ;
367
+ }
Original file line number Diff line number Diff line change
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ import * as vscode from 'vscode' ;
7
+ import * as RoslynProtocol from './roslynProtocol' ;
8
+ import { RoslynLanguageServer } from './roslynLanguageServer' ;
9
+ import { UriConverter } from './uriConverter' ;
10
+ import * as lsp from 'vscode-languageserver-protocol' ;
11
+
12
+ export function registerSourceGeneratedFilesContentProvider (
13
+ context : vscode . ExtensionContext ,
14
+ languageServer : RoslynLanguageServer
15
+ ) {
16
+ context . subscriptions . push (
17
+ vscode . workspace . registerTextDocumentContentProvider (
18
+ 'roslyn-source-generated' ,
19
+ new ( class implements vscode . TextDocumentContentProvider {
20
+ async provideTextDocumentContent ( uri : vscode . Uri , token : vscode . CancellationToken ) : Promise < string > {
21
+ const result = await languageServer . sendRequest (
22
+ RoslynProtocol . SourceGeneratorGetTextRequest . type ,
23
+ { textDocument : lsp . TextDocumentIdentifier . create ( UriConverter . serialize ( uri ) ) } ,
24
+ token
25
+ ) ;
26
+ return result . text ;
27
+ }
28
+ } ) ( )
29
+ )
30
+ ) ;
31
+ }
You can’t perform that action at this time.
0 commit comments