microsoft / VSSDK-Extensibility-Samples
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 23% duplication:
    • 18,033 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,196 duplicated lines
  • 452 duplicates
system23% (4,196 lines)
Duplication per Extension
cs24% (3,862 lines)
vsixmanifest42% (322 lines)
xaml2% (12 lines)
Duplication per Component (primary)
ArchivedSamples49% (3,353 lines)
Code_Sweep3% (115 lines)
SqliteVisualizer10% (73 lines)
LightBulb35% (60 lines)
Combo_Box21% (55 lines)
Editor_With_Toolbox10% (54 lines)
WPFDesigner_XML5% (53 lines)
LanguageServerProtocol10% (48 lines)
Todo_Classification17% (20 lines)
Windows_Forms_Controls_Installer15% (17 lines)
Options10% (16 lines)
VisibilityConstraints19% (16 lines)
ROOT2% (16 lines)
Reference_Services8% (16 lines)
SingleFileGenerator16% (15 lines)
CustomCommand25% (15 lines)
SolutionLoadEvents34% (15 lines)
AsyncPackageMigration17% (15 lines)
MSDNSearch7% (15 lines)
CodeLensOopSample4% (14 lines)
AsyncCompletion3% (14 lines)
AsyncQuickInfo20% (14 lines)
ProtocolHandler32% (14 lines)
AsyncToolWindow14% (14 lines)
Typing_Speed_Meter9% (14 lines)
Intra-text_Adornment4% (14 lines)
Highlight_Word9% (14 lines)
Completion_Tooltip_Customization31% (14 lines)
ErrorList3% (13 lines)
Caret_Fish_Eye16% (12 lines)
Ook_Language_Integration3% (12 lines)
Diff_Classifier6% (12 lines)
Menu_And_Commands6% (9 lines)
Backwards_Compatible_AsyncPackage_20133% (7 lines)
OperationProgress3% (6 lines)
Backwards_Compatible_Editor_Command4% (6 lines)
Open_Folder_Extensibility3% (6 lines)
TextmateGrammar0% (0 lines)

Duplication Between Components (50+ lines)

