GithubHelp home page GithubHelp logo

paojiao / vscode-openapi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 42crunch/vscode-openapi

0.0 0.0 0.0 14.27 MB

License: GNU Affero General Public License v3.0

JavaScript 11.99% TypeScript 87.86% CSS 0.15%

vscode-openapi's Introduction

OpenAPI extension for Visual Studio Code

This Visual Studio Code (VS Code) extension adds rich support for the OpenAPI Specification (OAS) (formerly known as Swagger Specification) in JSON or YAML format. The features include, for example, SwaggerUI and ReDoc preview,IntelliSense, linting, schema enforcement, code navigation, definition links, snippets, static security analysis, and more!

The extension also integrates with API Contract Security Audit by 42Crunch, so that you can check the quality of your API definition directly in VS Code.

Both OAS v2 and v3 are supported.

Table of contents

Quick start

After installing the plugin, open any JSON or YAML file that contains an OpenAPI definition in VS Code. The plugin automatically detects that this is an OpenAPI file, and the OpenAPI button is shown in the left-hand panel.

OpenAPI Explorer

Use the extension while editing your API

OpenAPI extension makes it easier and faster to navigate your OpenAPI definitions, especially when they get longer.

You can home in on elements in the OpenAPI explorer view, or jump directly to the target of a reference in the API. You can also add new elements to your API directly in the OpenAPI explorer directly where they are needed. Filling in the details is quicker with IntelliSense support for OpenAPI elements.

Create new OpenAPI files

  1. Press Ctrl+Shift+P on Windows or Linux, or Cmd+Shift+P on a Mac.
  2. In the command prompt, start typing new openapi, and click the corresponding command to create either an OAS v2 or v3 template file.
  3. Use the OpenAPI explorer to populate the template with new paths and other elements as needed.
  4. Save the file to your disk to fully enable IntelliSense.

Create new OpenAPI file from a template

Navigate API definition

  1. Open an OpenAPI file.
  2. Click the OpenAPI button to switch to the OpenAPI explorer view.
  3. Expand the sections and elements in the file as needed, and click the ones you want to jump to in the editor.

Navigation inside the OpenAPI file

Add new elements in the OpenAPI explorer

  1. In OpenAPI explorer pane, go to the section where you want to add a new element, and click the ... menu.
  2. Click the item you want to add from the dropdown list.

Add new API path and verb

Use IntelliSense

As you start typing OpenAPI elements or their values, the context-sensitive list of available options is displayed in the IntelliSense menu. In JSON OpenAPI files, just type double-quote (") to show the menu, and type further to filter the list. In YAML OpenAPI files, start typing the property name.

You can also use the corresponding VS Code hotkey (Ctrl+Space on Windows, Cmd+Space on Mac) to open the IntelliSense menu.

IntelliSense for OpenAPI editing

Jump to a reference

Use Go to Definition to locate the targets of references easily. To jump to view the definition from a reference in your API, either Ctrl+click a reference, or right-click a reference and click Go to Definition in the shortcut menu.

Go to definition

Sort entries in the navigation pane

By default, entries in the OpenAPI Explorer pane are sorted alphabetically. If you want to instead have them sorted in the order they are in the OpenAPI file, change the corresponding setting:

  1. On the File menu, click Preferences > Settings.
  2. Expand the Extensions section and click OpenAPI.
  3. Clear the checkbox Alphabetically sort contents of OpenAPI explorer outlines.

Preview OpenAPI documentation

You can get a documentation-style preview of the API you are editing by clicking the Preview button at the top right:

OpenAPI Preview Pane

Our extension supports two popular OpenAPI documentation generators: SwaggerUI and ReDoc.

To change the default OpenAPI Preview rendering engine:

  1. On the File menu, click Preferences > Settings.
  2. Expand the Extensions section and click OpenAPI.
  3. Pick the option of your choice from the Default Preview Rendered dropdown list.

OpenAPI Preview Pane

Use the extension to audit the security of your API

You can use OpenAPI extension to check the quality of your API as you work on it. You can run the audit directly from VS Code by clicking the 42C button in the upper right corner.

To run Security Audit from VS Code, you need a token. On the first time, you are asked to provide your email address. When you supply the address, the extension requests the token to be sent to your mailbox. Once you get the token, paste it in the prompt in VS Code, and you are all set. From now on, all you need to do is to click the button to run the audit.

Navigate the issues in the audit report

After the audit finishes, you get the audit report directly in the VS Code view, side by side with your code. Depending on your API definition, the report might be long, so here are some handy ways to navigate the found issues.

  1. To scroll through all issues and their details, use the text panel on the right.

Perform REST API Security Audit

  1. Hover on an element that is underlined or marked with three dots (recommendations) in your code to see what the issues in that spot are. If you click on view the descriptions of only these issues, the rest of details are filtered out from the text panel, so you have less to scroll through.

Details for specific issues

  1. For a quick overall look, check the counts in the Status Bar. The different icons match the severity of the issue:
  • Error: critical or high
  • Warning: medium
  • Info: low

List of API Sec Issues

  1. Click the icons in the Status Bar to open the PROBLEMS panel and scroll through the issue titles. The issues are ordered from most to least severe, so it is easy for fix the worst offenders first. Note that recommendations are not listed in the PROBLEMS panel.
  2. Click on an issue in the PROBLEMS panel to jump to view it inline in your API definition.

Known issues

  • For new files, IntelliSense does not work until you save the file. File extension must be .json or .yaml.
  • When you expand the sections and elements in the OpenAPI explorer, if the the left-hand panel gets very long, VS Code may push the last sections out of the UI. To view the sections that got pushed out, minimize the sections and elements you do not need. There is no scroll bar (yet) for the explorer section.

Feedback

When you have a minute PLEASE submit your feedback and feature requests at this superquick survey.

Submit your bug reports at GitHub project Issues.

And, needless to say, your reviews at VS Code marketplace mean the world to us!

vscode-openapi's People

Contributors

ak1394 avatar dsotnikov avatar vfateev avatar gayanper avatar lruusuvuori avatar isamauny avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.