microsoft / microsoft/vscode-cpptools

Software metrics

Open
#7,974 5 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature Request Language Service
Dominant language
TypeScript
Stars
6.2k
Forks
1.7k
Avg merge
14h 46m
Merged PRs (30d)
61

Description

Type: Feature Request

I searched for a feature request like this, but without any success. Then I started a discussion here. There came up a proposal to request this as a feature.

I would like to propose software metrics. Jim Wanner, the author of one of my favorite tools has ended his career as a software developer. With SourceMonitor, I was able to view various software metrics about source code. This is a great support to write better code. It is also a great help for restructuring and improving code. Unfortunately, there will be no further development for this tool.

So I had the idea that this could be a topic for the C++ extension.

A few metrics are easily implemented: The number of lines in the file, the number of lines of code, the number of comment lines, ... It gets more elaborate with the McCabe metric (cyclomatic complexity) or the branch depth. It is even more complex if this is to be done not only for a single file, but for a workspace. Then there are the average values and a maximum in addition to the previous values.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository files, tests, or entry points are named. Start by reviewing discussion #7959 and the requested metrics, then clarify the intended metrics and whether they apply to files, workspaces, or both; completion requires an agreed feature scope before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, typescript
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.