paths.getDefaultUserDataPath
This commit is contained in:
parent
9e792d5fd9
commit
088d4fb45a
|
@ -11,7 +11,6 @@ var fs = require('fs');
|
|||
var path = require('path');
|
||||
var minimist = require('minimist');
|
||||
var paths = require('./paths');
|
||||
var pkg = require('../package.json');
|
||||
|
||||
function stripComments(content) {
|
||||
var regexp = /("(?:[^\\\"]*(?:\\.)?)*")|('(?:[^\\\']*(?:\\.)?)*')|(\/\*(?:\r?\n|.)*?\*\/)|(\/{2,}.*?(?:(?:\r?\n)|$))/g;
|
||||
|
@ -129,8 +128,7 @@ try {
|
|||
|
||||
// Set userData path before app 'ready' event
|
||||
var argv = minimist(process.argv, { string: ['user-data-dir'] });
|
||||
var userDataDir = argv['user-data-dir'];
|
||||
var userData = paths.getUserDataPath(process.platform, pkg.name, userDataDir);
|
||||
var userData = argv['user-data-dir'] || paths.getDefaultUserDataPath(process.platform);
|
||||
app.setPath('userData', userData);
|
||||
|
||||
// Mac: when someone drops a file to the not-yet running VSCode, the open-file event fires even before
|
||||
|
|
13
src/paths.js
13
src/paths.js
|
@ -5,6 +5,7 @@
|
|||
|
||||
var path = require('path');
|
||||
var os = require('os');
|
||||
var pkg = require('../package.json');
|
||||
|
||||
function getAppDataPath(platform) {
|
||||
switch (platform) {
|
||||
|
@ -15,15 +16,9 @@ function getAppDataPath(platform) {
|
|||
}
|
||||
}
|
||||
|
||||
function getUserDataPath(platform, appName, userDataDir) {
|
||||
if (userDataDir) {
|
||||
return userDataDir;
|
||||
}
|
||||
function getDefaultUserDataPath(platform) {
|
||||
|
||||
var appData = getAppDataPath(platform);
|
||||
|
||||
return path.join(appData, appName);
|
||||
return path.join(getAppDataPath(platform), pkg.name);
|
||||
}
|
||||
|
||||
exports.getAppDataPath = getAppDataPath;
|
||||
exports.getUserDataPath = getUserDataPath;
|
||||
exports.getDefaultUserDataPath = getDefaultUserDataPath;
|
|
@ -7,10 +7,10 @@ import uri from 'vs/base/common/uri';
|
|||
|
||||
interface IPaths {
|
||||
getAppDataPath(platform: string): string;
|
||||
getUserDataPath(platform: string, appName: string, userDataDir: string): string;
|
||||
getDefaultUserDataPath(platform: string): string;
|
||||
}
|
||||
|
||||
const pathsPath = uri.parse(require.toUrl('paths')).fsPath;
|
||||
const paths = require.__$__nodeRequire<IPaths>(pathsPath);
|
||||
export const getAppDataPath = paths.getAppDataPath;
|
||||
export const getUserDataPath = paths.getUserDataPath;
|
||||
export const getDefaultUserDataPath = paths.getDefaultUserDataPath;
|
|
@ -6,7 +6,6 @@
|
|||
import {IEnvironmentService} from 'vs/platform/environment/common/environment';
|
||||
import * as paths from 'vs/base/node/paths';
|
||||
import product from 'vs/platform/product';
|
||||
import pkg from 'vs/platform/package';
|
||||
import * as os from 'os';
|
||||
import * as path from 'path';
|
||||
import {ParsedArgs} from 'vs/code/node/argv';
|
||||
|
@ -41,22 +40,22 @@ export class EnvironmentService implements IEnvironmentService {
|
|||
get extensionDevelopmentPath(): string { return this._extensionDevelopmentPath; }
|
||||
|
||||
get isBuilt(): boolean { return !process.env['VSCODE_DEV']; }
|
||||
get verbose(): boolean { return this.parsedArgs.verbose; }
|
||||
get verbose(): boolean { return this.args.verbose; }
|
||||
|
||||
get debugBrkFileWatcherPort(): number { return typeof this.parsedArgs.debugBrkFileWatcherPort === 'string' ? Number(this.parsedArgs.debugBrkFileWatcherPort) : void 0; }
|
||||
get debugBrkFileWatcherPort(): number { return typeof this.args.debugBrkFileWatcherPort === 'string' ? Number(this.args.debugBrkFileWatcherPort) : void 0; }
|
||||
|
||||
constructor(private parsedArgs: ParsedArgs) {
|
||||
constructor(private args: ParsedArgs) {
|
||||
this._appRoot = path.dirname(URI.parse(require.toUrl('')).fsPath);
|
||||
this._userDataPath = paths.getUserDataPath(process.platform, pkg.name, parsedArgs['user-data-dir']);
|
||||
this._userDataPath = args['user-data-dir'] || paths.getDefaultUserDataPath(process.platform);
|
||||
|
||||
this._appSettingsHome = path.join(this.userDataPath, 'User');
|
||||
this._appSettingsPath = path.join(this.appSettingsHome, 'settings.json');
|
||||
this._appKeybindingsPath = path.join(this.appSettingsHome, 'keybindings.json');
|
||||
|
||||
this._userHome = path.join(os.homedir(), product.dataFolderName);
|
||||
this._extensionsPath = parsedArgs.extensionHomePath || path.join(this._userHome, 'extensions');
|
||||
this._extensionsPath = args.extensionHomePath || path.join(this._userHome, 'extensions');
|
||||
this._extensionsPath = path.normalize(this._extensionsPath);
|
||||
|
||||
this._extensionDevelopmentPath = parsedArgs.extensionDevelopmentPath;
|
||||
this._extensionDevelopmentPath = args.extensionDevelopmentPath;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue