@@ -219,14 +219,15 @@ private async Task<string> GetConversionSummaryAsync(IReadOnlyCollection<string>
219219 var documentId = _visualStudioWorkspace . CurrentSolution . GetDocumentIdsWithFilePath ( documentPath ) . SingleOrDefault ( ) ;
220220 if ( documentId == null ) {
221221 //If document doesn't belong to any project
222- return await ConvertTextOnlyAsync < TLanguageConversion > ( documentPath , selected , cancellationToken ) ;
222+ await _outputWindow . WriteToOutputWindowAsync ( "File is not part of a compiling project, using best effort text conversion (less accurate)." ) ;
223+ return await ConvertFileTextAsync < TLanguageConversion > ( documentPath , selected , cancellationToken ) ;
223224 }
224225 var document = _visualStudioWorkspace . CurrentSolution . GetDocument ( documentId ) ;
225226 var selectedTextSpan = new TextSpan ( selected . Start , selected . Length ) ;
226227 return await ProjectConversion . ConvertSingleAsync < TLanguageConversion > ( document , new SingleConversionOptions { SelectedTextSpan = selectedTextSpan } , CreateOutputWindowProgress ( ) , cancellationToken ) ;
227228 }
228229
229- private async Task < ConversionResult > ConvertTextOnlyAsync < TLanguageConversion > ( string documentPath , Span selected , CancellationToken cancellationToken )
230+ private async Task < ConversionResult > ConvertFileTextAsync < TLanguageConversion > ( string documentPath , Span selected , CancellationToken cancellationToken )
230231 where TLanguageConversion : ILanguageConversion , new ( )
231232 {
232233 var documentText = File . ReadAllText ( documentPath ) ;
@@ -235,7 +236,7 @@ private async Task<ConversionResult> ConvertTextOnlyAsync<TLanguageConversion>(s
235236 documentText = documentText . Substring ( selected . Start , selected . Length ) ;
236237 }
237238
238- var convertTextOnly = await ProjectConversion . ConvertTextAsync < TLanguageConversion > ( documentText , new TextConversionOptions ( DefaultReferences . NetStandard2 ) , CreateOutputWindowProgress ( ) , cancellationToken ) ;
239+ var convertTextOnly = await ProjectConversion . ConvertTextAsync < TLanguageConversion > ( documentText , new TextConversionOptions ( DefaultReferences . NetStandard2 , documentPath ) , CreateOutputWindowProgress ( ) , cancellationToken ) ;
239240 convertTextOnly . SourcePathOrNull = documentPath ;
240241 return convertTextOnly ;
241242 }
0 commit comments