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でステップ数をカウントする方法についてでした。
最後までお読みいただき、ありがとうございました。









