VSCodeでステップ数をカウントする方法について

採用はこちら

目次

VSCodeにおけるステップ数とは

ステップ数は必ずしもコードの総行数ではない

開発現場では、「ステップ数」をソースコードの行数という意味で使うことがあります。

しかし、どの行を1ステップとして数えるかは、プロジェクトによって異なります。

たとえば、以下のようなカウント方法があります。

  • 空行を含める
  • 空行を除外する
  • コメント行を含める
  • コメント行を除外する
  • コードが記述されている行だけを数える
  • 1つの命令を1ステップとして数える
  • 自動生成されたコードを除外する
  • HTMLやCSSなどを対象外にする

そのため、「ステップ数=必ずソースコードの総行数」と考えるのは正確ではありません。

業務や納品資料で使用する場合は、プロジェクト独自の定義を確認する必要があります。

物理ステップ数と論理ステップ数の違い

ステップ数には、物理的な行数を基準にする考え方と、プログラム上の命令数を基準にする考え方があります。

たとえば、以下のコードがあります。

const a = 1;
const b = 2;

これは物理的には2行です。

一方、次のように記述した場合はどうでしょうか。

const a = 1; const b = 2;

物理的には1行ですが、プログラム上は2つの文が記述されています。

そのため、物理行数を基準にすると1ステップ、論理的な命令数を基準にすると2ステップと判断される可能性があります。

VSCodeの行番号やclocなどは、基本的に物理的な行数を基準として確認する方法です。

VSCodeの標準機能で行数を確認する方法

エディター左側の行番号を確認する

もっとも簡単な方法は、VSCodeのエディター左側に表示されている行番号を確認する方法です。

たとえば、ファイルの最終行が、

250

であれば、そのファイルはおおよそ250行あることが分かります。

ただし、この方法では空行やコメント行も含まれます。

そのため、単純なファイルサイズの確認には向いていますが、コメントを除いたコード行数を正確に確認する用途には向いていません。

行番号が表示されていない場合

VSCodeで行番号が表示されていない場合は、設定から有効化できます。

設定画面で、

Editor: Line Numbers

を検索し、

on

に設定します。

settings.jsonで設定する場合は、以下のように記述します。

{
    "editor.lineNumbers": "on"
}

VSCodeのステータスバーで現在の行を確認する

「Ln」は現在のカーソル位置を表している

VSCodeの画面右下には、通常、

Ln 120, Col 15

のような表示があります。

LnはLine、ColはColumnを意味します。

つまり、

Ln 120

であれば、現在カーソルが120行目にあることを示しています。

ただし、これはファイルの総行数ではありません。

あくまで現在のカーソル位置を示す表示です。

ファイルの最終行まで移動すれば総行数の目安は確認できますが、VSCodeの標準機能には「コードだけを自動的に集計する機能」はありません。

VSCodeの拡張機能で行数をカウントする

行数カウント系の拡張機能を利用する

VSCodeには、ソースコードの行数を集計できる拡張機能があります。

こうした拡張機能を使えば、現在開いているファイルだけでなく、ワークスペース全体のコード行数を確認できる場合があります。

利用する場合は、VSCode左側の拡張機能メニューを開きます。

WindowsやLinuxでは、

Ctrl + Shift + X

macOSでは、

Cmd + Shift + X

で拡張機能画面を開けます。

その後、「line count」「code count」などのキーワードで検索すると、行数集計用の拡張機能を探せます。

拡張機能を使うメリット

行数カウント系の拡張機能では、ツールによって次のような項目を確認できます。

  • 総行数
  • コード行数
  • コメント行数
  • 空行数
  • ファイル数
  • 拡張子別の行数
  • 言語別の行数

VSCodeだけで作業を完結したい場合には便利です。

ただし、拡張機能によってカウント基準や対応言語が異なるため、業務で利用する場合は仕様を確認しておく必要があります。

ファイルの総行数だけを確認する方法

Total Line Countなどの拡張機能を使う

現在開いているファイルの総行数だけを簡単に確認したい場合は、ステータスバーに総行数を表示するタイプの拡張機能が便利です。

