[tslint] apply radix and ordered-imports rules
diff --git a/src/debugAdapter/goDebug.ts b/src/debugAdapter/goDebug.ts
index db83fc7..0768f3e 100644
--- a/src/debugAdapter/goDebug.ts
+++ b/src/debugAdapter/goDebug.ts
@@ -3,17 +3,17 @@
  * Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------*/
 
-import * as path from 'path';
-import * as os from 'os';
+import { ChildProcess, execFile, execSync, spawn, spawnSync } from 'child_process';
 import * as fs from 'fs';
-import * as util from 'util';
-import { DebugProtocol } from 'vscode-debugprotocol';
-import { DebugSession, InitializedEvent, TerminatedEvent, ThreadEvent, StoppedEvent, OutputEvent, Thread, StackFrame, Scope, Source, Handles, LoggingDebugSession, Logger, logger, Breakpoint } from 'vscode-debugadapter';
 import { existsSync, lstatSync } from 'fs';
-import { basename, dirname, extname } from 'path';
-import { spawn, ChildProcess, execSync, spawnSync, execFile } from 'child_process';
 import { Client, RPCConnection } from 'json-rpc2';
-import { parseEnvFile, getBinPathWithPreferredGopath, getInferredGopath, getCurrentGoWorkspaceFromGOPATH, envPath, fixDriveCasingInWindows } from '../goPath';
+import * as os from 'os';
+import * as path from 'path';
+import { basename, dirname, extname } from 'path';
+import * as util from 'util';
+import { Breakpoint, DebugSession, Handles, InitializedEvent, logger, Logger, LoggingDebugSession, OutputEvent, Scope, Source, StackFrame, StoppedEvent, TerminatedEvent, Thread, ThreadEvent } from 'vscode-debugadapter';
+import { DebugProtocol } from 'vscode-debugprotocol';
+import { envPath, fixDriveCasingInWindows, getBinPathWithPreferredGopath, getCurrentGoWorkspaceFromGOPATH, getInferredGopath, parseEnvFile } from '../goPath';
 
 const fsAccess = util.promisify(fs.access);
 const fsUnlink = util.promisify(fs.unlink);
diff --git a/src/diffUtils.ts b/src/diffUtils.ts
index 6afc31f..3462813 100644
--- a/src/diffUtils.ts
+++ b/src/diffUtils.ts
@@ -3,9 +3,9 @@
  * Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------*/
 
+import jsDiff = require('diff');
 import { Position, Range, TextEdit, TextEditorEdit, Uri, WorkspaceEdit } from 'vscode';
 import { getBinPathFromEnvVar } from './goPath';
-import jsDiff = require('diff');
 
 let diffToolAvailable: boolean = null;
 
diff --git a/src/goBrowsePackage.ts b/src/goBrowsePackage.ts
index 8c14943..c0c89e7 100644
--- a/src/goBrowsePackage.ts
+++ b/src/goBrowsePackage.ts
@@ -5,9 +5,9 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import cp = require('child_process');
 import path = require('path');
+import vscode = require('vscode');
 import { getAllPackages } from './goPackages';
 import { envPath } from './goPath';
 import { getBinPath, getCurrentGoPath, getImportPath } from './util';
diff --git a/src/goCheck.ts b/src/goCheck.ts
index 9bbefce..ccd920a 100644
--- a/src/goCheck.ts
+++ b/src/goCheck.ts
@@ -5,8 +5,8 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import path = require('path');
+import vscode = require('vscode');
 import { goBuild } from './goBuild';
 import { parseLanguageServerConfig } from './goLanguageServer';
 import { goLint } from './goLint';
diff --git a/src/goCover.ts b/src/goCover.ts
index 69b6449..28bc822 100644
--- a/src/goCover.ts
+++ b/src/goCover.ts
@@ -5,10 +5,10 @@
 
 'use strict';
 
-import vscode = require('vscode');
-import path = require('path');
 import fs = require('fs');
+import path = require('path');
 import rl = require('readline');
+import vscode = require('vscode');
 import { isModSupported } from './goModules';
 import { getTestFlags, goTest, showTestOutput, TestConfig } from './testUtils';
 import { getGoConfig, getTempFilePath } from './util';
