如何避免VS Code警告:“ [myfile] .java是非项目文件,仅报告语法错误”

问题描述 投票:0回答:1

我正在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标记,因此即使文件夹结构为毁了。也许这支持从恢复的原始文件中恢复项目结构?这可能是此可视代码警告的问题吗?

我已经删除了workspaceStorage incl。重新启动。

我之前还有其他错误,这只是最后一步。-第一个错误是:How can I fix build failed, do you want to continue? in vscode-第二个错误是:Visual Studio Code - Java - Import Errors and More

java visual-studio-code package compiler-warnings project-structure
1个回答
0
投票

我想我找到了答案。整个问题来自于不是加载直接父文件夹,而是加载祖父母文件夹,尽管从一开始就已经在其直接父文件夹中开发了项目。

包含FOLDER1(祖父母)

  • FolderA(java文件的直接父级)
  • FolderB(java文件的直接父级)

我已经分别编写了项目。但是有一次我改为用VS Code打开FOLDER1。这似乎已将2个项目合并为一个项目。之后,我改回仅打开FolderA / B,并得到了问题中报告的警告。

现在,我再次打开了FOLDER1,现在我可以在没有警告的情况下运行所有​​文件,打开FolderA / B项目也没有警告。似乎VS Code使打开grandparent文件夹成为新项目的开始,这会干扰子项目。

而我发出警告的原因可能最终甚至是代码错误。我忘了在[项目文件夹]。[带有其他类的文件] .java的开始处加载程序包。这导致了FolderA项目中的错误,但是FolderB项目中也显示了警告,因为VS Code将这两个都视为一个项目。

© www.soinside.com 2019 - 2024. All rights reserved.