Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Add Support for F# and VB Project Types #1821

Merged
merged 3 commits into from
Sep 22, 2023

Conversation

VaclavElias
Copy link
Contributor

PR Details

This PR adds support for additional project types: .fsproj and .vbproj, enabling F# and Visual Basic coding in Stride's code-only approach. Further work may be required to integrate F# and Visual Basic into the Stride Game Studio, which I will leave to more experienced contributors.

Description

This PR serves as a follow-up to the incomplete #1078. I've implemented the changes necessary for a "code-only" approach, as I'm currently not familiar with Stride Game Studio.

To accommodate these changes, I've introduced a SupportedProgrammingLanguage record and a SupportedProgrammingLanguages class. I opted for these names as SupportedLanguage is already used within the codebase for a different purpose.

I'm open to feedback on the naming conventions and the overall implementation. The core change involves extending the existing logic to account for .fsproj and .vbproj in addition to .csproj.

Related Issue

#1078

Typical error when using other project types

Severity	Code	Description	Project	File	Line	Suppression State
Error	0.157s	[AssetCompiler] Unsupported file extension (only .sln, .csproj and .sdpkg are supported)	Example06_VBasic_Basic3DScene	D:\Projects\GitHub\stride-community-toolkit\examples\code-only\Example06_VBasic_Basic3DScene\EXEC	1

Motivation and Context

Allowing to use other .NET languages as they should be working.

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My change requires a change to the documentation - announcing this feature
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@VaclavElias VaclavElias added the enhancement New feature or request label Sep 21, 2023
@Eideren
Copy link
Collaborator

Eideren commented Sep 22, 2023

Looks good, thanks @VaclavElias !
Maybe IsSupportedByExtension could be changed to something a bit less vague, like IsProjectExtensionSupported ?

@VaclavElias
Copy link
Contributor Author

Of course, that is much, better, let me fix that :)

@VaclavElias
Copy link
Contributor Author

Changed.

@Eideren Eideren merged commit 2596083 into stride3d:master Sep 22, 2023
1 check passed
@Eideren
Copy link
Collaborator

Eideren commented Sep 22, 2023

Thanks !

@VaclavElias
Copy link
Contributor Author

My pleasure. Once we release the new NuGet packages, I can create more examples, and we can begin promoting this exciting option in a sensible manner for other developers to explore and experiment with.

@Eideren Eideren added this to the 4.2 milestone Sep 26, 2023
@VaclavElias VaclavElias deleted the feature-fsharp-vbasic branch October 22, 2023 22:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants