IDE extensionIDE extensiontypeInstalls into a development environment (VS Code, Eclipse with ABAP Development Tools, SAP Business Application Studio) and works inside it, rather than as a library you call or a command you run.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

BASEnvSync

An extension for SAP Business Application Studio that zips a dev space's home-directory configuration files and loads them into another dev space.

A new dev space in SAP Business Application Studio starts without the terminal or git configuration the developer had in the last one, and the files that hold it sit in the home directory, where nothing carries them across. This extension adds two commands to the BAS Command Palette. The export command collects the home-directory files it knows about (.bashrc, .bash_aliases, .profile, .npmrc, .gitignore, .gitconfig, .git-credentials, .inputrc, plus a .scripts folder) into a bas-env.zip the developer downloads; the import command opens a tab that uploads that zip into the target dev space and applies it. What sits in the BAS profile is out of scope: settings.json, the colour scheme, keymaps, the installed extension list. The readme points those at BAS's own profile export and import, a separate step to run first, and names SAP BAS and SAP Build Code as where the extension installs.

Facts

Last pushLicenceMIT

Where it sits

Lives in
Provides
IDE provisioningABAPIDE provisioningcapabilityGetting the IDE onto a developer's machine with the required plugins already in it, at a version the team can name. Distinct from [editor support](capability:editor-support), which is what the editor does once it is there: this is the download, the update site, the install and how the result reaches machines a developer does not administer.
Add-on to
SAP Business Application StudioSAP Business Application StudioartifactSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.
Requires
SAP Business Application StudioSAP Business Application StudioartifactThe development environment it installs into and adds its two commands to; the readme presents it as an extension for SAP BAS and SAP Build Code, and the commands appear in the BAS Command Palette.

Who is behind it

Robin van het HofRobin van het HofPersonMaintains this
In the atlas: maintains 6, contributes to 3
@qualiture
maintainer

Before choosing this

Conditions

PracticalFunctional boundary

The exported file list is hard-coded, so a dev space whose setup lives in files the readme does not name is not carried across; the roadmap lists making the list flexible as open work. Nothing from the BAS profile is in the zip, so a developer who wants the colour scheme, the keymaps or the installed extensions uses the BAS profile export on its own.

What it declares

Every artifact

Type
IDE extension
Origin
Independently maintained

As an IDE extension

Installs into
does not say
Distributed through
does not say

Connections2

README

quoted from qualiture/BASEnvSync under MIT, read
qualiture/BASEnvSync/README.mdOn GitHub

Contributors Forks Stargazers Issues MIT License LinkedIn

BASEnvSync (extension for SAP BAS / SAP Build Code)

BASEnvSync
Transfer configuration files from one BAS workspace to another BAS workspace. Image was created with AI.

About The Project

TL;DR: Exports and imports SAP Business Application Studio environment settings

If you're a developer working with SAP Business Application Studio ("BAS"), chances are you are using its terminal a lot. Having worked with Linux, OS X and macOS for decades, I developed a habit of tweaking the terminal shell to my taste. Carefully crafted, heavily customized Bash prompts displaying Git branch status, execution times, autocomplete, command history, custom aliases, etc:

Some fancy prompt > Imagine recreating prompts like this manually every time you create a new Dev Space...

If all this resonates with you, then this VSCode extension might just be for you as well.

Many years ago, when working in multiple SAP Business Application Studio developer spaces simultaneously, I had quite the struggle to make sure all my spaces more or less had the same developer experience / look and feel.

Not only terminal settings, but also global gitignore settings, git credentials, everything had to be set up again, which, as you probably have experienced yourself, was extremely time-consuming... Not to mention the "standard" BAS / VSCode settings, color scheme, keymaps, etc.

To mitigate that, I wrote a small shell script which allowed me to transfer these settings and configurations from one Dev Space to another, and in addition it transferred BAS' settings.json, keymap.json and an overview of any additional VSCode extensions you may have installed (see this deprecated repo).

However, one day that script failed to work properly. It turned out, after an update of the underlying platform of BAS -- Eclipse Theia -- it no longer stored the settings.json file directly on the file system anymore. Instead, it is now stored somewhere inside the user profile, and I was not able to easily access it anymore.

