You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: SUPPORT.md
+71-38Lines changed: 71 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,56 +15,91 @@ For help and questions about using this project, please see the [README](https:/
15
15
We highly recommend using the C# extension's built-in command, `CSharp: Report an issue` (`csharp.reportIssue`) to create a pre-filled issue template. This will include helpful details such as local dotnet installations, installed extensions, and other information.
The template has a section to include the `C#` output window logs. These logs are not automatically included as they may contain personal information (such as full file paths and project names), but they are key to resolving problems.
20
+
The template has a section to include the `C#` output window logs. These logs are not automatically included as they may contain personal information (such as full file paths and project names), but they are key to resolving problems.
21
21
22
-
1. Find the `C#` output window (`View` -> `Output`) and set the log level to `Trace`
3. In the `C#` output window, select all (e.g. `cntrl+a`) and copy paste into the issue template under the 'C# Log' section. If you need to redact file paths and other information, please do so at this time.
26
-
4. Once the logs are collected, reset the window log level to `Info`
22
+
1.**Set the Log Level to Trace**:
23
+
- Open the `C#` output window (`View` -> `Output`).
If the issue only reproduces on extension startup, you can set `Trace` as the default (see screenshot above), restart VSCode, and trace logs will be captured on startup.
28
+
2.**Reproduce the Issue**:
29
+
- Perform the actions that reproduce the issue.
30
+
31
+
3.**Copy the Logs**:
32
+
- In the `C#` output window, select all the logs (e.g., `Ctrl+A`) and copy them.
33
+
- Paste the logs into the issue template under the "C# Log" section.
34
+
- If necessary, redact sensitive information (e.g., file paths, project names).
35
+
36
+
4.**Reset the Log Level**:
37
+
- After collecting the logs, reset the log level to `Info`.
38
+
39
+
**Note**: If the issue occurs during extension startup, you can set `Trace` as the default log level, restart VSCode, and the trace logs will be captured automatically.
29
40
30
41
##### C# LSP Trace Logs
31
-
Sometimes we need to know exactly what requests were sent to the Roslyn language server. To capture these logs:
42
+
- To capture detailed requests sent to the Roslyn language server:
43
+
1. Set the `C#` output window log level to `Trace` (as described above).
44
+
2. Open the `C# LSP Trace Logs` output window.
45
+
3. Reproduce the issue.
46
+
4. Copy the contents of the `C# LSP Trace Logs` output window.
32
47
33
-
1. Set the log level to `Trace` for the `C#` output window as described above.
34
-
2. Find the `C# LSP Trace Logs` output window
35
-
3. Reproduce the issue
36
-
4. Copy the contents of the `C# LSP Trace Logs` output window.
37
48
38
-
##### Other ways to set the log level
39
-
1.When launching VSCode from the CLI, pass the `--log ms-dotnettools.csharp:trace` parameter.
40
-
2.Invoke the `Developer: Set Log Level` command from the VSCode command palette, find the `C#` entry and set the level.
49
+
##### Other Ways to Set the Log Level
50
+
1. When launching VSCode from the CLI, pass the `--log ms-dotnettools.csharp:trace` parameter.
51
+
2. Invoke the `Developer: Set Log Level` command from the VSCode command palette, find the `C#` entry, and set the level.
41
52
42
-
#####Collecting Razor logs
53
+
#### Collecting Razor Logs
43
54
For issues with Razor, the Razor Log output window can contain useful information.
44
55
45
-
1. Find the `Razor Log` output window (`View` -> `Output`) and set the log level to `Trace`
- Select all contents of the window (e.g., `Ctrl+A`) and paste them into the GitHub issue when requested.
67
+
68
+
4.**Reset the Log Level**:
69
+
- Once the logs are collected, reset the log level to `Info`.
50
70
51
-
#### Project loading problems
71
+
#### Project Loading Problems
52
72
53
-
A common cause of missing language features is a failure to load the project(s) or solution. There can be a number of reasons why this happens, and some additional information is generally necessary to figure out what is going wrong.
73
+
Missing language features are often caused by a failure to load the project(s) or solution. To diagnose and resolve these issues, follow these steps:
54
74
55
-
First, providing the information from the issue template and the general logs (see above section) is almost always necessary. After that there are a couple things to check:
75
+
1.**Provide General Logs**:
76
+
- Include the information from the issue template and the general logs (see the "Collecting General Logs" section above). These logs are essential for troubleshooting.
56
77
57
-
1. Is the file found in the correct project by the language server? This information is displayed in the bottom right corner of the VSCode window in the language status section. This item can be pinned using the pin icon so that it is always displayed.
78
+
2.**Check the Active Project Context**:
79
+
- Verify that the file is associated with the correct project in the language server.
80
+
- This information is displayed in the bottom-right corner of the VSCode window in the language status section.
81
+
- You can pin this item using the pin icon to keep it visible at all times.
58
82
59
-

60
-
2. If using C# Dev Kit, check that the Solution Explorer displays the project with the expected references. If not as expected, please also provide the contents of the `Projects` output window in the issue.
83
+

84
+
85
+
3.**Verify the Solution Explorer (C# Dev Kit)**:
86
+
- If you are using C# Dev Kit, check the Solution Explorer to ensure the project is displayed with the expected references.
87
+
- If the references or structure are not as expected, include the contents of the `Projects` output window in your issue report.
61
88
62
89
#### Colorization problems
90
+
If you encounter issues with document classification (e.g., incorrect syntax highlighting or colorization), please provide the following information to help us diagnose the problem:
91
+
92
+
1.**Theme in Use**:
93
+
- Specify the name of the theme you are currently using in VSCode (e.g., "Dark+", "Light+", or a custom theme).
94
+
95
+
2.**Tokens and Scope Information**:
96
+
- The `Developer: Inspect Editor Tokens and Scopes` command shows information about the problematic word or section:
97
+
1. Open the Command Palette (`Ctrl+Shift+P` or `Cmd+Shift+P` on macOS).
98
+
2. Search for and select `Developer: Inspect Editor Tokens and Scopes` (`editor.action.inspectTMScopes`).
99
+
3. Click on the word or section with incorrect colorization to display the token and scope information.
100
+
- Take a screenshot of the output and include it in your issue report.
63
101
64
-
For issues related to classification (colorizing the document), please provide the following
65
-
1. Which theme is currently being used
66
-
2. A screenshot of the `Developer: Inspect Editor Tokens and Scopes` (`editor.action.inspectTMScopes`) command output on the incorrect word
67
-

102
+

68
103
69
104
#### Diagnostics problems
70
105
@@ -73,16 +108,14 @@ For issues with diagnostics, please provide values of the background analysis sc
73
108
74
109
#### Language server crashing
75
110
76
-
As before, the general log collection is usually useful. However we're not always able to diagnose just from the logs. In that case a crash dump is useful. This can be collected by setting the `dotnet.server.crashDumpPath` VSCode setting to a user-writeable folder.
77
-

78
-
79
-
When the server crashes, this should create a crash dump for it.
111
+
If the language server crashes, general logs are often helpful for diagnosing the issue. However, in some cases, logs alone may not provide enough information and we may need a crash dump. Follow these steps to collect a crash dump:
112
+
- Set the `dotnet.server.crashDumpPath`setting in VSCode to a user-writable folder where crash dumps can be saved.
113
+
- Reproduce the issue
114
+
-When the server crashes, a dump in the specified folder will be created.
80
115
81
116
> [!WARNING]
82
117
> The dump can contain detailed information on the project - generally we will provide an email so that it can be shared privately
83
118
84
-
85
-
86
119
## Microsoft Support Policy
87
120
88
121
Support for this project is limited to the resources listed above.
0 commit comments