Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CLI should have options for all decompiler settings and/or option for loading ILSpy.xml #2800

Open
lbmaian opened this issue Oct 7, 2022 · 8 comments
Labels
CLI Enhancement Areas for improvement ILSpyCmd

Comments

@lbmaian
Copy link

lbmaian commented Oct 7, 2022

Is your feature request related to a problem? Please describe.
The CLI does not have options corresponding to all the decompiler settings available in the GUI

Instead, it only supports the following:

  • language version defaults (--languageversion)
  • RemoveDeadCode (--no-dead-code)
  • RemoveDeadStores (--no-dead-stores)
  • UseNestedDirectoriesForNamespaces (--nested-directories) in 8.0+

Describe the solution you'd like
The CLI should either or both:

  1. Provide options for all decompiler settings in https://github.com/icsharpcode/ILSpy/blob/master/ICSharpCode.Decompiler/DecompilerSettings.cs
  2. Provide option to load such settings from an ILSpy.xml or the default one at %APPDATA%\ICSharpCode\ILSpy.xml

This should apply to both ilspycmd and the PowerShell equivalent

@lbmaian lbmaian added the Enhancement Areas for improvement label Oct 7, 2022
@christophwille
Copy link
Member

Do you need any of those? We picked what we considered "most common", and intentionally did not go for everything.

@lbmaian
Copy link
Author

lbmaian commented Oct 7, 2022

I just want to have the same settings I have in the GUI, and there's two ways to accomplish that: either add options for all the decompiler settings, or an option to load the same settings that the GUI uses (ILSpy.xml)

@christophwille
Copy link
Member

"Just because" is not a justification. I specifically asked which ones you think are missing.

@lbmaian
Copy link
Author

lbmaian commented Oct 7, 2022

For my use case, "Always qualify member references" and "Always show enum member values"

@christophwille
Copy link
Member

Via #2869 ilspycmd could now use settings classes.

@lbmaian
Copy link
Author

lbmaian commented Apr 8, 2023

Thanks, but I don't see any command line changes?

I'm not sure what ILSpyX even is - can't find any documentation concerning it.

@christophwille
Copy link
Member

christophwille commented Apr 8, 2023

I said could, not is. ILSpyX is a shared library of classes that used to be in ILSpy (now split out for reuse in other Frontends)

And, yes https://github.com/icsharpcode/ILSpy/blob/master/ICSharpCode.ILSpyX/PackageReadme.md is very thin. But we don't expect more than a handful of consumers.

@lbmaian
Copy link
Author

lbmaian commented Apr 8, 2023

Thanks for the clarification.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLI Enhancement Areas for improvement ILSpyCmd
Projects
None yet
Development

No branches or pull requests

2 participants