All Projects → Viladoman → Structlayout

Viladoman / Structlayout

Licence: mit
Visual Studio Extension for C++ struct memory layout visualization

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Structlayout

Visual-Studio
A Discord Rich Presence extension for both Visual Studio 2017 and 2019.
Stars: ✭ 80 (-70.37%)
Mutual labels:  visual-studio, visual-studio-extension
OptionsSample
A Visual Studio extension sample
Stars: ✭ 14 (-94.81%)
Mutual labels:  visual-studio, visual-studio-extension
Unchase.OpenAPI.Connectedservice
📜 Visual Studio extension to generate OpenAPI (Swagger) web service reference.
Stars: ✭ 69 (-74.44%)
Mutual labels:  visual-studio, visual-studio-extension
PlantUml-Language-Service
PlantUml Language Service extension for Visual Studio 2017 and 2019
Stars: ✭ 24 (-91.11%)
Mutual labels:  visual-studio, visual-studio-extension
rudebuild
A non-intrusive bulk/unity C++ build tool for Visual Studio
Stars: ✭ 16 (-94.07%)
Mutual labels:  visual-studio, visual-studio-extension
Unchase.Odata.Connectedservice
📜 A Visual Studio extension for connecting to OData services with generating client-side C# proxy-classes
Stars: ✭ 39 (-85.56%)
Mutual labels:  visual-studio, visual-studio-extension
git-tools
This extension provides a git changes tool window, a graphical git history viewer and menus to launch Git Bash, Git Extenstions and TortoiseGit.
Stars: ✭ 72 (-73.33%)
Mutual labels:  visual-studio, visual-studio-extension
experimental-tools
A bunch of quality refactorings and code fixes that are going to improve your C# development experience in Visual Studio and remove some common pain.
Stars: ✭ 19 (-92.96%)
Mutual labels:  visual-studio, visual-studio-extension
ace-jump
Allows for quick movement around the editor screen. Inspired by AceJump for Webstorm and Vim plugin AceJump.
Stars: ✭ 44 (-83.7%)
Mutual labels:  visual-studio, visual-studio-extension
Codist
A visual studio extension which enhances syntax highlighting, quick info (tooltip), navigation bar, scrollbar, display quality and brings smart tool bar to code editor.
Stars: ✭ 134 (-50.37%)
Mutual labels:  visual-studio, visual-studio-extension
TextTemplatingCore
T4 Text Templating with .NET Core
Stars: ✭ 24 (-91.11%)
Mutual labels:  visual-studio, visual-studio-extension
XPathTools
A Visual Studio Extension which can run any XPath and XPath function; navigates through results at the click of a button. Can show and copy any XPath incl. XML namespaces, avoiding XML namespace induced headaches. Keeps track of the current XPath via the statusbar.
Stars: ✭ 40 (-85.19%)
Mutual labels:  visual-studio, visual-studio-extension
BuiltinCmd
VS extension that provide a built-in terminal window for CMD or Powershell.
Stars: ✭ 30 (-88.89%)
Mutual labels:  visual-studio, visual-studio-extension
Community.VisualStudio.Toolkit
Making it easier to write Visual Studio extensions
Stars: ✭ 165 (-38.89%)
Mutual labels:  visual-studio, visual-studio-extension
auto-save-vs-extension
An extension that automatically saves the file as you're working on it.
Stars: ✭ 30 (-88.89%)
Mutual labels:  visual-studio, visual-studio-extension
vs-material-icons-generator
This plugin will help you to set material design icons to your Xamarin projects In Visual Studio.
Stars: ✭ 50 (-81.48%)
Mutual labels:  visual-studio, visual-studio-extension
IncludeToolbox
Visual Studio extension to format, prune, and inspect include directives.
Stars: ✭ 48 (-82.22%)
Mutual labels:  visual-studio, visual-studio-extension
DisposableFixer
This is a Visual Studio Extension and NuGet package that should identify and fix problems as memleaks while using IDisposables.
Stars: ✭ 37 (-86.3%)
Mutual labels:  visual-studio, visual-studio-extension
SmartCommandlineArgs
A Visual Studio Extension which aims to provide a better UI to manage your command line arguments
Stars: ✭ 70 (-74.07%)
Mutual labels:  visual-studio, visual-studio-extension
unittestgenerator
A unit test generation extension for Visual Studio that aims to always produce code that compiles - covering the basic cases automatically and preparing as much as it can for the complex cases.
Stars: ✭ 32 (-88.15%)
Mutual labels:  visual-studio, visual-studio-extension

StructLayout

Visual Studio Extension for C++ struct memory layout visualization

MarketPlace Donate

Download latest from the Visual Studio Marketplace

Motivation

In C++, the structure layout can be affected by different factors. In order to produce performant data cache oriented code or reduce the structure memory footprint, it is important to be aware of the class layouts at the same spot where code is created, updated, removed or debugged. This extension allows programmers to visualize their structures within Visual Studio with just 1 click.

Features

Right click on top of any C++ struct definition and select Show Struct Layout (or press Alt+L) in order to visualize the memory layout.

Interaction

Stack Mode

In this visualization mode the types with children are stacked in order to allow navigation in and out and get a better sense of overall structure.

Stack screenshot

Flat Mode

The flat mode skips all groups and only shows one layer, producing a more compact view.

Flat screenshot

How it works

Struct Layout uses Clang LibTooling internally to parse the C++ files and extract the memory layout information.

When a Layout request is made the extension does the following:

  • Retrieve the active document and cursor position.
  • Extract the relevant file and project properties (cl or nmake).
    1. Include directories
    2. Force includes
    3. Preprocessor definitions
    4. Exclude directories
  • Add the extra parameters from the extension options.
  • Trigger the LayoutParser (Clang libtooling application) with all the arguments gathered.
  • Visualize the results or print any issues found in the StructLayout Output Pane.

Documentation

References

Contributing

This project is open to code contributions.

If you found this extension useful you can always buy me a cup coffee.

paypal

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].