Skip to content

Add configuration file format selection (properties/yaml) - #266

Open
Ritik Ranjan (MeRitik) wants to merge 4 commits into
microsoft:mainfrom
MeRitik:feature/configuration-file-format
Open

Ritik Ranjan (MeRitik) wants to merge 4 commits into
microsoft:mainfrom
MeRitik:feature/configuration-file-format

Conversation

@MeRitik

@MeRitik Ritik Ranjan (MeRitik) commented Feb 18, 2026 •

Copy link
Copy Markdown

Adds a wizard step allowing users to choose the Spring Boot configuration file format (application.properties or application.yaml).

Details

Spring Initializr supports selecting configuration file format via the configurationFileFormat parameter. This change:

  • Introduces a new wizard step after packaging selection
  • Allows choosing between Properties and YAML formats
  • Defaults to Properties to preserve existing behaviour
  • Adds configurable default via spring.initializr.defaultConfigurationFileFormat

Fixes #267

@MeRitik

Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

@MeRitik

Copy link
Copy Markdown
Author

Here's the demo

vIxPV9OSpw

@NeryCif-20

Copy link
Copy Markdown

Hi! Just checking in on this PR. This feature would be super helpful for those of us who prefer using YAML files from the start. Is there any update on this, or is there anything needed to help get it reviewed and merged? Thanks for your work on this extension!

@MeRitik
Ritik Ranjan (MeRitik) force-pushed the feature/configuration-file-format branch 2 times, most recently from 1de5e49 to f14d32a Compare July 25, 2026 09:42
@MeRitik

Copy link
Copy Markdown
Author

Hi! Just checking in on this PR. This feature would be super helpful for those of us who prefer using YAML files from the start. Is there any update on this, or is there anything needed to help get it reviewed and merged? Thanks for your work on this extension!

Thanks for checking in! Just rebased and resolved conflicts with main, and tested the change. It works as expected (wizard step shows Properties/YAML choice, respects the defaultConfigurationFileFormat setting, and generates the correct file). Ready for review whenever a maintainer has a chance to take a look — happy to make any changes requested.

@chagong

Copy link
Copy Markdown
Contributor

Copilot resolve the merge conflicts in this pull request

@MeRitik

Copy link
Copy Markdown
Author

Hi, I've resolved the merge conflicts by merging the latest upstream main, and the build and tests are passing locally. The PR is currently showing three workflows awaiting approval. Could a maintainer please approve the workflows when convenient? Thanks!

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Defaults are ignored, and the new step breaks established Back and Cancel navigation behavior.

3 open findings
What changed in this PR

Adds Spring Boot configuration-file format selection to the project-generation wizard.

Changes:

  • Adds Properties/YAML format metadata and selection.
  • Sends the selected format to Spring Initializr.
  • Adds a configurable default setting.
File Description
src/​handler/​SpecifyPackagingStep.ts Inserts the format-selection step.
src/​handler/​SpecifyConfigurationFileFormatStep.ts Implements format selection.
src/​handler/​HandlerInterfaces.ts Adds format types and metadata.
src/​handler/​GenerateProjectHandler.ts Adds the format request parameter.
package.json Registers the default-format setting.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +30 to +34
const defaultFormat: ConfigurationFileFormat =
projectMetadata.defaults.configurationFileFormat
?? workspace.getConfiguration("spring.initializr")
.get<ConfigurationFileFormat>("defaultConfigurationFileFormat")
?? ConfigurationFileFormat.PROPERTIES;
Comment on lines +53 to +54
if (!selection) {
return false;
Comment on lines +57 to +59
projectMetadata.configurationFileFormat = selection.value || defaultFormat;

return true;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support selecting configuration file format (properties / yaml)

5 participants