Показаны сообщения с ярлыком Visual Studio. Показать все сообщения
Показаны сообщения с ярлыком Visual Studio. Показать все сообщения

21 окт. 2010 г.

Character GuideLine в Microsoft Visual Studio

В MS Visual Studio нет возможности в диалоговом режиме изменить положение так называемого Character Guidline - вертикальной полоски в окне редактора, очерчивающую визуальную границу ширины строки. ФЙункционально оно ничего не делает, просто показывает, где находится, например, 80-й символ.
Настройка этого параметра производится через правку системного Реестра. В ветке:
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\<версия MSVS>\Text Editor]

изменяется строковый ключ Guides, который принимает значение:
"RGB(128,0,0) n1,n2,n3..."
, где n1,n2,n3 - расстояния в символах от левого края окна для каждой из линий, соответствующих каждому n (их может быть до 13 штук), "128,0,0" - RGB-цвет линии.

6 окт. 2010 г.

Парочка макросов под Visual Studio 2008

Субж:
1. Выделяет активный документ в окне Solution Explorer:
 
Public Sub LocateFileInSolutionExplorer()
DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
DTE.ExecuteCommand("View.SolutionExplorer")
End Sub


У студии есть настройка Tools/Options/Projects and Solutions/Track Active Item In Solution Explorer, которая позволяет автоматически выделяти активный документ в SE. Этот макрос пользует эту фичу - включил/выключил/активировал окно Solution Explorer.

2. Открывает связанный с активным файл. Если открыт C, CPP, CC, то открывается файл с тем же именем но заголовочным расширением H, HPP, HH, and vice verse.

Sub OpenCorrspFile()
Dim sSF, sSP As String
Dim sDF, sDP As String
Dim sSE, sDE As String

sSP = DTE.ActiveDocument.Path
sSF = DTE.ActiveDocument.Name
sSE = LCase(Right(sSF, Len(sSF) - InStrRev(sSF, ".")))
sSF = Left(sSF, InStrRev(sSF, ".") - 1)

If ((sSE = "h") Or (sSE = "hpp")) Then
If ("" <> Dir(sSP + sSF + ".c")) Then
DTE.ItemOperations.OpenFile(sSP + sSF + ".c")
End If

If ("" <> Dir(sSP + sSF + ".cc")) Then
DTE.ItemOperations.OpenFile(sSP + sSF + ".cc")
End If

If ("" <> Dir(sSP + sSF + ".cpp")) Then
DTE.ItemOperations.OpenFile(sSP + sSF + ".cpp")
End If
End If

'======================================================
If ((sSE = "c") Or (sSE = "cpp") Or (sSE = "cc")) Then
If ("" <> Dir(sSP + sSF + ".h")) Then
DTE.ItemOperations.OpenFile(sSP + sSF + ".h")
End If

If ("" <> Dir(sSP + sSF + ".hpp")) Then
DTE.ItemOperations.OpenFile(sSP + sSF + ".hpp")
End If

If ("" <> Dir(sSP + sSF + ".hh")) Then
DTE.ItemOperations.OpenFile(sSP + sSF + ".hh")
End If
End If

End Sub


3. Форматирует в активном файле блоки if( ... ), обрамляя одним пробелом тело условия:

Sub FormatIF()
DTE.Find.FindWhat = "{:b*}if{:b*}:Ps{:b*}{.*}>{:b*}:Pe{:b*}$"
DTE.Find.ReplaceWith = "\1if( \4 )"
DTE.Find.Target = vsFindTarget.vsFindTargetCurrentDocument
DTE.Find.MatchCase = False
DTE.Find.MatchWholeWord = False
DTE.Find.MatchInHiddenText = False
DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxRegExpr
DTE.Find.ResultsLocation = vsFindResultsLocation.vsFindResultsNone
DTE.Find.Action = vsFindAction.vsFindActionReplaceAll
DTE.Find.Execute()
End Sub

8 сент. 2010 г.

Генератор триальных ключей для VisualSVN

VisualSVN - приставка к Visual Studio (2005-2008), добавляющая отдельное окошко работы с SVN-репозиторием. Программа триальна - 30 дней. Однако каждые 30 дней можно генерировать новый триальный ключ. Ниже - свежий генерированный ключ, который обновляется при каждом обновлении этого поста отдельным JavaScript-скриптом.



Вставка скрипта в тело поста, кстати, оказалась не самой тривиальной задачей. Blogger упорно не хочет выполнять многострочные JS-скрипты в теле поста. Пришлось завести страничку на sites.google.com, там разместить файл со скриптом-генератором ключа, а в теле поста уже вызывать его:

<script type="text/javascript" src="http://sites.google.com/site/visualsvntrial/home/genkey/KGs.js"></script>


Не очень красиво, зато работает :)