たとえば、

Ln 25, Col 66, Total 100

のように表示される場合、

Total 100

がファイル全体の行数を表します。

ただし、この数値には基本的に空行やコメント行も含まれます。

そのため、コード量の分析というより、「このファイルが何行あるか」を確認する用途に適しています。

clocを使ってステップ数をカウントする方法

clocとは

プロジェクト全体のコード量を詳しく調べたい場合は、clocが便利です。

clocは「Count Lines of Code」の略で、ソースコードを分析し、主に以下の項目に分けて集計できます。

files
blank
comment
code

それぞれの意味は以下のとおりです。

  • files:対象ファイル数
  • blank:空行数
  • comment:コメント行数
  • code:コードが記述されている行数

コメント行や空行を除いたコード量を確認したい場合は、code列を参考にできます。

ただし、codeの値が必ずそのまま「ステップ数」になるわけではありません。

プロジェクトのステップ数定義が「空行とコメントを除いた物理コード行数」であれば、code列をステップ数として扱えます。

参考サイト

コード行数計測ツール「cloc」を使って改修ステップ数をカウントしてみた

VSCodeからclocを実行する方法

統合ターミナルを開く

VSCodeには統合ターミナルが搭載されています。

メニューから、

Terminal
↓
New Terminal

を選択すると開けます。

WindowsやLinuxでは、

