1. Use Visual Studio Code For Javascript
  2. Use Visual Studio Code With Github
  3. Visual Studio Code Tutorial
  4. Use Visual Studio Code For Java
  5. Use Visual Studio Code With Git
  6. Use Visual Studio Code Debugger
-->

Visual Studio Code does not have the concept of a known 'web application port' like Visual Studio for project types such as ASP.NET. However, if you are joining a collaboration session from a Visual Studio host, you may automatically see your default browser appear when debugging starts that is then automatically connected to the host's running. Build, manage, and deploy containerized applications using the Docker extension. Generate Docker files from your existing repository and manage your containers, images,.

Visual Studio Code is a cross-platform script editor by Microsoft. Together with thePowerShell extension, it provides a rich and interactive script editing experience, makingit easier to write reliable PowerShell scripts. Visual Studio Code with the PowerShell extension isthe recommended editor for writing PowerShell scripts.

It supports the following PowerShell versions:

  • PowerShell 7 and up (Windows, macOS, and Linux)
  • PowerShell Core 6 (Windows, macOS, and Linux)
  • Windows PowerShell 5.1 (Windows-only)

Note

Visual Studio Code is not the same as Visual Studio.

Getting started

Before you begin, make sure PowerShell exists on your system. For modern workloads on Windows,macOS, and Linux, see the following links:

For traditional Windows PowerShell workloads, see Installing Windows PowerShell.

Important

The Windows PowerShell ISE is still available for Windows. However, it is no longer inactive feature development. The ISE does not work with PowerShell 6 and higher. As a component ofWindows, it continues to be officially supported for security and high-priority servicing fixes.We have no plans to remove the ISE from Windows.

Editing with Visual Studio Code

  1. Install Visual Studio Code. For more information, see the overviewSetting up Visual Studio Code.

    There are installation instructions for each platform:

    • Windows: follow the installation instructions on theRunning Visual Studio Code on Windows page.
    • macOS: follow the installation instructions on theRunning Visual Studio Code on macOS page.
    • Linux: follow the installation instructions on theRunning Visual Studio Code on Linux page.
  2. Install the PowerShell Extension.

    1. Launch the Visual Studio Code app by typing code in a console or code-insidersif you installed Visual Studio Code Insiders.

    2. Launch Quick Open on Windows or Linux by pressing Ctrl+P. On macOS,press Cmd+P.

    3. In Quick Open, type ext install powershell and press Enter.

    4. The Extensions view opens on the Side Bar. Select the PowerShell extension from Microsoft.You should see a Visual Studio Code screen similar to the following image:

    5. Click the Install button on the PowerShell extension from Microsoft.

    6. After the install, if you see the Install button turn into Reload, Click on Reload.

    7. After Visual Studio Code has reloaded, you're ready for editing.

For example, to create a new file, click File > New. To save it, click File > Save and thenprovide a file name, such as HelloWorld.ps1. To close the file, click the X next to the filename. To exit Visual Studio Code, File > Exit.

Installing the PowerShell Extension on Restricted Systems

Some systems are set up to require validation of all code signatures. You may receive the followingerror:

This problem can occur when PowerShell's execution policy is set by Windows Group Policy. Tomanually approve PowerShell Editor Services and the PowerShell extension for Visual Studio Code,open a PowerShell prompt and run the following command:

You're prompted with Do you want to run software from this untrusted publisher? Type A to runthe file. Then, open Visual Studio Code and check that the PowerShell extension is functioningproperly. If you still have problems getting started, let us know on GitHub issues.

Note

The PowerShell extension for Visual Studio Code does not support running in constrained languagemode. For more information, see GitHub issue #606.

Choosing a version of PowerShell to use with the extension

With PowerShell Core installing side-by-side with Windows PowerShell, it's now possible to use aspecific version of PowerShell with the PowerShell extension. This feature looks at a few well-knownpaths on different operating systems to discover installations of PowerShell.

Use the following steps to choose the version:

  1. Open the Command Palette on Windows or Linux withCtrl+Shift+P. On macOS, useCmd+Shift+P.
  2. Search for Session.
  3. Click on PowerShell: Show Session Menu.
  4. Choose the version of PowerShell you want to use from the list, for example: PowerShell Core.

