Hey all devs using VS Code!
I am a Liquibase PM and we are developing a new Liquibase-VS Code extension — and I have some questions.
Up front, let me say, we are definitely planning changelog and changesets snippets/templates/auto-complete in all formats (xml, formatted sql, yaml, json) for generating these items, followed by validation options for existing changelogs and changetsets. Additionally you should be able to run commands from the VS Code command palette.
What would you like to see in this extension? Where do you have the most frictions? Whatever broad or specific level of detail you want to share or questions to ask, please do.
thanks!
4 Likes
Great to hear about an upcoming plugin!
To me, it would be crucially important, that I can use the auto-complete alongside other auto-complete plugins. For example, I am using the SQL Developer Extension from Oracle for my SQL Changelogs so I can get auto-complete for my tables etc. I would like to keep this auto-complete and also have the one for Liquibase. Is that possible?
hey @WayneNani – good call, and yes we’ll work to make that true. I dont know that specific extension, or why they wouldnt be compatible, but we’ll dig into it, and aim to have the extensions work together.
thanks for the suggestion!
Mario
Happy to see people are working on the Liquibase VS-Code extension. I hope one day I’ll be able to contribute in that.
I think following options may be useful in Liquibase VS-Code extension
-
Different colors to identify Liquibase generic data types and db specific types. ie.. From a changeset’s dataype’s color, we should be able to say is it a generic type or db specific type.
-
If checksum validation is disabled for a changeset, then there should be some way to highlight that.
-
View the target db data type for liquibase generic type. For example, in changeset, if we specify “BOOLEAN” datatype, then what will be the data type in Oracle 19c? If user is able view that information somehow, i think it will be useful. This feature may be difficult to implement, but its useful I think.
As a Java shop that’s been leaning heavily on Liquibase for a few years—and using VS Code as our daily IDE—I’d love to see these enhancements in the official Liquibase-VS Code extension:
- Visual Changelog Explorer
- A tree-view of all changelogs, grouped by module or folder
- Quick icons/annotations for “Deployed,” “Pending,” and “Errored” changes
- SQL Preview & Diff Pane
- Right-click any changeset and “Preview SQL” against a target profile
- Side-by-side diff between generated SQL and existing schema
- One-Click Rollback Planning
- Generate rollback SQL automatically for the current changeset
- Highlight any operations that aren’t fully reversible
- Smart Autocomplete & Snippets
- Context-aware code completion in XML, YAML, JSON, and SQL changelogs
- Built-in snippets for common tags (
<createTable>
, <addColumn>
, <loadData>
, etc.)
- Live Database Introspection
- Peek at the live schema (tables, columns, constraints) directly within VS Code
- Drag-and-drop “Create Table” or “Add Column” templates into your changelog
- Integrated Validation & Warnings
- Lint rules for best practices (e.g., no raw SQL when a tag exists)
- Warnings when two changesets touch the same object in conflicting ways
- Profile Management & Context Switching
- Easily switch between dev, test, and prod Liquibase contexts
- Show active properties (URL, user, changelog parameters) in the status bar
- Changelog Generation Wizards
- Guided UI to scaffold a new changeset based on diff against a target schema
- Customizable templates for your team’s naming conventions
- CI/CD Integration Helpers
- Generate the CLI commands for your chosen build tool (Maven/Gradle)
- Quick links to your pipeline YAML (e.g., GitHub Actions, Jenkinsfile) with placeholders
- Metrics & History Dashboard
- Show how many changesets have run over time, broken down by author or date
- Track rollbacks vs. successful deployments at a glance
Why these?
In my last project, we spent half a day troubleshooting a problematic changeset—having inline SQL preview and rollback planning in VS Code would have saved us hours. And being able to “see” the live schema or rapidly scaffold new changesets cuts context-switching down dramatically.
If you want a grab the opportunity connect now - Java Development Company
hey @fathah very interesting ideas. to generalize your idea bit, sounds like color-coding or some “visualized validation” is at the core of it.
I m not sure how we’d go about doing that (yet!) but we’ll take a look. thanks for the ideas!
hey @javaindia thanks for the ideas and feedback. Some of these are definitely happening, and some we will have to put some thought into how we might implement them. Good ideas to put into our list as we determine longer term priorities. thanks!