Ctrl + `

でも開けます。

プロジェクト全体をカウントする

clocをインストールした状態で、VSCodeのターミナルから以下を実行します。

cloc .

.は現在のディレクトリを意味します。

たとえば、以下のような結果が表示されます。

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
JavaScript                      20            320            180           2400
CSS                              8            120             60            850
HTML                            12             90             30            700
-------------------------------------------------------------------------------
SUM:                            40            530            270           3950
-------------------------------------------------------------------------------

この場合、コメントと空行を除いたコード行数は、

3950

です。

ただし、正確には「3950ステップ」と断定するのではなく、

clocの基準では3950コード行

と考えるのが適切です。

プロジェクトの定義と一致している場合に、3950ステップとして扱えます。

特定のフォルダだけカウントする方法

srcフォルダだけを集計する

プロジェクト全体ではなく、特定のフォルダだけをカウントすることもできます。

たとえば、以下のような構成があります。

project
├─ src
├─ tests
├─ docs
└─ node_modules

srcだけを確認したい場合は、

cloc src

と実行します。

これにより、本番用ソースコードだけを対象にしやすくなります。

特定のファイルだけをカウントする方法

1ファイルだけを対象にする

特定のファイルだけを調べたい場合は、ファイル名を指定します。

たとえば、

cloc main.py

や、

cloc app.js

のように実行できます。

大きなプロジェクトでも、特定のファイルだけを詳しく確認したい場合に便利です。

不要なフォルダを除外する方法

node_modulesなどを除外する

Web開発では、プロジェクト全体をそのまま集計すると、依存ライブラリやビルド成果物まで含まれる場合があります。

たとえば、以下のフォルダです。

node_modules
dist
build
coverage
vendor

こうしたフォルダを除外する場合は、--exclude-dirを使います。

cloc . --exclude-dir=node_modules,dist,build,coverage

これにより、不要なディレクトリを除外してコード量を確認できます。

特にJavaScriptやTypeScriptのプロジェクトでは、node_modulesを除外しておくことが重要です。

依存パッケージまで含めてしまうと、自分で作成したコードとは関係のない大量の行が集計される可能性があります。

言語別のステップ数を確認する方法

clocなら言語別に集計できる

clocでは、プログラミング言語ごとにコード行数を確認できます。

たとえば、以下のような結果が表示されます。

Language        files    blank    comment    code
-------------------------------------------------
TypeScript         40      500        200    5000
JavaScript         20      200        100    1800
CSS                15      150         50    1200
HTML               10       80         30     700

この結果を見れば、

TypeScriptは5000コード行
JavaScriptは1800コード行

といった形で、言語別の規模を確認できます。

Web制作やWebアプリ開発では、HTML・CSS・JavaScript・TypeScriptなどが混在することが多いため、言語別の集計は特に便利です。

Git管理対象だけをカウントする方法

Gitで管理しているファイルに絞る

Gitを使っているプロジェクトでは、生成ファイルや一時ファイルを除外し、Gitで管理しているファイルだけを対象にしたい場合があります。

clocにはバージョン管理システムと連携するためのオプションもあります。

環境やバージョンによっては、

cloc --vcs=git

のような形でGit管理対象を集計できます。

ただし、利用しているclocのバージョンによってオプションの仕様が異なる場合があるため、実際に使用する前にヘルプを確認するのがおすすめです。

cloc --help

clocを使う際の注意点

clocのcode列は命令数ではない

clocのcode列は、プログラムの命令数を数えているわけではありません。

たとえば、

const a = 1; const b = 2;

のように1行に複数の命令を書いた場合でも、基本的には1物理行としてカウントされます。

そのため、

code = 論理ステップ数

ではありません。

あくまで「コードが記述されている物理行数」と考えるのが適切です。

コメントの判定には限界がある

clocは多数のプログラミング言語に対応していますが、すべてのコードを完全に構文解析しているわけではありません。

そのため、複雑なコメント記述や特殊な構文では、期待どおりに分類されないケースがあります。

また、同じ行にコードとコメントが存在する場合は、その行がコード行として扱われる場合があります。

ステップ数を厳密な契約条件や納品基準として使用する場合は、実際のカウントルールを確認しておくことが重要です。

関数単位でステップ数を確認する方法

関数やメソッド単位で分析できる拡張機能もある

プロジェクト全体のコード行数ではなく、

この関数は何行あるか

を確認したい場合は、関数やメソッド単位でコード量を分析できる拡張機能を利用する方法があります。

こうしたツールでは、関数単位で、

  • 総行数
  • コメント行数
  • 空行数
  • コード行数

などを確認できる場合があります。

大きすぎる関数を探したり、コードレビュー対象を整理したりするときにも便利です。

VSCodeでステップ数をカウントするならどの方法がおすすめ?

目的に合わせて方法を使い分ける

VSCodeでステップ数やコード行数を確認する方法は、目的によって使い分けるのがおすすめです。

目的おすすめの方法
1ファイルのおおよその行数を知りたいVSCodeの行番号
現在のカーソル位置を確認したいステータスバーのLn表示
ファイルの総行数を常時確認したい行数表示系の拡張機能
ワークスペース全体を集計したい行数カウント系拡張機能
空行・コメント・コードを分けたいcloc
言語別に集計したいcloc
不要なフォルダを除外したいcloc
関数単位で分析したい関数分析系の拡張機能

プロジェクト全体のコード量を確認したいのであれば、clocは使いやすい選択肢です。

Web開発であれば、たとえば以下のように実行できます。

cloc . --exclude-dir=node_modules,dist,build,coverage

これにより、依存パッケージやビルド成果物を除外しながら、実際のソースコードを言語別に集計できます。

VSCodeでステップ数をカウントするときの注意点

最初にステップ数の定義を確認する

VSCodeでステップ数を数えるうえでもっとも重要なのは、「何を1ステップとするのか」を最初に明確にすることです。

VSCodeの行番号で確認できるのはファイルの物理行数です。

clocを使えば、空行・コメント行・コード行に分けて集計できます。

しかし、どちらの場合も、自動的に会社やプロジェクト独自の「ステップ数」の定義に合わせてくれるわけではありません。

そのため、工数見積もりや成果物の評価、納品資料などで使用する場合は、

空行を含むのか
コメント行を含むのか
生成コードを除外するのか
対象とするファイル形式は何か

といったルールを事前に確認しておく必要があります。

単純なコード量の確認であれば、VSCodeの行番号や拡張機能でも十分です。

一方で、プロジェクト全体を一定のルールで集計したい場合は、clocを利用すると効率よくコード行数を確認できます。

以上、VSCodeでステップ数をカウントする方法についてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次