-
Notifications
You must be signed in to change notification settings - Fork 131
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
F# project support #315
Comments
+1 |
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: And then if you do "Run Task" from the command palette, you can run the Functions host in VS Code's task system: 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. There is Azure/azure-functions-templates#627 where we try to add F# precompiled templates and Azure/azure-functions-templates#665 to add them to your nuget package. |
Definitely interested in better tooling support for f#. We have around 40 F# functions right now and we are planning to do WAY more |
Yes, please give F# more attention. |
What is still to do here? |
Only piece missing is creating a function and for that we need Azure/azure-functions-templates#627 to be fixed first. Right now you can do the following:
|
|
One of the last pieces of #315. The [recently added](Azure/azure-functions-templates#627 (comment)) templates should show up when the template filter is set to "All". Only remaining work is to add templates to "Verified" category, make sure tests are up-to-par with other languages, and finally show F# in the "New Project" quick pick. Will likely do that after build conference.
Are there plans to support F# project / function creation?
I'm willing to help with this, if you give me some high-level guidance.
The text was updated successfully, but these errors were encountered: