title | description | ms.topic | ms.date |
---|---|---|---|
Develop and run Azure Functions locally |
Learn how to code and test Azure Functions on your local computer before you run them on Azure Functions. |
conceptual |
09/04/2018 |
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.
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:
Environment | Languages | Description |
---|---|---|
Visual Studio Code | C# (class library), C# script (.csx), JavaScript, PowerShell, Python | The Azure Functions extension for VS Code adds Functions support to VS Code. Requires the Core Tools. Supports development on Linux, MacOS, and Windows, when using version 2.x of the Core Tools. To learn more, see Create your first function using Visual Studio Code. |
Command prompt or terminal | C# (class library), C# script (.csx), JavaScript, PowerShell, Python | Azure Functions Core Tools provides the core runtime and templates for creating functions, which enable local development. Version 2.x supports development on Linux, MacOS, and Windows. All environments rely on Core Tools for the local Functions runtime. |
Visual Studio 2019 | C# (class library) | The Azure Functions tools are included in the Azure development workload of Visual Studio 2019 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 |
[!INCLUDE Don't mix development environments]
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 your function app project from any of these environments to Azure.
- To learn more about local development of compiled C# functions using Visual Studio 2019, 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 Deploy Azure Functions from VS Code.
- To learn more about developing functions from the command prompt or terminal, see Work with Azure Functions Core Tools.