- BuildMaster
- Getting Started with BuildMaster
- Builds and Continuous Integration
- What is a "Build" in BuildMaster?
- Git and Source Control
- Git Pipelines and Workflows
- Build Scripts & Templates
- Packages & Dependencies
- Build Artifacts
- Automated Testing & Verification
- Deployment & Continuous Delivery
- What is a “Pipeline” in BuildMaster?
- CI Server (Jenkins, TeamCity, etc.) Integration
- Deployment Scripts & Templates
- Automatic Checks & Approval Gates
- Manual Deployment Steps and Tasks
- Databases
- Configuration Files
- Rollbacks
- Advanced CD Patterns
- Applications & Releases
- Connecting to your Servers with BuildMaster
- Scripting in BuildMaster
- Configuring for Your Team
- Docker/Containers
- Development Platforms
- Deployment Targets
- Tools & Service Integrations
- Reference
- BuildMaster API Endpoints & Methods
- Extending BuildMaster
- Built-in Functions & Variables
- Applications
- Builds
- Configuration Files
- Containers
- Credentials
- Databases
- DotNet
- Environments
- Executions
- Files
- General
- Jira
- JSON
- Linux
- Lists
- Maps
- Math
- Nuget
- Packages
- Pipelines
- PowerShell
- Python
- Releases
- Servers
- Strings
- Windows
- XML
- Built-in Operations
- Batch
- BuildMaster
- Configuration Files
- Databases
- DotNet
- Files
- Firewall
- General
- Apply-Template
- Attach Package
- Concatenate-Files
- Copy-Files
- Create-Directory
- Create-File
- Create-Package
- Create-ZipFile
- Delete-Files
- Download-Asset
- Download-Http
- Ensure-Directory
- Ensure-File
- Ensure-HostsEntry
- Ensure-Metadata
- Ensure-Package
- Exec
- Get-Http
- Install-Package
- OSCall
- OSExec
- Post-Http
- Push-PackageFile
- Query-Package
- Remediate-Drift
- Rename-File
- Repackage
- Replace-Text
- Send-Email
- Set-FileAttributes
- Set-Variable
- Sleep
- Transfer-Files
- Upload-Assets
- Upload-Http
- Git
- GitHub
- IIS
- Jira
- Nuget
- PowerShell
- ProGet
- Python
- Registry
- Scripting
- Servers
- Services
- Shell
- Windows
- Administration
- Installation & Upgrading
- ProGet
- Getting Started with ProGet
- Packages: Managing & Tracking
- Feeds Types & Third-Party Packages
- What is a "Feed" in ProGet?
- What is a "Connector" in ProGet?
- NuGet (.NET)
- Universal Feeds & Packages
- PowerShell
- Chocolatey (Windows/Machine)
- RubyGems (ruby)
- Open VSX Extension (vscode)
- Visual Studio Extension (.vsix)
- Maven (Java)
- npm (Node.js)
- Bower (JavaScript)
- Debian (Apt)
- Helm (Kubernetes)
- PyPI (Python)
- Conda (Python)
- RPM (Yum)
- Alpine (APK)
- CRAN (R)
- pub (Dart/Flutter)
- Cargo (Rust)
- Terraform Modules
- Conan (C++)
- Composer (PHP)
- Other Feed Types
- Asset Directories & File Storage
- Docker and Containers
- Replication & Feed Mirroring
- Software Composition Analysis (SCA)
- Security and Access Controls
- Cloud Storage
- Administration
- Installation & Upgrading
- API Methods and CLI Commands
- Otter
- Getting Started with Otter
- Orchestration & Server Automation
- Connecting to your Servers with Otter
- Collecting & Verifying Configuration
- Drift Remediation / Configuration as Code
- Scripting in Otter
- Configuring for Your Team
- Installation & Upgrading
- Administration & Maintenance
- Reference
- Otter API Reference
- OtterScript Reference
- Built-in Functions & Variables
- Executions
- Files
- General
- JSON
- Linux
- Lists
- Maps
- Math
- PowerShell
- Python
- Servers
- Strings
- XML
- Built-in Operations
- Batch
- Docker
- DotNet
- Files
- Firewall
- General
- Apply-Template
- Collect Debian Packages
- Collect RPM Packages
- Collect-InstalledPackages
- Concatenate-Files
- Copy-Files
- Create-Directory
- Create-File
- Create-Package
- Create-ZipFile
- Delete-Files
- Download-Asset
- Download-Http
- Ensure-Directory
- Ensure-File
- Ensure-HostsEntry
- Ensure-Metadata
- Ensure-Package
- Exec
- Execute Python Script
- Get-Http
- Install-Package
- OSCall
- OSExec
- Post-Http
- Push-PackageFile
- PYCall
- PYEnsure
- Query-Package
- Remediate-Drift
- Rename-File
- Repackage
- Replace-Text
- Send-Email
- Set-FileAttributes
- Set-Variable
- SHEnsure
- Sleep
- Transfer-Files
- Upload-Assets
- Upload-Http
- IIS
- Otter
- PowerShell
- ProGet
- Python
- Registry
- Servers
- Services
- Shell
- Windows
- Installation & Maintenance
- Windows (Inedo Hub)
- Linux (Docker)
- High Availability & Load Balancing
- User Directories & Domains (LDAP)
- Logging & Analytics
- SAML Authentication
- When to Upgrade your Inedo Product
- Managing Agents and Servers
- Backing Up & Restoring
- Installation Configuration Files
- PostgreSQL & Inedo Products
- SQL Server & Inedo Products
- Inedo Agent
- What is the Inedo Agent?
- Installation & Upgrading
- Downloads & Release Notes
- Maintenance & Configuration
- Internal Architecture
- MyInedo
- OtterScript (Execution Engine)
- Reference
- OtterScript
- Inedo Execution Engine
- Romp (Discontinued)
- Using Romp
- Installing, Configuring, and Maintaining
- Romp CLI Reference
- Package Layout
- Downloads & Source Code
- Extensibility
- Inedo SDK
Open VSX Extension (vscode)
An Open VSX feed in ProGet stores Open VSX compatible extensions, typically used with Visual Studio Code and compatible IDEs. Extensions stored in this feed can be installed directly from compatible IDEs/code editors like VSCodium.
Note that this feed type is for VS Code style extensions only, not for Visual Studio extensions. See Visual Studio Extension feeds if you need a feed for Visual Studio extensions.
Prerequisite Configuration
Using With Visual Studio Code
The official Microsoft-produced build of Visual Studio code is not currently supported by this feed type. While it is technically possible to configure it to install extensions from an Open VSX feed, this requires hand-editing a file that is part of its distribution and gets overwritten on upgrades. Further, changing the URL to a non-Microsoft private extension repository in this way may violate Microsoft's license.
Adding the Feed to VSCodium
These instructions are specifically for VSCodium, but should also apply to other open source forks of Visual Studio Code.
To use an Open VSX feed in VSCodium, you need to create or edit a product.json file with the following content:
{
"extensionsGallery": {
"serviceUrl": "https://proget.example.com/endpoints/FeedName/vscode/gallery",
"itemUrl": "https://proget.example.com/endpoints/FeedName/vscode/item",
"extensionUrlTemplate": "https://proget.example.com/endpoints/FeedName/gallery/{publisher}/{name}/latest",
"resourceUrlTemplate": "https://proget.example.com/endpoints/FeedName/unpkg/{publisher}/{name}/{version}/{path}",
"cacheUrl": "",
"controlUrl": ""
}
}
The product.json file location will vary based on your operating system. Normally, the location is:
- Windows:
%APPDATA%\VSCodiumor%USERPROFILE%\AppData\Roaming\VSCodium - macOS:
~/Library/Application Support/VSCodium - Linux:
$XDG_CONFIG_HOME/VSCodiumor~/.config/VSCodium
After updating the file, restart VSCodium and the Extensions tab should now show the contents of your feed.
Uploading Extensions
To upload a .vsix extension, you can use Inedo's pgutil and run this command:
pgutil packages upload --feed=«vsix-feed-name» --input-file=«path-to-extension»
You can also use the UI or bulk upload.
Installing Extensions
Navigate to the Extensions tab and search for the desired extension, then click Install.
Limitations
- Not supported in official builds of VS Code (see above)
- Connectors to the official Visual Studio Marketplace are not permitted due to licensing. However, connectors to open-vsx.org are permitted.