Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Visual Studio中将其他命名空间作为项目默认值导入_C#_Visual Studio_Ide_Resharper - Fatal编程技术网

C# 在Visual Studio中将其他命名空间作为项目默认值导入

C# 在Visual Studio中将其他命名空间作为项目默认值导入,c#,visual-studio,ide,resharper,C#,Visual Studio,Ide,Resharper,有没有一种方法可以在VisualStudio中选择类模板时添加到默认名称空间中 我的问题是添加一个新类(在我的例子中是一个C#one),它不包括我的公共库。一次又一次地不断添加内部定制API的名称空间,这对生产力是一个巨大的打击。多年来,由于分裂,问题变得更加严重。甚至.NET导入的规模也在增长 我尝试了Resharper,虽然它有帮助,但并不能完全解决问题。我仍然需要有确切的类型名称,然后才能告诉它自动导入 我也尝试过使用代码片段,虽然很好,但创建一个代码片段也不是很简单,而且每个新文件都需要

有没有一种方法可以在VisualStudio中选择类模板时添加到默认名称空间中

我的问题是添加一个新类(在我的例子中是一个C#one),它不包括我的公共库。一次又一次地不断添加内部定制API的名称空间,这对生产力是一个巨大的打击。多年来,由于分裂,问题变得更加严重。甚至.NET导入的规模也在增长

我尝试了Resharper,虽然它有帮助,但并不能完全解决问题。我仍然需要有确切的类型名称,然后才能告诉它自动导入

我也尝试过使用代码片段,虽然很好,但创建一个代码片段也不是很简单,而且每个新文件都需要额外点击几下

创建新模板也是一件痛苦的事情。更不用说我们使用各种各样的模板,从控制器到视图,从基本类到接口等等。。我们还需要每个模块的几个版本,因为每个模块通常需要2-3个其他名称空间。然后,我们需要在每次有重大框架发布时更新它,例如NET2.0项目模板没有LINQ,现在每个模板上都有LINQ。然后我们需要在所有的开发机器上保持这些模板的同步。底线是我们没有足够的资源来做这件事

实际上,我只想添加到默认导入(每个项目/名称空间),而不需要重新创建所有主要模板。或者将某个命名空间设置为给定项目的“本地”,这样我就可以在每次创建新类时停止编写一堆“使用”语句


有更简单的方法吗?

是的,您可以更改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语句时有没有办法使用绑定到项目的变量?我需要至少在每个项目的基础上自定义默认的“本地”名称空间。这看起来很有希望。给我几天时间,我会核实你的建议。那看起来很有希望。给我几天时间,我会核实你的建议。