Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.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
Visual studio Visual Studio:按.VCPROJ或.SLN文件更改选项卡宽度/选项?_Visual Studio_Tabs - Fatal编程技术网

Visual studio Visual Studio:按.VCPROJ或.SLN文件更改选项卡宽度/选项?

Visual studio Visual Studio:按.VCPROJ或.SLN文件更改选项卡宽度/选项?,visual-studio,tabs,Visual Studio,Tabs,我们的一些项目需要默认的VisualStudio选项卡选项(宽度4;保留选项卡);有些人要求宽度为3;使用空格。不要问 不必全局设置,我是否可以在每个解决方案或每个项目甚至每个文件(emacs样式)上设置这些 Visual Studio 2005和2008。我有一个类似的问题:我的新项目需要使用保留选项卡来设置,而我的其他项目则使用插入空间选项来开发 由于这是一个严格的VisualStudio设置,我没想到会找到任何每个项目的信息来支持这一点(如果有人为此使用特定的外接程序的话) 所以我最终得到

我们的一些项目需要默认的VisualStudio选项卡选项(宽度4;保留选项卡);有些人要求宽度为3;使用空格。不要问

不必全局设置,我是否可以在每个解决方案或每个项目甚至每个文件(emacs样式)上设置这些


Visual Studio 2005和2008。

我有一个类似的问题:我的新项目需要使用保留选项卡来设置,而我的其他项目则使用插入空间选项来开发

由于这是一个严格的VisualStudio设置,我没想到会找到任何每个项目的信息来支持这一点(如果有人为此使用特定的外接程序的话)

所以我最终得到了类似eclipse的设置:有两个到VisualStudio的快捷方式,每个快捷方式都有不同的设置

根据MSDN,启动时可以使用switch更改VisualStudio设置。您现在需要的是此格式的两个快捷方式:

devenv.exe /ResetSettings "d:\your-settings.vssettings"
启动时间大约长5-10秒(因为它在每次启动时都应用更改设置),但它比每次手动操作更方便、更省力


HTH

我知道的最方便的解决方案是创建一组Visual Studio宏以切换到所需的设置

转到
Tools>Macros>macroside
。在左侧的树中,右键单击
MyMacros
,然后选择
Add>addmodule
。为模块指定一个名称,例如
TabSize
。在此模块中,创建Sub以更改所需的设置。例如:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module TabSize

    Sub Tab3()
        SetTabAndIndentation(3)
    End Sub

    Sub Tab4()
        SetTabAndIndentation(4)
    End Sub

    Function SetTabAndIndentation(ByVal value As Integer)
        DTE.Properties("TextEditor", "AllLanguages").Item("TabSize").Value = value
        DTE.Properties("TextEditor", "AllLanguages").Item("IndentSize").Value = value
    End Function

End Module
据我所知,没有关于字符串参数的有用文档。如果需要设置其他选项,例如“保留选项卡”,最简单的方法是手动进行这些更改(unter
Tools>options
)。然后,使用
工具>导入和导出设置
,将这些设置保存为vssettings文件。这将创建一个XML文件,其结构与方法调用所需的结构相同


最后,您可以通过
Tools>Customize
将这些宏链接到命令按钮或键盘快捷键。给每个宏一个键盘快捷键可以让您在设置之间快速切换。

您也可以使用这些属性来完成Daniel的示例:

DTE.Properties("TextEditor", "AllLanguages").Item("InsertTabs").Value
DTE.Properties("TextEditor", "AllLanguages").Item("IndentStyle").Value

我知道我比赛有点晚了:
自Visual Studio 2017以来,IDE中每个目录都支持文件。

+1用于holy war标记。这与处理项目加载事件以及在项目中查找标记属性或文件以控制设置相结合,可能会很有用。嗯……啊,那个“导出设置”提示太棒了!现在如果我能让我所有的同事自动导入它就好了…:)我必须说,这是迄今为止我在堆栈溢出问题上看到的最好的答案之一。简洁且不冗长,但允许我遵循全新的宏界面并完全按照我的要求执行(“保留选项卡”和“插入空格”按钮)。非常感谢。在VisualStudio2010中,“AllLanguages”属性中似乎没有任何项?我尝试了导出设置技巧,但结果也是空的。有人知道吗?Visual Studio 2012的“工具”菜单中没有宏。