Macro
У меня сейчас хорошее решение. Просто обработайте событие макроса SolutionItemsEvents_ItemRenamed.
Это можно сделать, открыв макрос IDE, нажав Инструменты-> Макросы-> Макрос IDE . Затем добавьте следующий обработчик событий в ваш макропроект:
Private Sub SolutionItemsEvents_ItemRenamed(ByVal ProjectItem As EnvDTE.ProjectItem,
ByVal OldName As String)
Handles SolutionItemsEvents.ItemRenamed
Dim process As System.Diagnostics.Process
process.Start("p4", "move -k " & ProjectItem.Properties.Parent.Document.Path &
"\\" & OldName & " " & ProjectItem.Document.Path)
End Sub
Смотрите скриншот:
Как вы можете видеть, он просто вызывает "p4 move -k". Опция "-k" необходима, потому что после переименования старый файл уже удален, поэтому Perforce выдаст ошибку без "-k". «-k» заставляет Perforce переименовывать файл только на сервере.
Если вы получаете Perforce ошибки соединения , вам нужно добавить файл P4CONFIG, где определено соединение. Это делается:
Добавить файл p4config.txt в каталог вашего проекта (или любой из его родительских каталогов) с содержимым:
P4CLIENT = ваше рабочее пространство
P4USER = Пользователь
P4PORT = p4server: 1234
Установить переменную среды P4CONFIG = p4config.txt
Теперь вы можете изменить ваши файлы любым способом (Solution Explorer Item-> Rename, Solution Explorer Item-> F2, ReSharper's Переименовать файл, чтобы он соответствовал имени типа , ReSharper's class Rename (Ctrl + R, R), ...).
Но имейте в виду: У меня проблемы, если я пытаюсь отредактировать и переименовать один и тот же файл в одном чек-ине и если я переименую файл, когда другой человек извлек тот же файл.