@@ -10,11 +10,9 @@ import { TextDocumentIdentifier } from 'vscode-languageserver-protocol';
10
10
import { UriConverter } from '../uriConverter' ;
11
11
import { LanguageServerEvents } from '../languageServerEvents' ;
12
12
import { ServerState } from '../serverStateChange' ;
13
- import { DynamicFileInfoHandler } from '../../razor/src/dynamicFile/dynamicFileInfoHandler' ;
14
- import { ProvideDynamicFileResponse } from '../../razor/src/dynamicFile/provideDynamicFileResponse' ;
15
- import { ProvideDynamicFileParams } from '../../razor/src/dynamicFile/provideDynamicFileParams' ;
16
13
17
14
export interface ProjectContextChangeEvent {
15
+ languageId : string ;
18
16
uri : vscode . Uri ;
19
17
context : VSProjectContext ;
20
18
}
@@ -57,44 +55,21 @@ export class ProjectContextService {
57
55
this . _source . cancel ( ) ;
58
56
this . _source = new vscode . CancellationTokenSource ( ) ;
59
57
60
- let uri = textEditor ! . document . uri ;
58
+ const uri = textEditor ! . document . uri ;
61
59
62
60
if ( ! this . _languageServer . isRunning ( ) ) {
63
- this . _contextChangeEmitter . fire ( { uri, context : this . _emptyProjectContext } ) ;
61
+ this . _contextChangeEmitter . fire ( { languageId , uri, context : this . _emptyProjectContext } ) ;
64
62
return ;
65
63
}
66
64
67
- // If the active document is a Razor file, we need to map it back to a C# file.
68
- if ( languageId === 'aspnetcorerazor' ) {
69
- const virtualUri = await this . getVirtualCSharpUri ( uri ) ;
70
- if ( ! virtualUri ) {
71
- return ;
72
- }
73
-
74
- uri = virtualUri ;
75
- }
76
-
77
65
const contextList = await this . getProjectContexts ( uri , this . _source . token ) ;
78
66
if ( ! contextList ) {
67
+ this . _contextChangeEmitter . fire ( { languageId, uri, context : this . _emptyProjectContext } ) ;
79
68
return ;
80
69
}
81
70
82
71
const context = contextList . _vs_projectContexts [ contextList . _vs_defaultIndex ] ;
83
- this . _contextChangeEmitter . fire ( { uri, context } ) ;
84
- }
85
-
86
- private async getVirtualCSharpUri ( uri : vscode . Uri ) : Promise < vscode . Uri | undefined > {
87
- const response = await vscode . commands . executeCommand < ProvideDynamicFileResponse > (
88
- DynamicFileInfoHandler . provideDynamicFileInfoCommand ,
89
- new ProvideDynamicFileParams ( { uri : UriConverter . serialize ( uri ) } )
90
- ) ;
91
-
92
- const responseUri = response . csharpDocument ?. uri ;
93
- if ( ! responseUri ) {
94
- return undefined ;
95
- }
96
-
97
- return UriConverter . deserialize ( responseUri ) ;
72
+ this . _contextChangeEmitter . fire ( { languageId, uri, context } ) ;
98
73
}
99
74
100
75
private async getProjectContexts (
0 commit comments