Code and test Azure Functions locally
While you're able to develop and test Azure Functions in the Azure portal, many developers prefer a local development experience. Functions makes it easy to use your favorite code editor and development tools to create and test functions on your local computer. Your local functions can connect to live Azure services, and you can debug them on your local computer using the full Functions runtime.
Local development environments
The way in which you develop functions on your local computer depends on your language and tooling preferences. The environments in the following table support local development:
|Visual Studio 2017||C# (class library)||The Azure Functions tools are included in the Azure development workload of Visual Studio 2017 version 15.5 and later versions. Lets you compile functions in a class library and publish the .dll to Azure. Includes the Core Tools for local testing. To learn more, see Develop Azure Functions using Visual Studio.|
|Maven (various)||Java||Integrates with Core Tools to enable development of Java functions. Version 2.x supports development on Linux, MacOS, and Windows. To learn more, see Create your first function with Java and Maven. Also supports development using Eclipse and IntelliJ IDEA|
Do not mix local development with portal development in the same function app. When you create and publish functions from a local project, you should not try to maintain or modify project code in the portal.
Each of these local development environments lets you create function app projects and use predefined Functions templates to create new functions. Each uses the Core Tools so that you can test and debug your functions against the real Functions runtime on your own machine just as you would any other app. You can also publish you function app project from any of these environments to Azure.
- To learn more about local development of compiled C# functions using Visual Studio 2017, see Develop Azure Functions using Visual Studio.
- To learn more about local development of functions using VS Code on a Mac, Linux, or Windows computer, see the VS Code documentation for Azure Functions.
- To learn more about developing functions from the command prompt or terminal, see Work with Azure Functions Core Tools.
Send feedback about: