codecadwallader / codemaid

CodeMaid is an open source Visual Studio extension to cleanup and simplify our C#, C++, F#, VB, PHP, PowerShell, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript and TypeScript coding.
http://www.codemaid.net
GNU Lesser General Public License v3.0
1.88k stars 352 forks source link

with VS 17.8 usings are not cleaned up anymore #1026

Open bertschmid opened 7 months ago

bertschmid commented 7 months ago

Environment

Description

with VS 17.8 usings are not cleaned up anymore

Options Cleaning Visual Studio

Run format document -> enaled Run Remove and sort using statements -> enabled

Steps to recreate

  1. Create new class file
  2. Cleanup Active Document

Current behavior

No using are removed that are not used

Expected behavior

unused using are removed

antonioatom commented 7 months ago

Same issue here. As a workaround you can enable Clean Up Code on save from VS (Options -> Text Editor -> Code Clean Up) and setup a profile with just that setting

image

codecadwallader commented 7 months ago

Thanks for reporting the issue. I have not been able to reproduce it with Visual Studio v17.9 (preview) so I think they may have resolved this already.

tfadler commented 6 months ago

Myself and members on my team are seeing the issue.

If is fixed in 17.9 preview then they have not rolled it into 17.8.3.

lxman commented 4 months ago

I've found that this issue (in the latest VS2022) is connected to a file having an extra cr/lf at the end of the file. If I run Codemaid cleanup it will delete the extra cr/lf but then will not clean the usings. I have to run it a second time in order to clean the usings.

tfadler commented 4 months ago

@lxman is right. I just verified.

I had to do the following to stop VS from adding the final new line.

  1. In my editorconfig set insert_final_newline to false
  2. In my Codemaid options. Cleaning ->Insert-> uncheck Insert end of file trailing new line.

Once I did those, if I double saved my usings would clean.

The first save removing the final newline and the second cleaning the usings.

@codecadwallader now that we have more recreation can you try?

Note this is still a problem with Visual Studio 17.9.0

bertschmid commented 4 months ago

Same problem in 17.9.0

negatedx commented 4 months ago

Following on from the comments of @tfadler I found that if I disable "Insert end of file trailing new line" and "Insert blank line padding after > using statement blocks" it cleans up using statements on the first attempt.

Thomathan commented 4 months ago

Hi @codecadwallader, I was wondering if there's any update to this since reproduction steps and work arounds were provided.

bertschmid commented 4 weeks ago

Problem still exists in 17.10.1

GreenleafDk commented 2 weeks ago

And in 17.10.3. There are no extra new line at the end of my code, so that does not seem relevant.