Showing 17 of 60 total issues
File base.ts
has 301 lines of code (exceeds 250 allowed). Consider refactoring. Open
import { QuickPickItem } from 'vscode';
import {
InputStep,
MultiStepInput,
} from '../../../utils/multiStepInput';
ExtensionSetting
has 27 functions (exceeds 20 allowed). Consider refactoring. Open
export class ExtensionSetting extends SettingBase {
private _commonCommands: Record<string, unknown>;
private _commands: Record<string, unknown>;
private _enableHistory: boolean;
private _keepHistoryNumber: number;
Function setSettingGuide
has 66 lines of code (exceeds 25 allowed). Consider refactoring. Open
private setSettingGuide(label: string): () => Promise<void> {
let [key, itemId, additionalTitle, guideGroupId] = ['BaseInputGuide', '', '', this.guideGroupId];
let optionState: Partial<State> = {};
let args: Array<unknown> = [];
let guide: Guide;
File extension.ts
has 269 lines of code (exceeds 250 allowed). Consider refactoring. Open
import { ConfigurationTarget } from 'vscode';
import * as _ from 'lodash';
import { SettingBase } from './base';
import { Optional } from '../utils/base/optional';
import { LOCATION, Location } from '../utils/base/type';
Function showInputBox
has 58 lines of code (exceeds 25 allowed). Consider refactoring. Open
async showInputBox<P extends InputBoxParameters>(
{ title, step, totalSteps, value, prompt, validate, buttons, shouldResume }: P
): Promise<string | (P extends { buttons: (infer I)[]; } ? I : never)> {
const disposable: Disposable[] = [];
Function save
has 47 lines of code (exceeds 25 allowed). Consider refactoring. Open
protected async save(): Promise<void> {
const hierarchy = [...this.hierarchy];
const pre = Optional.ofNullable(hierarchy.pop()).orElseThrow(ReferenceError('Edit target not found...'));
const name = Optional.ofNullable(this.guideGroupResultSet[this.settings.itemId.name]).orElseNonNullable(pre) as string;
const original = this.settings.cloneDeep(this.hierarchy, this.location);
Function setMenuItems
has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring. Open
private setMenuItems(): void {
if (this.isRoot) {
this.setRootItems();
} else {
if (Constant.DATA_TYPE.folder === this.type) {
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function showQuickPick
has 39 lines of code (exceeds 25 allowed). Consider refactoring. Open
async showQuickPick<T extends QuickPickItem, P extends QuickPickParameters<T>>(
{ title, step, totalSteps, items, activeItem, placeholder, buttons, shouldResume }: P
): Promise<T | (P extends { buttons: (infer I)[]; } ? I : never)> {
const disposable: Disposable[] = [];
Function getExecute
has 28 lines of code (exceeds 25 allowed). Consider refactoring. Open
protected getExecute(label: string | undefined): (() => Promise<void>) | undefined {
this.initialValue = undefined;
this.state.hierarchy = [...this.hierarchy];
switch (label) {
Function getSurface
has 28 lines of code (exceeds 25 allowed). Consider refactoring. Open
private getSurface(location: Location, ordered: Record<string, unknown>, other: Record<string, unknown>): void {
const records: Record<string, unknown> = this.getLocationRecords(location);
Object.keys(records).forEach((key) => {
const record = records[key] as Record<string, unknown>;
Function setMenuItems
has 28 lines of code (exceeds 25 allowed). Consider refactoring. Open
private setMenuItems(): void {
if (this.isRoot) {
this.setRootItems();
} else {
if (Constant.DATA_TYPE.folder === this.type) {
Function sort
has 27 lines of code (exceeds 25 allowed). Consider refactoring. Open
public sort(hierarchy: Array<string>, location: Location, sortWithName: boolean = true): void {
const registerd = this.cloneDeep(hierarchy, location);
const ordered: Record<string, unknown> = {};
const target = this.lookup(hierarchy, location, this.lookupMode.read);
Function terminalCommand
has 27 lines of code (exceeds 25 allowed). Consider refactoring. Open
private terminalCommand(command: TerminalCommand): (() => Promise<void>) | undefined {
const name = this.activeItem?.label;
const questions = Optional.ofNullable(command.questions).orElseNonNullable({});
const keys = Object.keys(questions);
Function stepThrough
has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring. Open
private async stepThrough(start: InputStep) {
let step: InputStep | void = start;
while (step) {
this.steps.push(step);
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function setSettingGuide
has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring. Open
private setSettingGuide(label: string): () => Promise<void> {
let [key, itemId, additionalTitle, guideGroupId] = ['BaseInputGuide', '', '', this.guideGroupId];
let optionState: Partial<State> = {};
let args: Array<unknown> = [];
let guide: Guide;
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function executeTerminalCommand
has 5 arguments (exceeds 4 allowed). Consider refactoring. Open
name: string,
command: string,
autoRun: boolean,
singleton: boolean,
state: Partial<State>,
Function setCommand
has 5 arguments (exceeds 4 allowed). Consider refactoring. Open
state: State,
base: string,
inputSet: Record<string, string>,
autoRun: boolean,
singleton: boolean,