Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
F# project support #315
We already have limited support for F#. In your user settings for VS Code, set "azureFunctions.projectLanguage" to "F#Script". The next time you create a project, you will not be prompted for a language and it will use F#Script instead.
With that project, you can create a new function:
The biggest piece missing is debugging, aka the "launch.json" file in the ".vscode" folder. I'm guessing it might be similar to the "launch.json" for C#, but I have no idea. Have you debugged other F# projects in VS Code that aren't related to Functions? How does that usually work? What VS Code extensions do you need?
Why doesn't it appear in the default language selection?
This makes it hard to discover, while the whole point is to help people get started.
And of course, we need support for precompiled F# and v2, since that's the future, and F# tooling actually works best with those.
Debugging F# works just fine. I am able to debug precompiled v2 F# Azure Functions created manually with
The simplest answer is because we don't think the experience I described above is good enough to display in the default language selection yet. We have the settings for more advanced users that want to explore, but we don't want people getting started on a bad/underdeveloped experience.
We're adding languages to that list on a case-by-case basis once they have full support (including debugging). I can't make any guarantees on timing for F#, but feedback like this definitely helps us prioritize which language to work on next (There's actually several languages not displayed including Bash, PowerShell, PHP, Python, TypeScript, etc.).
Based on your input and my experience with our C# support - I'm guessing we'll never add 'F#Script' to that list and instead only add 'F#' (Aka precompiled instead of script). We're using these templates for C#, but I don't think those exist for F# yet. When you used
OK, clear. F# Script might still be useful for some folks, but I don't use it.
The other languages you mention are experimental, I hope F# stands above this list.