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

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

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

Visual Studio 2005 и 2008.


person Roger Lipscombe    schedule 15.01.2009    source источник
comment
+1 за тег священной войны.   -  person Alex Lyman    schedule 15.01.2009


Ответы (4)


Самое удобное решение, которое я знаю, - это создать набор макросов 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

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

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

person Daniel Wolf    schedule 12.11.2009
comment
Это может быть полезно в сочетании с обработкой событий загрузки проекта и поиском в проекте свойства маркера или файла для управления настройками. Хм... - person Roger Lipscombe; 13.11.2009
comment
Ах, совет по настройкам экспорта великолепен! Теперь, если бы я только мог заставить всех моих коллег автоматически импортировать его ... :) - person Protector one; 07.05.2010
comment
Я должен сказать, что это, безусловно, один из лучших ответов, которые я видел на Stack Overflow. Краткий и не слишком многословный, но позволил мне использовать совершенно новый интерфейс макросов и делать именно то, что я хотел (кнопки для сохранения вкладок и вставки пробелов). Спасибо! - person Dav; 17.11.2011
comment
В Visual Studio 2010 в свойстве AllLanguages ​​нет никаких элементов? Я попробовал трюк с настройками экспорта, но он тоже оказался пустым. Кто-нибудь знает что-нибудь об этом? - person Mark Ribau; 14.11.2012
comment
В Visual Studio 2012 в меню «Инструменты» нет макросов. - person palota; 12.11.2014
comment
@palota: Я знаю, что Microsoft отказалась от поддержки макросов в VS2012. Похоже, мой ответ относится только к более старым версиям. - person Daniel Wolf; 17.11.2014

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

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

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

Согласно MSDN, можно использовать переключатель / ResetSettings для изменения визуального Настройки студии при запуске. Теперь вам нужны два ярлыка в этом формате:

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

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

HTH

person ljubomir    schedule 30.03.2009

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

DTE.Properties("TextEditor", "AllLanguages").Item("InsertTabs").Value
DTE.Properties("TextEditor", "AllLanguages").Item("IndentStyle").Value
person Jonathan Schmidt    schedule 26.01.2010

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

person Tragetaschen    schedule 07.11.2017