I've created a c# Azure function locally as described here: https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-vs-code
This is using VS Code and Omnisharp.
When pressing F5 to debug a function it takes around 15 seconds to do all kinds of things, then I can run the function.
Is there any way to then make changes to the code and have it re-loaded instead of having to launch the whole omnisharp thing again?
I'm asking because it seems to be possible:
Hot reload isn't currently supported in local development, but you can do it.
One of the biggest differences between local dev and the portal is that locally you are using precompiled C# (.cs files) whereas the portal uses C# scripts (.csx files). This is why the syntax is a little bit different sometimes (i.e. #r "Newtonsoft.Json" to bring in external assemblies). The downside of this is that starting up a function is slower because it has to compile the code each time. That's why using a locally developed, precompiled library is cheaper to use in the long run.
Script files are compiled when the script is called instead of before startup. It would be very difficult with precompiled functions to do a hot reload. When I tested it, the changes did appear when editing a file while the debugging session was running. You might consider doing this during development, then transplanting the code to a class library before deployment to take advantage of the quicker startup time. You can read more about C# scripting here: https://learn.microsoft.com/en-us/archive/blogs/cdndevs/adding-c-scripting-to-your-development-arsenal-part-1
You can change what language Functions projects create in the preferences. Once you change this setting, it will stick until you change or remove the preference: https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-vs-code?tabs=csharp#c-script-projects
Keep in mind that you can not mix precompiled functions with C# script functions so you would need to create a separate functions app to use scripts for dev and class libraries to deploy.