flutter / flutter/devtools

Flutter Devtools create file in my $HOME and don't allow for relocation

Ouverte
#7,370 7 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
P3 server
Langage dominant
Dart
Étoiles
1.7k
Forks
404
Merge moyen
6 j 17 h
PR mergées (30 j)
18

Description

In my home directory the following directory is created whenever I use devtools:

```
$ tree -a ~/.flutter-devtools
/Users/bartek/.flutter-devtools
└── .devtools
```

Content of that single file is:

```
$ cat ~/.flutter-devtools/.devtools
{
"analyticsEnabled": true,
"isFirstRun": false,
"lastReleaseNotesVersion": "2.31.0",
"2023-Q4": {
"surveyActionTaken": false,
"surveyShownCount": 0
}
}
```

I don't like when programs clutter my personal `~`. I very much echo sentiment of [this article](https://0x46.net/thoughts/2019/02/01/dotfile-madness). Unfortunately it looks like the location of that file is currently hardcoded ([example](https://github.com/flutter/devtools/blob/8a528c6d6575df48cdde795af82863b7b1b4d26d/packages/devtools_shared/lib/src/server/file_system.dart#L20-L23)).

Therefore I'd like for Flutter DevTools to respect [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html), so that the `.devtools` file could be stored in (e.g.) `~/.local/state`, that is, `$XDG_STATE_HOME`.

To support migration, Flutter Devtools would continue to use `~/.flutter-devtools/.devtools` if it exists. If it does not exist, it should default to the appropriate XDG base directory.

I am willing to contribute this feature, if only the maintainers of this project agree with this suggestion.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par packages/devtools_shared/lib/src/server/file_system.dart, au chemin codé en dur indiqué dans l’issue, et lisez la gestion du système de fichiers dans les environs. Vérifiez comment le fichier existant ~/.flutter-devtools/.devtools est détecté et déterminez l’emplacement d’état XDG approprié à la plateforme ; le travail est considéré comme terminé lorsque les fichiers existants sont préservés et que l’emplacement XDG est utilisé pour les nouvelles installations.

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

Évaluation

Stack technique
dart
Domaine
tooling
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

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