Azure Functions extension for VS Code
Перейти к файлу
Eric Jizba 962ce508ae
Get rid of "We've Moved!" message (#441)
2018-07-06 14:25:58 -07:00
.vscode Recommend MarkdownLint 2018-03-12 12:17:28 -07:00
docs Allow function to be created with project from api (#303) 2018-03-30 01:11:54 +00:00
resources Update gifs in README to reflect latest version (#377) 2018-05-10 16:26:23 -07:00
src Leverage 'func --version' with newer versions of the cli (#429) 2018-06-27 14:31:15 -07:00
test Make function.json parsing less strict (#409) 2018-06-25 14:46:40 -07:00
.gitignore Refactor error handling and add unit tests for the first time 2017-10-12 13:58:48 -07:00
.travis.yml Generate and upload vsix to storage (#271) 2018-03-12 18:07:46 +00:00
.vscodeignore Add vscodeignore 2017-11-21 21:42:03 +00:00
CHANGELOG.md Prep for 0.9.1 release (#392) 2018-05-23 13:40:02 -07:00
LICENSE.md Add functions explorer 2017-09-21 16:20:07 -07:00
README.md Get rid of "We've Moved!" message (#441) 2018-07-06 14:25:58 -07:00
gulpfile.js Generate and upload vsix to storage (#271) 2018-03-12 18:07:46 +00:00
package.json Run publish task before every csharp deploy 2018-06-27 14:27:18 -07:00
package.nls.json Standardize ellipsis and casing for commands (#430) 2018-06-28 13:47:36 -07:00
thirdpartynotices.txt Download zip from Func Cli Feed (#330) 2018-04-25 14:27:38 -07:00
tsconfig.json Add more tsconfig checks 2017-10-02 09:08:42 -07:00
tslint.json Fix func update for brew and add uninstall (#425) 2018-06-25 14:46:18 -07:00

README.md

Azure Functions for Visual Studio Code (Preview)

Build Status Release Status

Create, debug, manage, and deploy Azure Functions directly from VS Code. Check out this deployment tutorial to get started with the Azure Functions extension.

Prerequisites

Follow the OS-specific instructions to install the Azure Functions Core Tools:

Install the prerequisites for your desired language:

NOTE: You may change your azureFunctions.projectLanguage user setting to multiple other 'preview' languages not listed above. This allows you to create a project/function in that language, but we do not yet support local debugging for these languages.

Features

  • Create new Function projects
  • Create new Functions from a template
  • Debug Function projects locally
  • Deploy to Azure Function Apps
  • View, create, delete, start, stop, and restart Azure Function Apps
  • View, edit, upload, and download application settings
  • JSON Intellisense for function.json, host.json, and proxies.json
  • Stream logs from your remote Function Apps
  • Debug Java Function App on Azure (experimental)

    NOTE: To enable it, you can set azureFunctions.enableRemoteDebugging to true.

Create New Project

CreateProject

Debug Function App Locally

Debug

Deploy to Azure

Deploy

OS-Specific Prerequisites

NOTE: npm can be used on all platforms. On unix platforms, you may need to specify --unsafe-perm if you are running npm with sudo. That's due to npm behavior of post install script.

Windows

Both v1 and v2 of the runtime can be installed on Windows. v2 is cross platform, but is still in preview and not recommended for production use. v1 is Windows-only, but is approved for production use.

To install v1:

npm i -g azure-functions-core-tools

To install v2:

npm i -g azure-functions-core-tools@core --unsafe-perm true

Mac

brew tap azure/functions
brew install azure-functions-core-tools

Linux

  1. Register the Microsoft Product key as trusted.

    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
    sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
    
  2. Set up package feed

    • Ubuntu 18.04

      sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic main" > /etc/apt/sources.list.d/dotnetdev.list'
      sudo apt-get update
      
    • Ubuntu 17.10

      sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-artful-prod artful main" > /etc/apt/sources.list.d/dotnetdev.list'
      sudo apt-get update
      
    • Ubuntu 17.04

      sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-zesty-prod zesty main" > /etc/apt/sources.list.d/dotnetdev.list'
      sudo apt-get update
      
    • Ubuntu 16.04 / Linux Mint 18

      sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
      sudo apt-get update
      
  3. Install

    sudo apt-get install azure-functions-core-tools
    

Language-Specific Prerequisites

JavaScript

C#

  • VS Code Debugger for C#
  • .NET CLI
  • .NET Templates for Azure Functions
    • You will be automatically prompted to install these templates when you first create a project/function
      • If you are using v2.0 of the Azure Functions runtime, you must install the beta (.NET Core) templates
      • If you are using v1.0 of the Azure Functions runtime, you must install the v1.0 (.NET Framework) templates.

      NOTE: The VS Code Debugger for C# only supports attaching to 64-bit processes. v1.0 of the Azure Functions runtime defaults to 32-bit and you must install a 64-bit version. See here for instructions.

    • You may uninstall or reinstall the templates with the following steps:
      1. Open Command Palette (View -> Command Palette...)
      2. Search for "Azure Functions" and "install" or "uninstall"
      3. Run the corresponding command for .NET templates

NOTE: The default experience for C# uses class libraries (*.cs files), which provide superior performance, scalability, and versatility over C# Scripts (*.csx files). If you want to use C# Scripts, you may change your azureFunctions.projectLanguage user setting to C#Script.

Java

Managing Azure Subscriptions

If you are not signed in to Azure, you will see a "Sign in to Azure..." link. Alternatively, you can select "View->Command Palette" in the VS Code menu, and search for "Azure: Sign In".

Sign in to Azure

If you don't have an Azure Account, you can sign up for one today for free and receive $200 in credits by selecting "Create a Free Azure Account..." or selecting "View->Command Palette" and searching for "Azure: Create an Account".

You may sign out of Azure by selecting "View->Command Palette" and searching for "Azure: Sign Out".

To select which subscriptions show up in the extension's explorer, click on the "Select Subscriptions..." button on any subscription node (indicated by a "filter" icon when you hover over it), or select "View->Command Palette" and search for "Azure: Select Subscriptions". Note that this selection affects all VS Code extensions that support the Azure Account and Sign-In extension.

Select Azure Subscriptions

Contributing

There are a couple of ways you can contribute to this repo:

  • Ideas, feature requests and bugs: We are open to all ideas and we want to get rid of bugs! Use the Issues section to either report a new issue, provide your ideas or contribute to existing threads.
  • Documentation: Found a typo or strangely worded sentences? Submit a PR!
  • Code: Contribute bug fixes, features or design changes:
    • Clone the repository locally and open in VS Code.
    • Install TSLint for Visual Studio Code.
    • Open the terminal (press CTRL+`) and run npm install.
    • To build, press F1 and type in Tasks: Run Build Task.
    • Debug: press F5 to start debugging the extension.

Before we can accept your pull request you will need to sign a Contribution License Agreement. All you need to do is to submit a pull request, then the PR will get appropriately labelled (e.g. cla-required, cla-norequired, cla-signed, cla-already-signed). If you already signed the agreement we will continue with reviewing the PR, otherwise system will tell you how you can sign the CLA. Once you sign the CLA all future PR's will be labeled as cla-signed.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Telemetry

VS Code collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more. If you dont wish to send usage data to Microsoft, you can set the telemetry.enableTelemetry setting to false. Learn more in our FAQ.

License

MIT