Giter Site home page Giter Site logo

vscode-lizard's Introduction

VS Code Lizard

Static Analysis Build and Test

This is an extension for Visual Studio Code to run Lizard cyclomatic complexity analysis on your project.

Features

This extension reports diagnostics for functions that:

  • are too long,
  • have too many parameters, or
  • have too many branches.

You can enable the metrics and specify their limits in your VS Code settings.

Requirements

VS Code Lizard runs Lizard under the hood and processes the results. You must install Lizard on your system.

Extension Settings

See the user manual for information about the extension's settings.

Commands

See the user manual for information about available commands.

Known Issues

GitHub issues by-label GitHub issues by-label

  • VS Code Lizard cannot scan a file during editing. Lizard reads the file from disk, so you must save your changes which triggers scanning the file.
  • VS Code Lizard only supports C++. I will add support for other languages as soon as possible.

vscode-lizard's People

Contributors

brobeson avatar dependabot[bot] avatar

Watchers

 avatar  avatar

vscode-lizard's Issues

Support all the file types supported by Lizard

The initial implementation of the extension only supports C++, but Lizard supports more languages. The extension needs to work for those, too. Known changes to the extension are:

  • package.json
    "activationEvents": [
      "onLanguage:cpp"
    ],
  • src/lizard.ts
    if (!['cpp'].includes(file.languageId) || file.uri.scheme !== 'file') {
      return [];
    }

Don't try to parse blank output

If there are no errors, the Lizard output is blank. When that occurs, VS Code Lizard still tries to parse the output and causes an error in VS Code.

Fix the package test

The package test fails at version 1.0.0 because I forgot to add files to the list of expected files.

image

Add support for --whitelist.

  • Add a configuration setting for the --whitelist argument. Use a string.
  • Add logic to report if the whitelist file does not exist.
  • Add the --whitelist argument to the Lizard command.
  • Document the new setting in the read me file.

Add support for --exclude.

  • Add a configuration setting for the exclude patterns. Check if lizard supports multiple --exclude flags per command. If it does, the setting should be an array of strings. Otherwise, a single string.
  • Add --exclude flags to the Lizard command.
  • Document the new setting in the readme file.

Add support for --extension.

  • Add a configuration setting for the --extension argument. Check if Lizard supports multiple --extension options in one command. If it does, the setting should be an array of strings; if not use one string.
  • Add the --extension options to the Lizard command.
  • Document the new setting in the readme file.

Wrong text can be underlined.

When the function name is repeated, usually in the case of a constructor, the class name is underlined instead of the function name. An example:

Class::Class(int a, int b)
// ^-- underlined
{
  // code
}

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.