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