G ArchivedSamples ArchivedSamples Windows_Forms_Controls_Installer Windows_Forms_Controls_Installer ArchivedSamples--Windows_Forms_Controls_Installer 101 ROOT ROOT ArchivedSamples--ROOT 91 Combo_Box Combo_Box ArchivedSamples--Combo_Box 77 Code_Sweep Code_Sweep ArchivedSamples--Code_Sweep 53 Editor_With_Toolbox Editor_With_Toolbox WPFDesigner_XML WPFDesigner_XML Editor_With_Toolbox--WPFDesigner_XML 94

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 452 duplicates...
Size#FoldersFilesLinesCode
317 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProvider.cs
SccProvider.cs
642:1375 (56%)
625:1358 (55%)
view
120 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProvider.cs
SccProvider.cs
382:639 (21%)
355:612 (20%)
view
66 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
DlgQuerySaveCheckedInFile.Designer.cs
DlgQuerySaveCheckedInFile.Designer.cs
14:121 (100%)
14:121 (100%)
view
58 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderService.cs
SccProviderService.cs
1088:1233 (9%)
1079:1224 (9%)
view
56 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
DlgQueryEditCheckedInFile.Designer.cs
DlgQueryEditCheckedInFile.Designer.cs
14:108 (100%)
14:108 (100%)
view
55 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
DataStreamFromComStream.cs
DataStreamFromComStream.cs
96:250 (69%)
96:244 (69%)
view
42 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderService.cs
SccProviderService.cs
772:849 (6%)
758:835 (7%)
view
40 x 2 ArchivedSamples/Basic_Source_Control_Provider/C#
ArchivedSamples/Source_Code_Control_Provider/C#
SccProviderToolWindow.cs
SccProviderToolWindow.cs
32:143 (85%)
32:132 (85%)
view
40 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderStorage.cs
SccProviderStorage.cs
83:199 (56%)
84:200 (56%)
view
36 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderOptions.cs
SccProviderOptions.cs
28:103 (100%)
29:114 (100%)
view
33 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderService.cs
SccProviderService.cs
1301:1380 (5%)
1299:1378 (5%)
view
31 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderService.cs
SccProviderService.cs
581:646 (5%)
564:629 (5%)
view
30 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProvider.cs
SccProvider.cs
119:188 (5%)
118:179 (5%)
view
29 x 2 ArchivedSamples/Basic_Source_Control_Provider/C#
ArchivedSamples/Source_Code_Control_Provider/C#
SccProviderOptionsControl.cs
SccProviderOptionsControl.cs
29:91 (93%)
29:94 (90%)
view
28 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderService.cs
SccProviderService.cs
649:699 (4%)
635:685 (4%)
view
27 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderService.cs
SccProviderService.cs
914:960 (4%)
905:951 (4%)
view
24 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderService.cs
SccProviderService.cs
1243:1300 (3%)
1237:1294 (4%)
view
23 x 2 LightBulb/TestLightBulb
LightBulb/TestLightBulb
LowerCaseSuggestedAction.cs
UpperCaseSuggestedAction.cs
29:85 (52%)
28:84 (52%)
view
22 x 2 ArchivedSamples/Basic_Source_Control_Provider/C#
ArchivedSamples/Source_Code_Control_Provider/C#
ProvideToolsOptionsPageVisibility.cs
ProvideToolsOptionsPageVisibility.cs
23:92 (100%)
23:92 (100%)
view
22 x 2 ArchivedSamples/Basic_Source_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderToolWindowControl.cs
SccProviderToolWindowControl.cs
27:76 (100%)
27:76 (100%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 88 unit duplicates...
Size#FoldersFilesLinesCode
78 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderService.cs
SccProviderService.cs
912:997 
903:988 
view
78 x 2 ArchivedSamples/Source_C...atus_Bar_Integration/C#
ArchivedSamples/Source_Code_Control_Provider/C#
SccProviderService.cs
SccProviderService.cs
903:988 
912:997 
view
70 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProvider.cs
SccProvider.cs
830:914 
813:897 
view
63 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderService.cs
SccProviderService.cs
767:847 
753:833 
view
54 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
DlgQuerySaveCheckedInFile.Designer.cs
DlgQuerySaveCheckedInFile.Designer.cs
40:113 
40:113 
view
49 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProvider.cs
SccProvider.cs
1223:1284 
1206:1267 
view
46 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProvider.cs
SccProvider.cs
928:982 
911:965 
view
46 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProvider.cs
SccProvider.cs
996:1058 
979:1041 
view
45 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
DlgQueryEditCheckedInFile.Designer.cs
DlgQueryEditCheckedInFile.Designer.cs
40:101 
40:101 
view
41 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProvider.cs
SccProvider.cs
420:478 
393:451 
view
38 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProvider.cs
SccProvider.cs
1063:1118 
1046:1101 
view
38 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderService.cs
SccProviderService.cs
1024:1074 
1015:1065 
view
37 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProvider.cs
SccProvider.cs
565:610 
538:583 
view
37 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProvider.cs
SccProvider.cs
1141:1197 
1124:1180 
view
32 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderService.cs
SccProviderService.cs
1329:1368 
1327:1366 
view
27 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProvider.cs
SccProvider.cs
531:563 
504:536 
view
26 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderService.cs
SccProviderService.cs
344:377 
327:360 
view
25 x 2 ArchivedSamples/Basic_Source_Control_Provider/C#
ArchivedSamples/Source_Code_Control_Provider/C#
SccProviderToolWindow.cs
SccProviderToolWindow.cs
94:123 
81:110 
view
25 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProvider.cs
SccProvider.cs
480:510 
453:483 
view
25 x 2 ArchivedSamples/Source_Code_Control_Provider/C#
ArchivedSamples/Source_C...atus_Bar_Integration/C#
SccProviderOptions.cs
SccProviderOptions.cs
79:105 
90:116 
view