java - 如何避免 VS Code 警告:“[myfile].java 是非项目文件,只报告语法错误”
问题描述
我正在 Visual Studio Code 的 java 项目中运行构建任务。“问题”选项卡中的警告:
[myfile].java 是非项目文件,只报语法错误
它指的是我在包含 main() 的类文件中加载的第一行:
package [the project folder];
import [the project folder].[the file with other classes].*;
- 我只能通过将文件的文本(代码文本本身)复制到新项目的新 java 文件中的新不相关文件夹中来避免警告。代码本身是正确的并且编译没有错误。实际上,这就是答案,但需要大量手动工作。
- 当我只是将带有警告消息的项目的java文件复制到一个新文件夹中时,警告仍然出现!!!!(!)
- 当然,当我将整个项目文件夹复制到一个新位置时,错误仍然存在。
我猜想将文本复制到具有相同名称和相同文件夹结构的新 java 文件中与复制文件本身不同,因为这些文件可能会被 VS Code 标记,因此即使文件夹结构被破坏,它们也具有项目标记。也许这支持从恢复的原始文件中恢复项目结构?这可能是这个 Visual Code 警告的问题吗?
我之前检查了其他线程,这只是最后一步。
--> 因此,我清理了 vscode 的 workspaceStorage(在 Windows 上:)C:\Users\USER\AppData\Roaming\Code\User\workspaceStorage
并重新启动但没有成功。
解决方案
尝试清理 Java 语言服务器工作区:
- CMD+SHIFT+P (CTRL+SHIFT+P ON WINDOWS) 显示命令面板
- 选择“Java:清理 Java 语言服务器工作区”
- 重启和删除
刚为我工作。
推荐阅读
- python-3.x - “粘性”参数根本不会改变窗口
- php - 如何使用 gcloud 存储密钥文件从本地计算机进行身份验证
- c# - 如何确保在没有构造函数的情况下正确初始化对象?
- javascript - 对象数组中的舍入值
- ms-word - Word add in:如何通过单击文档中的超链接来激活任务窗格
- powershell - 如何使用函数身份验证或 Azure AD 服务主体对 Azure 函数进行身份验证
- html - Html表单获取请求不添加表单数据
- javascript - getBoundingClientRect 根据滚动位置动态变化?
- react-native - 让 React-native Ui 响应式
- css - 使用 * 运算符将 css 应用于所有