2009-01-15 9 views
14

Niektóre z naszych projektów wymagają domyślnych opcji zakładki Visual Studio (szerokość 4; zachowaj tabulatory); niektóre wezwania do szerokości 3; użyj spacji. Nie pytaj.Visual Studio: Różna szerokość zakładki/opcje według pliku .VCPROJ lub .SLN?

Zamiast ustawiać te globalnie, czy istnieje i tak, że mogę ustawić to dla każdego rozwiązania lub dla projektu, a nawet dla każdego pliku (w stylu emacs)?

Visual Studio 2005 i 2008.

+1

+1 za znaczek świętej wojny. –

Odpowiedz

13

Najwygodniejszym rozwiązaniem wiem jest stworzenie zestawu makr Visual Studio, aby przełączyć się do ustawień, które chcesz.

Przejdź do Tools > Macros > Macros IDE. Tam, na drzewie po lewej, kliknij prawym przyciskiem myszy MyMacros i wybierz Add > Add Module. Nadaj modułowi nazwę, taką jak TabSize. W tym module utwórz podtypy, aby zmienić wybrane ustawienia. Na przykład:

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 

Nie ma użytecznej dokumentacji, którą znam dla parametrów ciągu. Jeśli chcesz ustawić inne opcje, takie jak "Zachowaj tabulatory", najłatwiejszym sposobem jest wprowadzenie tych zmian ręcznie (na poziomie Tools > Options). Następnie, używając Tools > Import and Export Settings, zapisz te ustawienia jako plik vssetset. Spowoduje to utworzenie pliku XML, którego struktura jest taka sama, jak w przypadku wywołań metod.

Na koniec można połączyć te makra z przyciskami poleceń lub skrótami klawiszowymi, korzystając z Tools > Customize. Nadanie każdemu makrze skrótu klawiaturowego pozwala szybko przełączać między ustawieniami.

+0

Może to być przydatne w połączeniu z obsługą zdarzeń ładowania projektu i szukaniem w projekcie właściwości znacznika lub pliku do kontrolowania ustawień. Hmmm ... –

+0

Ach, ta wskazówka "Ustawienia eksportu" jest świetna!Teraz, gdybym tylko mógł zmusić wszystkich moich współpracowników do automatycznego importu ... :) –

+0

Muszę powiedzieć, że jest to zdecydowanie jedna z najlepszych odpowiedzi, jakie widziałem na Stack Overflow. Zwięzły i niezbyt długotrwały, ale pozwalający mi na całkowicie nowy interfejs makro i robiący dokładnie to, co chciałem (przyciski "Zachowaj tabulatory" i "Wstaw spacje"). Dziękuję Ci! – Dav

2

mam podobny problem: mój nowy projekt musi być ustawiony z zachować zakładki, podczas gdy inne moje projekty są opracowywane z wkładek przestrzeni opcji.

Ponieważ jest to ustawienie wyłącznie Visual Studio, nie spodziewałem się znaleźć żadnych informacji na temat projektu, które to umocnią (jeśli ktoś użyje specjalnego dodatku do tego celu).

Skończyłem więc na konfiguracji podobnej do Eclipse: mając dwa skróty do Visual Studio z różnymi ustawieniami.

Według MSDN można użyć przełącznika /ResetSettings, aby zmienić ustawienia Visual Studio po uruchomieniu. Co trzeba teraz jest dwa skróty z tego formatu:

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

Czas rozruchu jest jak 5-10 sekund dłużej (ponieważ stosuje zmiany ustawień na każdym starcie), ale jest to bardziej wygodne i mniej kłopotliwe niż robi to ręcznie , każdego razu.

HTH

1

Można również użyć tych właściwości, aby zakończyć przykład Daniela:

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

Wiem, że trochę późno do gry: Od Visual Studio 2017, jest wsparcie dla .editorconfig plików w IDE na zasadzie dla każdego katalogu.

Powiązane problemy