Skip to content

Commit 088d4fb

Browse files
committed
paths.getDefaultUserDataPath
1 parent 9e792d5 commit 088d4fb

4 files changed

Lines changed: 13 additions & 21 deletions

File tree

src/main.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ var fs = require('fs');
1111
var path = require('path');
1212
var minimist = require('minimist');
1313
var paths = require('./paths');
14-
var pkg = require('../package.json');
1514

1615
function stripComments(content) {
1716
var regexp = /("(?:[^\\\"]*(?:\\.)?)*")|('(?:[^\\\']*(?:\\.)?)*')|(\/\*(?:\r?\n|.)*?\*\/)|(\/{2,}.*?(?:(?:\r?\n)|$))/g;
@@ -129,8 +128,7 @@ try {
129128

130129
// Set userData path before app 'ready' event
131130
var argv = minimist(process.argv, { string: ['user-data-dir'] });
132-
var userDataDir = argv['user-data-dir'];
133-
var userData = paths.getUserDataPath(process.platform, pkg.name, userDataDir);
131+
var userData = argv['user-data-dir'] || paths.getDefaultUserDataPath(process.platform);
134132
app.setPath('userData', userData);
135133

136134
// Mac: when someone drops a file to the not-yet running VSCode, the open-file event fires even before

src/paths.js

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
var path = require('path');
77
var os = require('os');
8+
var pkg = require('../package.json');
89

910
function getAppDataPath(platform) {
1011
switch (platform) {
@@ -15,15 +16,9 @@ function getAppDataPath(platform) {
1516
}
1617
}
1718

18-
function getUserDataPath(platform, appName, userDataDir) {
19-
if (userDataDir) {
20-
return userDataDir;
21-
}
22-
23-
var appData = getAppDataPath(platform);
19+
function getDefaultUserDataPath(platform) {
2420

25-
return path.join(appData, appName);
21+
return path.join(getAppDataPath(platform), pkg.name);
2622
}
27-
2823
exports.getAppDataPath = getAppDataPath;
29-
exports.getUserDataPath = getUserDataPath;
24+
exports.getDefaultUserDataPath = getDefaultUserDataPath;

src/vs/base/node/paths.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import uri from 'vs/base/common/uri';
77

88
interface IPaths {
99
getAppDataPath(platform: string): string;
10-
getUserDataPath(platform: string, appName: string, userDataDir: string): string;
10+
getDefaultUserDataPath(platform: string): string;
1111
}
1212

1313
const pathsPath = uri.parse(require.toUrl('paths')).fsPath;
1414
const paths = require.__$__nodeRequire<IPaths>(pathsPath);
1515
export const getAppDataPath = paths.getAppDataPath;
16-
export const getUserDataPath = paths.getUserDataPath;
16+
export const getDefaultUserDataPath = paths.getDefaultUserDataPath;

src/vs/platform/environment/node/environmentService.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import {IEnvironmentService} from 'vs/platform/environment/common/environment';
77
import * as paths from 'vs/base/node/paths';
88
import product from 'vs/platform/product';
9-
import pkg from 'vs/platform/package';
109
import * as os from 'os';
1110
import * as path from 'path';
1211
import {ParsedArgs} from 'vs/code/node/argv';
@@ -41,22 +40,22 @@ export class EnvironmentService implements IEnvironmentService {
4140
get extensionDevelopmentPath(): string { return this._extensionDevelopmentPath; }
4241

4342
get isBuilt(): boolean { return !process.env['VSCODE_DEV']; }
44-
get verbose(): boolean { return this.parsedArgs.verbose; }
43+
get verbose(): boolean { return this.args.verbose; }
4544

46-
get debugBrkFileWatcherPort(): number { return typeof this.parsedArgs.debugBrkFileWatcherPort === 'string' ? Number(this.parsedArgs.debugBrkFileWatcherPort) : void 0; }
45+
get debugBrkFileWatcherPort(): number { return typeof this.args.debugBrkFileWatcherPort === 'string' ? Number(this.args.debugBrkFileWatcherPort) : void 0; }
4746

48-
constructor(private parsedArgs: ParsedArgs) {
47+
constructor(private args: ParsedArgs) {
4948
this._appRoot = path.dirname(URI.parse(require.toUrl('')).fsPath);
50-
this._userDataPath = paths.getUserDataPath(process.platform, pkg.name, parsedArgs['user-data-dir']);
49+
this._userDataPath = args['user-data-dir'] || paths.getDefaultUserDataPath(process.platform);
5150

5251
this._appSettingsHome = path.join(this.userDataPath, 'User');
5352
this._appSettingsPath = path.join(this.appSettingsHome, 'settings.json');
5453
this._appKeybindingsPath = path.join(this.appSettingsHome, 'keybindings.json');
5554

5655
this._userHome = path.join(os.homedir(), product.dataFolderName);
57-
this._extensionsPath = parsedArgs.extensionHomePath || path.join(this._userHome, 'extensions');
56+
this._extensionsPath = args.extensionHomePath || path.join(this._userHome, 'extensions');
5857
this._extensionsPath = path.normalize(this._extensionsPath);
5958

60-
this._extensionDevelopmentPath = parsedArgs.extensionDevelopmentPath;
59+
this._extensionDevelopmentPath = args.extensionDevelopmentPath;
6160
}
6261
}

0 commit comments

Comments
 (0)