В коде Visual Studio есть способ получить объединенный журнал git всех команд git как из панели управления версиями, так и из окна терминала?

Это побочный продукт Как в Visual Studio Code получить журнал git для всех команд git, выполненных в панели управления версиями?

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


person questionto42    schedule 24.07.2020    source источник


Ответы (1)


Я ожидал, что vscode предложит готовый объединенный журнал. Вместо этого до сих пор кажется необходимым ручной труд.

Единственный автоматически объединенный журнал панели управления версиями и представления терминала находится в консоли vscode Developer Tools › с той оговоркой, что команды терминала не регистрируются напрямую: вы видите только из определенной структуры, что было команду терминала в этот момент, а затем вы можете, по крайней мере, вручную посмотреть в своей истории терминала, что это должно было быть - сложно, но не невозможно, если вам отчаянно нужно документировать или реконструировать точную последовательность команд. Тем не менее вам нужна ручная работа здесь, чтобы назначить команды терминала в нужное место в журнале консоли инструментов разработчика.

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

Самым простым ручным объединением журналов, очевидно, является ручное объединение окна вывода Git (см. Как в Visual Studio Code получить журнал git всех команд git, выполненных в панели управления версиями?) собрал вручную вместе с простыми копиями из команд терминала+вывод.

Для полноты доступны другие журналы, которые не добавляют значения: git reflog, git.txt и history команда в окне терминала.

Вот подробная документация, которую, вероятно, можно игнорировать, потому что ручное слияние журнала git и журнала терминала должно быть самым простым способом.

####

Консоль инструментов разработчика vscode:

  • запустите "C:\Users\USER\AppData\Local\Programs\Microsoft VS Code\Code.exe" --verbose or if it is in your Path just run code --verbose` из командной строки.

  • в Коде выберите Help | Toggle Developer Tools и выберите Console

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

Пример: поставил фильтр на git -Watcher, поиск по init мне выдает:

Телеметрия TRACE/views.welcomeAction {viewId: workbench.scm, uri:

команда: git.init?%5Btrue%5D}

TRACE CommandService#executeCommand

git.init

vscode использует git.stage вместо git.add, которые являются синонимами, см. Различия между командами git add и git stage

Поиск файла проекта приводит к DecorationsService после git.commit.

Команды терминала нельзя увидеть напрямую, но по вводу информации в терминал видно, что в терминале был ввод:

TRACE IPty#записать [число] символов

затем 4 действия File Watcher (проверено с git status).

Хотя вы не можете видеть команды, вы можете восстановить их последовательность, даже если вы переключились между панелью управления версиями и окном терминала.

Имейте в виду, что это просто журнал сеанса, в отличие от сохраненного git reflog. И это не включает никакого вывода.

####

журнал git:

Для глобального решения есть git reflog, который имеет только журнал фиксации/проверки/слияния… и не показывает точную команду/вывод, а сводку, это заимствовано из История или журнал команд, выполненных в Git

####

git.txt:

vscode предлагает журнал git, в Windows это C:\Users\USER\AppData\Roaming\Code\logs\[some hash]\git.txt

Дополнительные сведения и другие сведения см. в разделе Где находятся файлы журналов Visual Studio Code?

Это начинается как

телеметрия/git.command {свойства: {команда: git.init …

####

История терминала:

Для истории команд терминала используйте history в терминале vscode, это снова заимствовано из История или журнал команд, выполненных в Git

Это просто журнал сеанса в отличие от сохраненного git reflog.

person questionto42    schedule 24.07.2020