redhat-developer / redhat-developer/vscode-java

Preventing .classpath overwrite

Abierto
#285 9 comentarios 4 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

bug Gradle
Lenguaje dominante
TypeScript
Estrellas
2.3k
Forks
546
Merge medio
20 h 1 min
PR fusionados (30 d)
11

Descripción

Hello,

While I'm fully aware that Android projects are unsupported, manually crafting .classpath files provide quite satisfying results - with the caveat that they don't support env vars, so you have to hardcode the path to your Android SDK.
For example, with a classpath that looks like:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
	<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
	<classpathentry kind="output" path="bin"/>
	<classpathentry kind="src" path="src/main/java"/>
	<classpathentry kind="lib" path="/Users/arnaud/dev/android-sdk/platforms/android-26/android.jar" />
</classpath>

I'm able, after indexing, to get completion for my project's classes, but also Android's.
Libraries need a little more work, but I don't mind doing everything manually, as both the platform version and libraries don't change often.

The problem is that vscode-java notices that this is a gradle project, and will overwrite.
I have to rewrite the .classpath with my version every time I reopen vscode.

I'd like to have a setting to tell the plugin never to overwrite .classpath on its own.

Environment
  • Operating System: macOS & Windows
  • JDK version: 1.8
  • Visual Studio Code version: 1.15.1
  • Java extension version: Latest as of writing
Steps To Reproduce
  1. Open a
  2. Patch the .classpath yourself. Make sure you back it up somewhere else
  3. Restart vscode
Current Result

.classpath was overwritten with an empty one

Expected Result

.classpath should have not been overwritten

Additional Informations

I tried setting " "java.configuration.updateBuildConfiguration": "disabled" ", but that does not help

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza reproduciendo el flujo de reinicio con un archivo .classpath editado manualmente y la configuración java.configuration.updateBuildConfiguration. Compara el archivo antes y después de volver a abrir VS Code y, a continuación, rastrea el manejo de proyectos Gradle de la extensión. Se considera terminado cuando una configuración documentada evita que .classpath se sobrescriba automáticamente, mientras las actualizaciones normales del proyecto siguen estando disponibles.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java, typescript
Área
build-system, devtools, tooling
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.