Omnisharp-vscode: The editor as an issue with nullable arrays. (C# 8.0 Nullable Ref Types)

Created on 14 Nov 2019  路  12Comments  路  Source: OmniSharp/omnisharp-vscode

Issue Description

The editor as an issue with nullable arrays. So, if I type up something like the following:

byte[]? buffer = null;

The syntax highlighting breaks. The IntelliSense however still works fine.

Steps to Reproduce

If I type up something like the following:

byte[]? buffer = null;

The syntax highlighting breaks.

Environment information

VSCode version: 1.41.0-insider
C# Extension: 1.21.7

Mono Information
OmniSharp using global mono :6.4.0

Dotnet Information
.NET Core SDK (reflecting any global.json):
Version: 3.0.100
Commit: 04339c3a26

Runtime Environment:
OS Name: Mac OS X
OS Version: 10.15
OS Platform: Darwin
RID: osx.10.15-x64
Base Path: /usr/local/share/dotnet/sdk/3.0.100/

Host (useful for support):
Version: 3.0.0
Commit: 7d57652f33

.NET Core SDKs installed:
2.1.301 [/usr/local/share/dotnet/sdk]
2.1.302 [/usr/local/share/dotnet/sdk]
2.1.401 [/usr/local/share/dotnet/sdk]
2.1.402 [/usr/local/share/dotnet/sdk]
2.1.403 [/usr/local/share/dotnet/sdk]
2.1.500 [/usr/local/share/dotnet/sdk]
2.1.505 [/usr/local/share/dotnet/sdk]
2.2.101 [/usr/local/share/dotnet/sdk]
2.2.102 [/usr/local/share/dotnet/sdk]
2.2.105 [/usr/local/share/dotnet/sdk]
2.2.300 [/usr/local/share/dotnet/sdk]
2.2.401 [/usr/local/share/dotnet/sdk]
2.2.402 [/usr/local/share/dotnet/sdk]
3.0.100 [/usr/local/share/dotnet/sdk]

.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.9 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.7 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.9 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0-preview2-35157 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.7 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0-preview5-19227-01 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0-preview6.19307.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0-preview8.19405.7 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0-preview9.19424.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0-rc1.19457.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.3 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.4 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.6 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.9 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.13 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0-preview2-26905-02 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.3 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.6 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.7 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0-preview5-27626-15 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0-preview6-27804-01 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0-preview9-19423-09 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0-rc1-19456-20 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

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


Visual Studio Code Extensions

|Extension|Author|Version|
|---|---|---|
|aspnet-helper|schneiderpat|0.6.4|
|auto-close-tag|formulahendry|0.5.6|
|auto-using|Fudge|0.7.9|
|azure-account|ms-vscode|0.8.7|
|azure-iot-toolkit|vsciot-vscode|2.13.0|
|azure-pipelines|ms-azure-devops|1.157.4|
|azurecli|ms-vscode|0.4.6|
|azurerm-vscode-tools|msazurermtools|0.8.2|
|beautify|HookyQR|1.5.0|
|better-comments|aaron-bond|2.0.5|
|bracket-pair-colorizer|CoenraadS|1.0.61|
|cake-vscode|cake-build|0.12.0|
|classynaming|reflectiondm|1.2.0|
|code-settings-sync|Shan|3.4.3|
|comments|AlexCoderCorp|1.0.4|
|csharp|ms-vscode|1.21.7|
|csharpextensions|jchannon|1.3.1|
|darkpp-italic|idbartosz|0.1.3|
|docomment|k--kato|0.1.8|
|dotnet|formulahendry|0.0.4|
|dotnet-core-commands|matijarmk|1.0.6|
|dotnet-test-explorer|formulahendry|0.7.1|
|easy-icons|jamesmaj|0.3.1|
|EditorConfig|EditorConfig|0.14.2|
|git-project-manager|felipecaputo|1.7.1|
|githd|huizhou|2.1.0|
|githistory|donjayamanne|0.4.6|
|gitlens|eamodio|10.1.2|
|graphql-for-vscode|kumar-harsh|1.15.3|
|highlight-trailing-white-spaces|ybaumes|0.0.2|
|markdown-all-in-one|yzhang|2.5.1|
|markdown-pdf|yzane|1.4.1|
|markdown-preview-github-styles|bierner|0.1.6|
|markdown-shortcuts|mdickin|0.12.0|
|material-icon-theme|PKief|3.9.1|
|Material-theme|zhuangtongfa|2.28.3|
|mono-debug|ms-vscode|0.15.8|
|monokai-vibrant|s3gf4ult|0.5.0|
|msbuild-project-tools|tintoy|0.3.2|
|mssql|ms-mssql|1.7.0|
|mustache|dawhite|1.1.1|
|net-core-starters-pack|blairleduc|1.0.0|
|one-monokai|azemoh|0.4.4|
|powershell|ms-vscode|2019.11.0|
|prettier-vscode|esbenp|3.5.0|
|quicktype|quicktype|12.0.46|
|rest-client|humao|0.22.2|
|sublime-babel-vscode|joshpeng|0.2.10|
|supersharp|craigthomas|0.1.4|
|theme-material-dark-soda|jbw91|1.3.1|
|theme-monokai-pro-vscode|monokai|1.1.14|
|todo-tree|Gruntfuggly|0.0.162|
|vsc-material-theme|Equinusocio|30.0.0|
|vscode-aks-tools|ms-kubernetes-tools|0.0.1|
|vscode-apimanagement|ms-azuretools|0.1.1|
|vscode-azureappservice|ms-azuretools|0.16.1|
|vscode-azurefunctions|ms-azuretools|0.20.0|
|vscode-azurestorage|ms-azuretools|0.7.2|
|vscode-cosmosdb|ms-azuretools|0.11.0|
|vscode-coverage-gutters|ryanluker|2.4.2|
|vscode-csharp-snippets|jorgeserrano|0.3.1|
|vscode-docker|ms-azuretools|0.8.2|
|vscode-dotnet-auto-attach|DennisMaxJung|1.1.0|
|vscode-great-icons|emmanuelbeziat|2.1.47|
|vscode-icons|vscode-icons-team|9.5.0|
|vscode-kubernetes-tools|ms-kubernetes-tools|1.0.7|
|vscode-markdownlint|DavidAnson|0.32.0|
|vscode-node-azure-pack|ms-vscode|0.0.10|
|vscode-quick-select|dbankier|0.2.8|
|vscode-sequence-diagrams|AleksandarDev|0.3.1|
|vscode-versionlens|pflannery|0.24.0|
|vscode-yaml|redhat|0.5.3|
|vscodeilviewer|josephwoodward|0.0.1|
|vsliveshare|ms-vsliveshare|1.0.1123|
|xml|DotJoshJohnson|2.5.0|;

Bug Editor-Syntax Highlighting Triaged

Most helpful comment

it has shipped. please enable semantic highlighting (instructions here https://github.com/OmniSharp/omnisharp-vscode/releases/tag/v1.21.19-beta)

All 12 comments

Don't know if related to this one but I'm experiencing an issue with IntelliSense using nullable arrays. Referencing a possible null reference of a nullable array doesn't show the "CS8602 - Dereference of a possibly null reference" warning but on other types it does. For example this doesn't show the warning:

string[]? test1 = null;
test1.Contains("hello");

but this does:

string? test2 = null;
test2.Contains("hello");

I'm using VSCode 1.40.2 and C# extensions 1.21.8.

Also there are syntax highlighting issues with

await foreach

after await foreach the syntax highlighting is broken.

@michaelstaib Please try out the semantic highlighting in our 1.21.19-beta1 release.

Is there any updates on this?

it has shipped. please enable semantic highlighting (instructions here https://github.com/OmniSharp/omnisharp-vscode/releases/tag/v1.21.19-beta)

I am closing this issue since it works great in the insider preview for a while now.

Thanks guys

I still seem to be hitting this issue when defining properties with { get; set; }.
For instance variables it "works", except the type itself is not colored correct on its own line.
image

For properties, it appears to affect the next following line.
image

Repros on insiders build as well.

vscode 1.48.2
code-insiders 1.49.0-insider
C# 1.23.2

Did you turn on semantic highlighting?

Did you turn on semantic highlighting?

yep

There are two settings for this ...

"editor.semanticHighlighting.enabled": true,
"csharp.semanticHighlighting.enabled": true,

after setting both everything worked fine... but only after omnisharp had fully loaded the project.

also, I am on the insider only.

ah, i only had the editor setting enabled, works with the csharp setting, thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

visten picture visten  路  4Comments

greghroberts picture greghroberts  路  3Comments

mattwoberts picture mattwoberts  路  3Comments

hamhub7 picture hamhub7  路  3Comments

ZeldaZocker picture ZeldaZocker  路  3Comments