@@ -166,16 +166,16 @@
 				const coverage = getCoverageData(filePath);
 				const range = new vscode.Range(
 					// Start Line converted to zero based
-					parseInt(fileRange[2]) - 1,
+					parseInt(fileRange[2], 10) - 1,
 					// Start Column converted to zero based
-					parseInt(fileRange[3]) - 1,
+					parseInt(fileRange[3], 10) - 1,
 					// End Line converted to zero based
-					parseInt(fileRange[4]) - 1,
+					parseInt(fileRange[4], 10) - 1,
 					// End Column converted to zero based
-					parseInt(fileRange[5]) - 1
+					parseInt(fileRange[5], 10) - 1
 				);
 				// If is Covered (CoverCount > 0)
-				if (parseInt(fileRange[7]) > 0) {
+				if (parseInt(fileRange[7], 10) > 0) {
 					coverage.coveredRange.push(range);
 				}
 				// Not Covered
diff --git a/src/goDebugConfiguration.ts b/src/goDebugConfiguration.ts
index c4f6fb8..352cac2 100644
--- a/src/goDebugConfiguration.ts
+++ b/src/goDebugConfiguration.ts
@@ -5,13 +5,13 @@
 

 'use strict';

 

-import vscode = require('vscode');

 import path = require('path');

+import vscode = require('vscode');

 import { promptForMissingTool } from './goInstallTools';

-import { getFromGlobalState, updateGlobalState } from './stateUtils';

-import { getBinPath, getCurrentGoPath, getGoConfig, getToolsEnvVars } from './util';

 import { packagePathToGoModPathMap } from './goModules';

+import { getFromGlobalState, updateGlobalState } from './stateUtils';

 import { sendTelemetryEventForDebugConfiguration } from './telemetry';

+import { getBinPath, getCurrentGoPath, getGoConfig, getToolsEnvVars } from './util';

 

 export class GoDebugConfigurationProvider implements vscode.DebugConfigurationProvider {

 

diff --git a/src/goDeclaration.ts b/src/goDeclaration.ts
index 5b4471e..00ba352 100644
--- a/src/goDeclaration.ts
+++ b/src/goDeclaration.ts
@@ -5,9 +5,9 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import cp = require('child_process');
 import path = require('path');
+import vscode = require('vscode');
 import { promptForMissingTool, promptForUpdatingTool } from './goInstallTools';
 import { getModFolderPath, promptToUpdateToolForModules } from './goModules';
 import { byteOffsetAt, getBinPath, getFileArchive, getGoConfig, getModuleCache, getToolsEnvVars, getWorkspaceFolderPath, goKeywords, isPositionInString, killProcess, runGodoc } from './util';
diff --git a/src/goDoctor.ts b/src/goDoctor.ts
index 26466ae..18a7089 100644
--- a/src/goDoctor.ts
+++ b/src/goDoctor.ts
@@ -5,9 +5,9 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import cp = require('child_process');
 import { dirname, isAbsolute } from 'path';
+import vscode = require('vscode');
 import { promptForMissingTool } from './goInstallTools';
 import { getBinPath, getToolsEnvVars } from './util';
 
diff --git a/src/goFillStruct.ts b/src/goFillStruct.ts
index 1f7d28b..84d3b97 100644
--- a/src/goFillStruct.ts
+++ b/src/goFillStruct.ts
@@ -5,10 +5,10 @@
 
 'use strict';
 
+import cp = require('child_process');
 import vscode = require('vscode');
 import { promptForMissingTool } from './goInstallTools';
 import { byteOffsetAt, getBinPath, getFileArchive, getToolsEnvVars } from './util';
-import cp = require('child_process');
 
 // Interface for the output from fillstruct
 interface GoFillStructOutput {
diff --git a/src/goFormat.ts b/src/goFormat.ts
index c4e3197..b6b7a38 100644
--- a/src/goFormat.ts
+++ b/src/goFormat.ts
@@ -5,12 +5,12 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import cp = require('child_process');
 import path = require('path');
+import vscode = require('vscode');
 import { promptForMissingTool, promptForUpdatingTool } from './goInstallTools';
-import { getBinPath, getGoConfig, getToolsEnvVars, killTree } from './util';
 import { sendTelemetryEventForFormatting } from './telemetry';
+import { getBinPath, getGoConfig, getToolsEnvVars, killTree } from './util';
 
 export class GoDocumentFormattingEditProvider implements vscode.DocumentFormattingEditProvider {
 
diff --git a/src/goGetPackage.ts b/src/goGetPackage.ts
index 847c9f0..47978fb 100644
--- a/src/goGetPackage.ts
+++ b/src/goGetPackage.ts
@@ -5,8 +5,8 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import cp = require('child_process');
+import vscode = require('vscode');
 import { buildCode } from './goBuild';
 import { envPath } from './goPath';
 import { outputChannel } from './goStatus';
diff --git a/src/goImpl.ts b/src/goImpl.ts
index 14d2509..87e1023 100644
--- a/src/goImpl.ts
+++ b/src/goImpl.ts
@@ -5,9 +5,9 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import cp = require('child_process');
 import { dirname } from 'path';
+import vscode = require('vscode');
 import { promptForMissingTool } from './goInstallTools';
 import { getBinPath, getToolsEnvVars } from './util';
 
diff --git a/src/goImplementations.ts b/src/goImplementations.ts
index d0af43d..ed196be 100644
--- a/src/goImplementations.ts
+++ b/src/goImplementations.ts
@@ -5,9 +5,9 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import cp = require('child_process');
 import path = require('path');
+import vscode = require('vscode');
 import { promptForMissingTool } from './goInstallTools';
 import { envPath } from './goPath';
 import { byteOffsetAt, canonicalizeGOPATHPrefix, getBinPath, getGoConfig, getToolsEnvVars, getWorkspaceFolderPath, killTree } from './util';
diff --git a/src/goImport.ts b/src/goImport.ts
index f383611..7f35efa 100644
--- a/src/goImport.ts
+++ b/src/goImport.ts
@@ -5,14 +5,14 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import cp = require('child_process');
+import vscode = require('vscode');
 import { promptForMissingTool } from './goInstallTools';
 import { documentSymbols, GoOutlineImportsOptions } from './goOutline';
 import { getImportablePackages } from './goPackages';
 import { envPath } from './goPath';
-import { getBinPath, getImportPath, getToolsEnvVars, parseFilePrelude } from './util';
 import { sendTelemetryEventForAddImportCmd } from './telemetry';
+import { getBinPath, getImportPath, getToolsEnvVars, parseFilePrelude } from './util';
 
 const missingToolMsg = 'Missing tool: ';
 
diff --git a/src/goInstall.ts b/src/goInstall.ts
index 6c6bfc3..8645a60 100644
--- a/src/goInstall.ts
+++ b/src/goInstall.ts
@@ -3,13 +3,13 @@
  * Licensed under the MIT License. See License.txt in the project root for license information.

  *--------------------------------------------------------*/

 

+import cp = require('child_process');

 import path = require('path');

 import vscode = require('vscode');

 import { isModSupported } from './goModules';

 import { envPath, getCurrentGoWorkspaceFromGOPATH } from './goPath';

 import { outputChannel } from './goStatus';

 import { getBinPath, getCurrentGoPath, getGoConfig, getModuleCache, getToolsEnvVars } from './util';

-import cp = require('child_process');

 

 export async function installCurrentPackage(): Promise<void> {

 	const editor = vscode.window.activeTextEditor;

diff --git a/src/goInstallTools.ts b/src/goInstallTools.ts
index b089fca..114f95f 100644
--- a/src/goInstallTools.ts
+++ b/src/goInstallTools.ts
@@ -5,14 +5,14 @@
 
 'use strict';
 
-import vscode = require('vscode');
+import cp = require('child_process');
 import fs = require('fs');
 import path = require('path');
-import cp = require('child_process');
+import vscode = require('vscode');
 import { getLanguageServerToolPath } from './goLanguageServer';
 import { envPath, getToolFromToolPath } from './goPath';
 import { hideGoStatus, outputChannel, showGoStatus } from './goStatus';
-import { containsString, containsTool, getConfiguredTools, getImportPath, getTool, hasModSuffix, isGocode, Tool, disableModulesForWildcard } from './goTools';
+import { containsString, containsTool, disableModulesForWildcard, getConfiguredTools, getImportPath, getTool, hasModSuffix, isGocode, Tool } from './goTools';
 import { getBinPath, getCurrentGoPath, getGoConfig, getGoVersion, getTempFilePath, getToolsGopath, GoVersion, resolvePath } from './util';
 
 // declinedUpdates tracks the tools that the user has declined to update.
diff --git a/src/goLanguageServer.ts b/src/goLanguageServer.ts
index 08504e7..a4b1dd3 100644
--- a/src/goLanguageServer.ts
+++ b/src/goLanguageServer.ts
@@ -5,16 +5,16 @@
 
 'use strict';
 
-import moment = require('moment');
-import semver = require('semver');
-import vscode = require('vscode');
-import util = require('util');
-import WebRequest = require('web-request');
-import path = require('path');
 import cp = require('child_process');
-import { FormattingOptions, HandleDiagnosticsSignature, LanguageClient, ProvideCompletionItemsSignature, ProvideDefinitionSignature, ProvideDocumentFormattingEditsSignature, ProvideDocumentLinksSignature, ProvideDocumentSymbolsSignature, ProvideHoverSignature, ProvideReferencesSignature, ProvideRenameEditsSignature, ProvideSignatureHelpSignature, ProvideWorkspaceSymbolsSignature, RevealOutputChannelOn, ProvideDocumentHighlightsSignature } from 'vscode-languageclient';
+import moment = require('moment');
+import path = require('path');
+import semver = require('semver');
+import util = require('util');
+import vscode = require('vscode');
+import { FormattingOptions, HandleDiagnosticsSignature, LanguageClient, ProvideCompletionItemsSignature, ProvideDefinitionSignature, ProvideDocumentFormattingEditsSignature, ProvideDocumentHighlightsSignature, ProvideDocumentLinksSignature, ProvideDocumentSymbolsSignature, ProvideHoverSignature, ProvideReferencesSignature, ProvideRenameEditsSignature, ProvideSignatureHelpSignature, ProvideWorkspaceSymbolsSignature, RevealOutputChannelOn } from 'vscode-languageclient';
 import { ProvideImplementationSignature } from 'vscode-languageclient/lib/implementation';
 import { ProvideTypeDefinitionSignature } from 'vscode-languageclient/lib/typeDefinition';
+import WebRequest = require('web-request');
 import { GoDefinitionProvider } from './goDeclaration';
 import { GoHoverProvider } from './goExtraInfo';
 import { GoDocumentFormattingEditProvider } from './goFormat';
diff --git a/src/goLiveErrors.ts b/src/goLiveErrors.ts
index 3909c0a..a6d2cac 100644
--- a/src/goLiveErrors.ts
+++ b/src/goLiveErrors.ts
@@ -5,13 +5,13 @@
 
 'use strict';
 
+import cp = require('child_process');
+import path = require('path');
 import vscode = require('vscode');
 import { promptForMissingTool } from './goInstallTools';
 import { buildDiagnosticCollection } from './goMain';
 import { isModSupported } from './goModules';
 import { getBinPath, getGoConfig, getToolsEnvVars } from './util';
-import cp = require('child_process');
-import path = require('path');
 
 // Interface for settings configuration for adding and removing tags
 interface GoLiveErrorsConfig {
diff --git a/src/goMain.ts b/src/goMain.ts
index 2493ec8..0712741 100644
--- a/src/goMain.ts
+++ b/src/goMain.ts
@@ -32,10 +32,10 @@
 import { showHideStatus } from './goStatus';
 import { testAtCursor, testCurrentFile, testCurrentPackage, testPrevious, testWorkspace } from './goTest';
 import { vetCode } from './goVet';
-import { setGlobalState, getFromGlobalState, updateGlobalState } from './stateUtils';
-import { cancelRunningTests, showTestOutput } from './testUtils';
-import { cleanupTempDir, getBinPath, getGoConfig, getCurrentGoPath, getExtensionCommands, getGoVersion, getToolsEnvVars, getToolsGopath, getWorkspaceFolderPath, handleDiagnosticErrors, isGoPathSet } from './util';
+import { getFromGlobalState, setGlobalState, updateGlobalState } from './stateUtils';
 import { disposeTelemetryReporter, sendTelemetryEventForConfig } from './telemetry';
+import { cancelRunningTests, showTestOutput } from './testUtils';
+import { cleanupTempDir, getBinPath, getCurrentGoPath, getExtensionCommands, getGoConfig, getGoVersion, getToolsEnvVars, getToolsGopath, getWorkspaceFolderPath, handleDiagnosticErrors, isGoPathSet } from './util';
 
 export let buildDiagnosticCollection: vscode.DiagnosticCollection;
 export let lintDiagnosticCollection: vscode.DiagnosticCollection;
diff --git a/src/goModifytags.ts b/src/goModifytags.ts
index 3065725..371de7e 100644
--- a/src/goModifytags.ts
+++ b/src/goModifytags.ts
@@ -5,10 +5,10 @@
 
 'use strict';
 
+import cp = require('child_process');
 import vscode = require('vscode');
 import { promptForMissingTool } from './goInstallTools';
-import { byteOffsetAt, getBinPath, getGoConfig, getFileArchive, getToolsEnvVars } from './util';
-import cp = require('child_process');
+import { byteOffsetAt, getBinPath, getFileArchive, getGoConfig, getToolsEnvVars } from './util';
 
 // Interface for the output from gomodifytags
 interface GomodifytagsOutput {
diff --git a/src/goModules.ts b/src/goModules.ts
index 5366663..76fa93f 100644
--- a/src/goModules.ts
+++ b/src/goModules.ts
@@ -3,15 +3,15 @@
  * Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------*/
 
+import cp = require('child_process');
+import path = require('path');
+import vscode = require('vscode');
 import { installTools } from './goInstallTools';
 import { envPath, fixDriveCasingInWindows } from './goPath';
 import { getTool } from './goTools';
 import { getFromGlobalState, updateGlobalState } from './stateUtils';
-import { getBinPath, getGoConfig, getGoVersion, getModuleCache, getToolsEnvVars } from './util';
-import path = require('path');
-import cp = require('child_process');
-import vscode = require('vscode');
 import { sendTelemetryEventForModulesUsage } from './telemetry';
+import { getBinPath, getGoConfig, getGoVersion, getModuleCache, getToolsEnvVars } from './util';
 
 export let GO111MODULE: string;
 
diff --git a/src/goOutline.ts b/src/goOutline.ts
index f9e1c2b..51db7b5 100644
--- a/src/goOutline.ts
+++ b/src/goOutline.ts
@@ -5,10 +5,10 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import cp = require('child_process');
+import vscode = require('vscode');
 import { promptForMissingTool, promptForUpdatingTool } from './goInstallTools';
-import { getBinPath, getGoConfig, getFileArchive, getToolsEnvVars, killProcess, makeMemoizedByteOffsetConverter } from './util';
+import { getBinPath, getFileArchive, getGoConfig, getToolsEnvVars, killProcess, makeMemoizedByteOffsetConverter } from './util';
 
 // Keep in sync with https://github.com/ramya-rao-a/go-outline
 export interface GoOutlineRange {
diff --git a/src/goPackages.ts b/src/goPackages.ts
index 901a4ee..7175b7d 100644
--- a/src/goPackages.ts
+++ b/src/goPackages.ts
@@ -3,13 +3,13 @@
  * Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------*/
 
-import vscode = require('vscode');
 import cp = require('child_process');
 import path = require('path');
+import vscode = require('vscode');
 import { promptForMissingTool, promptForUpdatingTool } from './goInstallTools';
 import { envPath, fixDriveCasingInWindows, getCurrentGoWorkspaceFromGOPATH } from './goPath';
-import { getBinPath, getCurrentGoPath, getGoVersion, getToolsEnvVars, isVendorSupported } from './util';
 import { sendTelemetryEventForGopkgs } from './telemetry';
+import { getBinPath, getCurrentGoPath, getGoVersion, getToolsEnvVars, isVendorSupported } from './util';
 
 type GopkgsDone = (res: Map<string, PackageInfo>) => void;
 interface Cache {
diff --git a/src/goPath.ts b/src/goPath.ts
index 2e57505..24a289f 100644
--- a/src/goPath.ts
+++ b/src/goPath.ts
@@ -9,8 +9,8 @@
  * This file is loaded by both the extension and debug adapter, so it cannot import 'vscode'
  */
 import fs = require('fs');
-import path = require('path');
 import os = require('os');
+import path = require('path');
 
 let binPathCache: { [bin: string]: string; } = {};
 
diff --git a/src/goPlayground.ts b/src/goPlayground.ts
index 04ca12c..dd03189 100644
--- a/src/goPlayground.ts
+++ b/src/goPlayground.ts
@@ -3,9 +3,9 @@
  * Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------*/
 
-import vscode = require('vscode');
 import { execFile } from 'child_process';
 import * as path from 'path';
+import vscode = require('vscode');
 import { promptForMissingTool } from './goInstallTools';
 import { outputChannel } from './goStatus';
 import { getBinPath, getGoConfig } from './util';
diff --git a/src/goReferences.ts b/src/goReferences.ts
index 0b96f57..1108abe 100644
--- a/src/goReferences.ts
+++ b/src/goReferences.ts
@@ -5,11 +5,11 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import cp = require('child_process');
 import path = require('path');
+import vscode = require('vscode');
 import { promptForMissingTool } from './goInstallTools';
-import { byteOffsetAt, canonicalizeGOPATHPrefix, getBinPath, getGoConfig, getFileArchive, getToolsEnvVars, killTree } from './util';
+import { byteOffsetAt, canonicalizeGOPATHPrefix, getBinPath, getFileArchive, getGoConfig, getToolsEnvVars, killTree } from './util';
 
 export class GoReferenceProvider implements vscode.ReferenceProvider {
 
diff --git a/src/goReferencesCodelens.ts b/src/goReferencesCodelens.ts
index 68f1989..43ef921 100644
--- a/src/goReferencesCodelens.ts
+++ b/src/goReferencesCodelens.ts
@@ -5,8 +5,8 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import { isAbsolute } from 'path';
+import vscode = require('vscode');
 import { CancellationToken, CodeLens, Range, TextDocument } from 'vscode';
 import { GoBaseCodeLensProvider } from './goBaseCodelens';
 import { GoDocumentSymbolProvider } from './goOutline';
diff --git a/src/goRename.ts b/src/goRename.ts
index af6e1fe..cac7aa7 100644
--- a/src/goRename.ts
+++ b/src/goRename.ts
@@ -5,8 +5,8 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import cp = require('child_process');
+import vscode = require('vscode');
 import { Edit, FilePatch, getEditsFromUnifiedDiffStr, isDiffToolAvailable } from './diffUtils';
 import { promptForMissingTool } from './goInstallTools';
 import { outputChannel } from './goStatus';
diff --git a/src/goStatus.ts b/src/goStatus.ts
index 645ceef..3d4c0fe 100644
--- a/src/goStatus.ts
+++ b/src/goStatus.ts
@@ -5,9 +5,9 @@
 
 'use strict';
 
+import vscode = require('vscode');
 import { GO_MODE } from './goMode';
 import { isModSupported } from './goModules';
-import vscode = require('vscode');
 
 export let outputChannel = vscode.window.createOutputChannel('Go');
 
diff --git a/src/goSuggest.ts b/src/goSuggest.ts
index fd3c804..ec79ff0 100644
--- a/src/goSuggest.ts
+++ b/src/goSuggest.ts
@@ -5,9 +5,9 @@
 
 'use strict';
 
+import cp = require('child_process');
 import path = require('path');
 import vscode = require('vscode');
-import cp = require('child_process');
 import { getTextEditForAddImport } from './goImport';
 import { promptForMissingTool, promptForUpdatingTool } from './goInstallTools';
 import { isModSupported } from './goModules';
diff --git a/src/goSymbol.ts b/src/goSymbol.ts
index 62288c7..9229c50 100644
--- a/src/goSymbol.ts
+++ b/src/goSymbol.ts
@@ -5,8 +5,8 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import cp = require('child_process');
+import vscode = require('vscode');
 import { promptForMissingTool, promptForUpdatingTool } from './goInstallTools';
 import { getBinPath, getGoConfig, getToolsEnvVars, getWorkspaceFolderPath, killProcess } from './util';
 
diff --git a/src/goTest.ts b/src/goTest.ts
index c0dd3b3..43ac695 100644
--- a/src/goTest.ts
+++ b/src/goTest.ts
@@ -8,7 +8,7 @@
 import vscode = require('vscode');
 import { applyCodeCoverageToAllEditors } from './goCover';
 import { isModSupported } from './goModules';
-import { extractInstanceTestName, findAllTestSuiteRuns, getBenchmarkFunctions, getTestFlags, getTestFunctionDebugArgs, getTestFunctions, goTest, TestConfig, getTestTags } from './testUtils';
+import { extractInstanceTestName, findAllTestSuiteRuns, getBenchmarkFunctions, getTestFlags, getTestFunctionDebugArgs, getTestFunctions, getTestTags, goTest, TestConfig } from './testUtils';
 import { getTempFilePath } from './util';
 
 // lastTestConfig holds a reference to the last executed TestConfig which allows
diff --git a/src/goTypeDefinition.ts b/src/goTypeDefinition.ts
index 2843932..54a3783 100644
--- a/src/goTypeDefinition.ts
+++ b/src/goTypeDefinition.ts
@@ -5,12 +5,12 @@
 
 'use strict';
 
-import vscode = require('vscode');
 import cp = require('child_process');
 import path = require('path');
+import vscode = require('vscode');
 import { adjustWordPosition, definitionLocation, parseMissingError } from './goDeclaration';
 import { promptForMissingTool } from './goInstallTools';
-import { byteOffsetAt, canonicalizeGOPATHPrefix, getBinPath, getGoConfig, getFileArchive, getToolsEnvVars, goBuiltinTypes, killTree } from './util';
+import { byteOffsetAt, canonicalizeGOPATHPrefix, getBinPath, getFileArchive, getGoConfig, getToolsEnvVars, goBuiltinTypes, killTree } from './util';
 
 interface GuruDescribeOutput {
 	desc: string;
@@ -100,7 +100,7 @@
 						}
 						const [_, file, line, col] = match;
 						const referenceResource = vscode.Uri.file(file);
-						const pos = new vscode.Position(parseInt(line) - 1, parseInt(col) - 1);
+						const pos = new vscode.Position(parseInt(line, 10) - 1, parseInt(col, 10) - 1);
 						results.push(new vscode.Location(referenceResource, pos));
 					});
 
diff --git a/src/testUtils.ts b/src/testUtils.ts
index ddb4181..5d5a476 100644
--- a/src/testUtils.ts
+++ b/src/testUtils.ts
@@ -7,12 +7,12 @@
 import util = require('util');
 import vscode = require('vscode');
 
+import { applyCodeCoverageToAllEditors } from './goCover';
 import { getCurrentPackage } from './goModules';
 import { GoDocumentSymbolProvider } from './goOutline';
 import { getNonVendorPackages } from './goPackages';
 import { envPath, getCurrentGoWorkspaceFromGOPATH, parseEnvFile } from './goPath';
-import { getBinPath, getCurrentGoPath, getGoVersion, getToolsEnvVars, LineBuffer, resolvePath, getTempFilePath } from './util';
-import { applyCodeCoverageToAllEditors } from './goCover';
+import { getBinPath, getCurrentGoPath, getGoVersion, getTempFilePath, getToolsEnvVars, LineBuffer, resolvePath } from './util';
 
 const sendSignal = 'SIGKILL';
 const outputChannel = vscode.window.createOutputChannel('Go Tests');
diff --git a/src/util.ts b/src/util.ts
index 9bfe8ff..423be0e 100644
--- a/src/util.ts
+++ b/src/util.ts
@@ -3,18 +3,18 @@
  * Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------*/
 
-import vscode = require('vscode');
-import semver = require('semver');
+import cp = require('child_process');
+import fs = require('fs');
+import os = require('os');
 import path = require('path');
+import semver = require('semver');
+import vscode = require('vscode');
 import { NearestNeighborDict, Node } from './avlTree';
 import { buildDiagnosticCollection, lintDiagnosticCollection, vetDiagnosticCollection } from './goMain';
 import { getCurrentPackage } from './goModules';
 import { envPath, fixDriveCasingInWindows, getBinPathWithPreferredGopath, getInferredGopath, resolveHomeDir } from './goPath';
 import { outputChannel } from './goStatus';
-import cp = require('child_process');
-import fs = require('fs');
-import os = require('os');
-import { sendTelemetryEventForGoVersion, sendTelemetryEventForKillingProcess, extensionId } from './telemetry';
+import { extensionId, sendTelemetryEventForGoVersion, sendTelemetryEventForKillingProcess } from './telemetry';
 
 let userNameHash: number = 0;
 
diff --git a/test/integration/extension.test.ts b/test/integration/extension.test.ts
index 1c36c5c..831696d 100644
--- a/test/integration/extension.test.ts
+++ b/test/integration/extension.test.ts
@@ -4,6 +4,7 @@
  *--------------------------------------------------------*/
 
 import * as assert from 'assert';
+import cp = require('child_process');
 import * as fs from 'fs-extra';
 import * as path from 'path';
 import * as vscode from 'vscode';
@@ -22,7 +23,6 @@
 import { getWorkspaceSymbols } from '../../src/goSymbol';
 import { testCurrentFile } from '../../src/goTest';
 import { getBinPath, getCurrentGoPath, getGoVersion, getImportPath, getToolsGopath, ICheckResult, isVendorSupported } from '../../src/util';
-import cp = require('child_process');
 
 suite('Go Extension Tests', () => {
 	const gopath = getCurrentGoPath();
diff --git a/test/integration/index.ts b/test/integration/index.ts
index dea0a24..155cbb8 100644
--- a/test/integration/index.ts
+++ b/test/integration/index.ts
@@ -2,9 +2,9 @@
  * Copyright (C) Microsoft Corporation. All rights reserved.
  * Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------*/
-import * as path from 'path';
-import * as Mocha from 'mocha';
 import * as glob from 'glob';
+import * as Mocha from 'mocha';
+import * as path from 'path';
 export function run(): Promise<void> {
 	// Create the mocha test
 	const mocha = new Mocha({
diff --git a/test/unit/NNDict.test.ts b/test/unit/NNDict.test.ts
index 41de6cb..6ef49a7 100644
--- a/test/unit/NNDict.test.ts
+++ b/test/unit/NNDict.test.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------*/
 
 import * as assert from 'assert';
-import { Node, NearestNeighborDict } from '../../src/avlTree';
+import { NearestNeighborDict, Node } from '../../src/avlTree';
 
 suite('NearestNeighborDict Tests', () => {
 	test('basic insert/get: random', () => {
diff --git a/tslint.json b/tslint.json
index 5250e25..2a846de 100644
--- a/tslint.json
+++ b/tslint.json
@@ -107,20 +107,20 @@
 		// "only-arrow-functions": {
 		// 	"options": ["allow-declarations", "allow-named-functions"]
 		// },
-		// "ordered-imports": {
-		// 	"options": {
-		// 		"import-sources-order": "case-insensitive",
-		// 		"module-source-path": "full",
-		// 		"named-imports-order": "case-insensitive"
-		// 	}
-		// },
+		"ordered-imports": {
+			"options": {
+				"import-sources-order": "case-insensitive",
+				"module-source-path": "full",
+				"named-imports-order": "case-insensitive"
+			}
+		},
 		"prefer-const": true,
 		"prefer-for-of": true,
 		"quotemark": [
 			true,
 			"single"
 		],
-		// "radix": true,
+		"radix": true,
 		"semicolon": true,
 		"space-before-function-paren": {
 			"options": {