microsoft / vscode
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 3,159 files with 631,299 lines of code.
    • 79 very long files (123,041 lines of code)
    • 228 long files (155,692 lines of code)
    • 609 medium size files (190,081 lines of codeclsfd_ftr_w_mp_ins)
    • 645 small files (93,448 lines of code)
    • 1,598 very small files (69,037 lines of code)
19% | 24% | 30% | 14% | 10%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
ts20% | 25% | 30% | 14% | 9%
js10% | 12% | 34% | 19% | 22%
iss100% | 0% | 0% | 0% | 0%
css0% | 13% | 25% | 28% | 32%
yml0% | 0% | 63% | 18% | 17%
html0% | 0% | 0% | 0% | 100%
ps10% | 0% | 0% | 0% | 100%
yaml0% | 0% | 0% | 0% | 100%
desktop0% | 0% | 0% | 0% | 100%
cmd0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/vs19% | 26% | 29% | 14% | 9%
extensions/php-language-features85% | 0% | 8% | 3% | 1%
extensions/git66% | 0% | 17% | 6% | 8%
build/win32100% | 0% | 0% | 0% | 0%
build/lib0% | 26% | 43% | 9% | 20%
extensions/typescript-language-features0% | 14% | 31% | 24% | 29%
extensions/emmet0% | 36% | 6% | 33% | 22%
extensions/html-language-features0% | 30% | 13% | 25% | 30%
extensions/markdown-language-features0% | 14% | 38% | 20% | 26%
extensions/microsoft-authentication0% | 69% | 0% | 12% | 18%
build/azure-pipelines0% | 0% | 37% | 18% | 43%
build0% | 0% | 58% | 33% | 7%
extensions/npm0% | 0% | 54% | 30% | 15%
extensions/json-language-features0% | 0% | 57% | 23% | 18%
extensions/github-authentication0% | 0% | 70% | 0% | 29%
extensions/ipynb0% | 0% | 73% | 0% | 26%
src0% | 0% | 92% | 0% | 7%
extensions/search-result0% | 0% | 100% | 0% | 0%
extensions/theme-seti0% | 0% | 82% | 0% | 17%
extensions/extension-editing0% | 0% | 80% | 0% | 19%
extensions/gulp0% | 0% | 100% | 0% | 0%
extensions/grunt0% | 0% | 100% | 0% | 0%
extensions/css-language-features0% | 0% | 29% | 11% | 58%
extensions/debug-auto-launch0% | 0% | 100% | 0% | 0%
extensions/jake0% | 0% | 100% | 0% | 0%
extensions/merge-conflict0% | 0% | 28% | 29% | 42%
extensions/configuration-editing0% | 0% | 41% | 32% | 26%
extensions/image-preview0% | 0% | 33% | 29% | 37%
extensions/debug-server-ready0% | 0% | 100% | 0% | 0%
extensions/github0% | 0% | 0% | 56% | 43%
extensions/simple-browser0% | 0% | 0% | 31% | 68%
extensions/git-base0% | 0% | 0% | 39% | 60%
scripts0% | 0% | 0% | 45% | 54%
build/npm0% | 0% | 0% | 0% | 100%
build/darwin0% | 0% | 0% | 0% | 100%
build/builtin0% | 0% | 0% | 0% | 100%
build/linux0% | 0% | 0% | 0% | 100%
extensions/markdown-math0% | 0% | 0% | 0% | 100%
resources/linux0% | 0% | 0% | 0% | 100%
extensions/typescript-basics0% | 0% | 0% | 0% | 100%
extensions/php0% | 0% | 0% | 0% | 100%
extensions0% | 0% | 0% | 0% | 100%
extensions/html0% | 0% | 0% | 0% | 100%
extensions/json0% | 0% | 0% | 0% | 100%
build/monaco0% | 0% | 0% | 0% | 100%
resources/server0% | 0% | 0% | 0% | 100%
extensions/cpp0% | 0% | 0% | 0% | 100%
extensions/latex0% | 0% | 0% | 0% | 100%
extensions/objective-c0% | 0% | 0% | 0% | 100%
extensions/sql0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
phpGlobalFunctions.ts
in extensions/php-language-features/src/features
6023 -
editorOptions.ts
in src/vs/editor/common/config
3902 193
abstractTaskService.ts
in src/vs/workbench/contrib/tasks/browser
3163 142
extHostTypes.ts
in src/vs/workbench/api/common
2838 214
notebookEditorWidget.ts
in src/vs/workbench/contrib/notebook/browser
2635 135
extensionsActions.ts
in src/vs/workbench/contrib/extensions/browser
2361 108
commands.ts
in extensions/git/src
2298 145
terminalActions.ts
in src/vs/workbench/contrib/terminal/browser
2262 198
textModel.ts
in src/vs/editor/common/model
2182 179
diffEditorWidget.ts
in src/vs/editor/browser/widget
2107 139
settingsTree.ts
in src/vs/workbench/contrib/preferences/browser
2061 79
scmViewPane.ts
in src/vs/workbench/contrib/scm/browser
2041 79
terminalInstance.ts
in src/vs/workbench/contrib/terminal/browser
2019 81
extHost.protocol.ts
in src/vs/workbench/api/common
1915 58
extHostLanguageFeatures.ts
in src/vs/workbench/api/common
1830 84
webviewPreloads.ts
in src/vs/workbench/contrib/notebook/browser/view/renderers
1775 111
codeEditorWidget.ts
in src/vs/editor/browser/widget
1769 140
repository.ts
in extensions/git/src
1736 138
loader.js
in src/vs
1719 151
git.ts
in extensions/git/src
1685 106
extHostTypeConverters.ts
in src/vs/workbench/api/common
1673 144
minimap.ts
in src/vs/editor/browser/viewParts/minimap
1657 87
editorActions.ts
in src/vs/workbench/browser/parts/editor
1654 64
searchView.ts
in src/vs/workbench/contrib/search/browser
1628 66
taskConfiguration.ts
in src/vs/workbench/contrib/tasks/common
1620 78
coreCommands.ts
in src/vs/editor/browser/controller
1613 77
extensionEditor.ts
in src/vs/workbench/contrib/extensions/browser
1612 71
quickInput.ts
in src/vs/base/parts/quickinput/browser
1568 112
tunnelView.ts
in src/vs/workbench/contrib/remote/browser
1538 57
pieceTreeBase.ts
in src/vs/editor/common/model/pieceTreeTextBuffer
1514 67
terminalTaskSystem.ts
in src/vs/workbench/contrib/tasks/browser
1513 65
layout.ts
in src/vs/workbench/browser
1493 42
abstractTree.ts
in src/vs/base/browser/ui/tree
1461 69
extensions.contribution.ts
in src/vs/workbench/contrib/extensions/browser
1434 78
tabsTitleControl.ts
in src/vs/workbench/browser/parts/editor
1414 49
listWidget.ts
in src/vs/base/browser/ui/list
1361 60
userDataSync.ts
in src/vs/workbench/contrib/userDataSync/browser
1351 119
diffComponents.ts
in src/vs/workbench/contrib/notebook/browser/diff
1349 50
contextkey.ts
in src/vs/platform/contextkey/common
1339 195
async.ts
in src/vs/base/common
1330 92
gettingStarted.ts
in src/vs/workbench/contrib/welcomeGettingStarted/browser
1317 43
iss
code.iss
in build/win32
1299 -
debugModel.ts
in src/vs/workbench/contrib/debug/common
1297 64
testingOutputPeek.ts
in src/vs/workbench/contrib/testing/browser
1290 69
editorGroupView.ts
in src/vs/workbench/browser/parts/editor
1264 63
extHost.api.impl.ts
in src/vs/workbench/api/common
1249 117
extensionsWorkbenchService.ts
in src/vs/workbench/contrib/extensions/browser
1234 89
settingsEditor2.ts
in src/vs/workbench/contrib/preferences/browser
1233 55
backLayerWebView.ts
in src/vs/workbench/contrib/notebook/browser/view/renderers
1223 43
dom.ts
in src/vs/base/browser
1221 113
Files With Most Units (Top 20)
File# lines# units
extHostTypes.ts
in src/vs/workbench/api/common
2838 214
terminalActions.ts
in src/vs/workbench/contrib/terminal/browser
2262 198
contextkey.ts
in src/vs/platform/contextkey/common
1339 195
editorOptions.ts
in src/vs/editor/common/config
3902 193
textModel.ts
in src/vs/editor/common/model
2182 179
loader.js
in src/vs
1719 151
commands.ts
in extensions/git/src
2298 145
extHostTypeConverters.ts
in src/vs/workbench/api/common
1673 144
abstractTaskService.ts
in src/vs/workbench/contrib/tasks/browser
3163 142
codeEditorWidget.ts
in src/vs/editor/browser/widget
1769 140
diffEditorWidget.ts
in src/vs/editor/browser/widget
2107 139
repository.ts
in extensions/git/src
1736 138
notebookEditorWidget.ts
in src/vs/workbench/contrib/notebook/browser
2635 135
testExplorerActions.ts
in src/vs/workbench/contrib/testing/browser
1087 130
userDataSync.ts
in src/vs/workbench/contrib/userDataSync/browser
1351 119
extHost.api.impl.ts
in src/vs/workbench/api/common
1249 117
dom.ts
in src/vs/base/browser
1221 113
quickInput.ts
in src/vs/base/parts/quickinput/browser
1568 112
webviewPreloads.ts
in src/vs/workbench/contrib/notebook/browser/view/renderers
1775 111
extensionsActions.ts
in src/vs/workbench/contrib/extensions/browser
2361 108
Files With Long Lines (Top 20)

