-
-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE] - Sync projects definitions via native Settings Sync feature #431
Comments
Hi @enoversum , I didn't play with Settings Sync yet, but as far as I remember from the release notes (while in Insiders release) and the official documentation (after landing on Stable), it seems session data are not synchronized. If that's the case then no, the I also don't remember any API which extension authors could use, in order to add their own data to the syncing process. So, unless such API exists/appears, Settings Sync couldn't be used to sync your projects. At least, not today. I wonder if it would worth to change how the extension itself works. I mean, instead of using an external file ( Hope this helps |
Hi @alefragnani , Thanks again :)! |
Hi @enoversum , First of all, thank you for your kind words. I'm glad to know you like the extension 😁 The extension's settings, just like other extensions, are stored in I don't need (personally speaking) any sync feature anymore, but I'm interested on embracing the native Sync on the extension, if possible. This is the first issue asking about the native Sync feature, but I guess a lot of users could take advantage of this. I'll take a better look on its documentation and open issues, to find out how this could be accomplished. Hope this helps |
Hey @alefragnani , from what I gather, it's rather cumbersome to store projects in settings.json, that's for sure, so I hope - if you're as eager as I perceive :) - you'll find a working way to use the native sync functionality of VS Code. I kind of get what you're saying about the sandbox. One thing to keep in mind is that, while having the project list at hand, a user only benefits from synced projects if he somehow also syncs the actual project files and folders - so he has to have some kind of file syncing in place anyway, which could also incorporate the And don't see my question here as an 'issue' (even though it's listed here as such) - there is no rush, I was just kind of curious if I missed out on official sync capabilities for projects, but your extension works astonishingly well anyway :) ! |
Hi @enoversum , I only found this issue, which maybe could work Instead of saving the projects in Other than that, I see no way to accomplish your request. And you are right, not only the I'll let you know if I have any news |
Hey @alefragnani , don't you take this too seriously - I am happily syncing projects with a custom Anyway, thanks for your commitment :)! |
Hi @enoversum , Not eager, just curious to know if it was doable, so I could give you proper feedback 😁. Thank you |
@alefragnani Being eager and enthusiastic isn't that bad, you know 😄 ? Please do let me know in any case 😃 ! |
My 2cent: I've synced settings & projects with https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync without any problem (you just have to add the projects.json to the sync manually). Currently i also try to use the vscode core sync .. just to have less plugins installed. But yeah.. same problem here.. no projects sync. |
Thanks for your 2cents 👍 I decided to take a look at Settings Sync extension's documentation/issues, and it appears it does sync the VS Code internal files. That would explain why it does sync |
Sorry, I'm not entirely clear from the discussion, is there currently a way to have the native Settings Sync feature in VS Code sync the project list managed by the Project Manager extension? I recently switched jobs (and therefore machines) and while all my settings in VS Code came over due to settings sync, I was a little surprised to see no projects listed under projects manager (not a huge deal, most of the projects were from my old job so would no longer be relevant anyway). |
Hi @pzelnip , No, there is no way, and as you already noticed, syncing the project list wouldn’t sync the projects itself 😁 . It’s not possible because there is no API available in the Settings Sync feature to allow an extension to define additional files to be synced. When you save a project, it is stored inside a file called I found this issue microsoft/vscode#113774, which asks a similar idea, but has no few upvotes, and I guess it will be closed/canceled soon. Hope this helps |
I've created microsoft/vscode#120142 to request the possibility to synchronize “additional resources”, because I didn't find an issue for that. It was closed as a duplicate of microsoft/vscode#113774, so I'll keep an eye on that. |
Just thought about it today, again, and two ideas came to mind:
|
the older settings sync extension used a GitHub gist for storing the settings... you could potentially do that as well. Plus you can use the new Auth provider API so you don't have to deal with any of the auth details. |
That's true. I totally forgot. Updated the comment above with some details about that. Thanks |
To be fair, if they are already using in-box Settings Sync with their GitHub account, this isn't much of a problem. It'd only be a problem for folks who:
In #2's case they either don't want sync (so they probably don't want this feature), or are doing something custom to sync their settings... to which they can probably apply that same process to pick up the projects.json file. |
Totally agree. But remember these scenarios are just workarounds, until proper Settings Sync API is released 😉 Following the Gist approach is probably the safest bet. The original Settings Sync extension works this way, and it is a huge success. Let’s go to learn a new API 🏃 |
Finally could play a little with the Authentication API and octokit, and wow! Really simple to use. I think the approaches below could be fairly easy to use, on a users perspective The simplest wayStep 1. The user toggles a setting to say "Use GitHub Gists to store your projects", and that's it.
The complex wayStep 1. The user toggles a setting to say "Use GitHub Gists to store your projects"
This scenario is useful if the user would like to share the projects between Stable and Insiders release, just like the Because I can use Authentication API, there is no need to use Token, Gist ID or something more complex (like Settings Sync apparently still uses). What do you think? |
Personally I think they are stepping stones. You could start with the simple solution until someone comes along and says "I wanna change the name" and then offer a setting to change the name. |
That's great! I didn't have to use this kind of integration yet, so it's good to know the steps I thought are ok. Right after posting that, I thought about a third option. Instead of creating a new setting to define the Gist name, why not reuse the Let's hold this to upcoming releases, as you said 😄 Thank you |
It doesn't look like this will get implemented any time soon. I don't see a downside of keeping settings among User settings, the setting itself is also quite small. However, for the best benefit extension should support environment variables in path specification so that it could work cross platform. The absence of this feature is most troubling for me. I work on several different machines all the time and keeping projects in sync is pain. |
OK, gist is an option too, whatever really, just let them sync. Its IMO better to move settings to user ones as with gist, you need more lengthy ceremony on each machine, but its more important that it works somehow.
One env var is not much better then 0, particularly if somebody else dictates where projects are stored on particular system. For example on Windows it might be |
You don’t need an env var for that. Simply add all folders in settings and it will recognize the projects on each machine, independently.
It is VS Code which provides (and will be responsible for) syncing, not this extension. Creating manual sync via Gist is just a workaround for a missing API. Otherwise, I suggest you to take a look at the Settings Sync extension (https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync ), which this native Settings Sync provided by VS Code is trying to replace. This extension has been created years ago and already syncs It seems you are disappointed with the Settings Sync feature provided natively by VS Code (if you compare to the Settings Sync extension created years ago), so I suggest you to upvote/comment on that issue, so they are able to see not only extension developers, but also users complaining by the missing API. |
OK, that is alternative solution which does require repeating entire config on each environment instead of creating single env var.
I was using it before, but integrated sync is much better IMO and more controllable. It worked OK with projects.
Ofc I did upvote on original ticket and added a comment to pin it up for those that sort by updated date :) However, the ticket exists for more then a year and has only 10 upvotes (30 are required for it to be considered. I doubt that will happen soon. |
What is the reason against moving |
Historically speaking, there are some details here: #431 (comment) About the sync feature, it has its pros and cons, as you can see here: #431 (comment) |
great**** |
I suggest my issue microsoft/vscode#113774 mentioned several times here be referenced in the first post inciting people to upvote it. It currently has 20 upvotes and miraculously escaped from their bot killing issue which have not enough attention. What I did to sync those kind of settings was using the old sync settings extension. Now I consider to move files not synchronized by the built-in settings sync to a folder in my onedrive if all my extensions allow to. |
Since microsoft/vscode#113774 was closed as not planned, it seems there will be no support for native Settings Sync feature. That being said, I'll focus on #525 for upcoming releases. |
Yup, this week they have been closing like all the feature requests I've been following, cleaning up for the new year or something 😞 |
This is their house keeping iteration, which happens once a year (more info here https://github.com/microsoft/vscode/wiki/Issue-Grooming). I see this as a good practice for a project of its size, even when they close issues that I'm interested. |
Hi @alefragnani ,
just a quick question, I may simply be mislead at some point. Does (local, not GIT) projects sync through the regular VS Code sync normally work?
So far, natively, your project manager saves the 'projects.json' in the user folder in the VS Code folder, and as far as I experienced, the regular settings sync (not the plugin/extension) done through the Microsoft account won't sync projects from one machine to another. I understand I can set "projectManager.projectsLocation" to accept a different place, and I did just that with a folder I sync through another service. Just wanting to know, is there something wrong on my end that VS Code doesn't want to sync projects by the normal MS sync?
The text was updated successfully, but these errors were encountered: