Closed rowild closed 4 years ago
The same thing just happened to me today, any idea on what's going on?
On a Mac, the location for the "projects.json" is in:
/Users/[account]/Library/Application Support/Code/User/globalStorage
The docu describes a way to save the "projects.json" to a different location. So I will go ahead and create a new folder for that file and put that folder under git control.
However: It would be great, if we could find out, why this happens.
@chrisid Can you remember, if you changed any settings? Or any important recent update? Anything similar?
@rowild nothing changed, turned off the computer yesterday and when turned it on today projects.json was gone. Luckily I've got time-machine backup. Just moved to a custom location, thanks for the tip!
@chrisid Not sure if the different location will stop the strange behaviour. We'll see Hope, the project owner can enlighten us with some tips... I like "Pugliese". Very "tango" :-)
On Windows, the location for projects.json
is %user%AppData\Roaming\Code\User
.
About possible reasons for this to happen, I don't think anything that could be caused by the extension itself. The latest real update happened almost 2 months ago. The only moment that projects.json` file is updated (which you could think it could crack the file) is when you save/rename/delete/disable a project. Otherwise, it only loads it.
In recent releases, VS Code changed how extensions stores some of its data (created this globalStorage
and workspaceStorage
) but fortunately, I didn't see any problem with the extension itself. So, I would think of two possible reasons:
I'll re-check the extension source, looking for possible reasons.
Hope this helps
Lost my projects file too, not using insiders release, am using Settings Sync. (Hope that info helps)
@chrisid, do you also use Settings Sync?
@alefragnani I don't use Settings Sync. I'll keep an eye on my last steps in case it happens again.
I also lost all data about projects. I do use Settings Sync. Before I lost the data, I added Web Template Studio extension and then did sync with Settings Sync.
Did everybody experience the loss of projects TODAY? Could it be some kind of date problem? Or a time span (meaning: this happens after, e.g., 3 months)? Or was there a VS Code update today?
Just thinking out loud...
@rowild I don't think it was caused by VS Code update. I've been using the same version for ~1 week and updated my Insiders today, after the loss.
Sorry - pushed the wrong button...
I would just like to add that this is not the first time that this happens. (I have a feeling that this happens every 4 to 6 weeks...)
@alexdevero I don't think this is caused by this extension either, based on the scenarios which it writes projects.json
. But everything is possible, including external factors. That's why I'll re-check the extension's sources for this.
@rowild Have you ever looked in Settings Sync repository for similar issues? I mean, not necessarily with projects.json
file, but for any synced file? Other users complaining about deleted, replaced, corrupted files, caused by Settings Sync extension?
If I remember correctly, one of the 2019 monthly releases of VS Code was deleting/clearing the autosaved files from all workspaces, and they had to release a patch a few days latter to fix that. The autosaved files feature wasn't working.
I'm not saying it's not my extension's fault, but maybe, it isn't and you should look for that too.
Hope this helps
@alefragnani Thank you for your extensive feedback and your ideas! I very strong have the feeling that it is NOT your extension. So I agree with you on that. But if it is ok with you, can we keep this issue open as a central place to discuss this "phenomenon"? And yes, I do research on "Settings Sync" (currently turned off, but my guts tell me it is not that extension, either...). I wonder, if there is an issue with git. I didn't use git in a long time, but yesterday I actually updated a project again. And today I used Bitbucket's Source Tree, before I opened VS Code. I think so, at least... currently testing various git scenarios...
Same thing happened to me today. I used Setting Sync but haven't synched files in a while nor updated the app for about a week as well. It looks like the projects.json
file was modified at the moment I tried listing projects using the Command Palette.
@alexdevero @chrisid @alefragnani @pcherna Just to make sure, can you all please confirm: this happened to us all TODAY? (Or at time of reading, yesterday? May 30th 2019?)
Was this the first time? Or can anybody also confirm that this has been a recurring problem?
@rowild Yes, I can confirm that this happened on May 30th 2019. In my case, it was the first time it happened.
Same here :(
For me now, this extension is completely broken.
The "Any" projects section does not show anymore, no matter what settings I configure, it's impossible for me to save folders as favorites, as it keeps telling me, the project does exist already - yet nothing is shown in the sidebar.
The second time it's happened to me now.
Would be great if we could set it to look at a dev folder and just pull the projects in the root of that folder rather than only a manual save for each and every project. Maybe could be a simple command as well/instead? Project Manager->Create Projects from Master Directory. Then even if this happens again can just run that command and get nearly everything back in order easily.
@DA-Bryan Can I ask you some questions, please?
There is a simple setting to get all your projects into the "all" or "git" or "mercurial" etc tabs. Yu can define "Base Folders" and you also can define "Ignored folders". Just look into your settings options, it is really easy. That way, projects are not saved as "Favorites", but simply read from the folders on Vs Code's startup (I think). Works great.
However: We should pin-point the problem, of course, so your answers would help (me, at least). Thank you!
Thanks for the idea, I think I tried that a long time ago but noticed it causing a heavy lag. I have a lot of projects as I also run support for a lot of clients for our company. Faster to have them locally and git pull as needed. But maybe something to look into again.
@DA-Bryan Thanks for your feedback! - I have around 40 Projects. Since I only need "something to click on" to open the project, i also set all the "depths" options to "1" only. Maybe that is a new option, since you last used that? Here it works really fast, but I only use it since yesterday.
However: I dare to say, that there has been sth going on between May 29th and May 30th for all of us. It's a riddle...
My projects also gone. ~Any chances to retrieve them back?~ I have sync-settings installed but my last update was on March. First time encountered this issue, never have a problem with it before.
Update Glad I have backup synced with Backblaze, was able to retrieve the projects.json back. Can confirm it was modified and gone on my side on May 31th. My working copy was from May 28th. I checked my updates from May 29 to May 30th, no modification was changed.
That's really weird ๐ .
As you can see in CHANGELOG.md
, the latest meaningful update in the extension was in March/19 (version 10.4.0). That is the latest update which make references to projects.json
file (when stored in the default location). The PR #250 is responsible for that update, was extensively tested (I know, tests may fail), but we tried to be sure it wouldn't break anything. Fortunately, no issue has been reported when published ๐ .
The latest extension's update was released in May 28th, but it was only a npm security alert (https://github.com/alefragnani/vscode-project-manager/network/alerts), related to tar
package (https://github.com/alefragnani/vscode-project-manager/commit/f6ab229bfdf54ed8bf05889dc5d2495e5b9be890). I don't think that could raise any issues.
I'm trying to figure out more scenarios which could corrupt projects.json
file (I'm talking about corrupting because it never intentionally deletes nor clears the file), but had no success yet. I'm wondering if any of you, which does not uses Settings Sync, uses remote, shared or _symlinked_folders/files for VSCode settings.
BTW, I only have a Windows PC available for development/test so, no Mac or Linux scenarios on my side, unfortunately, sorry.
Hope this helps
I lost all projects on one machine ~1 week ago (before 30th), and now on my second machine.
No Settings Sync.
I've also just seen that my projects.json file is empty. This is at least the second time it has happened. Not using Settings Sync.
Just happened to me this morning too, haven't touched my work computer since the 28th, but it's been off. I remember updating this extension some time last week. Not using this 'Settings Sync' people are mentioning (never heard of it). I'm on GNU/Linux. I haven't set up any remote, shared, or symlinked folders/files for vscode either (rather plain install tbh).
mlocate, which essentially caches the filesystem, says the there should have been a file at ~/.config/Code - OSS/User/globalStorage/alefragnani.project-manager/projects.json
but that file no longer exists.
code --list-extensions --show-versions
I have a feeling that there is another extension interfering. Can we check, which extensions we all have installed? These are mine, not all are enabled (depending on type of work - FE or BE - the workspace settings vary):
2gua.rainbow-brackets-0.0.6 alefragnani.project-manager-10.5.2 alexdima.copy-relative-path-0.0.2 anseki.vscode-color-0.4.5 archety.material-icons-0.2.0 artdiniz.quitcontrol-vscode-3.1.3 bajdzis.vscode-database-2.1.5 benjaminkott.typo3-typoscript-0.1.0 bierner.color-info-0.5.1 bmewburn.vscode-intelephense-client-1.0.14 bradgashler.htmltagwrap-0.0.7 bradlc.vscode-tailwindcss-0.2.0 bschauer.typo3-tca-snippets-0.0.5 chenxsan.vscode-standardjs-1.2.3 coenraads.bracket-pair-colorizer-1.0.61 cssho.vscode-svgviewer-2.0.0 dahong.theme-bear-1.0.0 dakara.dakara-foldplus-1.3.2 dansilver.typewriter-1.0.1 davidanson.vscode-markdownlint-0.27.0 dbaeumer.vscode-eslint-1.9.0 deerawan.vscode-faker-1.3.0 devine-davies.make-hidden-3.0.3 digitalbrainstem.javascript-ejs-support-0.5.0 dotjoshjohnson.xml-2.5.0 dunstontc.vscode-gitignore-syntax-0.1.2 ecodes.vscode-phpmd-1.1.0 editorconfig.editorconfig-0.13.0 eiminsasete.apacheconf-snippets-1.2.0 emmanuelbeziat.vscode-great-icons-2.1.47 equinusocio.vsc-material-theme-2.9.0 equinusocio.vsc-material-theme-icons-1.0.4 febley.typo3-fluid-snippets-0.2.0 febley.typo3-vhs-snippets-0.1.1 felicio.vscode-fold-1.4.3 felixfbecker.php-debug-1.13.0 felixfbecker.php-pack-1.0.2 file-icons.file-icons-1.0.17 formulahendry.auto-close-tag-0.5.6 formulahendry.auto-rename-tag-0.1.0 formulahendry.vscode-mysql-0.4.0 giancarlopro.faker-snippets-1.5.0 ginfuru.ginfuru-better-solarized-dark-theme-0.7.0 gogocrow.webpack-snippets-0.0.4 hookyqr.beautify-1.5.0 humao.rest-client-0.21.3 hwencc.html-tag-wrapper-0.2.3 isudox.vscode-jetbrains-keybindings-0.1.9 jamesmaj.easy-icons-0.3.1 jeremyrajan.webpack-2.1.3 junstyle.php-cs-fixer-0.1.119 krizzdewizz.tag-rename-0.2.1 liximomo.sftp-1.12.7 mehedidracula.php-constructor-0.1.2 mehedidracula.php-namespace-resolver-1.1.8 michelemelluso.code-beautifier-2.2.1 mikestead.dotenv-1.0.1 mrmlnc.vscode-apache-1.2.0 mrmlnc.vscode-pugbeautify-1.0.2 nikitakunevich.snippet-creator-0.0.5 octref.vetur-0.21.0 p1c2u.docker-compose-0.3.4 patbenatar.advanced-new-file-1.2.0 paulkamma.flux-snippets-0.4.0 peterjausovec.vscode-docker-0.6.2 phiter.phpstorm-snippets-1.1.1 phproberto.vscode-php-getters-setters-1.2.3 pkief.material-icon-theme-3.8.0 ralffreit.typo3snippets-0.0.9 redhat.vscode-yaml-0.4.1 ritwickdey.liveserver-5.6.1 robinbentley.sass-indented-1.5.1 sburg.vscode-javascript-booster-0.10.2 sdras.vue-vscode-snippets-1.6.0 sevavietl.php-files-0.0.5 shakram02.bash-beautify-0.1.1 shan.code-settings-sync-3.2.9 shinnn.stylelint-0.49.0 sibiraj-s.vscode-scss-formatter-1.4.1 sidharthachatterjee.vscode-tailwindcss-0.1.0 sidneys1.gitconfig-2.0.0 sirtori.indenticator-0.6.0 sleistner.vscode-fileutils-2.14.4 slevesque.shader-1.1.4 smlombardi.slime-2.34.0 sourcegraph.javascript-typescript-0.0.7 spywhere.guides-0.9.3 stevencl.adddoccomments-0.0.8 techer.open-in-browser-2.0.0 tobiasalthoff.atom-material-theme-1.5.0 trinm1709.dracula-theme-from-intellij-0.3.0 tyriar.sort-lines-1.8.0 vector-of-bool.gitflow-1.2.1 vikyd.vscode-fold-level-0.0.11 vincaslt.highlight-matching-tag-0.9.2 vincentkos.elegant-php-0.1.1 vscode-icons-team.vscode-icons-8.7.0 vuetifyjs.vuetify-vscode-0.2.0 wk-j.webpack-progress-0.0.8 wongjn.php-sniffer-1.1.4 yzhang.markdown-all-in-one-2.3.1
My list:
auto-close-tag-0.5.6
azure-account-0.8.4
better-comments-2.0.5
bracket-pair-colorizer-2-0.0.28
code-settings-sync-3.2.9
code-spell-checker-1.7.14
code-spell-checker-czech-0.1.0
color-info-0.5.1
contextualduplicate-0.2.0
dictionary-completion-0.8.2
dotenv-1.0.1
EditorConfig-0.13.0
check-npm-updates-1.7.1
material-icon-theme-3.8.0
multi-command-1.3.0
pdf-0.5.0
postcss-language-2.1.0
project-manager-10.5.2
react-proptypes-intellisense-1.0.3
stylelint-0.49.0
svg-0.1.4
vscode-csscomb-5.2.3
vscode-duplicate-1.2.1
vscode-icons-8.7.0
vscode-language-babel-0.0.22
vscode-react-native-0.9.3
vscode-styled-components-0.0.26
WebTemplateStudio-dev-nightly-0.0.1914003
wordcounter-1.7.0
How did you generate that list?
(I changed to the extensions folder, used terminal with list -1
, then copy&paste to a text file)
@rowild just run code --list-extensions
in your terminal/shell
That still generates a list with the verdor name prefixed. Alex Devero has one that lists only the extensions' names.
Now I see, sorry.
I think he just removed the vendor name manually (editing the output) and sorted the lines. I don't know any code
command line arguments to do that.
Correct, I removed the vendor name and used "Sort ..." command in VS Code :).
So far we have these in common:
auto-close-tag-0.5.6
bracket-pair-colorizer-2-0.0.28
code-settings-sync-3.2.9
color-info-0.5.1
dotenv-1.0.1
material-icon-theme-3.8.0
project-manager-10.5.2
stylelint-0.49.0
vscode-icons-8.7.0
Since there are some users here who do not use settings-syns, we can loose that one, too...
Unless I've done something wrong, If you include my list of extensions that I hid in a dropdown in my earlier comment, the only extensions in common between the three lists seem to be editorconfig and project-manager.
my list:
AndrewRazumovsky.vscode-styled-jsx-languageserver
azemoh.one-monokai
blanu.vscode-styled-jsx
Dart-Code.dart-code
Dart-Code.flutter
esbenp.prettier-vscode
flowtype.flow-for-vscode
gerane.Theme-FlatlandMonokai
joelday.docthis
Metatype.copilot-vscode
mgmcdermott.vscode-language-babel
Mikael.Angular-BeastCode
ms-python.python
ms-vscode.sublime-keybindings
SmukkeKim.theme-setimonokai
WakaTime.vscode-wakatime
WallabyJs.quokka-vscode
wix.vscode-import-cost
xabikos.JavaScriptSnippets
xabikos.ReactSnippets
@Necklaces Sorry, I didn't see your list!
@alefragnani An info I'd like to share, not knowing, if it is of any importance:
On Mac, the folder VS Code uses, is under Application Support/Code
, as mentioned earlier. These is also a logs folder, which I searched for globalStorage
, the folder where the project.json is saved. The search found 3 entries, all of them in a dedicated file called 2-EditorConfig.log
looking like this:
/Users/[user]/Library/Application Support/Code/User/globalStorage/alefragnani.project-manager/projects.json: {}
It looks a bit strange that there are empty curly braces...
The encompassing folder has the date string 20190530T085317
. So May 30th in the morning. No similar log entries with globalStorage
before or after that date.
Currently, I have no idea, what that means... but I keep searching...
Question (since I have no idea about extension development): Is the "globalStorage" as the folder, where the project.json is saved to, the recommended place (if there is anything like a recommendation)?
EDIT: Found this discussion: https://github.com/editorconfig/editorconfig-vscode/issues/153
@rowild ,
On a Mac, the original location for projects.json
was /Users/[user]/Library/Application Support/Code/User
or /Users/[user]/Library/Application Support/Code - Insiders/User
. Similar locations for Windows and Linux. There was no globalStorage
back then.
The concatenatioon of globalStorage/alefragnani.project-manager
to this path was added in release 10.4.0 (released in March/2019) with PR #250 to adapt to a new API released in that monthly VS Code release. But, it should concatenate only if projects.json
file wasn't available in the /User
folder. Which means, new users or no projects.
So, unless this code had failed, I understand you installed the extension (or saved any project) after that release. But, if you have the extension installed earlier, and had projects saved earlier too, I would say that something in VS Code has changed. I tested the extension with stable and insiders releases a few moments ago and it appears to be working fine. Which is sad :(
I don't use EditorConfig, but I don't see how it could interfere in projects.json
file. If I remember correctly, it only touches opened files, right?
Does anyone has a projects.json
file in /User
folder (not globalStorage/alefragnani.project-manager
) with any content?
Hope this helps.
@alefragnani Thank you for your extensive feedback! Very interesting! According to the readme on editorconfig it should only touch open files. NEvertheless I have those logs. Can anybody else confirm, if they have similar log entries?
This bug happened to me today too. I'm using Mac on my work, and yesterday I had to restart after more than a week on. And when I listed the projects to open, the message "No projects saved yet" appeared.
~/Library/Application Support/Code/User
and ~/Library/Application Support/Code/User/globalStorage/alefragnani.project-manager
, in both the file did not exist.projects.json
file appeared in the ./globalStorage/alefragnani.project-manager
folder.projects.json
๐ข so I changed this config and now my file was synced as globalStorage|alefragnani.project-manager|projects.json
.auto-close-tag@0.5.6 autodocstring@0.3.0 beautify@1.5.0 better-align@1.1.6 code-settings-sync@3.2.9 color-highlight@2.3.0 debugger-for-chrome@4.11.3 docthis@0.7.1 dotenv@1.0.1 EditorConfig@0.13.0 gitignore@0.6.0 gitlens@9.8.1 JavaScriptSnippets@1.7.2 jshint@0.10.20 jslint@1.2.1 laravel-blade@1.1.2 markdown-checkbox@0.1.3 markdown-emoji@0.0.9 markdown-preview-github-styles@0.1.6 markdown-toc@1.5.6 material-icon-theme@3.8.0 nord-visual-studio-code@0.10.0 path-intellisense@1.4.2 php-cs-fixer@0.1.119 php-debug@1.13.0 php-docblocker@1.8.0 phpcs@1.0.5 project-manager@10.5.2 python@2019.5.18426 quitcontrol-vscode@3.1.3 reg@0.0.2 rest-client@0.21.3 shell-format@5.0.1 ssh@0.0.4 stylus@0.0.4 sublime-keybindings@4.0.0 viml@0.1.7 vscode-apache@1.2.0 vscode-codemetrics@1.18.1 vscode-color@0.4.5 vscode-eslint@1.9.0 vscode-intelephense-client@1.0.14 vscode-javascript-snippet-pack@0.1.5 vscode-nginx@0.6.0 vscode-styled-components@0.0.26 vscode-todo-plus@4.13.0 vue@0.1.5
I honestly thought that list was bigger. ๐ค
Command used to get the list:
code --list-extensions --show-versions | cut -f2- -d'.' | sort --ignore-case
@thiagobraga Thank you for your report! "...after more then one week on." - That means you "crossed" the magic date line of May29th / May 30th. Thanks for the command!!! Very helpful!
Could you be so kind and check the logs folder of VS Code, too (lease see above). Do you have any log data where suddenly a "project.json: {}" appears, similar to mine above? If so, what is the name (= date) of the encompassing folder?
Hi @rowild, you are welcome. Happy that this command helped.
About the logs, I checked the VS Code log folder and there were only folders for the month of June. I'm not sure if it was some cleaning of the system, or Code itself, or even CleanMyMac running automatically. Anyway, in the logs that I have, I've executed these commands, but I didn't get any relevant information:
cd ~/Library/Application Support/Code/logs
grep -rni 'globalStorage' . # no results
grep -rni 'projects.json' . # no results
grep -rni 'project-manager' . # only _doActivateExtension and loadCommonJSModule logs ...
# ... and this entry, but I don't think it has any use
# ./20190604T175632/sharedprocess.log:19:[2019-06-04 17:57:28.270] [sharedprocess] [info] Deleted from disk alefragnani.project-manager /Users/thiagobraga/.vscode/extensions/alefragnani.project-manager-10.5.1
I've tried other words in grep like 'delete', 'remove', but nothing relevant too.
@thiagobraga Thank you again!! I tried your commands, too, and I also do not get any results. So I searched manually again and had to find out that the folder I mentioned earlier does not exist anymore gone. Now I wonder: why does VSCode delete log folders?
This just happened to me (again). I always assumed it was settings sync, but it seems it's not that by reading some responses.
My problem just got worse though. I can't even create a new projects.json file. When I do edit projects
it asks me if I want to edit the file manually, and after that nothing happens.
Where does the file live in Linux?
Sorry to hear that.
In Linux, it looks for /var/local/Code/User/projects.json
or /home/Mauser/.config/Code/User/projects.json
, if I remember correctly.
appdata = process.env.APPDATA || (process.platform === "darwin" ? process.env.HOME + "/Library/Application Support" : "/var/local");
newFile = path.join(appdata, channelPath, "User", file);
// in linux, it may not work with /var/local, then try to use /home/myuser/.config
if ((process.platform === "linux") && (!fs.existsSync(newFile))) {
newFile = path.join(homeDir, ".config/", channelPath, "User", file);
}
Iโm sorry, but I donโt use Linux, and Iโm away from a computer now, so I canโt be sure about the APPDATA value.
Hope this helps
@alefragnani You are right about the config file location on Linux, and projects.json
is in the same folder in my case:
Windows %APPDATA%\Code\User\settings.json macOS $HOME/Library/Application Support/Code/User/settings.json Linux $HOME/.config/Code/User/settings.json
https://code.visualstudio.com/docs/getstarted/settings#_settings-file-locations
I had a list of projects, but today, on re-opening VS Code, all the saved projects are gone, the list is empty and it says "No projects saved yet". Even the notification window tells me that there are no projects saved yet, when I type "Project Manager: Edit Projects". It seems the json is empty... This actually happened not for the first time, but so far I didn't see any posted issues here.
How can I check, what happened? What could be possible reasons? Where is the actual projects.json saved? (There is nothing about that in the doce...)
I use "settings sync", and every once in a while I change the editor's own settings by moving some rules from "settings" to "workspace". But I do not have any manually edited "Project Manager" settings...
Does anybody have a similar experience? Any hints? Tips? Thank you!