There are 2258 files with lines longer than 120 characters. In total, there are 29608 long lines.

File# lines# units# long lines
iss
code.iss
in build/win32
1299 - 1051
extensionsActions.ts
in src/vs/workbench/contrib/extensions/browser
2361 108 321
editorOptions.ts
in src/vs/editor/common/config
3902 193 283
extHostLanguageFeatures.ts
in src/vs/workbench/api/common
1830 84 229
colorRegistry.ts
in src/vs/platform/theme/common
405 19 207
editor.contribution.ts
in src/vs/workbench/browser/parts/editor
877 81 188
notebookEditorWidget.ts
in src/vs/workbench/contrib/notebook/browser
2635 135 174
terminalActions.ts
in src/vs/workbench/contrib/terminal/browser
2262 198 172
extensions.contribution.ts
in src/vs/workbench/contrib/extensions/browser
1434 78 167
abstractTaskService.ts
in src/vs/workbench/contrib/tasks/browser
3163 142 157
diffEditorWidget.ts
in src/vs/editor/browser/widget
2107 139 146
extHost.protocol.ts
in src/vs/workbench/api/common
1915 58 142
extHost.api.impl.ts
in src/vs/workbench/api/common
1249 117 140
settingsTree.ts
in src/vs/workbench/contrib/preferences/browser
2061 79 131
userDataSync.ts
in src/vs/workbench/contrib/userDataSync/browser
1351 119 130
extensionEditor.ts
in src/vs/workbench/contrib/extensions/browser
1612 71 124
workbench.contribution.ts
in src/vs/workbench/browser
522 2 112
codeEditorWidget.ts
in src/vs/editor/browser/widget
1769 140 111
textModel.ts
in src/vs/editor/common/model
2182 179 108
scmViewPane.ts
in src/vs/workbench/contrib/scm/browser
2041 79 107