redhat-developer / redhat-developer/vscode-java

Preventing .classpath overwrite

Ouverte
#285 9 commentaires 4 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug Gradle
Langage dominant
TypeScript
Étoiles
2.3k
Forks
546
Merge moyen
20 h 1 min
PR mergées (30 j)
11

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire le workflow de redémarrage avec un fichier .classpath modifié manuellement et le paramètre java.configuration.updateBuildConfiguration. Comparez le fichier avant et après la réouverture de VS Code, puis suivez la gestion des projets Gradle par l'extension. Le travail est terminé lorsqu'un paramètre documenté empêche les écrasements automatiques de .classpath, tout en laissant les mises à jour normales du projet disponibles.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, typescript
Domaine
build-system, devtools, tooling
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.