Skip to content

Stop creating files in bin directoryΒ #634

@daliborfilus

Description

@daliborfilus

Random files begin to appear in my bin directory after I generated a lot of code by using my custom code generator. I spent a lot of time debugging where these files are being created, who and why makes them, and I don't want my project polluted with completely useless copies of the project files.

Environment
  • Operating System: macOS 10.13
  • JDK version: multiple
  • Visual Studio Code version: Version 1.27.1 (1.27.1)
  • Java extension version: 0.30.0
Steps To Reproduce
  1. Open any kind of project, even non-java ones (mixed), click on any .java file
  2. Watch .class files being generated in your bin directory, kotlin files being copied there as-is (which doesn't make any sense), other resources being copied there without any reason.
Current Result

Many files are copied to ./bin/ without any reason to do so.

Expected Result

No files are created, compiled, copied without developer's consent!

Additional Informations

The extension uses jdt_ws which creates these files. I don't want these files to be there, because:

  1. I use docker.
  2. I don't use vscode for java, I use it for other parts of the project.
  3. I compile the java and kotlin files using gradle, to build folder, with multiple other build configuration options not reflected by vscode-java or jdt_ws.
  4. The generated files are useless.
  5. This extra compilation step burdens battery life and SSD wear.
  6. It just doesn't make any sense.

I didn't even know that I have vscode-java installed and it took a LOT of digging to find out WHY and WHO creates these files!

Please consider removing them altogether, OR make this extra compilation step optional (opt-in) with explicit configuration where these files should be created.

If I would change the target directory to "build" or "target", then vs code would be randomly overwriting files compiled by docker/IDEA/gradle.

They might even be compiled with different version of Java (and JDK)!

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions