paths.getDefaultUserDataPath

This commit is contained in:
Joao Moreno 2016-08-17 12:53:51 +02:00
parent 9e792d5fd9
commit 088d4fb45a
4 changed files with 13 additions and 21 deletions

View file

@ -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

View file

@ -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;

View file

@ -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;

View file

@ -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;
}
}