Skip to main content

core-extension-api

Public API exported by salesforcedx-vscode-core activate(). Use when modifying SalesforceVSCodeCoreApi, the api object in activate(), exports from core index.ts, services sub-object, or evaluating whether a change to core is breaking. Also use when someone asks "does anything use X" for a core export.

Zur Installation springen

Quellinformationen

Repository
forcedotcom/salesforcedx-vscode
Letzte Quellaktivität
29. Juli 2026 um 15:35
Erkannte Sprache von SKILL.md
Englisch
Sterne
1.035
Forks
454

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
core-extension-api
description
Public API exported by salesforcedx-vscode-core activate(). Use when modifying SalesforceVSCodeCoreApi, the api object in activate(), exports from core index.ts, services sub-object, or evaluating whether a change to core is breaking. Also use when someone asks "does anything use X" for a core export.
review
never
# Core Extension Public API `packages/salesforcedx-vscode-core/src/index.ts` — `activate()` returns `SalesforceVSCodeCoreApi`. Consumers access via: ```typescript const ext = vscode.extensions.getExtension<SalesforceVSCodeCoreApi>( 'salesforce.salesforcedx-vscode-core' ); const api = ext.exports; ``` Also consumed indirectly via [`@salesforce/vscode-service-provider`](https://github.com/forcedotcom/salesforcedx-vscode-service-provider). ## Public API — external consumers depend on this See [external-consumers](../external-consumers/SKILL.md) for full list and search commands. **Breaking** (check consumers first): - Remove field from `SalesforceVSCodeCoreApi` - Change field type - Change behavior (even same signature) - Change static methods on `services.*` classes (`.getInstance()`) - Rename/restructure `services` sub-object **Non-breaking**: add new fields. ## API surface ### Top-level (instances/functions) ``` getUserId, getAuthFields, isCLIInstalled, SfCommandletExecutor, WorkspaceContext, telemetryService, workspaceContextUtils ``` **Note**: the top-level `channelService` field was removed (W-23348840). Consumers must use `services.ChannelService`. ### `services` (class constructors with static methods) ``` RegistryAccess, ChannelService (.getInstance(name)), TelemetryService (.getInstance(name)), WorkspaceContext (.getInstance()), CommandEventDispatcher (.getInstance()) ``` External consumers predominantly use `services.*`. The `.getInstance()` signatures are public contract. ### Overlap Some capabilities at both levels (e.g. `telemetryService` instance top-level, `services.TelemetryService` class). Consumers may use either/both — check both when evaluating usage. ## Before changing 1. Read [external-consumers](../external-consumers/SKILL.md) 2. Grep monorepo: `\.exports\.MEMBER` — catches direct access outside wrapper files 3. Search org: ```bash gh api -X GET "search/code?q=SYMBOL+org:forcedotcom&per_page=30" \ --jq '.items[] | "\(.repository.name): \(.path)"' # also search salesforcecli org gh api -X GET "search/code?q=SYMBOL+org:salesforcecli&per_page=30" \ --jq '.items[] | "\(.repository.name): \(.path)"' # also search for exports.SYMBOL (direct access pattern) gh api -X GET "search/code?q=exports.SYMBOL+org:forcedotcom&per_page=30" \ --jq '.items[] | "\(.repository.name): \(.path)"' ``` 4. Read private repos: `gh api repos/forcedotcom/REPO/contents/PATH --jq '.content' | base64 -d` 5. Removing something unused in monorepo? Confirm unused externally too 6. Changing behavior? Check consumer version gates and minimum versions ## Consumer patterns - `extensionDependencies: ["salesforce.salesforcedx-vscode-core"]` - Version-check core (`semver.satisfies(version, '>=X.Y.Z')`) - Define own minimal type (don't import `SalesforceVSCodeCoreApi` directly) - Call `.getInstance(extensionName)` on services classes - Graceful degradation if core missing/outdated
Auf GitHub ansehen