If you installed PowerShell to a non-typical location, it might not show up initially in the SessionMenu. You can extend the session menu by adding your own custom pathsas described below.

Use tabs instead of spaces visual studio code

Note

The PowerShell session menu can also be accessed from the green version number in the bottom rightcorner of status bar. Clicking this version number opens the session menu.

Configuration settings for Visual Studio Code

First, if you're not familiar with how to change settings in Visual Studio Code, we recommendreading Visual Studio Code's settings documentation.

After reading the documentation, you can add configuration settings in settings.json.

If you don't want these settings to affect all files types, Visual Studio Code also allowsper-language configurations. Create a language-specific setting by putting settings in a[<language-name>] field. For example:

Tip

For more information about file encoding in Visual Studio Code, see Understanding file encoding.

Also, check out How to replicate the ISE experience in Visual Studio Code for othertips on how to configure Visual Studio Code for PowerShell editing.

Adding your own PowerShell paths to the session menu

You can add other PowerShell executable paths to the session menu through theVisual Studio Code setting:powershell.powerShellAdditionalExePaths.

Add an item to the list powershell.powerShellAdditionalExePaths or create the list if it doesn'texist in your settings.json:

Each item must have:

  • exePath: The path to the pwsh or powershell executable.
  • versionName: The text that will show up in the session menu.

To set the default PowerShell version, set the value powershell.powerShellDefaultVersion to thetext displayed in the session menu (also known as the versionName):

After you've configured this setting, restart Visual Studio Code or to reload the current VisualStudio Code window from the Command Palette, type Developer: Reload Window.

If you open the session menu, you now see your additional PowerShell versions!

Note

If you build PowerShell from source, this is a great way to test out your local build ofPowerShell.

Using an older version of the PowerShell Extension for Windows PowerShell v3 and v4

The current PowerShell extension doesn't support PowerShell v3 and v4. However, you canuse the last version of the extension that supports PowerShell v3 and v4.

Caution

There will be no additional fixes to this older version of the extension. It's provided 'AS IS'but is available for you if you are still using Windows PowerShell v3 and Windows PowerShell v4.

First, open the Extension pane and search for PowerShell. Then click the gear and selectInstall another version...

Then select the 2020.1.0 version. This version of the extension was the last version tosupport v3 and v4. Be sure to add the following setting so that your extension version doesn'tupdate automatically:

Version 2020.1.0 will work for the foreseeable future. However, Visual Studio Code couldimplement a change that breaks this version of the extension. Because of this, and lack of support,we recommend:

  • Upgrading to Windows PowerShell 5.1
  • Install PowerShell 7, which is a side-by-side install to Windows PowerShell and works thebest with the PowerShell extension

Debugging with Visual Studio Code

No-workspace debugging

In Visual Studio Code version 1.9 (or higher), you can debug PowerShell scripts without opening thefolder that contains the PowerShell script.

  1. Open the PowerShell script file with File > Open File..
  2. Set a breakpoint - select a line then press F9
  3. Press F5 to start debugging

You should see the Debug actions pane appear which allows you to break into the debugger,step, resume, and stop debugging.

Workspace debugging

Workspace debugging refers to debugging in the context of a folder that you've opened from theFile menu using Open Folder... The folder you open is typically your PowerShell projectfolder or the root of your Git repository. Workspace debugging allows you to define multiple debugconfigurations other than just debugging the currently open file.

Follow these steps to create a debug configuration file:

  1. Open the Debug view on Windows or Linux by pressingCtrl+Shift+D. On macOS, pressCmd+Shift+D.

  2. Click the create a launch.json file link.

  3. From the Select Environment prompt, choose PowerShell.

  4. Choose the type of debugging you'd like to use:

    • Launch Current File - Launch and debug the file in the currently active editor window
    • Launch Script - Launch and debug the specified file or command
    • Interactive Session - Debug commands executed from the Integrated Console
    • Attach - Attach the debugger to a running PowerShell Host Process

Visual Studio Code creates a directory and a file .vscodelaunch.json in the root of yourworkspace folder to store the debug configuration. If your files are in a Git repository, youtypically want to commit the launch.json file. The contents of the launch.json file are:

