unity用vscode作为编辑,代码补全的一个解决方法

错误是Located 0 MSBuild instance(s),导致后面的Could not locate MSBuild instance。

    PID: 11556

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on Windows 6.2.9200.0 (x64)
[info]: OmniSharp.Services.DotNetCliService
        Checking the 'DOTNET_ROOT' environment variable to find a .NET SDK
[info]: OmniSharp.Services.DotNetCliService
        Using the 'dotnet' on the PATH.
[info]: OmniSharp.Services.DotNetCliService
        DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 0 MSBuild instance(s)
[STDERR] Could not locate MSBuild instance to register with OmniSharp.

有人说更改omnisharp.path

unity用vscode作为编辑,代码补全的一个解决方法_第1张图片

Could not locate MSBuild instance to register with OmniSharp

unity用vscode作为编辑,代码补全的一个解决方法_第2张图片

。。。。。这怎么改

解决方法:

去到C:\Users\name\.vscode\extensions\ms-dotnettools.csharp-1.25.2-win32-x64\.omnisharp

找到下面两个文件:(第一个是vscode自身下载的,第二个文件得我们自己去下载net6.0)

unity用vscode作为编辑,代码补全的一个解决方法_第3张图片

如果没有第一个文件1.39.2(就是直接删了第一个文件)

重启vscode时,会默认把文件1.39.2给下载回来

unity用vscode作为编辑,代码补全的一个解决方法_第4张图片

这两个文件看似一样,但是如果分别直接执行两个OmniSharp,

unity用vscode作为编辑,代码补全的一个解决方法_第5张图片

文件1.39.2如下,和开头的错误一致。

unity用vscode作为编辑,代码补全的一个解决方法_第6张图片

解决方法也很明显,删了第一个文件1.39.2,把1.39.2-net.6改名为1.39.2。

——————————

重启vscode之后,自动执行

unity用vscode作为编辑,代码补全的一个解决方法_第7张图片

可以自动补全了代码了

unity用vscode作为编辑,代码补全的一个解决方法_第8张图片

所以本质上是vscode的默认.omnisharp下的内容与.net6.0不匹配

你可能感兴趣的:(unity,vscode)