The attribute plugin is not available, 2fa disabled
Inhaltsverzeichnis
Checklist Extension VSCode
Verifiche specifiche per Extension VSCode con pas2js.
Questa checklist integra la Checklist Core per Extension VSCode.
Verifiche Obbligatorie
Activation Events
[ ] Gli Activation Events sono minimali e corretti [ ] Nessun "activate on *" tranne se giustificato [ ] Gli Events corrispondono alla funzionalità effettiva
Esempio package.json:
{ "activationEvents": [ "onCommand:wvds.build.run", "onLanguage:pascal", "workspaceContains:**/*.lpr" ] }
Performance
[ ] Nessuna operazione lunga sul thread Extension Host [ ] Il lavoro async è cancellabile (Cancellation Token) [ ] Progress-Reporting per operazioni lunghe
Esempio: Operazione Cancellabile:
procedure LongOperation(AToken: TCancellationToken); begin while not Finished do begin if AToken.IsCancellationRequested then begin Logger.Info(rsOperationCancelled); Exit; end; ProcessNextItem; end; end;
Commands
[ ] I Commands hanno ID coerenti [ ] Tutti i Commands hanno titolo e categoria [ ] Il raggruppamento dei Command è logico
Convenzione Naming:
wvds.<dominio>.<azione> +-- wvds.build.run +-- wvds.build.clean +-- wvds.projects.create
Settings
[ ] Tutte le Settings in contributes.configuration [ ] Le Settings sono documentate (description) [ ] Le Settings hanno default sicuri [ ] Le Settings vengono validate
Esempio:
{ "contributes": { "configuration": { "title": "WvdS Toolchain", "properties": { "wvds.toolchain.fpcPath": { "type": "string", "default": "", "description": "Path to fpc.exe. Leave empty for auto-detection." } } } } }
Sicurezza
[ ] Chiamate tool esterni validate/sanificate [ ] Percorsi workspace trattati come untrusted [ ] Nessuna Command Injection possibile [ ] shell: false nelle chiamate Spawn
Esempio: Chiamata Tool Sicura:
(* VIETATO - Command Injection possibile *) Exec('fpc ' + UserInput); (* CORRETTO - Alternativa sicura *) var Options: TSpawnOptions; begin Options.shell := False; Options.cwd := ValidatedPath; Spawn('fpc', ['-O2', ValidatedInput], Options); end;
Cross-Platform
[ ] I percorsi sono cross-platform safe [ ] Encoding considerato (UTF-8) [ ] Line Endings considerati [ ] Separatori percorso corretti (usare PathJoin)
Metadata package.json
[ ] publisher impostato [ ] name corretto (minuscole, trattini) [ ] version segue SemVer [ ] license indicata [ ] repository linkato [ ] engines.vscode impostato sulla versione minima
Asset Marketplace
[ ] README.md presente e aggiornato [ ] CHANGELOG.md con cronologia versioni [ ] Icona presente (128x128 PNG) [ ] Screenshot per funzionalità complesse
Verifiche Specifiche pas2js
Compilazione
[ ] Compila senza errori con pas2js [ ] Nessuna funzionalità pas2js-incompatibile usata [ ] Nessun class var (usare variabile a livello Unit) [ ] Nessun Int64 (usare Integer) [ ] Nessun commento // in blocchi asm
Pattern Entry Point
[ ] extension_main.pas presente [ ] Activate/Deactivate esportati [ ] Blocco Initialization chiama ExportActivateDeactivate
Template:
unit extension_main; {$mode objfpc}{$H+} interface uses JS, VSCode.API, WvdS.VSCode.ExtensionExports; procedure Activate(AContext: TExtensionContext); procedure Deactivate; implementation procedure Activate(AContext: TExtensionContext); begin (* Inizializzazione *) end; procedure Deactivate; begin (* Cleanup *) end; initialization ExportActivateDeactivate(@Activate, @Deactivate); end.
SSOT per API VSCode
[ ] API VSCode via ~/sources/common/web/vscode/
[ ] Nessun require('vscode') diretto nelle Extension
[ ] Wrapper WvdS.VSCode.* usati
Verifiche Raccomandate
[ ] Progress Reporting per operazioni > 1s [ ] Cancellation Tokens implementati [ ] Debouncing nel File Watching [ ] Dimensione Extension minimizzata [ ] Nessun binary/asset non necessario
Verifiche Opzionali
[ ] Smoke Tests (Activation + Command) [ ] Modalità offline se servizi remoti usati [ ] Telemetria documentata (o nessuna)
Creazione VSIX
Processo Build
# 1. Compilare Pascal in JavaScript pas2js @../../common/wvds_common.pas2js.cfg @build.cfg pas/extension_main.pas # 2. Pacchettizzare VSIX vsce package --no-dependencies # 3. Validare vsce ls
Verifiche Prima di Creazione VSIX
[ ] dist/extension_main.js presente [ ] package.json versione incrementata [ ] CHANGELOG.md aggiornato [ ] README.md aggiornato [ ] Nessun artefatto debug incluso [ ] .vscodeignore configurato correttamente
Checklist Rapida da Copiare
Checklist Review (Extension VSCode): Obbligatorio: - [ ] Activation Events minimali - [ ] Nessuna operazione bloccante - [ ] Commands con ID, titoli, categorie - [ ] Settings documentate e validate - [ ] Chiamate tool sanificate (shell: false) - [ ] Cross-Platform safe (percorsi, encoding) - [ ] Metadata package.json completi pas2js: - [ ] Compila senza errori - [ ] Nessuna funzionalità pas2js-incompatibile - [ ] Pattern Entry Point rispettato - [ ] SSOT per API VSCode Asset: - [ ] README.md presente - [ ] CHANGELOG.md aggiornato - [ ] Icona presente
Vedi anche
Zuletzt geändert: il 30/01/2026 alle 01:40