This file represents the common debug scenarios. When you open this file in the editor, you see anAdd Configuration.. button. You can click this button to add more PowerShell debugconfigurations. One useful configuration to add is PowerShell: Launch Script. With thisconfiguration, you can specify a file containing optional arguments that are used whenever youpress F5 no matter which file is active in the editor.

After the debug configuration is established, you can select which configuration you want to useduring a debug session. Select a configuration from the debug configuration drop-down in theDebug view's toolbar.

Troubleshooting the PowerShell extension for Visual Studio Code

If you experience any issues using Visual Studio Code for PowerShell script development, see thetroubleshooting guide on GitHub.

Useful resources

There are a few videos and blog posts that may be helpful to get you started using the PowerShellextension for Visual Studio Code:

Videos

Blog posts

PowerShell extension project source code

The PowerShell extension's source code can be found on GitHub.

If you're interested in contributing, Pull Requests are greatly appreciated. Follow along with thedeveloper documentation on GitHub to get started.

-->

The Azure Terraform Visual Studio Code extension enables you to work with Terraform from the editor. With this extension, you can author, test, and run Terraform configurations. The extension also supports resource graph visualization.

In this article, you learn how to:

  • Automate the provisioning of Azure services using Terraform
  • install and use the Terraform Visual Studio Code extension for Azure services.
  • Use Visual Studio Code to write, plan, and execute Terraform plans.

Prerequisites

  • Azure subscription: If you don't have an Azure subscription, create a free account before you begin.
  • Terraform: Install and configure Terraform.
  • Visual Studio Code: Install the version of Visual Studio Code that is appropriate for your environment.

Prepare your dev environment

Install Git

To complete the exercises in the article, you need to install Git.

Install HashiCorp Terraform

Follow the instructions on the HashiCorp Install Terraform webpage, which covers:

  • Downloading Terraform
  • Installing Terraform
  • Verifying Terraform is correctly installed

Tip

Be sure to follow the instructions regarding setting your PATH system variable.

Install Node.js

To use Terraform in the Cloud Shell, you need to install Node.js 6.0+.

Note

To verify if Node.js is installed, open a terminal window and enter node -v.

Install GraphViz

To use the Terraform visualize function, you need to install GraphViz.

Note

To verify if GraphViz is installed, open a terminal window and enter dot -V.

Install the Azure Terraform Visual Studio Code extension

Use Visual Studio Code For Javascript

  1. Launch Visual Studio Code.

  2. Select Extensions.

  3. Use the Search Extensions in Marketplace text box to search for the Azure Terraform extension:

  4. Select Install.

    Note

    When you select Install for the Azure Terraform extension, Visual Studio Code will automatically install the Azure Account extension. Azure Account is a dependency file for the Azure Terraform extension, which it uses to perform Azure subscription authentications and Azure-related code extensions.

Verify the Terraform extension is installed in Visual Studio Code

  1. Select Extensions.

  2. Enter @installed in the search text box.

The Azure Terraform extension will appear in the list of installed extensions.

You can now run all supported Terraform commands in your Cloud Shell environment from within Visual Studio Code.

Exercise 1: Basic Terraform commands walk-through

In this exercise, you create and execute a basic Terraform configuration file that provisions a new Azure resource group.

Prepare a test plan file

Use Visual Studio Code With Github

  1. In Visual Studio Code, select File > New File from the menu bar.

  2. In your browser, navigate to the Terraform azurerm_resource_group page and copy the code in the Example Usage code block:

  3. Paste the copied code into the new file you created in Visual Studio Code.

    Note

    You may change the name value of the resource group, but it must be unique to your Azure subscription.

  4. From the menu bar, select File > Save As.

  5. In the Save As dialog, navigate to a location of your choice and then select New folder. (Change the name of the new folder to something more descriptive than New folder.)

    Note

    In this example, the folder is named TERRAFORM-TEST-PLAN.

  6. Make sure your new folder is highlighted (selected) and then select Open.

  7. In the Save As dialog, change the default name of the file to main.tf.

  8. Select Save.

  9. In the menu bar, select File > Open Folder. Navigate to and select the new folder you created.

