diff --git a/src/blameActiveLineController.ts b/src/blameActiveLineController.ts index 658de2a..8f1c926 100644 --- a/src/blameActiveLineController.ts +++ b/src/blameActiveLineController.ts @@ -5,7 +5,7 @@ import { BlameAnnotationController } from './blameAnnotationController'; import { BlameAnnotationFormat, BlameAnnotationFormatter } from './blameAnnotationFormatter'; import { TextEditorComparer } from './comparers'; import { IBlameConfig, IConfig, StatusBarCommand } from './configuration'; -import { DocumentSchemes } from './constants'; +import { DocumentSchemes, ExtensionKey } from './constants'; import { BlameabilityChangeEvent, GitCommit, GitContextTracker, GitService, GitUri, IGitBlame, IGitCommitLine } from './gitService'; import * as moment from 'moment'; @@ -54,7 +54,7 @@ export class BlameActiveLineController extends Disposable { } private _onConfigurationChanged() { - const config = workspace.getConfiguration('').get('gitlens'); + const config = workspace.getConfiguration().get(ExtensionKey); let changed: boolean = false; diff --git a/src/blameAnnotationController.ts b/src/blameAnnotationController.ts index 46c359f..e6f376c 100644 --- a/src/blameAnnotationController.ts +++ b/src/blameAnnotationController.ts @@ -4,6 +4,7 @@ import { DecorationRenderOptions, Disposable, Event, EventEmitter, ExtensionCont import { BlameAnnotationProvider } from './blameAnnotationProvider'; import { TextDocumentComparer, TextEditorComparer } from './comparers'; import { IBlameConfig } from './configuration'; +import { ExtensionKey } from './constants'; import { BlameabilityChangeEvent, GitService, GitUri, GitContextTracker } from './gitService'; import { Logger } from './logger'; import { WhitespaceController } from './whitespaceController'; @@ -57,7 +58,7 @@ export class BlameAnnotationController extends Disposable { } private _onConfigurationChanged() { - let toggleWhitespace = workspace.getConfiguration('gitlens.advanced.toggleWhitespace').get('enabled'); + let toggleWhitespace = workspace.getConfiguration(`${ExtensionKey}.advanced.toggleWhitespace`).get('enabled'); if (!toggleWhitespace) { // Until https://github.com/Microsoft/vscode/issues/11485 is fixed we need to toggle whitespace for non-monospace fonts and ligatures // TODO: detect monospace font @@ -72,7 +73,7 @@ export class BlameAnnotationController extends Disposable { this._whitespaceController = undefined; } - const config = workspace.getConfiguration('gitlens').get('blame'); + const config = workspace.getConfiguration(ExtensionKey).get('blame'); if (config.annotation.highlight !== (this._config && this._config.annotation.highlight)) { BlameDecorations.highlight && BlameDecorations.highlight.dispose(); diff --git a/src/blameAnnotationProvider.ts b/src/blameAnnotationProvider.ts index 590009c..552444f 100644 --- a/src/blameAnnotationProvider.ts +++ b/src/blameAnnotationProvider.ts @@ -5,6 +5,7 @@ import { BlameAnnotationFormat, BlameAnnotationFormatter, defaultAuthorLength } import { BlameDecorations } from './blameAnnotationController'; import { TextDocumentComparer } from './comparers'; import { BlameAnnotationStyle, IBlameConfig } from './configuration'; +import { ExtensionKey } from './constants'; import { GitService, GitUri, IGitBlame } from './gitService'; import { WhitespaceController } from './whitespaceController'; @@ -23,7 +24,7 @@ export class BlameAnnotationProvider extends Disposable { this._blame = this.git.getBlameForFile(this.uri); - this._config = workspace.getConfiguration('gitlens').get('blame'); + this._config = workspace.getConfiguration(ExtensionKey).get('blame'); const subscriptions: Disposable[] = []; diff --git a/src/commands/keyboard.ts b/src/commands/keyboard.ts index 09f4c14..9906447 100644 --- a/src/commands/keyboard.ts +++ b/src/commands/keyboard.ts @@ -1,6 +1,7 @@ 'use strict'; import { commands, Disposable, QuickPickItem } from 'vscode'; import { CommandContext, setCommandContext } from './common'; +import { ExtensionKey } from '../constants'; import { CommandQuickPickItem, OpenFileCommandQuickPickItem } from '../quickPicks'; import { Logger } from '../logger'; @@ -95,7 +96,7 @@ export class Keyboard extends Disposable { const subscriptions: Disposable[] = []; for (const key of keys) { - subscriptions.push(commands.registerCommand(`gitlens.key.${key}`, () => this.execute(key), this)); + subscriptions.push(commands.registerCommand(`${ExtensionKey}.key.${key}`, () => this.execute(key), this)); } this._disposable = Disposable.from(...subscriptions); diff --git a/src/constants.ts b/src/constants.ts index 851c486..4f69aa4 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -1,6 +1,10 @@ 'use strict'; -export const RepoPath = 'repoPath'; +export const ExtensionId = 'gitlens'; +export const ExtensionKey = ExtensionId; +export const QualifiedExtensionId = `eamodio.${ExtensionId}`; + +export const ApplicationInsightsKey = 'a9c302f8-6483-4d01-b92c-c159c799c679'; export type BuiltInCommands = 'cursorMove' | 'editor.action.showReferences' | 'editor.action.toggleRenderWhitespace' | 'editorScroll' | 'revealLine' | 'setContext' | 'vscode.diff' | 'vscode.executeDocumentSymbolProvider' | 'vscode.executeCodeLensProvider' | 'vscode.open' | 'vscode.previewHtml' | 'workbench.action.closeActiveEditor' | 'workbench.action.nextEditor'; export const BuiltInCommands = { @@ -31,7 +35,4 @@ export const WorkspaceState = { GitLensVersion: 'gitlensVersion' as WorkspaceState, SuppressGitVersionWarning: 'suppressGitVersionWarning' as WorkspaceState, SuppressUpdateNotice: 'suppressUpdateNotice' as WorkspaceState -}; - -export const ExtensionId = 'eamodio.gitlens'; -export const ApplicationInsightsKey = 'a9c302f8-6483-4d01-b92c-c159c799c679'; \ No newline at end of file +}; \ No newline at end of file diff --git a/src/extension.ts b/src/extension.ts index c1100ba..d4e4dff 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -18,7 +18,7 @@ import { StashApplyCommand, StashDeleteCommand, StashSaveCommand } from './comma import { ToggleCodeLensCommand } from './commands'; import { Keyboard } from './commands'; import { IConfig } from './configuration'; -import { ApplicationInsightsKey, BuiltInCommands, ExtensionId, WorkspaceState } from './constants'; +import { ApplicationInsightsKey, BuiltInCommands, ExtensionKey, QualifiedExtensionId, WorkspaceState } from './constants'; import { GitContentProvider } from './gitContentProvider'; import { GitContextTracker, GitService } from './gitService'; import { GitRevisionCodeLensProvider } from './gitRevisionCodeLensProvider'; @@ -30,13 +30,13 @@ export async function activate(context: ExtensionContext) { Logger.configure(context); Telemetry.configure(ApplicationInsightsKey); - const gitlens = extensions.getExtension(ExtensionId); + const gitlens = extensions.getExtension(QualifiedExtensionId); const gitlensVersion = gitlens.packageJSON.version; const rootPath = workspace.rootPath && workspace.rootPath.replace(/\\/g, '/'); Logger.log(`GitLens(v${gitlensVersion}) active: ${rootPath}`); - const config = workspace.getConfiguration('').get('gitlens'); + const config = workspace.getConfiguration().get(ExtensionKey); const gitPath = config.advanced.git; try { diff --git a/src/gitCodeLensProvider.ts b/src/gitCodeLensProvider.ts index ac5b4f6..f4da852 100644 --- a/src/gitCodeLensProvider.ts +++ b/src/gitCodeLensProvider.ts @@ -2,7 +2,7 @@ import { Functions, Iterables, Strings } from './system'; import { CancellationToken, CodeLens, CodeLensProvider, commands, DocumentSelector, Event, EventEmitter, ExtensionContext, Position, Range, SymbolInformation, SymbolKind, TextDocument, Uri, workspace } from 'vscode'; import { Commands } from './commands'; -import { BuiltInCommands, DocumentSchemes } from './constants'; +import { BuiltInCommands, DocumentSchemes, ExtensionKey } from './constants'; import { CodeLensCommand, CodeLensLocation, IConfig, ICodeLensLanguageLocation } from './configuration'; import { GitCommit, GitService, GitUri, IGitBlame, IGitBlameLines } from './gitService'; import { Logger } from './logger'; @@ -43,11 +43,11 @@ export class GitCodeLensProvider implements CodeLensProvider { private _documentIsDirty: boolean; constructor(context: ExtensionContext, private git: GitService) { - this._config = workspace.getConfiguration('').get('gitlens'); + this._config = workspace.getConfiguration().get(ExtensionKey); } reset() { - this._config = workspace.getConfiguration('').get('gitlens'); + this._config = workspace.getConfiguration().get(ExtensionKey); Logger.log('Triggering a reset of the git CodeLens provider'); this._onDidChangeCodeLenses.fire(); diff --git a/src/gitService.ts b/src/gitService.ts index 99f87fe..e4d00d2 100644 --- a/src/gitService.ts +++ b/src/gitService.ts @@ -3,7 +3,7 @@ import { Iterables, Objects } from './system'; import { Disposable, Event, EventEmitter, ExtensionContext, FileSystemWatcher, languages, Location, Position, Range, TextDocument, TextEditor, Uri, workspace } from 'vscode'; import { CommandContext, setCommandContext } from './commands'; import { CodeLensVisibility, IConfig } from './configuration'; -import { DocumentSchemes } from './constants'; +import { DocumentSchemes, ExtensionKey } from './constants'; import { Git, GitBlameParser, GitBranch, GitCommit, GitLogCommit, GitLogParser, GitRemote, GitStashParser, GitStatusFile, GitStatusParser, IGit, IGitAuthor, IGitBlame, IGitBlameLine, IGitBlameLines, IGitLog, IGitStash, IGitStatus } from './git/git'; import { IGitUriData, GitUri } from './git/gitUri'; import { GitCodeLensProvider } from './gitCodeLensProvider'; @@ -123,7 +123,7 @@ export class GitService extends Disposable { } private _onConfigurationChanged() { - const config = workspace.getConfiguration().get('gitlens'); + const config = workspace.getConfiguration().get(ExtensionKey); const codeLensChanged = !Objects.areEquivalent(config.codeLens, this.config && this.config.codeLens); const advancedChanged = !Objects.areEquivalent(config.advanced, this.config && this.config.advanced); diff --git a/src/logger.ts b/src/logger.ts index af7257b..7b6eb07 100644 --- a/src/logger.ts +++ b/src/logger.ts @@ -1,9 +1,9 @@ 'use strict'; import { ExtensionContext, OutputChannel, window, workspace } from 'vscode'; import { IAdvancedConfig } from './configuration'; +import { ExtensionKey } from './constants'; import { Telemetry } from './telemetry'; -const ConfigurationName = 'gitlens'; const OutputChannelName = 'GitLens'; const ConsolePrefix = `[${OutputChannelName}]`; @@ -19,7 +19,7 @@ let level: OutputLevel = OutputLevel.Silent; let output: OutputChannel; function onConfigurationChanged() { - const cfg = workspace.getConfiguration(ConfigurationName).get('advanced'); + const cfg = workspace.getConfiguration(ExtensionKey).get('advanced'); if (cfg.debug !== debug || cfg.output.level !== level) { debug = cfg.debug; @@ -53,11 +53,11 @@ export class Logger { static error(ex: Error, classOrMethod?: string, ...params: any[]): void { if (debug) { - console.error(ConsolePrefix, ex, ...params, '\n'); + console.error(ConsolePrefix, classOrMethod, ex, ...params, '\n'); } if (level !== OutputLevel.Silent) { - output.appendLine([ex, ...params].join(' ')); + output.appendLine([classOrMethod, ex, ...params].join(' ')); } Telemetry.trackException(ex); diff --git a/src/quickPicks/common.ts b/src/quickPicks/common.ts index 6d18a5e..0f1738b 100644 --- a/src/quickPicks/common.ts +++ b/src/quickPicks/common.ts @@ -2,12 +2,13 @@ import { CancellationTokenSource, commands, Disposable, QuickPickItem, QuickPickOptions, Uri, window, workspace } from 'vscode'; import { Commands, Keyboard, KeyboardScope, KeyMapping, openEditor } from '../commands'; import { IAdvancedConfig } from '../configuration'; +import { ExtensionKey } from '../constants'; import { GitCommit, GitLogCommit, GitStashCommit } from '../gitService'; // import { Logger } from '../logger'; import * as moment from 'moment'; export function getQuickPickIgnoreFocusOut() { - return !workspace.getConfiguration('gitlens').get('advanced').quickPick.closeOnFocusOut; + return !workspace.getConfiguration(ExtensionKey).get('advanced').quickPick.closeOnFocusOut; } export function showQuickPickProgress(message: string, mapping?: KeyMapping, delay: boolean = false): CancellationTokenSource {