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

2020-04-04 08:34发布

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.

4条回答
疯言疯语
2楼-- · 2020-04-04 09:12

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.

查看更多
地球回转人心会变
3楼-- · 2020-04-04 09:28

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.

查看更多
何必那么认真
4楼-- · 2020-04-04 09:30

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.

查看更多
可以哭但决不认输i
5楼-- · 2020-04-04 09:37
  • 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.
查看更多
登录 后发表回答