Visual Studio Visual Studio Code



Visual Studio extension development. Create add-ons and extensions for Visual Studio, including new commands, code analyzers, and tool windows. Add the SDKs and tools you need to create new commands, code analyzers, tool windows, and language services using C#. Then, share your extension with the community in the Visual Studio Marketplace. Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform.

Features

With AdaptiveCards Studio you can author cards directly in Visual Studio Code. The Extension automatically detects all Adaptive Cards in your working space and lets you easily edit the card template and sample data.

Extension Settings

To use the Extension you must configure it first!

This extension contributes the following settings:

  • acstudio.defaultHostConfig : The HostConfig to be used when rendering cards

Usage

Open the Adaptive Cards Panel and select a card.... thats all you have to do :)

Testing Cards

Login to your M365 account, click the outlook icon to send the card to yourself by email.

Snippets

The Extension comes with various snippets to make authoring cards even easier. Just press ctrl+space anywhere in the AdaptiveCard Json

Snippets for Adaptive Cards Elements:

  • ac-txt : TextBlock with minimum properties
  • ac-txtfull : TextBlock with all properties
  • ac-col3 : Columnset with 3 columns
  • ac-col2 : Columnset with 2 columns
  • ac-fctset : Factset
  • ac-ctr : Container
  • ac-img : Image

Snippets for Adaptive Card Samples:

  • ac-empty : A new, blank AdaptiveCard
  • ac-activityUpdate : Adaptive Cards Activity Update Sample
  • ac-expenseReport : Adaptive Cards Expense Report Sample
  • ac-inputForm : Adaptive Cards Input Form Sample

SampleData

When editing templates its a tremendous help to have sample data available. The Extension lets you create and store sample data for your templates easily.

Can

CMS Usage

The CMS interoperability is in alpha preview, to connect the extension to your self hosted CMS set the config values above to your URL and access token. The only way to get an access token right now is using developer tools in your browser and inspecting the calls when logged in to your CMS. This is an alpha proof of concept and will have a proper login mechanism soon.

Provides features for working with MITRE ATT&CK techniques.

Editor Features

Code Completion

This extension provides Intellisense-like support for ATT&CK tactics, techniques and sub-techniques. This includes completions for technique names too, so typing either Powers or T1059.001 will insert the appropriate text.

If enabled, code completion is supported for Group, Mitigation, and Software IDs/names. However, by default, these providers are disabled. To enable them, go into the vscode-attack section of Settings and check which objects you would like to enable.

Hover

This extension provides descriptions when hovering over tactic and technique IDs, which include the name, MITRE ATT&CK source link, and configurable descriptions pulled from the ATT&CK technique information.

Like code completion, hovers are supported for Group, Mitigation, and Software IDs, and they can be enabled using the appropriate toggles.

Technique Search

This extension provides a command that allows searching for techniques by their technique IDs, names, or interesting keywords found in the descriptions.

For example, searching for the keyword certutil, which is not present in any technique name, will yield a result for T1140 Deobfuscate/Decode Files or Information, because there is a reference to it in the description. Any matching techniques reveal webpanel with results similar to those found in the hover results.

Miscellaneous

Automatic Updating

The extension will attempt to keep track of new versions of the MITRE ATT&CK framework and download them from The Cyber Threat Intelligence Repository of ATT&CK and CAPEC catalogs if available.

Window Items

The version of ATT&CK currently in use will be displayed in the lower right-hand corner of the IDE (e.g. ATT&CK v8.1).

Clicking on this item will also execute the Search command and prompt the user for a term to search within the IDE.

Configurability

Certain aspects of this extension can be configured using the Visual Studio Code Settings page.

Applicable Files

By default, this extension applies to saved Markdown and YAML files, but this setting is configurable using the vscode-attack.applicableFiles setting.

Users can add DocumentFilters to register new document types.

For example, if a user wants this extension to apply to all Python scripts, all _reports.txt files, and unsaved files, add the following filters:

Completion Format

By default, this extension inserts ATT&CK objects by their object ID, such as T1059.

Users can modify the setting vscode-attack.completionFormat to display one of the following options instead:

Visual Studio Visual Studio Code Difference

  • name: Display the object by name, such as Command and Scripting Interpreter
  • fullname: Display the object by name and parent if it is a sub-technique, such as Command and Scripting Interpreter: PowerShell
  • id-name: Display the object by their ID and name, such as T1059.001 PowerShell
  • id-fullname: Display the object by their ID, name, and parent if it is a sub-technique, such as T1059.001 Command and Scripting Interpreter: PowerShell

Visual Studio Website Examples

Description Length

By default, this extension displays only the first line in ATT&CK object descriptions, such as those found in the Hover and Code Completion messages.

Visual Studio 2017 Vs Visual Studio Code

Users can modify the vscode-attack.description setting to display just the name + source link (using the short option), or the full description (using the long option).