How do i automate adding a “using” statement to ev

2020-04-04 09:23发布

问题:

I am using resharper to do a big refactoring and i keep going from file to file and adding the same namespace over and over again in the "using" section

is there anyway to add a "using" statement to every single file in a folder, namespace or project? Even though some files wont need the reference, most do, so it will save lots of time.

回答1:

I'd try a regex in the "Find and Replace" dialog:

Replace

^using System;$

with

using System;\nusing xxx;

This works only for files using the System namespace, but maybe you find another common namespace or structure element. After doing so you can refactor all files in your solution(/folder) with the resharper. That will remove doubled usings.

Update: Did you introduce new namespaces for existing types? There is a refactor function called "move". It will move your type to a new namespace and preserve the references.



回答2:

  • Open ReSharper Options / Languages / C# / Namespace Imports
  • Add "Namespaces that should always be imported"
  • Run Code Cleanup against solution or project. You may want to create profile (Options / Tools / Code Cleanup) with only Optimize Using Directives module.


回答3:

VS will add them for you. When you add a symbol in a referenced assembly, but without a using statement for the symbol, you will get a marker against the symbol. Press control-period (or use the mouse) and the first option will add the using statement for you.

Otherwise you could write a VS macro to open each project source file in turn and insert the statement.



回答4:

When you encounter a file, one-by-one, press CTRL+ALT+SHIFT+F for the automated file cleanup routine. It just takes a second to run, and will do what you're looking for, but not just for System.

not sure if R# has a way to do solution wide file cleanups.