# Setting up VS Code for Azure Development
###### tags: `devsetup`
1. Install Python from python.org. NOTE: If you installed from the store, you need to uninstall and install from the web instead due to: [Issue #3042](https://github.com/Azure/azure-functions-core-tools/issues/3042) You need to install the version supported by the Azure Function Core Tools version you will be using. For example, at the time of writing, I had to use Azure Function Core Tools 3.0 which supports python 3.6 and 3.7, So I installed python 3.7 alongside my existing 3.9 installation.
3. Follow [instructions for installing Azure Function Core Tools](https://github.com/Azure/azure-functions-core-tools#installing) through command-line or installer for your OS:
*NOTE: Make sure the version of the azure function tools matches the runtime version used on the server side. You can do this by going to the function app’s page and noting the runtime version.*
3. In terminal or PowerShell, type func --version to verify install
4. Install the Azure extension to vs code and log into your azure account
5. You can see function apps here

6. In the vs code terminal, run `Connect-AzAccount`
7. You’ll get a pop-up window asking you to login
8. In VS Code terminal with app loaded up and in the app main dir, run this command (where booking-create-update-test is replaced by your function app’s name):
`func azure functionapp fetch-app-settings booking-create-update-test`
You should see something like this after running the commands above

9. With the function app project still loaded, close and reopen VS Code
11. Wait a few seconds and you should get a prompt to “create a virutal enviroment” - go through the prompts, selecting the appropriate python interpreter
12. After the process of creating the venv is complete, it should automatically install the requirements for the function app and activate your venv
13. Go to the Run/Debug Menu and hit the play button
14. You may get a firewall message. Allow the app through on all networks.
15. You may get a message asking you to select a storage account, select the correct account for your app
16. That should be all the setup needed. Your terminal should look something like this:
