diff --git a/src/vs/base/common/actions.ts b/src/vs/base/common/actions.ts index b0e1b6f161e3f..e6e769ea89795 100644 --- a/src/vs/base/common/actions.ts +++ b/src/vs/base/common/actions.ts @@ -64,11 +64,11 @@ export class Action extends Disposable implements IAction { protected readonly _id: string; protected _label: string; - protected _tooltip: string; + protected _tooltip: string | undefined; protected _cssClass: string | undefined; - protected _enabled: boolean; - protected _checked: boolean; - protected _radio: boolean; + protected _enabled: boolean = true; + protected _checked: boolean = false; + protected _radio: boolean = false; protected readonly _actionCallback?: (event?: any) => Promise; constructor(id: string, label: string = '', cssClass: string = '', enabled: boolean = true, actionCallback?: (event?: any) => Promise) { @@ -100,7 +100,7 @@ export class Action extends Disposable implements IAction { } get tooltip(): string { - return this._tooltip; + return this._tooltip || ''; } set tooltip(value: string) { diff --git a/src/vs/editor/contrib/snippet/snippetParser.ts b/src/vs/editor/contrib/snippet/snippetParser.ts index 69b0f621302ed..c4b568d38fd91 100644 --- a/src/vs/editor/contrib/snippet/snippetParser.ts +++ b/src/vs/editor/contrib/snippet/snippetParser.ts @@ -131,7 +131,7 @@ export abstract class Marker { readonly _markerBrand: any; - public parent: Marker; + public parent!: Marker; protected _children: Marker[] = []; appendChild(child: Marker): this { @@ -215,7 +215,7 @@ export class Text extends Marker { } export abstract class TransformableMarker extends Marker { - public transform: Transform; + public transform?: Transform; } export class Placeholder extends TransformableMarker { @@ -310,7 +310,7 @@ export class Choice extends Marker { export class Transform extends Marker { - regexp: RegExp; + regexp: RegExp = new RegExp(''); resolve(value: string): string { const _this = this; @@ -586,8 +586,8 @@ export class SnippetParser { return value.replace(/\$|}|\\/g, '\\$&'); } - private _scanner = new Scanner(); - private _token: Token; + private _scanner: Scanner = new Scanner(); + private _token: Token = { type: TokenType.EOF, pos: 0, len: 0 }; text(value: string): string { return this.parse(value).toString(); diff --git a/src/vs/editor/contrib/snippet/test/snippetParser.test.ts b/src/vs/editor/contrib/snippet/test/snippetParser.test.ts index 60bcebba8b086..165be28f1c7f6 100644 --- a/src/vs/editor/contrib/snippet/test/snippetParser.test.ts +++ b/src/vs/editor/contrib/snippet/test/snippetParser.test.ts @@ -418,7 +418,7 @@ suite('SnippetParser', () => { assert.ok(children[3] instanceof Placeholder); assert.equal(children[3].children.length, 0); assert.notEqual((children[3]).transform, undefined); - let transform = (children[3]).transform; + let transform = (children[3]).transform!; assert.equal(transform.regexp, '/\\s:=(.*)/'); assert.equal(transform.children.length, 2); assert.ok(transform.children[0] instanceof FormatString); diff --git a/src/vs/editor/contrib/suggest/completionModel.ts b/src/vs/editor/contrib/suggest/completionModel.ts index 29673ee647396..9a806ddf3dee0 100644 --- a/src/vs/editor/contrib/suggest/completionModel.ts +++ b/src/vs/editor/contrib/suggest/completionModel.ts @@ -29,8 +29,10 @@ export interface ICompletionStats { } export class LineContext { - leadingLineContent: string; - characterCountDelta: number; + constructor( + readonly leadingLineContent: string, + readonly characterCountDelta: number, + ) { } } const enum Refilter { @@ -49,9 +51,9 @@ export class CompletionModel { private _lineContext: LineContext; private _refilterKind: Refilter; - private _filteredItems: StrictCompletionItem[]; - private _isIncomplete: Set; - private _stats: ICompletionStats; + private _filteredItems?: StrictCompletionItem[]; + private _isIncomplete?: Set; + private _stats?: ICompletionStats; constructor( items: CompletionItem[], @@ -89,12 +91,12 @@ export class CompletionModel { get items(): CompletionItem[] { this._ensureCachedState(); - return this._filteredItems; + return this._filteredItems!; } get incomplete(): Set { this._ensureCachedState(); - return this._isIncomplete; + return this._isIncomplete!; } adopt(except: Set): CompletionItem[] { @@ -117,7 +119,7 @@ export class CompletionModel { get stats(): ICompletionStats { this._ensureCachedState(); - return this._stats; + return this._stats!; } private _ensureCachedState(): void { @@ -136,7 +138,7 @@ export class CompletionModel { let wordLow = ''; // incrementally filter less - const source = this._refilterKind === Refilter.All ? this._items : this._filteredItems; + const source = this._refilterKind === Refilter.All ? this._items : this._filteredItems!; const target: StrictCompletionItem[] = []; // picks a score function based on the number of diff --git a/src/vs/workbench/api/common/extHostApiCommands.ts b/src/vs/workbench/api/common/extHostApiCommands.ts index f6aa2e727a447..bafedf3145460 100644 --- a/src/vs/workbench/api/common/extHostApiCommands.ts +++ b/src/vs/workbench/api/common/extHostApiCommands.ts @@ -470,11 +470,11 @@ export class ExtHostApiCommands { return res; } - detail: string; - range: vscode.Range; - selectionRange: vscode.Range; - children: vscode.DocumentSymbol[]; - containerName: string; + detail!: string; + range!: vscode.Range; + selectionRange!: vscode.Range; + children!: vscode.DocumentSymbol[]; + containerName!: string; } return value.map(MergedInfo.to); }); diff --git a/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.ts b/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.ts index 677ee37a697f2..3679e6568093b 100644 --- a/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.ts +++ b/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.ts @@ -91,15 +91,15 @@ class LayoutInfo { export class CallHierarchyTreePeekWidget extends PeekViewWidget { - private _changeDirectionAction: ChangeHierarchyDirectionAction; - private _parent: HTMLElement; - private _message: HTMLElement; - private _splitView: SplitView; - private _tree: WorkbenchAsyncDataTree; + private _changeDirectionAction?: ChangeHierarchyDirectionAction; + private _parent!: HTMLElement; + private _message!: HTMLElement; + private _splitView!: SplitView; + private _tree!: WorkbenchAsyncDataTree; private _treeViewStates = new Map(); - private _editor: EmbeddedCodeEditorWidget; - private _dim: Dimension; - private _layoutInfo: LayoutInfo; + private _editor!: EmbeddedCodeEditorWidget; + private _dim!: Dimension; + private _layoutInfo!: LayoutInfo; constructor( editor: ICodeEditor, diff --git a/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.ts b/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.ts index 5bc78e806fa3f..becdc2dc3ed2b 100644 --- a/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.ts +++ b/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.ts @@ -58,7 +58,9 @@ export class IdentityProvider implements IIdentityProvider { } class CallRenderingTemplate { - readonly iconLabel: IconLabel; + constructor( + readonly iconLabel: IconLabel + ) { } } export class CallRenderer implements ITreeRenderer { @@ -69,7 +71,7 @@ export class CallRenderer implements ITreeRenderer, _index: number, template: CallRenderingTemplate): void { diff --git a/src/vs/workbench/services/extensions/electron-browser/extensionHost.ts b/src/vs/workbench/services/extensions/electron-browser/extensionHost.ts index 8e923aea1cb0d..0ed2188509d16 100644 --- a/src/vs/workbench/services/extensions/electron-browser/extensionHost.ts +++ b/src/vs/workbench/services/extensions/electron-browser/extensionHost.ts @@ -87,6 +87,7 @@ export class ExtensionHostProcessWorker implements IExtensionHostStarter { this._terminating = false; this._namedPipeServer = null; + this._inspectPort = null; this._extensionHostProcess = null; this._extensionHostConnection = null; this._messageProtocol = null;