Core API

API referenca za WvdS VSCode Core Extension.

Pregled

Core Extension zagotavlja centralne storitve, ki jih lahko uporabljajo vse druge razširitve.

uses
  WvdS.Core.Services,
  WvdS.Core.Toolchain,
  WvdS.Core.Logging;

Storitev beleženja

LogInfo

procedure LogInfo(const AMessage: string);
procedure LogInfo(const AFormat: string; const AArgs: array of const);

Zapiše informacijsko sporočilo v Output Channel.

LogWarn

procedure LogWarn(const AMessage: string);
procedure LogWarn(const AFormat: string; const AArgs: array of const);

Zapiše opozorilo v Output Channel.

LogError

procedure LogError(const AMessage: string);
procedure LogError(const AFormat: string; const AArgs: array of const);

Zapiše napako v Output Channel.

LogDebug

{$IFDEF DEBUG}
procedure LogDebug(const AMessage: string);
procedure LogDebug(const AFormat: string; const AArgs: array of const);
{$ENDIF}

Zapiše razhroščevalno sporočilo. Na voljo samo pri kompilaciji z -dDEBUG.

Storitev orodne verige

GetToolPath

function GetToolPath(ATool: TWvdSToolType): string;

Vrne konfigurirano pot do orodja.

TWvdSToolType Opis
ttFPC Free Pascal Compiler
ttPas2js pas2js Transpiler
ttLazbuild Lazarus Build Tool
ttInnoSetup Inno Setup Compiler
ttMake GNU Make

Primer:

var
  FpcPath: string;
begin
  FpcPath := GetToolPath(ttFPC);
  if FpcPath = '' then
    raise EWvdSToolNotFound.Create(rsToolNotFound);
end;

GetToolVersion

function GetToolVersion(ATool: TWvdSToolType): string;

Vrne verzijo nameščenega orodja.

IsToolAvailable

function IsToolAvailable(ATool: TWvdSToolType): Boolean;

Preveri, ali je orodje na voljo.

AutoDetectTools

procedure AutoDetectTools;

Izvede samodejno zaznavanje vseh orodij.

Konfiguracija

GetConfiguration

function GetConfiguration(const ASection: string): TJSObject;

Prebere VS Code konfiguracijo.

Primer:

var
  Config: TJSObject;
  LogLevel: string;
begin
  Config := GetConfiguration('wvds.core');
  LogLevel := String(Config['logLevel']);
end;

UpdateConfiguration

procedure UpdateConfiguration(
  const ASection: string;
  const AKey: string;
  AValue: JSValue;
  ATarget: TConfigurationTarget
);

Zapiše VS Code konfiguracijo.

TConfigurationTarget Opis
ctGlobal Uporabniške nastavitve
ctWorkspace Nastavitve delovnega prostora
ctWorkspaceFolder Nastavitve mape

Event-Bus

PublishEvent

procedure PublishEvent(const AEventName: string; AData: TJSObject);

Objavi dogodek za druge razširitve.

Primer:

var
  Data: TJSObject;
begin
  Data := TJSObject.New;
  Data['projectPath'] := ProjectPath;
  Data['success'] := True;
  PublishEvent('wvds.build.completed', Data);
end;

SubscribeEvent

procedure SubscribeEvent(
  const AEventName: string;
  AHandler: TWvdSEventHandler
);

Naroči se na dogodke.

Primer:

procedure HandleBuildCompleted(AData: TJSObject);
begin
  if Boolean(AData['success']) then
    LogInfo('Build succeeded!')
  else
    LogError('Build failed!');
end;
 
// Ob aktivaciji:
SubscribeEvent('wvds.build.completed', @HandleBuildCompleted);

Storitve UI

ShowInfoMessage

procedure ShowInfoMessage(const AMessage: string);
function ShowInfoMessage(
  const AMessage: string;
  const AItems: array of string
): TJSPromise;  // Razreši v izbrani element

ShowWarningMessage

procedure ShowWarningMessage(const AMessage: string);

ShowErrorMessage

procedure ShowErrorMessage(const AMessage: string);

ShowQuickPick

function ShowQuickPick(
  const AItems: array of string;
  const APlaceholder: string
): TJSPromise;

Storitve delovnega prostora

GetWorkspaceRoot

function GetWorkspaceRoot: string;

Vrne pot do mape delovnega prostora.

GetOpenDocument

function GetOpenDocument: string;

Vrne pot do trenutno odprtega dokumenta.

Glejte tudi

Zuletzt geändert: dne 29.01.2026 ob 22:25