Developer Notes
June 18, 2026 ยท View on GitHub
Setting up the development environment for the vscode-opencl extension.
Setting Up the OpenCL VS Code Extension
- Ensure you have
npminstalled. - Install the necessary packages for the extension using
npm install.
Setting Up the OpenCL Language Server for development
-
Clone or update the opencl-language-server:
git clone git@github.com:Galarius/opencl-language-server.git server cd server -
Refer to the DEV.md file inside the
serverdirectory for detailed setup instructions. -
Modify the
OPENCL_LANGUAGE_SERVERpath in.vscode/launch.jsonif needed.
Download opencl-language-server manually
Useful when the extension is installed in a network-isolated environment where the automatic download cannot reach GitHub.
-
On a machine with internet access, download the release archive matching your platform and architecture from the Releases page or using commands below. The minimum supported server version and compatible range are defined by
serverVersioninpackage.json(compatible range is[serverVersion, next minor)). -
Transfer the archive to the target machine, extract the binary.
-
Run
OpenCL: Register Local Language Serverfrom the command palette and point it to the local archive when prompted. See TROUBLESHOOTING.md - 9. Manual Installation for detailed instructions.
macOS
mkdir -p ./bin/darwin/universal
pushd ./bin/darwin/universal
curl --remote-name-all --location $( curl -s https://api.github.com/repos/Galarius/opencl-language-server/releases/latest | grep "browser_download_url.*darwin-universal" | cut -d : -f 2,3 | tr -d \" )
tar -xzvf opencl-language-server-darwin-universal.tar.gz
rm opencl-language-server-darwin-universal.tar.gz
popd
Linux
mkdir -p ./bin/linux/x64
pushd ./bin/linux/x64
curl --remote-name-all --location $( curl -s https://api.github.com/repos/Galarius/opencl-language-server/releases/latest | grep "browser_download_url.*linux-x86_64" | cut -d : -f 2,3 | tr -d \" )
tar -xzvf opencl-language-server-linux-x86_64.tar.gz
rm opencl-language-server-linux-x86_64.tar.gz
popd
mkdir -p ./bin/linux/arm64
pushd ./bin/linux/arm64
curl --remote-name-all --location $( curl -s https://api.github.com/repos/Galarius/opencl-language-server/releases/latest | grep "browser_download_url.*linux-arm64" | cut -d : -f 2,3 | tr -d \" )
tar -xzvf opencl-language-server-linux-arm64.tar.gz
rm opencl-language-server-linux-arm64.tar.gz
popd
Windows
pushd ./bin/win32
mkdir -p ./bin/win32
curl --remote-name-all --location $( curl -s https://api.github.com/repos/Galarius/opencl-language-server/releases/latest | grep "browser_download_url.*win32" | cut -d : -f 2,3 | tr -d \" )
tar -xzvf opencl-language-server-win32-x86_64.zip
rm opencl-language-server-win32-x86_64.zip
popd
Licenses
pushd ./bin
curl --remote-name-all --location $( curl -s https://api.github.com/repos/Galarius/opencl-language-server/releases/latest | grep "licenses.tar.gz" | tail -n -1 | cut -d : -f 2,3 | tr -d \" )
tar -xzvf licenses.tar.gz
rm licenses.tar.gz
popd
Publishing the extension to the Visual Studio Marketplace
- Install
vsce:npm install -g @vscode/vsce. - Create the extension package locally using
vsce package. - Publish the extension with
vsce publish.
Publishing the extension to Open-VSX
- Install
npx:npm install -g npx. - Follow the publishing guidelines available at https://github.com/eclipse/openvsx/wiki/Publishing-Extensions.
- Publish the extension using
npx ovsx publish.
Upgrade dependencies
- Install
npm-check-updates:npm i -g npm-check-updates. - Run
ncu -uto upgrade. - Install the updated packages with
npm install.