The attribute plugin is not available, 2fa disabled

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