@@ -10,11 +10,9 @@ import { TextDocumentIdentifier } from 'vscode-languageserver-protocol';
1010import { UriConverter } from '../uriConverter' ;
1111import { LanguageServerEvents } from '../languageServerEvents' ;
1212import { 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' ;
1613
1714export interface ProjectContextChangeEvent {
15+ languageId : string ;
1816 uri : vscode . Uri ;
1917 context : VSProjectContext ;
2018}
@@ -57,44 +55,21 @@ export class ProjectContextService {
5755 this . _source . cancel ( ) ;
5856 this . _source = new vscode . CancellationTokenSource ( ) ;
5957
60- let uri = textEditor ! . document . uri ;
58+ const uri = textEditor ! . document . uri ;
6159
6260 if ( ! this . _languageServer . isRunning ( ) ) {
63- this . _contextChangeEmitter . fire ( { uri, context : this . _emptyProjectContext } ) ;
61+ this . _contextChangeEmitter . fire ( { languageId , uri, context : this . _emptyProjectContext } ) ;
6462 return ;
6563 }
6664
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-
7765 const contextList = await this . getProjectContexts ( uri , this . _source . token ) ;
7866 if ( ! contextList ) {
67+ this . _contextChangeEmitter . fire ( { languageId, uri, context : this . _emptyProjectContext } ) ;
7968 return ;
8069 }
8170
8271 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 } ) ;
9873 }
9974
10075 private async getProjectContexts (
0 commit comments