Fix some basic eslint errors in copilot#311449
Merged
mjbvz merged 1 commit intomicrosoft:mainfrom Apr 20, 2026
Merged
Conversation
Starts working through some basic repo wide eslint rules for the copilot extension. Stuff like missing semicolons and missing readonly modifiers for disposables
Contributor
There was a problem hiding this comment.
Pull request overview
This PR incrementally addresses repo-wide ESLint violations in the Copilot extension (primarily TypeScript style/typing rules) to reduce lint noise and keep the codebase compliant with shared conventions.
Changes:
- Replace
any-based casts withunknownand standardize DI/service-brand patterns. - Add missing semicolons / type terminators across many
typedefinitions and signatures. - Mark long-lived
DisposableStorefields asreadonlyand fix a few test/cleanup patterns (e.g.,suitecallback,super.dispose()).
Show a summary per file
| File | Description |
|---|---|
| extensions/copilot/test/testVisualizationRunnerSTest.ts | Replace any cast with unknown for globals typing. |
| extensions/copilot/test/testVisualizationRunner.ts | Replace any cast with unknown for globals typing. |
| extensions/copilot/test/pipeline/pipeline.ts | Add missing type terminator ; for options type. |
| extensions/copilot/test/pipeline/alternativeAction/types.ts | Add missing type terminators in test pipeline types. |
| extensions/copilot/test/base/simulationOptions.ts | Add missing type terminator for NesDatagen. |
| extensions/copilot/src/util/node/worker.ts | Add missing type terminator for RpcProxy mapped type. |
| extensions/copilot/src/platform/thinking/common/thinking.ts | Add missing type terminator for delta type. |
| extensions/copilot/src/platform/telemetry/common/msftTelemetrySender.ts | Make _disposables readonly. |
| extensions/copilot/src/platform/review/vscode/reviewServiceImpl.ts | Make disposable stores readonly. |
| extensions/copilot/src/platform/notebook/common/alternativeContentEditGenerator.ts | Add missing type terminator for telemetry options type. |
| extensions/copilot/src/platform/networking/common/networking.ts | Add missing type terminator for telemetry properties type. |
| extensions/copilot/src/platform/networking/common/fetch.ts | Add missing type terminators for stream-related types. |
| extensions/copilot/src/platform/inlineEdits/node/inlineEditsModelService.ts | Add missing type terminator for ModelInfo. |
| extensions/copilot/src/platform/inlineEdits/common/workspaceEditTracker/workspaceDocumentEditTracker.ts | Add missing type terminator for history diff type. |
| extensions/copilot/src/platform/inlineEdits/common/workspaceEditTracker/nesXtabHistoryTracker.ts | Fix union/type terminators for history tracker event types. |
| extensions/copilot/src/platform/inlineEdits/common/statelessNextEditProvider.ts | Add missing terminators for generator/type definitions. |
| extensions/copilot/src/platform/inlineEdits/common/dataTypes/xtabPromptOptions.ts | Add missing type terminators across prompt option types. |
| extensions/copilot/src/platform/inlineEdits/common/dataTypes/languageContext.ts | Add missing type terminators for serialized/context types. |
| extensions/copilot/src/platform/inlineCompletions/common/api.ts | Add missing type terminators in proposed API types. |
| extensions/copilot/src/platform/git/vscode-node/gitServiceImpl.ts | Add missing semicolon for overload signature. |
| extensions/copilot/src/platform/endpoint/test/node/openaiCompatibleEndpoint.ts | Add missing type terminator for model config type. |
| extensions/copilot/src/platform/endpoint/common/endpointProvider.ts | Add missing type terminator for capabilities type. |
| extensions/copilot/src/platform/chat/common/commonTypes.ts | Add missing terminator for ChatFetchRetriableError. |
| extensions/copilot/src/platform/authentication/common/authentication.ts | Add missing semicolon to abstract method signature. |
| extensions/copilot/src/lib/node/chatLibMain.ts | Add missing type terminator for exported type alias. |
| extensions/copilot/src/extension/workspaceRecorder/vscode-node/workspaceListenerService.ts | Use declare _serviceBrand pattern for service branding. |
| extensions/copilot/src/extension/typescriptContext/vscode-node/types.ts | Add missing type terminators for event/result types. |
| extensions/copilot/src/extension/typescriptContext/vscode-node/nesRenameService.ts | Make disposables readonly and adjust injected field modifiers. |
| extensions/copilot/src/extension/typescriptContext/vscode-node/languageContextService.ts | Make disposables readonly and adjust injected field modifiers/order. |
| extensions/copilot/src/extension/typescriptContext/serverPlugin/src/node/test/nes.spec.ts | Add missing type terminators for test types. |
| extensions/copilot/src/extension/typescriptContext/serverPlugin/src/node/create.ts | Add missing type terminator for resolved input type. |
| extensions/copilot/src/extension/typescriptContext/serverPlugin/src/common/typescripts.ts | Add missing type terminator for exported type alias. |
| extensions/copilot/src/extension/typescriptContext/serverPlugin/src/common/protocol.ts | Add missing type terminators across protocol types. |
| extensions/copilot/src/extension/typescriptContext/serverPlugin/src/common/contextProvider.ts | Add missing signature/type terminators in context provider types. |
| extensions/copilot/src/extension/typescriptContext/common/serverProtocol.ts | Add missing type terminators across protocol mirror types. |
| extensions/copilot/src/extension/tools/common/virtualTools/preComputedToolEmbeddingsCache.ts | Make injected log service a private readonly field. |
| extensions/copilot/src/extension/search/vscode-node/commands.ts | Adjust constructor injection; potential unused-parameter issue. |
| extensions/copilot/src/extension/mcp/vscode-node/commands.ts | Make injected services private readonly fields. |
| extensions/copilot/src/extension/log/node/chatLogExport.ts | Remove unnecessary type assertion in error-log push. |
| extensions/copilot/src/extension/inlineEdits/vscode-node/features/diagnosticsBasedCompletions/importDiagnosticsCompletionProvider.ts | Add missing type terminator for import details type. |
| extensions/copilot/src/extension/conversation/vscode-node/test/languageModelAccess.test.ts | Remove async from suite callback. |
| extensions/copilot/src/extension/conversation/vscode-node/remoteAgents.ts | Make disposables readonly. |
| extensions/copilot/src/extension/conversation/vscode-node/languageModelAccess.ts | Remove unused injected field _expService from wrapper ctor. |
| extensions/copilot/src/extension/conversation/vscode-node/conversationFeature.ts | Make disposable stores readonly. |
| extensions/copilot/src/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/openTabFiles.ts | Make injected doc manager private readonly field. |
| extensions/copilot/src/extension/completions-core/vscode-node/lib/src/experiments/featuresService.ts | Add missing type terminator for exp settings type. |
| extensions/copilot/src/extension/completions-core/vscode-node/extension/src/statusBar.ts | Make injected services private readonly fields. |
| extensions/copilot/src/extension/completions-core/vscode-node/extension/src/codeReferencing/index.ts | Make injected runtime-mode service private readonly field. |
| extensions/copilot/src/extension/chatSessions/vscode-node/test/claudeChatSessionContentProvider.spec.ts | Ensure dispose() calls super.dispose(). |
| extensions/copilot/src/extension/chatSessions/copilotcli/node/permissionHelpers.ts | Add missing type terminators for permission helper types. |
Copilot's findings
- Files reviewed: 50/50 changed files
- Comments generated: 1
Comment on lines
14
to
17
| constructor( | ||
| @ITelemetryService readonly telemetryService: ITelemetryService, | ||
| @ITelemetryService telemetryService: ITelemetryService, | ||
| @IFeedbackReporter private readonly feedbackReporter: IFeedbackReporter, | ||
| ) { |
There was a problem hiding this comment.
telemetryService is injected but never used (and no longer stored as a field). This likely violates the repo's unused-parameter eslint rule; either remove the ITelemetryService parameter or store/use it (e.g. emit a feedback telemetry event).
See below for a potential fix:
import { Disposable } from '../../../util/vs/base/common/lifecycle';
import { IFeedbackReporter } from '../../prompt/node/feedbackReporter';
import { SearchFeedbackKind, SemanticSearchTextSearchProvider } from '../../workspaceSemanticSearch/node/semanticSearchTextSearchProvider';
export class SearchPanelCommands extends Disposable {
constructor(
roblourens
approved these changes
Apr 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Starts working through some basic repo wide eslint rules for the copilot extension. Stuff like missing semicolons, missing super calls, and missing readonly modifiers for disposables