@@ -3797,18 +3797,25 @@ index 85d83f37da179a1e39266cf72a02e971f590308e..0659738b36df1747c9afcabf8d9abf26
3797
3797
};
3798
3798
3799
3799
diff --git a/src/vs/workbench/services/environment/browser/environmentService.ts b/src/vs/workbench/services/environment/browser/environmentService.ts
3800
- index a8d43045ecc8cbe04b3f8440cff16d42aadbcad0..cd589c6f75eccbeefbf364d426ac882396b26fb4 100644
3800
+ index a8d43045ecc8cbe04b3f8440cff16d42aadbcad0..8e122c761ac7ddfee11f9dda2ac5e845b893cc28 100644
3801
3801
--- a/src/vs/workbench/services/environment/browser/environmentService.ts
3802
3802
+++ b/src/vs/workbench/services/environment/browser/environmentService.ts
3803
- @@ -119,8 +119,18 @@ export class BrowserWorkbenchEnvironmentService implements IWorkbenchEnvironment
3803
+ @@ -119,8 +119,25 @@ export class BrowserWorkbenchEnvironmentService implements IWorkbenchEnvironment
3804
3804
@memoize
3805
3805
get logFile(): URI { return joinPath(this.options.logsPath, 'window.log'); }
3806
3806
3807
- + // NOTE@coder: Use the regular path for extensions that write directly to disk
3808
- + // instead of using the VS Code API.
3807
+ + // NOTE@coder: Use the same path in // ../../../../platform/environment/node/environmentService.ts
3808
+ + // and don't use the user data scheme. This solves two problems:
3809
+ + // 1. Extensions running in the browser (like Vim) might use these paths
3810
+ + // directly instead of using the file service and most likely can't write
3811
+ + // to `/User` on disk.
3812
+ + // 2. Settings will be stored in the file system instead of in browser
3813
+ + // storage. Using browser storage makes sharing or seeding settings
3814
+ + // between browsers difficult. We may want to revisit this once/if we get
3815
+ + // settings sync.
3809
3816
@memoize
3810
3817
- get userRoamingDataHome(): URI { return URI.file('/User').with({ scheme: Schemas.userData }); }
3811
- + get userRoamingDataHome(): URI { return URI.file(this.userDataPath).with({ scheme: Schemas.userData } ); }
3818
+ + get userRoamingDataHome(): URI { return joinPath( URI.file(this.userDataPath).with({ scheme: Schemas.vscodeRemote }), 'User' ); }
3812
3819
+ @memoize
3813
3820
+ get userDataPath(): string {
3814
3821
+ const dataPath = this.payload?.get("userDataPath");
@@ -3820,7 +3827,7 @@ index a8d43045ecc8cbe04b3f8440cff16d42aadbcad0..cd589c6f75eccbeefbf364d426ac8823
3820
3827
3821
3828
@memoize
3822
3829
get settingsResource(): URI { return joinPath(this.userRoamingDataHome, 'settings.json'); }
3823
- @@ -301,7 +311 ,12 @@ export class BrowserWorkbenchEnvironmentService implements IWorkbenchEnvironment
3830
+ @@ -301,7 +318 ,12 @@ export class BrowserWorkbenchEnvironmentService implements IWorkbenchEnvironment
3824
3831
extensionHostDebugEnvironment.params.port = parseInt(value);
3825
3832
break;
3826
3833
case 'enableProposedApi':
0 commit comments