Visual Studio: изменение ширины/опций вкладки в файле .VCPROJ или .SLN?

В некоторых наших проектах предусмотрены параметры вкладки Visual Studio по умолчанию (ширина 4, вкладки); некоторые требуют ширины 3; используйте пробелы. Не спрашивайте.

Вместо того, чтобы устанавливать их глобально, есть ли в любом случае, в каком я могу установить это для каждого решения или для каждого проекта или даже (emacs-style) для каждого файла?

Visual Studio 2005 и 2008.

Ответы

Ответ 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

Нет никакой полезной документации, которую я знаю для строковых параметров. Если вам нужно установить другие параметры, например "Keep Tabs", самый простой способ - сделать эти изменения вручную (unter Tools > Options). Затем, используя Tools > Import and Export Settings, сохраните эти параметры как файл vssettings. Это создает XML файл, структура которого такая же, как и для вызовов метода.

Наконец, вы можете связать эти макросы с командами или сочетаниями клавиш с помощью Tools > Customize. Предоставление каждой макрокоманды сочетания клавиш позволяет быстро переключаться между настройками.

Ответ 2

У меня есть аналогичная проблема: для моего нового проекта нужно настроить сохранить вкладки, в то время как мои другие проекты разрабатываются с опцией вставки пробелов.

Поскольку это строго настройка Visual Studio, я не ожидал найти какую-либо информацию для каждого проекта, которая будет расширять ее (если вы используете определенную надстройку для этой цели).

Итак, у меня появилась настройка, похожая на eclipse: с двумя ярлыками для Visual Studio с разными настройками.

В соответствии с MSDN можно использовать /ResetSettings для изменения настроек Visual Studio при запуске. Теперь вам нужны два ярлыка с этим форматом:

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

Время начала, как 5-10 секунд дольше (поскольку оно применяет настройки изменения при каждом запуске), но это более удобно и менее громоздко, чем делать это вручную каждый раз.

НТН

Ответ 3

Вы также можете использовать эти свойства, чтобы заполнить пример Даниэля:

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

Ответ 4

Я знаю, что я немного опаздываю к игре: Поскольку Visual Studio 2017 поддерживает файлы .editorconfig в среде IDE для каждого каталога.