- Notifications
You must be signed in to change notification settings - Fork825
Open
Description
Note
This is a "meta" issue for tracking purposes since GitHub does not support special types of issues.
Code fixes are code actions that react on diagnostics and can fix them. In VS, they are represented with a lightbulb and a small cross on it.
We should make code fixes easy to create, test, and extend.
Open bugs:
- RemoveUnusedBinding offers to remove unused parameters but doesn't remove them #11741
- Suggested fix for calling static base methods is wrong #6702
- "Implement Interface" defines multiple methods for nested interfaces #5813
- visualstudio open namespace codefix has wrong indentation in some cases #10521
- With FS1182 warnon, underscore code fixes insert two underscores #15620
- AddOpen code fix doesn't offer full qualification anymore #15911
- CodeFix for adding missing '=' (in case of FS0010) suggests non-parseable code. #16159
- AddOpen opens the wrong namespace for IEnumerator #16155
- False positive
Open declaration can be removed
when having records with the same name #16226 - False positive
Open declaration can be removed
when using extension for builder #16227
Improvements for existing code fixes:
- Tooling does not offer to open namespace for attributes applied to method arguments of interfaces.. #8735
- Tooling-added opens are placed above top-level
#
-directives in scripts when top-level insertions are set #8514 - Add open code fix to place statements at the top of the file by default? #5737
- Improve C# -> F# lambda conversion codefix #15499
- Implement ProposeUppercaseLabel code fix for lowercase exceptions #15509
- Extend RemoveSuperflousCaptureForUnionCaseWithNoDataProvider to cover literal patterns #15914
Ideas for new code fixes:
- Support IDE0049 in F# #14541
- Synchronize implementation files and signature files #13215
- Wishlist: quick fix for "possible incorrect indentation" #2834
- Quick fix to add missing pattern matching #2886
- Suggestion: Auto-generate record fields when creating a record value #3748
- Add "remove unneeded 'new' keyword" analyzer and code fix #2266
- Code fix to adjust n-tuples #15414
- A code fix to convert sprintf to interpolated string #15415
- A code fix for fixing inappropriate tuple usages #15417
- Add "Separate nibbles" code fix #3044
- Add "Install package" code fix #2873
- Add "Convert to binary/hex" code fix #3043
- Create a code fix to change equals in field type to colon #15421
- A code fix for fixing C#-style attributes #15554
- A code fix to change colon to equals in record bindings #15674
- A code fix to convert C# 'var' to F# 'let' #15794
- Refactoring for _.Property / _.MethodCall() / _.IndexerAccess[idx] shorthand for accessor functions #16234
- Inspiration fromFSAutoComplete
- Inspiration fromC#
Overall related machinery:
- Optional rich info for FsharpDiagnostics out of FCS to enable easier development of CodeFixes #14288
- Unify code fix code #15059
- Add tests for codefixes #15043
- Add telemetry for code fixes #14457
- Create a test project for bulk code fix benchmarking #15716
- Remove unsafe operations from the code fixes #15764
Bug cemetery:
- FSharpWrapExpressionInParentheses code fix throws exception #15397
- Convert To Anonymous Record code fix is broken #15372
- Error hint in IDE #14444
- IDE0005 is not fixed solution-wise in F# in 17p2.1 #11892
- Bulk codefixes are broken #14967
- F# Quick Action "Name can be simplified" breaks logic #6227
- QuickAction does not open the relevant module #4223
- Remove quick fix for adding
_
when using a union case with not data #14066 - FSharpWrapExpressionInParentheses code fix throws exception #15397
- Convert To Anonymous Record code fix is broken #15372
- Add Open codefix is broken in dogfood builds #10533
- F# open Codefix does not work if file contains only one line #9757
- Triggering the add open code fix on the first line of a file does nothing #9167
- Add Open Codefix does not work for operators #2473
- Wrong "rec" code fix suggestion for static members #11194
- "Open declaration can be removed" - but actually it cannot #3347
- [RC3] Code Fixes do not work #2329
- Replace Unused suggestion causes code to not compile #2912
- "Remove/rename unused declaration" code fix hangs forever #3714
- Erroneous 'open' statement simplification #4046
- Add Open code fix bugs #2165
- "Prefix unused value with underscore" code fix should not appear on double ticked names #2207
- ProposeUpperCaseLabel code fix doesn't work for unsaved files #15500
- ProposeUpperCaseLabel code fix behaves weirdly for multiple line occurrences #15506
- In some cases, "Add missing equals" code fix breaks code even further #15547
- Replace with underscore code fix should not be proposed for class identifiers #15624
- Broken behavior of the RemoveUnusedBinding code fix #15411
- Unused value analysis on unused this value can suggest uncompilable code #5419
- RemoveUnusedBinding code fix doesn't remove class identifiers #15623
- AddMissingEqualsToTypeDefinitionCodeFixProvider crash #15685
- RenameParamToMatchSignature code fix doesn't show the full message anymore #15743
- "C# using -> F# open" code fix doesn't handle semicolons for FS0201 #15795
- "C# using -> F# open" code fix doesn't fix one-liners #15798
- AddTypeAnnotationToObjectOfIndetermianteType code fix adds wrong spacing #15810
- AddTypeAnnotationToObjectOfIndetermianteType code fix shouldn't trigger for generic parameters #15811
- AddOpen code fix might add too many empty lines #15552
- AddOpen code fix doesn't fix FS0043 anymore #15553
- Codefix improvement for missing
open
directive #15920 - UseMutationWhenValueIsMutable code fix crashes at the EOF #15931
- Codefix "Remove unused open declarations" semi-broken #15932
- AddOpenCodeFixProvider throws for types with attributes in implicit top-level modules #15993
- ReplaceWithSuggestion code fix suggests at max 1 thing #15890
- Broken diagnostic fix usage metric #14456
- ReplaceWithSuggestion code fix doesn't fix FS1129 #15887
- FS0760 suggests change that breaks code (Quick Action) #6381
- An exception in the ChangePrefixNegationToInfixSubstraction code fix #16356
Metadata
Metadata
Assignees
Type
Projects
Status
New