Releases: icsharpcode/CodeConverter
Releases · icsharpcode/CodeConverter
7.2
- Parallelize multi-file conversion
- Make snippet conversion (ConvertText method) make classes partial by default since context isn't known (#379)
- Web converter requires .NET Core 3.0
- Visual Studio built-in simplification applied post-conversion (#386)
Vsix
- Improve UI responsiveness and output window details while converting
VB -> C#
- Implicitly typed local multi-variable declarations type converted correctly (#373)
- "My" namespace - first attempt at conversion (#169)
C# -> VB
VB implict casts
No longer restricts converted files to solution directory
Vsix
- Improve UI feedback during conversion
VB -> C#
- Improve conversion for inline functions
- Use visual basic "Conversions" functions to match VB logic
- Simplify output code by shortening some names
- Improve out parameter conversion
- Improve iterator conversion
- Improve with block conversion for value types
- Improve for loop conversion initialization/bounds
- No longer duplicates containing namespaces
- Improve some enum handling
- Avoid VB type appearing within
default(...)
expression
C# -> VB
- Improve conversion of collection initializers
API
ProjectConversion
methods now require an IProgress parameter, deprecated overloads without it:
ProjectConversion.ConvertProject
ProjectConversion.ConvertProjectContents
ProjectConversion.ConvertProjectFile
Deprecated overload of ProjectConversion.ConvertSingle
in favour of one requiring a Document
Please instead use ConvertSingle(Document document, TextSpan selected, ILanguageConversion languageConversion)
See the implementation of the deprecated method for help in migrating.
7.0
Winforms events beta
Improvements to handling form events
6.9
VB -> C#
- String comparison conversion now often avoids referencing VB library in output (when TextCompare is set to Binary)
- Convert WithEvents/Handles correctly for partial classes
- Convert Like operator
- Convert VB indexer to ElementAtOrDefault to make behaviour consistent
- Improve accuracy of choosing square brackets or parentheses
- Avoid nullref when converting for loop
C# -> VB
- Enable OptionInfer on converted projects
- Convert global namespace correctly
VB -> C# improvements
VB -> C#
- Assignment return now converted
- Enum implicit casts now converted
- Access to shared variables through instance now converted
- MyClass references now converted
- Variables explicitly initialised to their default (as is implicit in VB)
- Adds project reference to Microsoft.VisualBasic
- Uses Operators.CompareString for string equality comparison to match VB logic
- Uses DateAndTime for built-in date functions
- CDate() now converted to "Conversions.ToDate"
- Improvements to parenthesization
- Select Case with non-constant strings now converted correctly
- Interface readonly properties now converted correctly
Special thanks to @mrmonday for the huge number of contributions towards this release
VS 2017 15.3 to VS 2019 support
- Downgrade Roslyn requirement in attempt to work with VS2017 15.3+
VB -> C#
- Ensure "new()" generic constraint is last
- Do not convert MyBase.Finalize, it's implicit
- Standardize case of identifiers
Minor bug fixes
- Ask people to upgrade VS if missing languageservices
C# -> VB
- Improve event identifier conversion
VB -> C#
- Improve conversion of interpolated strings (format, alignment, escaping)
Type casts and error tolerance
- Avoid fatal error converting a project in a solution containing a website project (#243)
- Improve best-effort conversion in the presence of errors
- Improved nuget package and web converter's snippet detection
- Exclude conversion-source-language files from converted project
- Improve conversion of type casts
- Web UI tweaks
C# -> VB
- Fix for interpolated strings and switch statements in VS2019 Preview
VS2017+VS2019
Fix initialization bug in VS2017
C# -> VB
- Tuples now converted
- All known operator overloads now converted