Luckily, BAS now lets you export / import your profile which contains all the user settings, and the installed extensions!

Nevertheless, I still needed to find a way to transfer other Dev Space settings, such as .bashrc, .bash_aliases, git settings, et al.

This VSCode extension lets you export your environment settings from one Dev Space, and lets you import those settings in another Dev Space.

How It Works

  • First, you need to install the BASEnvSync VSCode extension.

  • After installation, you have two new options in the BAS Command Palette:

    Commands

  • Because the exporting of the BAS profile (see next part) includes all the installed extensions, there is no need to reinstall the extension on the new Dev Space! Simply run the import and off you go!

The next part will outline how to export and import your profile and settings.

1) Exporting / importing BAS profile

Because this script does not export the BAS' settings.json file, you must export / import your BAS profile first:

From the source Dev Space:

  • Click the "cogwheel" icon in the lower left, and select Profiles > Export Profile...
  • Follow the steps to export your BAS profile, and save it to your local harddisk. Just make sure the BASEnvSync extension is included in the profile export 😎

From the target Dev Space:

  • Drag the downloaded <profile-name>.code-profile file into the Explorer.
  • Click the "cogwheel" icon in the lower left, and select Profiles > Import Profile...
  • Follow the steps to import your BAS profile, and reload BAS
2) Exporting settings from source Dev Space
  • Open the Command Palette, and execute Export BAS environment settings

  • A file bas-env.zip will be created which you then download to your local hard disk.

    NB: If you run SAP BAS / SAP Build Code from a browser (as most of us would), you cannot save the file to your local hard disk directly. Choose a path inside your project folder to save the file. I would recommend choosing the root of your project folder. From there, right-click the bas-env.zip file from the Project Explorer and from the context menu, choose Download.to store the file locally.

    However, if you run SAP BAS / SAP Build Code inside VS Code via the Remote Development Extension, you will get the standard VS Code 'Save As' dialog which lets you save to your local harddisk directly.

    This ZIP file will contain -- if available in your Dev Space -- the following items:

    • ~/.bashrc
    • ~/.bash_aliases
    • ~/.profile
    • ~/.npmrc
    • ~/.gitignore
    • ~/.gitconfig
    • ~/.git-credentials
    • ~/.inputrc
    • ~/.scripts (folder)

    NB: In most cases, you will notice the ~/.scripts folder is skipped; I created that folder containing some shell scripts to enhance Bash (history, autocomplete, etc)

Importing settings to target Dev Space
  • Open the Command Palette, and execute Import BAS environment settings

  • After 1-2 seconds, a new tab will open which allows you to upload the bas-env.zip file (the file you have downloaded earlier) by clicking the Select ZIP file to Upload button:

    Commands

  • When the initial upload of the bas-env.zip file was successful, click the Transfer configuration to BAS button:

    Commands

  • After the settings have been loaded, open a new terminal and examine the applied changes.

Roadmap

  • Proper error handling
  • Instead of a hard-coded list of files and folders to export, provide possibility of making this more flexible (config file? commandline arguments?)

Known issues

See the open issues for a list of known issues (and proposed features).

If you have any suggestions of bugs, please let me know. I might even find the time to fix / implement 😎

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contact

Robin van het Hof - @qualiture

MIT, read
IDE provisioning
  1. eclipsADT-o-matPowerShell wizard installing Eclipse with ADT and pluginsfrom ABAP
  2. personal-application-studioTheia distribution with ABAP and UI5 support as a Docker imagefrom ABAP
  3. adt-bundle-builderWindows build packaging Eclipse with ADT as a portable IDEfrom ABAP

Details

Sources3
GitHub APIdiscovered herechecked
github.com/qualiture/BASEnvSynctree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
discovered viaGitHub API
first seen in the atlas
ecosystem and domainbtp, developer-experience
History in the atlas1
  1. First seen.
For your agent
Ref
artifact:qualiture-basenvsync
JSON
/artifacts/qualiture-basenvsync.json
MCP
Connecting an agent