SARIF Microsoft Visual Studio Code extension
Перейти к файлу
Winston Liu e09eed0fc2
Honor extension-provided uriBase (#508)
* Part 1: move uriBase logic into uriRebaser

* Step 2: Add translations

* Disable more schemes

* Also add translations for workspace prefixes

* Add support for uriBase

* Remove overrideUriBase

* Correct decorations URI checking

* Fix URI rebasing

* Relax strategy restrictions

* Clean up an any

* Remove now-unused Array.commonLength

* Allow file system strategy to work with filepaths

* Update localUri to be a real Uri

* Check uriBase before other strategies

* uriBase must be an absolute URI

* Remove bad comment

* Remove unused url-join

* Fix compile

* Can't use Uris as map keys
2023-06-28 11:15:20 -07:00
.github Update badge URLs in README.md (#484) 2023-01-30 13:24:19 -10:00
.vscode Github Code Scanning Integration (#458) 2022-09-22 15:54:51 -07:00
demos/distinctNameMatching Perf: retire distinctLocalNames. 2022-10-18 09:34:40 -07:00
samples Render "Property Bags" in result details. (#407) 2021-11-09 00:46:05 -08:00
src Honor extension-provided uriBase (#508) 2023-06-28 11:15:20 -07:00
.eslintrc.js Create eslint-analysis.yml (#423) 2022-03-10 01:13:39 +08:00
.gitignore Github Code Scanning Integration (#458) 2022-09-22 15:54:51 -07:00
.mocharc.yaml Bump to 3.1.0. Update change log. (#410) 2021-11-11 00:42:45 -08:00
.nycrc.yaml Add tests for tableStore (#284) 2020-07-08 18:05:33 -04:00
.vscodeignore Adjust .vscodeignore for marketplace. 2020-09-14 13:55:34 -07:00
CHANGELOG.md Bump to 3.1.0. Update change log. (#410) 2021-11-11 00:42:45 -08:00
CONTRIBUTING.md Add development guide (#450) 2022-08-09 15:26:20 -07:00
LICENSE Initial commit 2018-02-20 13:41:04 -08:00
README.hero.png Adjust .vscodeignore for marketplace. 2020-09-14 13:55:34 -07:00
README.md Change badges to PNG (#485) 2023-01-31 06:45:50 -10:00
SECURITY.md Microsoft mandatory file (#451) 2022-08-09 15:46:02 -07:00
icon.png Update icon, readme, and description. (#349) 2020-09-08 16:11:52 -07:00
index.css Testing Tool: View multiple layouts (#296) 2020-07-09 10:58:52 -07:00
index.html Testing Tool: View multiple layouts (#296) 2020-07-09 10:58:52 -07:00
index.js Github Code Scanning Integration (#458) 2022-09-22 15:54:51 -07:00
package-lock.json Honor extension-provided uriBase (#508) 2023-06-28 11:15:20 -07:00
package.json Honor extension-provided uriBase (#508) 2023-06-28 11:15:20 -07:00
tsconfig.json Integrate new UI (Continued) (#282) 2020-06-26 12:43:47 -07:00
webpack.config.js Github Code Scanning Integration (#458) 2022-09-22 15:54:51 -07:00

README.md

SARIF Viewer for Visual Studio Code

A Visual Studio Code extension that adds support for viewing SARIF logs. SARIF log results can be viewed as squiggles in your source, in the Problems list, or in a dedicated SARIF Results Panel. The SARIF Results Panel offers richer grouping, filtering, column, and details options over the standard Problems list.

overview

What's New?

Version 3 incorporates many feedback-based improvements:

  • Improved keyboard accessibility within the SARIF Results Panel. Arrow key through the list of results.
  • Resizable details section within the SARIF Results Panel.
  • Generally improved performance and responsiveness.
  • Automatic reconciliation of URIs between the SARIF log and your local workspace in most cases.

To focus our efforts, we have dropped some less-used and less-reliable features:

  • Support for old SARIF versions - We now strictly support the public standard version 2.1.0. Older versions can be upgraded with the standalone SARIF Multitool (via nuget and npm).
  • Conversion of external formats to SARIF - We recommend the standalone SARIF Multitool (via nuget and npm) for conversion.
  • SARIF Results Panel (previously "SARIF Explorer") view state is no longer exposed as settings.
  • The rootpaths setting as been removed.

If these changes adversely affect your project, please let us know.

Usage

Install this extension from the Extension Marketplace within Visual Studio Code.

SARIF logs (*.sarif) can be opened several ways:

  • Open as a document. The SARIF Results Panel will automatically be shown.
  • Manually show the SARIF Results Panel with command sarif.showPanel. Then click "Open SARIF log". If logs are already open, open additional logs via the folder icon at the top of the SARIF Results Panel.
  • Call from another extension. See the "API" section below.

We welcome feedback via issues.

API

An extension-to-extension public API is offered. This API is defined at src/extension/index.d.ts. An example of another extension calling this extension:

const sarifExt = extensions.getExtension('MS-SarifVSCode.sarif-viewer');
if (!sarifExt.isActive) await sarifExt.activate();
await sarifExt.exports.openLogs([
   Uri.file('c:/samples/demo.sarif'),
]);

Note: TypeScript typings for Extension<T> are forthcoming.

Telemetry

We collect basic anonymous information such as activation and the versions/schemas of any logs opened. Opt-in or out via the general Visual Studio Code setting telemetry.enableTelemetry.

Development

F5 launches this extension. Subsequent changes are watched and rebuilt. Use command workbench.action.reloadWindow to see the changes. For more details see Contributing to SARIF Viewer.

Other common tasks:

Command Comments
npm run server Run the Panel standalone at http://localhost:8000. Auto-refreshes.
npm test Run and watch unit tests. Bails on failure. Useful during development.
npm test -- --bail false --watch false Run tests once. Useful for reporting.
npx webpack Build manually.
npx vsce package Produce a VSIX.