web-dev-qa-db-ja.com

VSコード警告を回避する方法:「[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によってタグ付けされるため、ファイル自体をコピーすることとは異なります。フォルダー構造が破壊されている場合でもスタンプします。これは、復元されたrawファイルからのプロジェクト構造の復元をサポートしますか?これは、このビジュアルコード警告の問題ですか?

WorkspaceStorage inclはすでに削除しています。再起動。

以前に他のエラーがありました。これは最後のステップです。

1
Lorenz

私は答えを見つけたと思います。全体の問題は、プロジェクトが最初から直接プロジェクトフォルダーで開発されていたにもかかわらず、直接プロジェクトフォルダーではなく親フォルダーを読み込むことから生じました。

FOLDER1(親)が含まれています

  • FolderA(Javaファイルの直接プロジェクトフォルダー)
  • FolderB(Javaファイルの直接プロジェクトフォルダー)

私はプロジェクトを別々に書きました。しかし、ある時、代わりにVS CodeでFOLDER1を開きました。 2つのプロジェクトが1つのプロジェクトに統合されたようです。この後、FolderA/Bのみを開くように変更し、質問で報告されている警告を受けました。

FOLDER1を再度開いて、両方のFolderA/Bプロジェクトを警告なしで実行するようにしたので(おそらく何も修正せずにすべてコメントアウトするかもしれませんが、テストされていません)、分離されたFolderA/Bプロジェクトを開いても警告はスローされませんでした。まるでVS Codeが親フォルダーを開くことで、子プロジェクトを妨害する新しいプロジェクトの開始となるようです。

そして、私が警告を出した理由は、最後に他のプロジェクトのフォルダー内のコードエラーでした(重要ではありませんが、いくつかのJavaファイル)。

エラーが何であれ、「FolderA」とは何の関係もなく、コードの問題もないプロジェクト「FolderB」でのみ作業していたため、警告は混乱を招きました。これにより、「FolderB」プロジェクトでも「FolderA」プロジェクトの警告が表示されるという奇妙な影響が生じましたVS Codeは両方を1つのプロジェクトと見なしたため

2
Lorenz