ExpressionTreeToString icon indicating copy to clipboard operation
ExpressionTreeToString copied to clipboard

Formatting options

Open zspitz opened this issue 6 years ago • 0 comments

  • [ ] Formatter -- C#, VB.NET, C# Factory methods, VB.NET factory methods, Debug view, JSON, XML
  • [ ] Fully qualified type names vs only name component
  • [ ] Render closed-over variables as simple identifiers vs member-access on display class

Code formatter options

  • [ ] Newline after logical operator
  • [ ] Newline after method call (in VB.NET, the . will be at the end of the line; in C# at the beginning)
  • [ ] Render types of generic method calls
  • [ ] Render types of implicit array initialization
  • [ ] Render implicit conversions
  • [ ] Render types of variables vs using var

C# code formatter:

  • [ ] Render checked operations wrapped in checked blocks
  • [ ] Render unchecked operations wrapped in unchecked blocks
  • [ ] More newline options ...
  • [ ] Numeric suffixes #1

VB.NET formatter options

  • [ ] More newline options ...
  • [ ] Variable suffixes (are these deprecated?)

Factory method formatter options:

  • [ ] using / Imports namespace or namespace+class, e.g. System.Linq.Expressions means that every method is called Expression.Add( etc.

XML / JSON formatter options:

  • [ ] pretty-print
  • [ ] Block as child node
  • [ ] Member binding as child node

Textual tree options:

  • [X] Which expressions to reduce? By default, nodes with a NodeType == ExpressionType.Extension

DebugView / ToString options:

  • [x] .NET Framework compatibility (.NET Core has some changes to the output.)

Dynamic LINQ

  • [ ] explicitly render parameters, or use it
  • [ ] casing for keywords - lower case, upper case, proper case
  • [ ] prefer keywords / prefer symbols
  • [ ] reverese options from https://dynamic-linq.net/advanced-configuration
  • [ ] detect null comparison and conditional, and replace with np function

zspitz avatar Jan 10 '19 02:01 zspitz