{"id":23494978,"url":"https://github.com/codecapital/enumerablevisualizer","last_synced_at":"2025-08-27T19:31:20.088Z","repository":{"id":40199889,"uuid":"151775603","full_name":"codecapital/EnumerableVisualizer","owner":"codecapital","description":"Visual Studio Debugger Enumerable Visualizer without Serialize attribute, using Json. This is now inbuilt in Visual Studio 2022 from version 17.3 and so this project is deprecated.","archived":true,"fork":false,"pushed_at":"2023-03-31T22:50:10.000Z","size":807,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T07:14:09.004Z","etag":null,"topics":["csharp","dotnet"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codecapital.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-05T20:39:11.000Z","updated_at":"2023-03-31T22:50:46.000Z","dependencies_parsed_at":"2022-06-26T23:31:07.592Z","dependency_job_id":null,"html_url":"https://github.com/codecapital/EnumerableVisualizer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codecapital/EnumerableVisualizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecapital%2FEnumerableVisualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecapital%2FEnumerableVisualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecapital%2FEnumerableVisualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecapital%2FEnumerableVisualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codecapital","download_url":"https://codeload.github.com/codecapital/EnumerableVisualizer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecapital%2FEnumerableVisualizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272367700,"owners_count":24922229,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-27T02:00:09.397Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","dotnet"],"created_at":"2024-12-25T03:13:43.675Z","updated_at":"2025-08-27T19:31:19.680Z","avatar_url":"https://github.com/codecapital.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EnumerableVisualizer\nVisual Studio Debugger Enumerable Visualizer without any [Serialize] attribute, using Json. Works only with .NET.\n\n**This is now inbuilt in Visual Studio 2022 from version 17.2 and so this project is deprecated.**\n\n*The .NET Core support might come with [Visual Studio 2019](https://developercommunity.visualstudio.com/content/idea/351618/custom-debugger-visualizer-for-net-core-apps-in-vs.html)*.\n\nThis is a still work in progres. Pretty much it is an un-edited experiment.\n\n## Source\n- https://github.com/zspitz/ExpressionToString\n- https://github.com/JeremyThomas/rapiddevbookcode/blob/LLBL_Pro_v4.2/AW.DebugVisualizers/VisualizerRegistrations.cs\n- https://raw.githubusercontent.com/JeremyThomas/rapiddevbookcode/LLBL_Pro_v4.2/AW.DebugVisualizers/VisualizerRegistrations.cs\n- https://github.com/MBulli/MathNetDebugVisualizer\n- https://wrightfully.com/series/debugger-visualizer\n- https://github.com/ChenDaqian/Visual-Studio-Visualizer\n- https://github.com/moraleslarios/MLCollectionVisualizers\n- https://github.com/huanent/Huanent.VisualStudio.DebuggerVisualizers\n\n## Features\n- Visual Studio 2017, 2019\n- One level nesting, deeper items displayed in json string\n- Displaying result in **DataTable** in **DataGridView**\n- Column sorting\n- Filter and highlight searched words\n- Select, copy and paste to Excel\n- Currently supported: List\u003c\u003e, Array, ArrayList\n\n## Installation\nCopy the following files from the folder **Dist** (or compiled files) to your version of Visual Studio c:\\Users\\YOUR-PROFILE-NAME\\Documents\\Visual Studio 2017\\Visualizers\\\n\n- CodeCapital.EnumerableVisualizer.dll\n- Newtonsoft.Json.dll\n\n## Known issues\n- Many I am not aware of\n- A list with duplicate property name (e.g. upper/lower case issue UserId, UserID) throws an error as DataTable doesn't accept duplicate columns, this is rather rare situation, most likely bad object design\n\n## ToDo\n- Create Tests\n- Add more collection types\n- Save window position, height, width\n- Check if there are not better DataGridView options\n\nAt the moment we can visualize these simple collections, test examples:\n\nExample 3.1\n\n![](https://user-images.githubusercontent.com/4528464/59273012-2dc98f80-8c4f-11e9-8a76-c11620581a3e.png)\n\n![Example 3.1](https://user-images.githubusercontent.com/4528464/46559908-c0a87200-c8e9-11e8-83ba-deea211840f0.png)\n\nExample 6\n\n![Example 6](https://user-images.githubusercontent.com/4528464/46559986-fb120f00-c8e9-11e8-94d0-a03ed21d5319.png)\n\n```c#\nvar list1 = new List\u003cint\u003e { 1, 2, 3, 4, 5, 6, 7, 8, 9 };\n\nvar list2 = new List\u003cstring\u003e { \"Vaso\", \"Lena\", \"Helean\", \"Eva\", \"Viktoria\", \"Ada\", \"Lucia\" };\n\nvar list3 = new List\u003cPerson\u003e\n{\n    new Person(\"Vaso\", 40, new Car(\"VW\", 2017, DateTime.Now)),\n    new Person(\"Lena\", 45, new Car(\"Skoda\", 300, DateTime.Now.AddDays(-5))),\n    new Person(\"Phu\", 20, new Car(\"Skoda\", 3000, DateTime.Now.AddDays(-5))),\n    new Person(\"John\", 45, new Car(\"Skoda Subaru\", 300, DateTime.Now.AddDays(-5))),\n    new Person(\"Bob\", 20, new Car(\"Skoda 23\", 300, DateTime.Now.AddDays(-5)))\n};\n\nvar list31 = new List\u003cPerson\u003e\n{\n    new Person(\"Vaso\", 40, new Car(\"VW\", 2017, DateTime.Now, new Gadget(\"Phone\"))),\n    new Person(\"Lena\", 45, new Car(\"Skoda\", 300, DateTime.Now.AddDays(-5), new Gadget(\"Phone\"))),\n    new Person(\"Phu\", 20, new Car(\"Skoda\", 3000, DateTime.Now.AddDays(-5), new Gadget(\"Tv\"))),\n    new Person(\"John\", 45, new Car(\"Skoda Subaru\", 300, DateTime.Now.AddDays(-5), new Gadget(\"Phone\"))),\n    new Person(\"Bob\", 20, new Car(\"Skoda 23\", 300, DateTime.Now.AddDays(-5), new Gadget(\"Radio\")))\n};\n\nvar list4 = new List\u003cCar\u003e\n{\n    new Car(\"VW\", 80),\n    new Car(\"Skoda\", 300, DateTime.Now.AddDays(0)),\n    new Car(\"VW 2\", 2018, DateTime.Now.AddDays(-10)),\n    new Car(\"B Skoda\", 300, DateTime.Now.AddDays(30)),\n    new Car(\"8080 2018\", 300, DateTime.Now.AddDays(-500))\n};\n\nvar list5 = new[]\n{\n    new Person(\"Vaso\", 40, new Car(\"VW\", 80, DateTime.Now)),\n    new Person(\"Sandy\", 23, new Car(\"Porsche\", 300, DateTime.Now.AddDays(-5)))\n};\n\nvar list6 = new[]\n{\n    new Person(\"Vaso\", 40, null),\n    new Person(\"Sandy\", 23, new Car(\"Porsche\", 300, DateTime.Now.AddDays(-5)))\n};\n\nvar list7 = new[]\n{\n    new Person { Name = \"Vaso\"},\n    new Person()\n};\n\nvar list8 = new[]\n{\n    new Gadget(\"Phone\"),\n    new Gadget(\"Radio\"),\n    new Gadget(\"\"),\n    new Gadget(\"Self Drive\"),\n    new Gadget(\"Tv\")\n};\n\nvar list9 = new[]\n{\n    new Car(new Gadget(\"Phone\")),\n    new Car(new Gadget(\"Radio\")),\n    new Car(new Gadget(\"\")),\n    new Car(new Gadget(\"Self Drive\")),\n    new Car(new Gadget(\"Tv\"))\n};\n```            \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodecapital%2Fenumerablevisualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodecapital%2Fenumerablevisualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodecapital%2Fenumerablevisualizer/lists"}