【问题标题】:Visual Studio: Varying tab width/options by .VCPROJ or .SLN file?Visual Studio:通过 .VCPROJ 或 .SLN 文件改变选项卡宽度/选项?
【发布时间】:2009-01-15 10:24:53
【问题描述】:

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

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

Visual Studio 2005 和 2008。

【问题讨论】:

  • 圣战标签+1。

标签: visual-studio tabs


【解决方案1】:

我知道的最方便的解决方案是创建一组 Visual Studio 宏来切换到您想要的设置。

转到Tools > Macros > Macros IDE。在那里,在左侧的树中,右键单击 MyMacros 并选择 Add > Add Module。为模块命名,例如 TabSize。在此模块中,创建潜艇以更改您想要的设置。例如:

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

我所知道的字符串参数没有有用的文档。如果您需要设置其他选项,例如“保留标签”,最简单的方法是手动进行这些更改(Tools > Options)。然后,使用Tools > Import and Export Settings,将这些设置保存为 vssettings 文件。这将创建一个 XML 文件,其结构与方法调用所需的结构相同。

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

【讨论】:

  • 这可能很有用,结合处理项目加载事件和在项目中查找标记属性或文件以控制设置。嗯...
  • 啊,那个“导出设置”提示太棒了!现在,如果我能让我所有的同事自动导入它就好了……:)
  • 我不得不说这是迄今为止我在 Stack Overflow 上看到的最好的答案之一。简洁而不冗长,但允许我遵循全新的宏界面并完全按照我的意愿行事(“保留标签”和“插入空格”的按钮)。谢谢!
  • 在 Visual Studio 2010 中,“AllLanguages”属性中似乎没有任何项目?我尝试了导出设置技巧,但它也变成了空的。有人知道吗?
  • Visual Studio 2012 的工具菜单中没有宏。
【解决方案2】:

我有一个类似的问题:我的新项目需要设置保留标签,而我的其他项目是使用插入空格选项开发的。

由于这是一个严格的 Visual Studio 设置,我没想到会找到任何可以支持此功能的每个项目的信息(如果有人为此目的使用特定的加载项)。

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

根据 MSDN,可以使用/ResetSettings 开关在启动时更改 Visual Studio 设置。您现在需要的是两个具有这种格式的快捷方式:

devenv.exe /ResetSettings "d:\your-settings.vssettings"

启动时间大约长 5-10 秒(因为它会在每次启动时应用更改设置),但它比每次手动操作更方便且不那么麻烦。

HTH

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

      我知道我玩游戏有点晚了: 自 Visual Studio 2017 起,IDE 中支持每个目录的 .editorconfig 文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-26
        • 2013-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-01
        • 2020-05-06
        相关资源
        最近更新 更多