@@ -8,7 +8,7 @@ import { IHostExecutableResolver } from '../shared/constants/IHostExecutableReso
8
8
import { basename , dirname } from 'path' ;
9
9
import { DotnetInfo } from './utils/dotnetInfo' ;
10
10
import { CSharpExtensionId } from '../constants/csharpExtensionId' ;
11
- import { commonOptions } from './options' ;
11
+ import { commonOptions , LanguageServerOptions , languageServerOptions } from './options' ;
12
12
13
13
export default async function reportIssue (
14
14
csharpExtVersion : string ,
@@ -61,6 +61,9 @@ ${fullDotnetInfo}</details>
61
61
<details><summary>Visual Studio Code Extensions</summary>
62
62
${ generateExtensionTable ( extensions ) }
63
63
</details>
64
+ <details><summary>C# Settings</summary>
65
+ ${ generateOptionsTable ( ) }
66
+ </details>
64
67
` ;
65
68
66
69
await vscode . commands . executeCommand ( 'workbench.action.openIssueReporter' , {
@@ -101,6 +104,31 @@ ${tableHeader}\n${table};
101
104
return extensionTable ;
102
105
}
103
106
107
+ function generateOptionsTable ( ) {
108
+ const tableHeader = `|Setting|Value|\n|---|---|` ;
109
+ const relevantOptions = [
110
+ getLanguageServerOptionData ( 'preferCSharpExtension' ) ,
111
+ getLanguageServerOptionData ( 'compilerDiagnosticScope' ) ,
112
+ getLanguageServerOptionData ( 'analyzerDiagnosticScope' ) ,
113
+ getLanguageServerOptionData ( 'enableXamlTools' ) ,
114
+ getLanguageServerOptionData ( 'useServerGC' ) ,
115
+ ] ;
116
+ const table = relevantOptions . map ( ( e ) => `|${ e . name } |${ e . value } |` ) . join ( '\n' ) ;
117
+
118
+ const extensionTable = `
119
+ ${ tableHeader } \n${ table } ;
120
+ ` ;
121
+
122
+ return extensionTable ;
123
+ }
124
+
125
+ function getLanguageServerOptionData ( k : keyof LanguageServerOptions ) : { name : string ; value : string | undefined } {
126
+ return {
127
+ name : k ,
128
+ value : languageServerOptions [ k ] ?. toString ( ) ,
129
+ } ;
130
+ }
131
+
104
132
async function getMonoIfPlatformValid ( monoResolver : IHostExecutableResolver ) : Promise < string > {
105
133
let monoVersion = 'Unknown Mono version' ;
106
134
try {
0 commit comments