Run Terraform init command

  1. Launch Visual Studio Code.

  2. From the Visual Studio Code menu bar, select File > Open Folder.. and locate and select your main.tf file.

  3. From the menu bar, select View > Command Palette.. > Azure Terraform: Init.

  4. When the confirmation appears, select OK.

  5. The first time you launch Cloud Shell from a new folder, you're prompted to create a web application. Select Open.

  6. The Welcome to Azure Cloud Shell page opens. Select Bash or PowerShell.

  7. If you have not already set up an Azure storage account, the following screen appears. Select Create storage.

  8. Azure Cloud Shell launches in the shell you previously selected and displays information for the cloud drive it just created for you.

  9. You may now exit the Cloud Shell

  10. From the menu bar, select View > Command Palette > Azure Terraform: init.

Visualize the plan

Earlier in this article, you installed GraphViz. Terraform can use GraphViz to generate a visual representation of either a configuration or execution plan. The Azure Terraform Visual Studio Code extension implements this feature via the visualize command.

  • From the menu bar, select View > Command Palette > Azure Terraform: Visualize.

Run Terraform plan command

The Terraform plan command is used to check whether the execution plan for a set of changes will do what you intended.

Note

Terraform plan does not make any changes to your real Azure resources. To actually make the changes contained in your plan, we use the Terraform apply command.

  • From the menu bar, select View > Command Palette > Azure Terraform: plan.

Run Terraform apply command

After being satisfied with the results of Terraform plan, you can run the apply command.

  1. From the menu bar, select View > Command Palette > Azure Terraform: apply.

  2. Enter yes.

Verify your Terraform plan was executed

To see if your new Azure resource group was successfully created:

Visual Studio Code Tutorial

  1. Open the Azure portal.

  2. Select Resource groups in the left navigation pane.

Yuletide legends: who framed santa claus for mac. Your new resource group should be listed in the NAME column.

Note

You may leave your Azure Portal window open for now; we will be using it in the next step.

Run Terraform destroy command

  1. From the menu bar, select View > Command Palette > Azure Terraform: destroy.

  2. Enter yes.

Verify your resource group was destroyed

To confirm that Terraform successfully destroyed your new resource group:

  1. Select Refresh on the Azure portal Resource groups page.

  2. Your resource group will no longer be listed.

Exercise 2: Terraform compute module

In this exercise, you learn how to load the Terraform compute module into the Visual Studio Code environment.

Clone the terraform-azurerm-compute module

  1. Use this link to access the Terraform Azure Rm Compute module on GitHub.

  2. Select Clone or download.

    Note

    In this example, our folder was named terraform-azurerm-compute.

Open the folder in Visual Studio Code

  1. Launch Visual Studio Code.

  2. From the menu bar, select File > Open Folder and navigate to and select the folder you created in the previous step.

Initialize Terraform

Before you can begin using the Terraform commands from within Visual Studio Code, you download the plug-ins for two Azure providers: random and azurerm.

  1. In the Terminal pane of the Visual Studio Code IDE, enter terraform init.

  2. Enter az login, press <Enter, and follow the on-screen instructions.

Module test: lint

  1. From the menu bar, select View > Command Palette > Azure Terraform: Execute Test.

  2. From the list of test-type options, select lint.

  3. When the confirmation appears, select OK, and follow the on-screen instructions.

Note

When you execute either the lint or end to end test, Azure uses a container service to provision a test machine to perform the actual test. For this reason, your test results may typically take several minutes to be returned.

After a few moments, you see a listing in the Terminal pane similar to this example:

Test the module

  1. From the menu bar, select View > Command Palette > Azure Terraform: Execute Test.

  2. From the list of test type options, select end to end.

  3. When the confirmation appears, select OK, and follow the on-screen instructions.

Note

When you execute either the lint or end to end test, Azure uses a container service to provision a test machine to perform the actual test. For this reason, your test results may typically take several minutes to be returned. 12 labours of hercules ii: the cretan bull download for mac.

After a few moments, you see a listing in the Terminal pane similar to this example:

Use Visual Studio Code For Java

Troubleshooting

Use Visual Studio Code With Git

For Terraform-specific support, use one of HashiCorp's community support channels to Terraform:

Use Visual Studio Code Debugger

  • Questions, use-cases, and useful patterns: Terraform section of the HashiCorp community portal
  • Provider-related questions: Terraform Providers section of the HashiCorp community portal

Next steps