C# 在Visual Studio中将其他命名空间作为项目默认值导入
有没有一种方法可以在VisualStudio中选择类模板时添加到默认名称空间中 我的问题是添加一个新类(在我的例子中是一个C#one),它不包括我的公共库。一次又一次地不断添加内部定制API的名称空间,这对生产力是一个巨大的打击。多年来,由于分裂,问题变得更加严重。甚至.NET导入的规模也在增长 我尝试了Resharper,虽然它有帮助,但并不能完全解决问题。我仍然需要有确切的类型名称,然后才能告诉它自动导入 我也尝试过使用代码片段,虽然很好,但创建一个代码片段也不是很简单,而且每个新文件都需要额外点击几下 创建新模板也是一件痛苦的事情。更不用说我们使用各种各样的模板,从控制器到视图,从基本类到接口等等。。我们还需要每个模块的几个版本,因为每个模块通常需要2-3个其他名称空间。然后,我们需要在每次有重大框架发布时更新它,例如NET2.0项目模板没有LINQ,现在每个模板上都有LINQ。然后我们需要在所有的开发机器上保持这些模板的同步。底线是我们没有足够的资源来做这件事 实际上,我只想添加到默认导入(每个项目/名称空间),而不需要重新创建所有主要模板。或者将某个命名空间设置为给定项目的“本地”,这样我就可以在每次创建新类时停止编写一堆“使用”语句C# 在Visual Studio中将其他命名空间作为项目默认值导入,c#,visual-studio,ide,resharper,C#,Visual Studio,Ide,Resharper,有没有一种方法可以在VisualStudio中选择类模板时添加到默认名称空间中 我的问题是添加一个新类(在我的例子中是一个C#one),它不包括我的公共库。一次又一次地不断添加内部定制API的名称空间,这对生产力是一个巨大的打击。多年来,由于分裂,问题变得更加严重。甚至.NET导入的规模也在增长 我尝试了Resharper,虽然它有帮助,但并不能完全解决问题。我仍然需要有确切的类型名称,然后才能告诉它自动导入 我也尝试过使用代码片段,虽然很好,但创建一个代码片段也不是很简单,而且每个新文件都需要
有更简单的方法吗?是的,您可以更改Visual Studio在创建新类型时使用的类模板文件。这些模板位于此处:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC#\Snippets\1033\Refactoring
您的场景感兴趣的模板是GenerateTypeInNewFile
,它包括以下内容:
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Generate Type In New File</Title>
<Description>Snippet for generating a type in a new file</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Refactoring</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal Editable="true">
<ID>namespace</ID>
<Default></Default>
</Literal>
<Literal Editable="true">
<ID>modifiers</ID>
<Default></Default>
</Literal>
<Literal Editable="true">
<ID>typekind</ID>
<Default>class</Default>
</Literal>
<Literal Editable="true">
<ID>typename</ID>
<Default>name</Default>
</Literal>
<Literal Editable="true">
<ID>typebase</ID>
<Default></Default>
</Literal>
<Literal>
<ID>linqusing</ID>
<Function>CheckMinimumTargetFramework(3.5,
using System.Linq;)
</Function>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[$end$using System;
using System.Collections.Generic;$linqusing$
using System.Text;
namespace $namespace$
{
$modifiers$ $typekind$ $typename$ $typebase$
{
}
}
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
使用xyz.blah.blah.blah将名称空间添加到using System.Text之后代码>,保存,您添加的下一个类应该可以运行了
注意:这将改变在VisualStudio的所有项目中添加类的方式,所以要小心
是的,您可以更改Visual Studio在创建新类型时使用的类模板文件。这些模板位于此处:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC#\Snippets\1033\Refactoring
您的场景感兴趣的模板是GenerateTypeInNewFile
,它包括以下内容:
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Generate Type In New File</Title>
<Description>Snippet for generating a type in a new file</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Refactoring</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal Editable="true">
<ID>namespace</ID>
<Default></Default>
</Literal>
<Literal Editable="true">
<ID>modifiers</ID>
<Default></Default>
</Literal>
<Literal Editable="true">
<ID>typekind</ID>
<Default>class</Default>
</Literal>
<Literal Editable="true">
<ID>typename</ID>
<Default>name</Default>
</Literal>
<Literal Editable="true">
<ID>typebase</ID>
<Default></Default>
</Literal>
<Literal>
<ID>linqusing</ID>
<Function>CheckMinimumTargetFramework(3.5,
using System.Linq;)
</Function>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[$end$using System;
using System.Collections.Generic;$linqusing$
using System.Text;
namespace $namespace$
{
$modifiers$ $typekind$ $typename$ $typebase$
{
}
}
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
使用xyz.blah.blah.blah将名称空间添加到using System.Text之后代码>,保存,您添加的下一个类应该可以运行了
注意:这将改变在VisualStudio的所有项目中添加类的方式,所以要小心
如果要使用ReSharper的“插入文件”功能添加类,可以通过转到ReSharper->Templates Manager->file Templates来编辑使用的模板。在C#部分下,您可以编辑“类”模板,并在顶部添加任何必需的using语句。您可以使用宏来决定根名称空间应该是什么,如果宏没有提供您想要的名称空间,您可以使用宏来生成您想要的名称空间:如果您要使用ReSharper的“插入文件”功能添加类,您可以通过进入ReSharper->Templates Manager->file Templates来编辑使用的模板。在C#部分下,您可以编辑“类”模板,并在顶部添加任何必需的using语句。您可以使用宏来决定根名称空间应该是什么,如果宏没有提供您想要的名称空间,那么您可以按照您想要的方式生成名称空间:Karl,这看起来很好-def总比什么都没有好,但是在生成using语句时,有没有一种方法可以使用绑定到项目的变量?我需要至少在每个项目的基础上自定义默认的“本地”名称空间。Karl,这看起来很好-def总比没有好,但是在生成using语句时有没有办法使用绑定到项目的变量?我需要至少在每个项目的基础上自定义默认的“本地”名称空间。这看起来很有希望。给我几天时间,我会核实你的建议。那看起来很有希望。给我几天时间,我会核实你的建议。