dotnet / dotnet/vscode-csharp

Code blocks for xmldoc specifications escapes content

Open
#5,130 3 comments 8 reactions 0 assignees View on GitHub
Bug OmniSharp
Dominant language
TypeScript
Stars
3.1k
Forks
737
Avg merge
17h 56m
Merged PRs (30d)
21

Description

When viewing `` blocks from xmldocs in csharp, some characters are escaped. In visual studio these are not escaped and are tabbed inwards to indicate code blocks.
## Steps to Reproduce ##

1. Create XML documentation with code blocks
2. Insure code blocks do not have illegal characters (as per https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags#code)
3. View shows dots, and other strings escaped (see attached images)

```
///
/// Extension method used for a more terse creation of a list from a null list already instanced or created elsewhere.
/// i.e. Given:
///
/// List<CustomObjectType> co;
///

/// we may create a quick instance as so:
///
/// co = co.Init();
///

/// as opposed to:
///
/// co = new List<CustomObjectType>();
///

/// I would like to be able to do this as just co.Init();, however due to a restriction on the language itself
/// you are unable to perform a ref this on non struct types.
///
public static List Init(this List nullListToInitialize)
{
return new List();
}
```

## Expected Behavior ##

![vs2022-noescape-code-block](https://user-images.githubusercontent.com/102558897/160505444-bdcae552-4a99-4a34-a9cb-b1ae3a03fadd.png)

## Actual Behavior ##

![vscode-escape-code-blocks](https://user-images.githubusercontent.com/102558897/160505457-602c03cd-1cc4-4cef-9b43-e60c3156a03f.png)

## Environment information ##

**VSCode version**: 1.65.2
**C# Extension**: 1.24.1

Dotnet Information
.NET SDK (reflecting any global.json):
Version: 6.0.200
Commit: 4c30de7899

Runtime Environment:
OS Name: Windows
OS Version: 10.0.19043
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\6.0.200\

Host (useful for support):
Version: 6.0.2
Commit: 839cdfb0ec

.NET SDKs installed:
2.1.402 [C:\Program Files\dotnet\sdk]
2.1.526 [C:\Program Files\dotnet\sdk]
3.1.417 [C:\Program Files\dotnet\sdk]
5.0.301 [C:\Program Files\dotnet\sdk]
5.0.303 [C:\Program Files\dotnet\sdk]
6.0.101 [C:\Program Files\dotnet\sdk]
6.0.200 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
Microsoft.AspNetCore.All 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.28 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.28 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.16 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.23 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.28 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.16 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.23 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.15 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.1.16 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 3.1.23 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.7 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.9 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.15 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET runtimes or SDKs:
https://aka.ms/dotnet-download

Visual Studio Code Extensions

|Extension|Author|Version|
|---|---|---|
|better-cpp-syntax|jeff-hykin|1.15.13|
|Bookmarks|alefragnani|13.2.4|
|c-cpp-runner|franneck94|3.2.4|
|cmake|twxs|0.0.17|
|cmake-tools|ms-vscode|1.10.5|
|cpptools|ms-vscode|1.9.7|
|cpptools-extension-pack|ms-vscode|1.1.0|
|cpptools-themes|ms-vscode|1.0.0|
|csharp|ms-dotnettools|1.24.1|
|dotnet-interactive-vscode|ms-dotnettools|1.0.3175020|
|dotnet-test-explorer|formulahendry|0.7.7|
|doxdocgen|cschlosser|1.4.0|
|file-and-folder-icons|nextbook|1.0.4|
|jupyter|ms-toolsai|2022.2.1030672458|
|jupyter-keymap|ms-toolsai|1.0.0|
|jupyter-renderers|ms-toolsai|1.0.6|
|powershell|ms-vscode|2021.12.0|
|python|ms-python|2022.2.1924087327|
|remote-containers|ms-vscode-remote|0.224.3|
|remote-ssh|ms-vscode-remote|0.76.1|
|remote-wsl|ms-vscode-remote|0.64.2|
|vscode-docker|ms-azuretools|1.21.0|
|vscode-dotnet-pack|ms-dotnettools|1.0.8|
|vscode-dotnet-runtime|ms-dotnettools|1.5.0|
|vscode-kubernetes-tools|ms-kubernetes-tools|1.3.7|
|vscode-lldb|vadimcn|1.7.0|
|vscode-nuget-gallery|patcx|0.0.24|
|vscode-nuget-package-manager|jmrog|1.1.6|
|vscode-pylance|ms-python|2022.3.3|
|vscode-surround|yatki|1.2.2|
|vscode-yaml|redhat|1.5.1|;

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.