Intellisense 不会自动工作 VSCode
Intellisense not automatically working VSCode
我刚刚下载了 Visual Studio 代码,但我的 Intellisense 没有自动运行。
控制这个的两个设置似乎设置正确:
"editor.quickSuggestions": true,
"editor.suggestOnTriggerCharacters": true,
当我开始打字并按下 "CTRL + Space" 时,我确实得到了一个 Intellisense 菜单,但这给了我一个所有东西的列表,而不是专门为我的对象的东西。
我做错了什么?
Visual Studio 代码的更高级编辑功能(IntelliSense、重构工具等)仅在您有 project.json
文件或 *.sln
文件且 VSCode 是知道的。使用 *.sln
文件或 project.json
和 VSCode 将尝试查找文件夹中的所有 project/solution 文件。如果有多个项目,您可能需要从状态栏右侧(window 的底部)的项目按钮 select 选择一个。
- Selecting a
project.json
-file is opening a DNX-project and VSCode will load that project plus the referenced projects
- Selecting a
*.sln
-file is opening a MSBuild-project. It will load the referenced *.csproj
-projects and sibling or descendant project.json
-files but no other project files that are referenced from the solution file.
- Selecting a
folder
will make VSCode scan for *.sln
and project.json
files and VSCode will attempt to load them all.
从 0.5 版本开始,我发现我需要关闭并重新打开我的工作文件以获取一些新的智能感知信息以开始处理我自己的文件。这通常发生在我打开一个需要使用我刚刚创建的另一个文件的类型信息的文件之后。在我关闭并重新打开它们(在编辑器中)之前,智能感知并不总是有效。
希望随着应用的成熟,这个问题会得到解决。
尝试从命令 Pallete "Install Extension" - 可能如果 C# 智能感知不存在:
到目前为止,我在 C# 中对这个扩展有一些很好的体验:
https://marketplace.visualstudio.com/items?itemName=jchannon.csharpextensions
"This extension traverses up the folder tree to find the project.json or *.csproj and uses that as the parent folder to determine namespaces."
为了使智能正常工作,Visual Studio 代码扩展 OmniSharp 应该与 Mono 一起存在。当您打开 project/solution 文件夹时,OmniSharp 从 project.json 或 dotnet 解决方案文件(如果 project/solution 使用其他版本的 visual studio 创建)获取项目依赖项。
因此,当您在立即打开项目/解决方案文件夹后查看 omnisharp 的输出 window 时,您可能会看到以下几行
Starting OmniSharp server at 2017-9-18 09:26:44
Target: /Users/{username}/Source/{Your Solution Folder}/{Your Solution
file}.sln
OmniSharp server started wth Mono
Path: /Users/{username}/.vscode/extensions/ms-vscode.csharp-1.12.1/.omnisharp/run
PID: 5808
post 你可能会看到如下几行,
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
Update project: {Your Project1 Name}
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
Update project: {Your Project2 Name}
....
它们意味着您的项目正在被 OmniSharp Extension 识别。
如果您收到任何通知您超时的错误消息,请进入 Visual Studio 代码的设置,并添加如下配置覆盖:
"omnisharp.projectLoadTimeout": 200
我知道等200秒太久了。但别担心,这不会阻止您继续使用项目文件。但是,请记住,一旦成功加载文件夹中的所有项目,IntelliSense 将自动可用。
请随意延长超时设置,因为它会帮助您获得智能感知,即使您没有立即获得智能感知。
这是另一个具有相同解决方案的 link:https://github.com/OmniSharp/omnisharp-vscode/issues/1585
希望我的信息对您有所帮助!享受你的 VSCode!
如果上述 none 可行,可以尝试的另一种故障排除策略是 卸载 Mono,如果您使用的是 .NET Core,则无论如何都不需要这样做。在对我们的一个企业存储库进行更改,其中包括从 ASP.NET Core 2.0 升级到 2.1 后,我还经历了 Intellisense 的突然消失。奇怪的是,与此同时,Intellisense 在另一个 C# 项目 repo 运行ning ASP.NET Core 2.2.
中运行良好
对于所讨论的项目,我很困惑地看到每次重新启动 Omnisharp 服务器的成功日志以及完全干净的构建和 运行s。当我将这些 Omnisharp 日志与 2.2 项目中的日志进行比较并发现它们实际上相同时,我更加困惑了。
卸载 Mono 后,改变的一个细节是 Omnisharp 的启动方式。现在它从位于 ~/.vscode/extensions/ms-vscode.csharp-1.19.0/.omnisharp/1.32.18/run
的 shell 脚本启动。以前,Mono 本身从 ~/.vscode/extensions/ms-vscode.csharp-1.19.0/.omnisharp/1.32.18/omnisharp/Omnisharp.exe
.
的可执行文件启动服务器
我在此实例中尝试的其他故障排除无济于事:
dotnet clean
/ 删除 bin 和 obj 目录
- 正在更新
launch.json
以指向正确的 /bin/Debug/netcoreapp2.1
构建
目录
- 正在擦除我的本地 nuget 缓存
- 正在重新启动 Omnisharp
- 卸载并重新安装 VS Code,并从 1.33.1 退回一个版本,因为破损与 2019 年 3 月的更新奇怪地重合
- 卸载并重新安装 C# VS Code 扩展,并从 1.19.0 退回一个版本,因为其他用户报告说该版本干扰了某些项目的 Intellisense *
- 在项目根目录添加一个
global.json
文件以覆盖最新 .NET Core SDK 的默认使用(我的是 2.2.105)和 运行 而不是使用与项目版本一致的 2.1.302
- Wiping/rebuilding项目
.sln
文件
规格:VS 代码 1.33.1、C# 扩展 1.19.0、MacOS High Sierra 10.13.6。
*NB:事实证明,在 another .NET Core 2.1 项目中,VS Code 中存在与上述相同的问题,单独卸载 Mono 并不能解决问题。我也 did 最终需要将 C# 扩展退回 v.1.18.0 以恢复 Intellisense。诡异的。
此案例适用于之前运行良好的现有项目。通过vs代码打开 "recent" history.
对于 dotnet 核心。我打开了我项目的 *.csprog 文件,没有做任何更改,并通过 vs 代码编辑器保存了它。
我一保存,所有智能感知的东西就开始在我那个项目中的其他文件中再次工作。
在尝试了几件事之后,我查看了 OmniSharp 日志才意识到这是因为我的工作区中有两个不同的 sln 文件。它拿起了“另一个”,因此无法正常工作。我删除了它,重新打开vs代码,一切又好了。
对我来说,我已经在没有网络的情况下工作了很长时间。它以前一直在工作,但后来停止了。我用稳定的 wifi 连接关闭并重新打开 VSCode,VSCode 中的 Output
选项卡弹出,显示正在重新安装扩展。之后就成功了!
如果您有一个工作区并且出于某种原因有多个文件夹,您可能需要 'help' omnisharp 一点。我最初有一个大项目,并为它进一步添加了一个解决方案 - 最后有两个工作区文件夹(一个用于启动项目,一个用于解决方案)。编写该设置后,我只体验了第一个具有智能感知功能的项目。
让 intellisense 工作的解决方案是确保 omnisharp 从解决方案而不是项目中工作:
- Ctrl + Shift + p
- 输入 "OmniSharp: Select Project" 并按 Enter。
- 选择解决方案工作区条目。
灵感来自'swaner':
https://github.com/OmniSharp/omnisharp-vscode/issues/1889
就我而言,扩展未启用
清除 typescript 缓存并将 typescript 版本降级到 3.3 解决了我的问题。
按照以下步骤清除缓存并降级 typescript 版本:
- 根据你的OS在终端中输入以下命令并删除其中的任何内容。
- Mac:
~/Library/Caches/TypeScript/
- Windows:
%LOCALAPPDATA%\Microsoft\TypeScript\
(windows 用户也可以 运行 在 运行 框中输入)
- Linux:
~/.cache/typescript/
- 使用以下命令安装此特定
@typescript@3.3
。
npm install -g typescript@3.3
- 重新启动VSCode。
如果智能感知不适用于 React js 或 javascript 或节点 js,此解决方案将有助于 windows
- 通过键入
npm uninstall -g typescript
卸载类型脚本
- 通过键入
npm install -g typescript@3.3
安装特定版本的类型脚本 3.3
- 通过导航到文件 > 首选项 > 设置 > 在此处搜索
edit in setting.json
,然后添加此路径 "typescript.tsdk": "/Users/yourusename/AppData/Roaming/npm/node_modules/typescript/lib"
,在 vscode 中添加打字稿位置
- settings.json 应该看起来像这样
{
"editor.suggestSelection": "first",
"vsintellicode.modify.editor.suggestSelection":"automaticallyOverrodeDefaultValue",
"typescript.tsdk": "/Users/yourusername/AppData/Roaming/npm/node_modules/typescript/lib"
}
我刚遇到这种情况(this 没有出现代码完成建议)。为我解决的问题是将 Unity 中的 VSCode 编辑器包更改为以前的版本,然后再更改为当前版本。
对我来说,这是从 1.2.0 到 1.1.3,然后又回到 1.2.0。我相信删除并重新安装 1.2.0 会达到同样的效果。
Window > 包管理器 > Visual Studio 代码编辑器
我知道这可能是最明显的答案。但是我受够了处理 VS Code 荒谬的错误。您应该专注于代码,而不是错误 IDE。他们的文档也不容易调试。
完全卸载的步骤:
- 保存您的个性化文件,例如
keybindings.json
、
只需将它放在 GitHub 或其他地方,这样每当您需要使用 VS Code 时遇到问题,您只需转到 GitHub 并复制粘贴即可。
- 完全卸载 VS Code
当您卸载 VS Code 时,它不会删除您的扩展文件和一些旧设置。这是重新安装的原因,结果一样。 VS Code 的可怕举动。对于您必须删除的文件列表,您可以查看此 answer.
- 转到他们的网站并安装新的。
我希望这对一些已经受够了 VS Code 荒谬错误的人有所帮助。
就我而言,问题不在于 VS 代码设置。该错误是由于在我的 PC 的注册表用户配置文件环境设置中配置的损坏的 TEMP 路径造成的。
我从 Help --> Toggle Developer Tools --> Console 得到这个错误
当我打开一个新的打字稿文件时,在控制台中标记了错误。
Unable to write file c:\Users\XXX\AppData\Local\Temp;C:\wamp64\bin\php\php5.6.25;C:\vufind-3.1.2\install.phpcf49d8-af5b-42e9-8194-43f5b566be0f'
显然此路径已损坏。更新注册表设置中的环境变量后,VS 代码 IntelliSense 开始工作。检查控制台是找到此问题根本原因的良好开端。
我能够通过将 Api 兼容级别从 .Net Standard 2.0 更改为 .NT 4.x 来解决这个问题。您可以在项目设置/播放器上找到此设置。
之后,智能感知又开始工作了。
这是因为 C# 扩展问题。
重新安装扩展即可。
https://code.visualstudio.com/docs/editor/intellisense
https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp
我遇到的问题是 OmniSharp
是旧版本。我在 Settings.json
文件中设置了更新到最新版本的标志。这确保扩展始终是最新版本。
"omnisharp.path": "latest"
并重新启动 VS 代码。这为我解决了问题。
只需重新安装扩展并重新启动 VSCode/PC。
早期的智能感知在 VS-Code
中为 Angular
工作,但由于某种原因(我不知道)智能感知停止工作。我安装了扩展程序,即 Angular Essentials
和 Angular Language Service
等,负责此智能感知和所有这些。
我做了什么?
我禁用了 extensions
,重新启动了 VS Code
并启用了它们。和以前一样一切正常。
我使用 Task Manager
并杀死 Visual Studio Code process
,然后重新启动 Visual Studio Code
,智能感知显示并修复。
如果 VSCode 中的一切正常(输出控制台中没有错误,语言服务器正在工作等)并且启用了内置扩展。尽管如此,如果您的 IntelliSense 不适用于普通的 .js
文件,请确保使用 var d = new Date()
或 let d = new Date()
等类型标识符定义变量。就我而言,IntelliSense 不适用于 d = new Date() (No autocomplete for Date object 'd' APIs in this way)
,但当我在变量名前指定类型时开始正常工作。
下载并安装“Visual Studio 2019 工具”作为引擎盖下的 C# 扩展使用构建工具:https://visualstudio.microsoft.com/downloads/
就我而言,我安装了一个扩展程序 (Explorer Exclude) 来帮助我集中精力并隐藏我不经常在资源管理器中使用的某些文件。
我碰巧禁用了查看 *.sln、*.csproj 和 *.vsconfig 文件和文件夹,这 显然 阻止 VSCode 甚至不知道该文件首先是那里。禁用这些特定规则立即解决了问题。
我花了很长时间才弄清楚...你知道的越多。
降级到 C# VS 代码扩展的 1.23.9
为我修复了智能感知。因此,如果没有其他方法对您有用,也许可以尝试安装旧版本的扩展(不一定非得是我提到的那个版本)。您可以通过在 VS Code 中选择此选项来执行此操作:
如果您是使用 C# 启动项目,那么有时您还没有下载扩展。
书面处理
- Ctrl + Shift + p.
- 输入“OmniSharp:Select 项目”并按 Enter。
- 选择解决方案工作区条目。
- 然后为“OmniSharp : Project”启用 c# 扩展。
按图处理
我通过 .net5 / .net core 3.1 中的多项目解决方案解决了这个问题
打开 VSCODE 中的每个项目(不是 sln 文件夹)。然后提示添加资源/.CSX?项目文件;每个项目启用智能感知。最后关闭 window 并重新打开解决方案文件夹,一切正常。
看图
Add VSCode assets
我通过卸载所有 SDK 解决了这个问题(不确定是否需要这样做)
并安装了 4.7.1 developer pack
win 10, vscode 1.63.2, unity 2020.3.25f1
我通过安装 .NET Framework 4.7.1 Developer Pack 解决了这个问题:
https://dotnet.microsoft.com/en-us/download/dotnet-framework/net471
为 Visual Studio 代码降级到 C# 1.23.9(由 OmniSharp 提供支持)。
https://i.stack.imgur.com/VrdJl.png
我刚刚下载了 Visual Studio 代码,但我的 Intellisense 没有自动运行。
控制这个的两个设置似乎设置正确:
"editor.quickSuggestions": true,
"editor.suggestOnTriggerCharacters": true,
当我开始打字并按下 "CTRL + Space" 时,我确实得到了一个 Intellisense 菜单,但这给了我一个所有东西的列表,而不是专门为我的对象的东西。
我做错了什么?
Visual Studio 代码的更高级编辑功能(IntelliSense、重构工具等)仅在您有 project.json
文件或 *.sln
文件且 VSCode 是知道的。使用 *.sln
文件或 project.json
和 VSCode 将尝试查找文件夹中的所有 project/solution 文件。如果有多个项目,您可能需要从状态栏右侧(window 的底部)的项目按钮 select 选择一个。
- Selecting a
project.json
-file is opening a DNX-project and VSCode will load that project plus the referenced projects- Selecting a
*.sln
-file is opening a MSBuild-project. It will load the referenced*.csproj
-projects and sibling or descendantproject.json
-files but no other project files that are referenced from the solution file.- Selecting a
folder
will make VSCode scan for*.sln
andproject.json
files and VSCode will attempt to load them all.
从 0.5 版本开始,我发现我需要关闭并重新打开我的工作文件以获取一些新的智能感知信息以开始处理我自己的文件。这通常发生在我打开一个需要使用我刚刚创建的另一个文件的类型信息的文件之后。在我关闭并重新打开它们(在编辑器中)之前,智能感知并不总是有效。
希望随着应用的成熟,这个问题会得到解决。
尝试从命令 Pallete "Install Extension" - 可能如果 C# 智能感知不存在:
到目前为止,我在 C# 中对这个扩展有一些很好的体验: https://marketplace.visualstudio.com/items?itemName=jchannon.csharpextensions
"This extension traverses up the folder tree to find the project.json or *.csproj and uses that as the parent folder to determine namespaces."
为了使智能正常工作,Visual Studio 代码扩展 OmniSharp 应该与 Mono 一起存在。当您打开 project/solution 文件夹时,OmniSharp 从 project.json 或 dotnet 解决方案文件(如果 project/solution 使用其他版本的 visual studio 创建)获取项目依赖项。
因此,当您在立即打开项目/解决方案文件夹后查看 omnisharp 的输出 window 时,您可能会看到以下几行
Starting OmniSharp server at 2017-9-18 09:26:44
Target: /Users/{username}/Source/{Your Solution Folder}/{Your Solution
file}.sln
OmniSharp server started wth Mono
Path: /Users/{username}/.vscode/extensions/ms-vscode.csharp-1.12.1/.omnisharp/run
PID: 5808
post 你可能会看到如下几行,
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
Update project: {Your Project1 Name}
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
Update project: {Your Project2 Name}
....
它们意味着您的项目正在被 OmniSharp Extension 识别。
如果您收到任何通知您超时的错误消息,请进入 Visual Studio 代码的设置,并添加如下配置覆盖:
"omnisharp.projectLoadTimeout": 200
我知道等200秒太久了。但别担心,这不会阻止您继续使用项目文件。但是,请记住,一旦成功加载文件夹中的所有项目,IntelliSense 将自动可用。
请随意延长超时设置,因为它会帮助您获得智能感知,即使您没有立即获得智能感知。
这是另一个具有相同解决方案的 link:https://github.com/OmniSharp/omnisharp-vscode/issues/1585
希望我的信息对您有所帮助!享受你的 VSCode!
如果上述 none 可行,可以尝试的另一种故障排除策略是 卸载 Mono,如果您使用的是 .NET Core,则无论如何都不需要这样做。在对我们的一个企业存储库进行更改,其中包括从 ASP.NET Core 2.0 升级到 2.1 后,我还经历了 Intellisense 的突然消失。奇怪的是,与此同时,Intellisense 在另一个 C# 项目 repo 运行ning ASP.NET Core 2.2.
中运行良好对于所讨论的项目,我很困惑地看到每次重新启动 Omnisharp 服务器的成功日志以及完全干净的构建和 运行s。当我将这些 Omnisharp 日志与 2.2 项目中的日志进行比较并发现它们实际上相同时,我更加困惑了。
卸载 Mono 后,改变的一个细节是 Omnisharp 的启动方式。现在它从位于 ~/.vscode/extensions/ms-vscode.csharp-1.19.0/.omnisharp/1.32.18/run
的 shell 脚本启动。以前,Mono 本身从 ~/.vscode/extensions/ms-vscode.csharp-1.19.0/.omnisharp/1.32.18/omnisharp/Omnisharp.exe
.
我在此实例中尝试的其他故障排除无济于事:
dotnet clean
/ 删除 bin 和 obj 目录- 正在更新
launch.json
以指向正确的/bin/Debug/netcoreapp2.1
构建 目录 - 正在擦除我的本地 nuget 缓存
- 正在重新启动 Omnisharp
- 卸载并重新安装 VS Code,并从 1.33.1 退回一个版本,因为破损与 2019 年 3 月的更新奇怪地重合
- 卸载并重新安装 C# VS Code 扩展,并从 1.19.0 退回一个版本,因为其他用户报告说该版本干扰了某些项目的 Intellisense *
- 在项目根目录添加一个
global.json
文件以覆盖最新 .NET Core SDK 的默认使用(我的是 2.2.105)和 运行 而不是使用与项目版本一致的 2.1.302 - Wiping/rebuilding项目
.sln
文件
规格:VS 代码 1.33.1、C# 扩展 1.19.0、MacOS High Sierra 10.13.6。
*NB:事实证明,在 another .NET Core 2.1 项目中,VS Code 中存在与上述相同的问题,单独卸载 Mono 并不能解决问题。我也 did 最终需要将 C# 扩展退回 v.1.18.0 以恢复 Intellisense。诡异的。
此案例适用于之前运行良好的现有项目。通过vs代码打开 "recent" history.
对于 dotnet 核心。我打开了我项目的 *.csprog 文件,没有做任何更改,并通过 vs 代码编辑器保存了它。
我一保存,所有智能感知的东西就开始在我那个项目中的其他文件中再次工作。
在尝试了几件事之后,我查看了 OmniSharp 日志才意识到这是因为我的工作区中有两个不同的 sln 文件。它拿起了“另一个”,因此无法正常工作。我删除了它,重新打开vs代码,一切又好了。
对我来说,我已经在没有网络的情况下工作了很长时间。它以前一直在工作,但后来停止了。我用稳定的 wifi 连接关闭并重新打开 VSCode,VSCode 中的 Output
选项卡弹出,显示正在重新安装扩展。之后就成功了!
如果您有一个工作区并且出于某种原因有多个文件夹,您可能需要 'help' omnisharp 一点。我最初有一个大项目,并为它进一步添加了一个解决方案 - 最后有两个工作区文件夹(一个用于启动项目,一个用于解决方案)。编写该设置后,我只体验了第一个具有智能感知功能的项目。
让 intellisense 工作的解决方案是确保 omnisharp 从解决方案而不是项目中工作:
- Ctrl + Shift + p
- 输入 "OmniSharp: Select Project" 并按 Enter。
- 选择解决方案工作区条目。
灵感来自'swaner': https://github.com/OmniSharp/omnisharp-vscode/issues/1889
就我而言,扩展未启用
清除 typescript 缓存并将 typescript 版本降级到 3.3 解决了我的问题。
按照以下步骤清除缓存并降级 typescript 版本:
- 根据你的OS在终端中输入以下命令并删除其中的任何内容。
- Mac:
~/Library/Caches/TypeScript/
- Windows:
%LOCALAPPDATA%\Microsoft\TypeScript\
(windows 用户也可以 运行 在 运行 框中输入) - Linux:
~/.cache/typescript/
- 使用以下命令安装此特定
@typescript@3.3
。
npm install -g typescript@3.3
- 重新启动VSCode。
如果智能感知不适用于 React js 或 javascript 或节点 js,此解决方案将有助于 windows
- 通过键入
npm uninstall -g typescript
卸载类型脚本
- 通过键入
npm install -g typescript@3.3
安装特定版本的类型脚本 3.3
- 通过导航到文件 > 首选项 > 设置 > 在此处搜索
edit in setting.json
,然后添加此路径"typescript.tsdk": "/Users/yourusename/AppData/Roaming/npm/node_modules/typescript/lib"
,在 vscode 中添加打字稿位置
- settings.json 应该看起来像这样
{ "editor.suggestSelection": "first", "vsintellicode.modify.editor.suggestSelection":"automaticallyOverrodeDefaultValue", "typescript.tsdk": "/Users/yourusername/AppData/Roaming/npm/node_modules/typescript/lib" }
我刚遇到这种情况(this 没有出现代码完成建议)。为我解决的问题是将 Unity 中的 VSCode 编辑器包更改为以前的版本,然后再更改为当前版本。
对我来说,这是从 1.2.0 到 1.1.3,然后又回到 1.2.0。我相信删除并重新安装 1.2.0 会达到同样的效果。
Window > 包管理器 > Visual Studio 代码编辑器
我知道这可能是最明显的答案。但是我受够了处理 VS Code 荒谬的错误。您应该专注于代码,而不是错误 IDE。他们的文档也不容易调试。
完全卸载的步骤:
- 保存您的个性化文件,例如
keybindings.json
、
只需将它放在 GitHub 或其他地方,这样每当您需要使用 VS Code 时遇到问题,您只需转到 GitHub 并复制粘贴即可。
- 完全卸载 VS Code
当您卸载 VS Code 时,它不会删除您的扩展文件和一些旧设置。这是重新安装的原因,结果一样。 VS Code 的可怕举动。对于您必须删除的文件列表,您可以查看此 answer.
- 转到他们的网站并安装新的。
我希望这对一些已经受够了 VS Code 荒谬错误的人有所帮助。
就我而言,问题不在于 VS 代码设置。该错误是由于在我的 PC 的注册表用户配置文件环境设置中配置的损坏的 TEMP 路径造成的。 我从 Help --> Toggle Developer Tools --> Console 得到这个错误 当我打开一个新的打字稿文件时,在控制台中标记了错误。
Unable to write file c:\Users\XXX\AppData\Local\Temp;C:\wamp64\bin\php\php5.6.25;C:\vufind-3.1.2\install.phpcf49d8-af5b-42e9-8194-43f5b566be0f'
显然此路径已损坏。更新注册表设置中的环境变量后,VS 代码 IntelliSense 开始工作。检查控制台是找到此问题根本原因的良好开端。
我能够通过将 Api 兼容级别从 .Net Standard 2.0 更改为 .NT 4.x 来解决这个问题。您可以在项目设置/播放器上找到此设置。
之后,智能感知又开始工作了。
这是因为 C# 扩展问题。 重新安装扩展即可。
https://code.visualstudio.com/docs/editor/intellisense
https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp
我遇到的问题是 OmniSharp
是旧版本。我在 Settings.json
文件中设置了更新到最新版本的标志。这确保扩展始终是最新版本。
"omnisharp.path": "latest"
并重新启动 VS 代码。这为我解决了问题。
只需重新安装扩展并重新启动 VSCode/PC。
早期的智能感知在 VS-Code
中为 Angular
工作,但由于某种原因(我不知道)智能感知停止工作。我安装了扩展程序,即 Angular Essentials
和 Angular Language Service
等,负责此智能感知和所有这些。
我做了什么?
我禁用了 extensions
,重新启动了 VS Code
并启用了它们。和以前一样一切正常。
我使用 Task Manager
并杀死 Visual Studio Code process
,然后重新启动 Visual Studio Code
,智能感知显示并修复。
如果 VSCode 中的一切正常(输出控制台中没有错误,语言服务器正在工作等)并且启用了内置扩展。尽管如此,如果您的 IntelliSense 不适用于普通的 .js
文件,请确保使用 var d = new Date()
或 let d = new Date()
等类型标识符定义变量。就我而言,IntelliSense 不适用于 d = new Date() (No autocomplete for Date object 'd' APIs in this way)
,但当我在变量名前指定类型时开始正常工作。
下载并安装“Visual Studio 2019 工具”作为引擎盖下的 C# 扩展使用构建工具:https://visualstudio.microsoft.com/downloads/
就我而言,我安装了一个扩展程序 (Explorer Exclude) 来帮助我集中精力并隐藏我不经常在资源管理器中使用的某些文件。
我碰巧禁用了查看 *.sln、*.csproj 和 *.vsconfig 文件和文件夹,这 显然 阻止 VSCode 甚至不知道该文件首先是那里。禁用这些特定规则立即解决了问题。
我花了很长时间才弄清楚...你知道的越多。
降级到 C# VS 代码扩展的 1.23.9
为我修复了智能感知。因此,如果没有其他方法对您有用,也许可以尝试安装旧版本的扩展(不一定非得是我提到的那个版本)。您可以通过在 VS Code 中选择此选项来执行此操作:
如果您是使用 C# 启动项目,那么有时您还没有下载扩展。
书面处理
- Ctrl + Shift + p.
- 输入“OmniSharp:Select 项目”并按 Enter。
- 选择解决方案工作区条目。
- 然后为“OmniSharp : Project”启用 c# 扩展。
按图处理
我通过 .net5 / .net core 3.1 中的多项目解决方案解决了这个问题 打开 VSCODE 中的每个项目(不是 sln 文件夹)。然后提示添加资源/.CSX?项目文件;每个项目启用智能感知。最后关闭 window 并重新打开解决方案文件夹,一切正常。
看图 Add VSCode assets
我通过卸载所有 SDK 解决了这个问题(不确定是否需要这样做) 并安装了 4.7.1 developer pack
win 10, vscode 1.63.2, unity 2020.3.25f1
我通过安装 .NET Framework 4.7.1 Developer Pack 解决了这个问题:
https://dotnet.microsoft.com/en-us/download/dotnet-framework/net471
为 Visual Studio 代码降级到 C# 1.23.9(由 OmniSharp 提供支持)。 https://i.stack.imgur.com/VrdJl.png