如何避免 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 )并重新启动但没有成功。

原文由 questionto42standswithUkraine 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

我收到相同的警告仅仅是因为我在同一个 vscode 工作区中有两个 Java (Maven) 项目。一旦我将 projectA 移出工作区,projectB 的警告就消失了。

 WorkspaceRoot
│   projectA
└───projectB

我当前的解决方案是为一个工作区设置一个 Java (Maven) 项目,即每个 vscode 工作区一个 Maven 项目。

我的猜测是 vscode 将同一工作区内的所有 Java 项目视为一个项目,因此项目相互干扰。

原文由 kohane15 发布,翻译遵循 CC BY-SA 4.0 许可协议

尝试清理 Java 语言服务器工作区:

  1. CMD+SHIFT+P(CTRL+SHIFT+P 在 WINDOWS 上)显示命令面板
  2. 选择“Java:清理 Java 语言服务器工作区”
  3. 重启并删除

刚刚为我工作。

原文由 bkir 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