Skip to content

DataDog/datadog-for-vscode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Datadog for VS Code

The Datadog extension for VS Code integrates with Datadog to accelerate your development.

Version Installs Downloads Ratings

Overview | Requirements | License | Help and Feedback


screenshot

Overview

The Datadog extension packs several features including:

Requirements

  • A Datadog account: Most features require a Datadog account.
    • If you're new to Datadog, go to the Datadog website to learn more about Datadog's observability tools and sign up for a free trial.
    • If your company uses a custom sub-domain like myorg.datadoghq.com, you must indicate it using the datadog.connection.oauth.setup.domain setting.

  • VS Code Git: The extension works better when VS Code Git integration is enabled. You can ensure that the integration is enabled by checking the git.enabled setting.

Code Insights

The Code Insights tree displays insights generated by the Datadog platform that are relevant to your code-base. The Code Insights can be grouped by kind, file, priority, and service.

Code Insights include a detailed description for each issue, and links to:

  • The related source code location
  • The Datadog platform for additional information

You can dismiss individual Code Insights and set filters to view the ones you are most interested in.

Synthetic Tests

The Datadog extension enables you to run Synthetic HTTP tests and browser tests on local environments directly in VS Code. You can identify and address potential issues resulting from code changes before they are deployed into production and impact your end users.

We support HTTP API tests and Browser tests.


Synthetic Tests in VS Code

Run Synthetic tests locally

  1. Select a Synthetic test to execute. You can search for specific tests by clicking the Search icon.
  2. Change the test's configuration to convert the start URL and specify a localhost URL on the Settings page.
  3. Run the test.
The Test Configuration panel and Settings page where you can specify the start URL of a Synthetics test to a localhost URL

If you haven't set up Synthetic tests already, create a test in Datadog. For more information about running tests on a local environment, see Getting Started with API Tests, Getting Started with Browser Tests, and the Continuous Testing Tunnel documentation.

Permissions

By default, only users with the Datadog Admin and Datadog Standard roles can create, edit, and delete Synthetic HTTP and browser tests. To get create, edit, and delete access to Synthetic HTTP and browser tests, upgrade your user to one of those two default roles.

If you are using the custom role feature, add your user to any custom role that includes synthetics_read and synthetics_write permissions.

Logs navigation

You can navigate to the Log Explorer on the Datadog platform directly from your source code files.

If you're using a supported logging library and VS Code is properly configured for the language, the extension is able to show you code lenses on the lines where it has detected log patterns that match the Datadog platform records:

The supported logging libraries are:

Alternatively, you can select some text in your source code, right click, and select Datadog > Search Logs With Selected Text option.


Enabling the Datadog logs explorer feature.

Static Analysis

The Static Analysis integration analyzes your code (locally) against predefined rules to detect and fix problems.

The Datadog extension runs Static Analysis rules on your source files as you edit them. The goal is to detect and fix problems such as maintainability issues, bugs, or security vulnerabilities in your code before you commit your changes.

Static Analysis supports scanning for many programming languages. For a complete list, see Static Analysis Rules. For file types belonging to supported languages, issues are shown in the source code editor, and suggested fixes can be applied directly.

Getting started

When you start editing a source file, the extension checks for static-analysis.datadog.yml at your source repository's root. It prompts you to create it if necessary.

Static Analysis onboarding message.

Once the configuration file is created, the static analyzer runs automatically in the background whenever a file is opened. If you need to enable static analysis for a particular language you can use the following command from the Datadog Menu:

Static Analysis onboarding command.

You can also run a batch analysis for individual folders and even the entire workspace:

The Static Analysis feature does not require a Datadog account, as source files are analyzed locally.

Exception Replay

Exception Replay allows you to inspect the stack trace frames of any Error Tracking code insight and get information about the values of the variables of the code running in production.

In order to get access to this feature, you have to enable Error Tracking Exception Replay on Datadog.

After the feature has been enabled, you can see an Exception Replay button next to the stack trace section of any instrumented Error Tracking code insight. Click the button to:

  • access all the information Datadog has about the different frames
  • navigate through the production code
  • review the value of the different variables involved

Select an Error Tracking code insight from the Code Insights view. Go to the stack trace and click the Exception Replay button. VS Code shows a new activity with two new views:

  • Variables: displays the variables related to a particular stack trace frame.
  • Stack Trace: lists the stack frames for navigation.

Select a stack trace frame and inspect the values of all the variables that Datadog captured from your production code.

Recent Commits

The Recent Commits feature enhances your development workflow by leveraging information from Datadog's Software Delivery suite: CI Visibility, Test Visibility, and Code Analysis.

The Commit Alert monitors your recent commits and displays a notification on the status bar whenever a commit has triggered a CI issue, such as a test failure, a CI pipeline fail, or a new flaky test occurrence (see the setting datadog.recentCommits.alert.check.notPassedTest as an example).

The Recent Commits view displays your recent commits pushed to any of the repositories currently open in VS Code. Use the "Set Additional Authors" and "Set Additional Repositories" buttons in the view's toolbar to include commits from other authors and repositories.

The Recent Commits feature aims to keep you informed and boost your productivity by highlighting commits that need your attention. It distinguishes your commits using the email configured in Git (git config user.email) and any "email aliases" you set up with the datadog.recentCommits.setup.userAliases setting. You can configure these aliases directly on your settings or by clicking the "Set User Aliases" button in the Recent Commits view toolbar.

File Insights

The File Insights view provides comprehensive information from Datadog about the file currently open in the active editor. Use this view to explore, search, and organize insights, and to quickly navigate to the specific locations in your code where these insights apply.

View in VS Code

The View in VS Code feature provides a link from Datadog directly to your source files. Look for the button next to frames in stack traces displayed in the UI (for example, in Error Tracking):

A stack trace on the Datadog platform showing the View in VS Code button.

To use this feature, first configure source code integration for your service.

Code Delta

Code Delta matches the line numbers included in Datadog telemetry to the line numbers of the files you are currently working on in VS Code.

For example, all View in VS Code links on the Datadog platform encode runtime version info, and the extension uses that to compute the corresponding line of code in your editor, taking into account version changes.

You can tweak the Code Delta settings to change how the matching algorithm works. In particular, you can modify the Minimum Affinity value, which determines the degree of confidence required to match lines.

License

Please read this End-User License Agreement carefully before downloading or using the Datadog Visual Studio Code Extension.

Data and Telemetry

Datadog anonymously collects information about your usage of this IDE, including how you interact with it, whether errors occurred while using it, and what caused those errors, in accordance with the Datadog Privacy Policy and Datadog's VS Code extension EULA.

If you don't wish to send this data to Datadog, you can opt out at any time in the VS Code extension settings: Datadog > Telemetry > Setup > Enable Telemetry and select disabled.

The Datadog extension also honors the VS Code telemetry telemetry setting.

Help and Feedback

To share your feedback, email team-ide-integration@datadoghq.com or create an issue in the extension's public repository.

Check out the issues section to discover known issues.