mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-02 17:23:40 -05:00
Merge VS Code 1.21 source code (#1067)
* Initial VS Code 1.21 file copy with patches * A few more merges * Post npm install * Fix batch of build breaks * Fix more build breaks * Fix more build errors * Fix more build breaks * Runtime fixes 1 * Get connection dialog working with some todos * Fix a few packaging issues * Copy several node_modules to package build to fix loader issues * Fix breaks from master * A few more fixes * Make tests pass * First pass of license header updates * Second pass of license header updates * Fix restore dialog issues * Remove add additional themes menu items * fix select box issues where the list doesn't show up * formatting * Fix editor dispose issue * Copy over node modules to correct location on all platforms
This commit is contained in:
@@ -28,7 +28,8 @@ const options: minimist.Opts = {
|
||||
'debugBrkSearch',
|
||||
'enable-proposed-api',
|
||||
'export-default-configuration',
|
||||
'install-source'
|
||||
'install-source',
|
||||
'upload-logs'
|
||||
],
|
||||
boolean: [
|
||||
'help',
|
||||
@@ -49,13 +50,18 @@ const options: minimist.Opts = {
|
||||
'list-extensions',
|
||||
'show-versions',
|
||||
'nolazy',
|
||||
'issue',
|
||||
'skip-getting-started',
|
||||
'skip-release-notes',
|
||||
'sticky-quickopen',
|
||||
'disable-restore-windows',
|
||||
'disable-telemetry',
|
||||
'disable-updates',
|
||||
'disable-crash-reporter',
|
||||
'skip-add-to-recently-opened',
|
||||
'status'
|
||||
'status',
|
||||
'file-write',
|
||||
'file-chmod'
|
||||
],
|
||||
alias: {
|
||||
add: 'a',
|
||||
@@ -128,32 +134,40 @@ export function parseArgs(args: string[]): ParsedArgs {
|
||||
return minimist(args, options) as ParsedArgs;
|
||||
}
|
||||
|
||||
export const optionsHelp: { [name: string]: string; } = {
|
||||
const optionsHelp: { [name: string]: string; } = {
|
||||
'-d, --diff <file> <file>': localize('diff', "Compare two files with each other."),
|
||||
'-a, --add <dir>': localize('add', "Add folder(s) to the last active window."),
|
||||
'-g, --goto <file:line[:character]>': localize('goto', "Open a file at the path on the specified line and character position."),
|
||||
'--locale <locale>': localize('locale', "The locale to use (e.g. en-US or zh-TW)."),
|
||||
'-n, --new-window': localize('newWindow', "Force a new instance of Code."),
|
||||
'-p, --performance': localize('performance', "Start with the 'Developer: Startup Performance' command enabled."),
|
||||
'--prof-startup': localize('prof-startup', "Run CPU profiler during startup"),
|
||||
'--inspect-extensions': localize('inspect-extensions', "Allow debugging and profiling of extensions. Check the developer tools for the connection uri."),
|
||||
'--inspect-brk-extensions': localize('inspect-brk-extensions', "Allow debugging and profiling of extensions with the extension host being paused after start. Check the developer tools for the connection uri."),
|
||||
'-r, --reuse-window': localize('reuseWindow', "Force opening a file or folder in the last active window."),
|
||||
'--user-data-dir <dir>': localize('userDataDir', "Specifies the directory that user data is kept in, useful when running as root."),
|
||||
'--log <level>': localize('log', "Log level to use. Default is 'info'. Allowed values are 'critical', 'error', 'warn', 'info', 'debug', 'trace', 'off'."),
|
||||
'--verbose': localize('verbose', "Print verbose output (implies --wait)."),
|
||||
'-n, --new-window': localize('newWindow', "Force to open a new window."),
|
||||
'-r, --reuse-window': localize('reuseWindow', "Force to open a file or folder in the last active window."),
|
||||
'-w, --wait': localize('wait', "Wait for the files to be closed before returning."),
|
||||
'--locale <locale>': localize('locale', "The locale to use (e.g. en-US or zh-TW)."),
|
||||
'--user-data-dir <dir>': localize('userDataDir', "Specifies the directory that user data is kept in. Can be used to open multiple distinct instances of Code."),
|
||||
'-v, --version': localize('version', "Print version."),
|
||||
'-h, --help': localize('help', "Print usage.")
|
||||
};
|
||||
|
||||
const extensionsHelp: { [name: string]: string; } = {
|
||||
'--extensions-dir <dir>': localize('extensionHomePath', "Set the root path for extensions."),
|
||||
'--list-extensions': localize('listExtensions', "List the installed extensions."),
|
||||
'--show-versions': localize('showVersions', "Show versions of installed extensions, when using --list-extension."),
|
||||
'--install-extension (<extension-id> | <extension-vsix-path>)': localize('installExtension', "Installs an extension."),
|
||||
'--uninstall-extension (<extension-id> | <extension-vsix-path>)': localize('uninstallExtension', "Uninstalls an extension."),
|
||||
'--enable-proposed-api <extension-id>': localize('experimentalApis', "Enables proposed api features for an extension."),
|
||||
'--disable-extensions': localize('disableExtensions', "Disable all installed extensions."),
|
||||
'--disable-gpu': localize('disableGPU', "Disable GPU hardware acceleration."),
|
||||
'--enable-proposed-api <extension-id>': localize('experimentalApis', "Enables proposed api features for an extension.")
|
||||
};
|
||||
|
||||
const troubleshootingHelp: { [name: string]: string; } = {
|
||||
'--verbose': localize('verbose', "Print verbose output (implies --wait)."),
|
||||
'--log <level>': localize('log', "Log level to use. Default is 'info'. Allowed values are 'critical', 'error', 'warn', 'info', 'debug', 'trace', 'off'."),
|
||||
'-s, --status': localize('status', "Print process usage and diagnostics information."),
|
||||
'-v, --version': localize('version', "Print version."),
|
||||
'-h, --help': localize('help', "Print usage.")
|
||||
'-p, --performance': localize('performance', "Start with the 'Developer: Startup Performance' command enabled."),
|
||||
'--prof-startup': localize('prof-startup', "Run CPU profiler during startup"),
|
||||
'--disable-extensions': localize('disableExtensions', "Disable all installed extensions."),
|
||||
'--inspect-extensions': localize('inspect-extensions', "Allow debugging and profiling of extensions. Check the developer tools for the connection uri."),
|
||||
'--inspect-brk-extensions': localize('inspect-brk-extensions', "Allow debugging and profiling of extensions with the extension host being paused after start. Check the developer tools for the connection uri."),
|
||||
'--disable-gpu': localize('disableGPU', "Disable GPU hardware acceleration."),
|
||||
'--upload-logs': localize('uploadLogs', "Uploads logs from current session to a secure endpoint."),
|
||||
'--max-memory': localize('maxMemory', "Max memory size for a window (in Mbytes).")
|
||||
};
|
||||
|
||||
export function formatOptions(options: { [name: string]: string; }, columns: number): string {
|
||||
@@ -201,5 +215,11 @@ ${ localize('usage', "Usage")}: ${executable} [${localize('options', "options")}
|
||||
${ isWindows ? localize('stdinWindows', "To read output from another program, append '-' (e.g. 'echo Hello World | {0} -')", product.applicationName) : localize('stdinUnix', "To read from stdin, append '-' (e.g. 'ps aux | grep code | {0} -')", product.applicationName)}
|
||||
|
||||
${ localize('optionsUpperCase', "Options")}:
|
||||
${formatOptions(optionsHelp, columns)}`;
|
||||
${formatOptions(optionsHelp, columns)}
|
||||
|
||||
${ localize('extensionsManagement', "Extensions Management")}:
|
||||
${formatOptions(extensionsHelp, columns)}
|
||||
|
||||
${ localize('troubleshooting', "Troubleshooting")}:
|
||||
${formatOptions(troubleshootingHelp, columns)}`;
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@ import URI from 'vs/base/common/uri';
|
||||
import { memoize } from 'vs/base/common/decorators';
|
||||
import pkg from 'vs/platform/node/package';
|
||||
import product from 'vs/platform/node/product';
|
||||
import { LogLevel } from 'vs/platform/log/common/log';
|
||||
import { toLocalISOString } from 'vs/base/common/date';
|
||||
import { isWindows, isLinux } from 'vs/base/common/platform';
|
||||
|
||||
// Read this before there's any chance it is overwritten
|
||||
// Related to https://github.com/Microsoft/vscode/issues/30624
|
||||
@@ -21,7 +21,8 @@ const xdgRuntimeDir = process.env['XDG_RUNTIME_DIR'];
|
||||
|
||||
function getNixIPCHandle(userDataPath: string, type: string): string {
|
||||
if (xdgRuntimeDir) {
|
||||
return path.join(xdgRuntimeDir, `${pkg.name}-${pkg.version}-${type}.sock`);
|
||||
const scope = crypto.createHash('md5').update(userDataPath).digest('hex').substr(0, 8);
|
||||
return path.join(xdgRuntimeDir, `vscode-${scope}-${pkg.version}-${type}.sock`);
|
||||
}
|
||||
|
||||
return path.join(userDataPath, `${pkg.version}-${type}.sock`);
|
||||
@@ -29,15 +30,44 @@ function getNixIPCHandle(userDataPath: string, type: string): string {
|
||||
|
||||
function getWin32IPCHandle(userDataPath: string, type: string): string {
|
||||
const scope = crypto.createHash('md5').update(userDataPath).digest('hex');
|
||||
|
||||
return `\\\\.\\pipe\\${scope}-${pkg.version}-${type}-sock`;
|
||||
}
|
||||
|
||||
function getIPCHandle(userDataPath: string, type: string): string {
|
||||
if (process.platform === 'win32') {
|
||||
if (isWindows) {
|
||||
return getWin32IPCHandle(userDataPath, type);
|
||||
} else {
|
||||
return getNixIPCHandle(userDataPath, type);
|
||||
}
|
||||
|
||||
return getNixIPCHandle(userDataPath, type);
|
||||
}
|
||||
|
||||
function getCLIPath(execPath: string, appRoot: string, isBuilt: boolean): string {
|
||||
|
||||
// Windows
|
||||
if (isWindows) {
|
||||
if (isBuilt) {
|
||||
return path.join(path.dirname(execPath), 'bin', `${product.applicationName}.cmd`);
|
||||
}
|
||||
|
||||
return path.join(appRoot, 'scripts', 'code-cli.bat');
|
||||
}
|
||||
|
||||
// Linux
|
||||
if (isLinux) {
|
||||
if (isBuilt) {
|
||||
return path.join(path.dirname(execPath), 'bin', `${product.applicationName}`);
|
||||
}
|
||||
|
||||
return path.join(appRoot, 'scripts', 'code-cli.sh');
|
||||
}
|
||||
|
||||
// macOS
|
||||
if (isBuilt) {
|
||||
return path.join(appRoot, 'bin', 'code');
|
||||
}
|
||||
|
||||
return path.join(appRoot, 'scripts', 'code-cli.sh');
|
||||
}
|
||||
|
||||
export class EnvironmentService implements IEnvironmentService {
|
||||
@@ -51,6 +81,9 @@ export class EnvironmentService implements IEnvironmentService {
|
||||
|
||||
get execPath(): string { return this._execPath; }
|
||||
|
||||
@memoize
|
||||
get cliPath(): string { return getCLIPath(this.execPath, this.appRoot, this.isBuilt); }
|
||||
|
||||
readonly logsPath: string;
|
||||
|
||||
@memoize
|
||||
@@ -106,6 +139,8 @@ export class EnvironmentService implements IEnvironmentService {
|
||||
|
||||
get skipGettingStarted(): boolean { return this._args['skip-getting-started']; }
|
||||
|
||||
get skipReleaseNotes(): boolean { return this._args['skip-release-notes']; }
|
||||
|
||||
get skipAddToRecentlyOpened(): boolean { return this._args['skip-add-to-recently-opened']; }
|
||||
|
||||
@memoize
|
||||
@@ -117,33 +152,6 @@ export class EnvironmentService implements IEnvironmentService {
|
||||
get isBuilt(): boolean { return !process.env['VSCODE_DEV']; }
|
||||
get verbose(): boolean { return this._args.verbose; }
|
||||
|
||||
@memoize
|
||||
get logLevel(): LogLevel {
|
||||
if (this.verbose) {
|
||||
return LogLevel.Trace;
|
||||
}
|
||||
if (typeof this._args.log === 'string') {
|
||||
const logLevel = this._args.log.toLowerCase();
|
||||
switch (logLevel) {
|
||||
case 'trace':
|
||||
return LogLevel.Trace;
|
||||
case 'debug':
|
||||
return LogLevel.Debug;
|
||||
case 'info':
|
||||
return LogLevel.Info;
|
||||
case 'warn':
|
||||
return LogLevel.Warning;
|
||||
case 'error':
|
||||
return LogLevel.Error;
|
||||
case 'critical':
|
||||
return LogLevel.Critical;
|
||||
case 'off':
|
||||
return LogLevel.Off;
|
||||
}
|
||||
}
|
||||
return LogLevel.Info;
|
||||
}
|
||||
|
||||
get wait(): boolean { return this._args.wait; }
|
||||
get logExtensionHostCommunication(): boolean { return this._args.logExtensionHostCommunication; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user