From d278c56768981dfce84ebb9ee59364623c6bac4d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 2 Mar 2026 15:53:53 +0000 Subject: [PATCH 1/2] Initial plan From 37d34ae09740a631b9eb040414de1ea8d193e418 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 2 Mar 2026 15:58:31 +0000 Subject: [PATCH 2/2] Support creation of DEVC object type for packages Co-authored-by: larshp <5888506+larshp@users.noreply.github.com> --- src/web/create.ts | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/web/create.ts b/src/web/create.ts index e5db9db..e3eb11c 100644 --- a/src/web/create.ts +++ b/src/web/create.ts @@ -44,6 +44,7 @@ export async function createArtifact(uri: vscode.Uri) { } const foo: { [name: string]: (uri: vscode.Uri) => Promise } = { + "DEVC - Package (abapGit)": createDEVC, "CLAS - Class (abapGit)": createCLAS, "INTF - Interface (abapGit)": createINTF, "PROG - Program (abapGit)": createPROG, @@ -105,6 +106,34 @@ function createAff(key: string) { return ret; } +async function createDEVC(uri: vscode.Uri) { + const name = await vscode.window.showInputBox({ placeHolder: "package_name" }); + if (name === undefined || name === "") { + return; + } + + const description = await vscode.window.showInputBox({ placeHolder: "Description" }); + if (description === undefined || description === "") { + return; + } + + const dir = await findFolder(uri); + const folderUri = vscode.Uri.joinPath(vscode.Uri.parse(dir), name.toLowerCase()); + await vscode.workspace.fs.createDirectory(folderUri); + + const dataXML = ` + + + + + ${description} + + + +`; + await createFile(folderUri.path, "package.devc.xml", dataXML); +} + async function createCLAS(uri: vscode.Uri) { const name = await vscode.window.showInputBox({ placeHolder: "cl_name" }); if (name === undefined || name === "") {