Use Visual Studio Code for Salesforce Development

Follow Along with Trail Together

Want to follow along with an instructor as you work through this step? Take a look at this video, part of the Trail Together series on Trailhead Live.

(This clip starts at the 19:41 minute mark, in case you want to rewind and watch the beginning of the step again.)

Terminal Versus Command Palette

Like with any good development tool, there is more than one way to do things with Visual Studio Code. The two main ways you can interact with Salesforce CLI are through the integrated terminal or quick open window.

To view the quick open window, press Command + P on Mac or Ctrl + P on Windows. If you type ? you can view the help menu. Through this module we will use the quick open window in command palette mode, which allows us to show and run commands.

The view of the global commands in the quick open window with ? in the field.

Create a Project

  1. Press Command + Shift + P on Mac or Ctrl + Shift + P on Windows to make the command palette appear.
  2. Make sure the new prompt starts with >
  3. Type SFDX: Create Project and press Enter to select the standard template.
  4. Type the project name VSCodeQuickstart and press Enter.
  5. Select your Desktop as the place to create the project in so it is easy to find later on.
  6. Wait for the new Visual Studio Code window to open. You should see an indication that the extension is preparing your project before populating the file explorer.

 Extension notice: Running SFDX: Create Project.

Search your Files

  1. Press Command + P on Mac or Ctrl + P on Windows to make the search palette appear. This shifts the focus to search files.
  2. Type project-scratch-def.json into the field.
  3. Click the result to open the file.
  4. On the left hand side of Visual Studio code, click the Find and Replace menu. magnifying glass
  5. Search for orgName.
  6. In the first result found in project-scratch-def.json.
  7. Change the orgName value (after the : and in between the “”) to Learning VS Code.
  8. Save the file by pressing Command + S on Mac, Control + S on Windows.

The project-scratch-def.json file with the new org name.

Authenticate to Your Playground

  1. Press Command + Shift + P on Mac or Ctrl + Shift + P on Windows to make the command palette appear.
  2. Type SFDX: Authorize an Org.
  3. To accept the default login URL, press Enter.
  4. Enter the alias VSCodePlayground.
  5. Notice that your default browser opens a new Salesforce login window. Log in to your playground using your playground username and password retrieved from the last step.
  6. When you are asked to grant access to the connected app, click to allow.    The Allow Access page for a global connected app
  7. Close the browser window.

The command-line terminal window returns a success message when the transaction is complete.

Successfully authorized USER with org ID/You may now close the browser.

Create an Apex Class

  1. Click the Explorer icon explorer icon in Visual Studio Code to expand the force-app folder.
  2. Under the VSCODEQUICKSTART directory, click force-app to show its folder tree. In the force-app/main/default directory, you find the metadata included within the project such as applications, aura, classes, and more.  The folder tree expanded so you can see the classes folder.
  3. Press Command + Shift + P on Mac or Ctrl + Shift + P on Windows to make the command palette appear.
  4. Type SFDX: Create Apex Class.
  5. Enter the name AccountController.
  6. If VS Code asks, select force-app/main/default/classes as the directory you wish to add AccountController.cls to.
  7. In the newly opened AccountController.cls file, replace the default code with the following:
  8. public with sharing class AccountController {
      public static List<Account> getAllActiveAccounts() {
        return [SELECT Id,Name,Active__c FROM Account WHERE Active__c = 'Yes'];
  9. Save your file.


Our new Apex class has a SOQL query in it, but we want to make sure it works as we expect before we deploy it to our org. We use the command palette to run the query against our org.

  1. In line 3 of the code, highlight the query SELECT Id,Name,Active__c FROM Account WHERE Active__c = 'Yes'
  2. Press Command + Shift + P on Mac or Ctrl + Shift + P on Windows to make the command palette appear.
  3. Search for SFDX:Execute SOQL Query with Currently Selected Text.
  4. Press Enter.
  5. Select REST API and press Enter.
  6. In the Output tab of the integrated terminal window, review the results of your query. The window should state a summary that says: SFDX: Execute SOQL Query ... ended with exit code 0. This means it successfully ran.

The Output tab displaying the 10 records received from your Trailhead Playground.


The last step is to deploy your code to your playground from within Visual Studio Code.

  1. Right click the classes folder.
    With the classes folder right clicked, SFDX: Deploy Source to Org is selected in the options list.
  2. Click SFDX: Deploy Source to Org.
  3. In the Output tab of the integrated terminal, view the results of your deployment. You should have also received a notice that states: SFDX: Deploy Source to Org ... ended with exit code 0. This means it successfully ran.

The Output tab displaying the results with exit code 0 for success.

Parting Thoughts

You’ve learned how to use Visual Studio Code and the Salesforce Extensions. You’ve seen how the features of an IDE can help maximize your development efficiency. Now you’re ready to explore some of the more complex topics, such as debugging with the Apex Replay Debugger, customizing your editor to fit your needs, and running your developer pipelines with Visual Studio Code.

Keep learning for
Sign up for an account to continue.
What’s in it for you?
  • Get personalized recommendations for your career goals
  • Practice your skills with hands-on challenges and quizzes
  • Track and share your progress with employers
  • Connect to mentorship and career opportunities