Visual studio codelens как отключить

Обновлено: 04.07.2024

Я знаю, что вы можете отключить интеграцию с git, используя диалоговое окно «Инструменты / Параметры», но я заметил, что этот параметр, похоже, не сохраняется между сеансами; то есть, как только решение будет закрыто и снова открыто, интеграция с Git снова будет включена. Я предполагаю, что Visual Studio видит папку .git в дереве файловой системы моего решения.

Существует множество подключаемых модулей Visual Studio 2013, которые работают некорректно при включении подключаемого модуля Git, я предпочитаю управлять исходным кодом из командной строки и работаю над несколькими очень большими проектами, для которых интеграция с Git приводит к заметному замедлению работы. в открытии и работе с раствором. Я бы хотел его выключить навсегда, так как я им просто не пользуюсь и не нуждаюсь. Это возможно?

В этом весь трюк - в Visual Studio 2013 интеграция с Git не предоставляется как расширение, она встроена прямо в нее. Невозможно отключить расширение, поскольку нет расширения, которое нужно отключить. Бу! Я мог бы, но какой триггер я бы использовал для выполнения автоматизации? Расширение, которое запускается при загрузке? Странно писать расширение для отключения функции OOB. У моей команды тоже была эта проблема. Я думаю, что уловка, которую мы использовали, заключалась в том, чтобы загрузить решение, отключить интеграцию с git и затем перезапустить VS. Вы также можете попробовать установить SP 1.

Как вы сказали, вы можете отключить плагин управления версиями:

  • Инструменты / Параметры
  • Установите флажок "Показать все настройки".
  • Управление исходным кодом / выбор плагина
  • Установите для параметра "Текущий подключаемый модуль управления версиями" значение "Нет".

Затем, как говорит Адэ Миллер: перезапустите Visual Studio.

Моя Visual Studio работала очень медленно, так как git plugging был включен, и мне удалось отключить его «постоянно между сеансами», выполнив следующие действия.

Я обнаружил, что VS просто повторно включает GIT при повторном открытии решения. Кроме того, указанное ниже расширение NoGit не работает. Хм. У меня та же проблема. VS просто повторно включает интеграцию GIT при перезапуске VS. Обратите внимание, что я уже десятки раз отключал его, как описано выше. (он продолжает возвращаться) Я обнаружил, что открытие окна Team Explorer снова включило его для меня. Поэтому я просто закрыл это окно и снова установил для параметра значение Нет. Надеюсь, VS больше не будет пытаться "помочь" мне в этом. Не загрузив никаких решений, я изменил настройку плагина управления версиями с Git на None. Затем я перезапустил Visual Studio (все еще без решения) и проверил настройку, и теперь это был Visual Studio Team Foundation Server. Я снова установил для него значение «Нет» и снова перезапустил VS, и на этот раз он, похоже, застрял.

У меня была такая же проблема с Visual Studio 2015, где расширение NoGit даже не разрешалось устанавливать. Я использую опцию «открывать последнее решение при запуске», поэтому я подумал, что, возможно, это как-то связано с проблемой.

Поэтому я просто закрыл свое решение перед тем, как перейти в «Инструменты - Параметры - Контроль версий», затем выключил его, перезапустил VS и - вуаля, SC остался выключенным! Надеюсь, что это останется так и в других решениях.

В тысячу раз больше. Никаких взломов реестра, никаких кастомных расширений, это работает. Спасибо ! Я должен был совместить это с еще одной вещи: я обновил свой VisualStudio меню Пуск ярлык , чтобы включить этот флаг командной строки: /ResetSettings "C:\Users\myuserid\Documents\Visual Studio 2015\Settings\CurrentSettings.vssettings" . Согласно справочнику командной строки, этот параметр «Восстанавливает настройки IDE по умолчанию, при необходимости сбрасывается до указанного файла VSSettings». Кажется, это гарантирует, что мои желаемые настройки применяются всегда. Спасибо! Это сработало для меня. Еще одно примечание - не забудьте закрыть вкладку Team Viewer справа (рядом с обозревателем решений), прежде чем сделать это, иначе он автоматически снова включится, если вы щелкните по нему. Убедитесь, что вы завершили запуск процесса devenv.exe, который задерживается после сбоя VS, оставляя хотя бы один из ваших процессоров закрепленным, иначе вы можете делать это снова и снова, и он не будет зависать. Но так счастлив, когда это происходит, и никакого взлома реестра не требуется!

Для меня создание репозитория с помощью следующей команды решает проблему:

Поскольку он не создает .git каталог , а только .git файл, указывающий на реальный каталог репозитория, например:

Visual Studio (по крайней мере, до VS2015 Update 3, которым я пользуюсь) этого не замечает!

Это сработало лучше, чем переменные среды, потому что у Git Extensions (которые я использую) возникла проблема с их поддержкой, но они отлично справились с .git файлом, указывающим на _git папку.

Согласен, я бы тоже не стал связываться с переменными окружения. Это прекрасно работает. Добавлю, что выше небольшая опечатка, вариант --separate-git-dir Отличное решение! Слава богу, VS2013 не реализовал чтение этой .git « не зависящей от файловой системы символической ссылки Git на репозиторий», иначе мы бы столкнулись с той же проблемой. Большое спасибо за подсказку! Поскольку расширение Visual Studio NoGit не работает с VS 2017, это единственный способ остановить VS 2017 от "git-monitoring" :-) Спасибо! 👍

Одна из причин повторного включения git SCC в VS2015 при каждой загрузке IDE - это CodeLens. Инструменты / Параметры / Текстовый редактор / Все языки / CodeLens. Есть флажок для различных действий, связанных с TFVS и Git - установка любого из этих флажков git автоматически включит плагин Git, если он думает, что вы работаете с репозиторием git.

Рабочий (для меня) ответ, который не предлагает удалить решение из системы управления версиями или повредить установку VS. Это действительно важно, поскольку я видел, что Visual Studio 2017 переопределяет тривиальную вещь по отключению системы управления версиями. Но кажется, что даже после этого VS 2017 создает .vs папку.

Бонус: классное описание.

Я использую VS 2013 Update 4, и у меня все еще работает нормально. Я перепутал интеграцию git с информацией git, показанной в кодовых линзах . спасибо за разъяснения!

Для Visual Studio 2015 я обнаружил, что CodeLens повторно включает подключаемый модуль Git Source Control после перезапуска. Отключение CodeLens исправило это.

Это важно для отключения GIT в Visual Studio 2017. Отличный улов!

(Обновление: теперь этот ответ представляет собой полностью рабочее решение, основанное на моем более глубоком понимании GIT_DIR и GIT_WORK_TREE)

Резюме: Git достаточно гибкий, чтобы вы могли переместить .git каталог за пределы рабочего каталога с файлами, извлеченными из tfs. Это позволяет иметь 100% чистую проверку tfs без каких-либо следов git, которые визуальная студия может обнаружить, сохраняя при этом возможность использовать его как репозиторий git. Ключ состоит в том, чтобы разделить git dir (хранилище репозитория git) и дерево работ (ваш проверенный исходный код).

Чтобы сделать жизнь приятнее, сделайте следующее:

Это отлично работает в отношении визуальной студии, поскольку тогда она полностью игнорирует все, что хранится в git.

Кстати, git-tf naturaly не любит пути cygwin, поэтому используйте, GIT_. =c:/work/. если вы планируете использовать git tf. Это здорово, но я бы предпочел использовать путь стиля c: / work / . вместо стиля \ c \ work \ .

Это сработало для меня в Visual Studio 2013 и 2015. Сохраняется, даже если вы закрываете и снова открываете Visual Studio.

Перейдите в Инструменты -> Параметры -> Управление исходным кодом -> Установить для плагина значение Нет.

Закройте Visual Studio и выполните команду ниже с правами администратора.

VS 2015 Обновление 1: после этого провайдер MSFT TFS не работает . или вы можете просто отключить CodeLens, как предлагает @John Brett.

Удалите Microsoft GitProvider из Visual Studio 2015

  1. Убедитесь, что Visual Studio закрыта
  2. Открыть regedit
  3. Перейдите к HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 14.0_Config \ SourceControlProviders
  4. Удалите 11b8e6d7-c08b-4385-b321-321078cdd1f8 В области сведений должно быть указано GitProvider.
  5. Откройте Visual Studio
улучшение этого ответа - примените следующий reg-файл Редактор реестра Windows версии 5.00 [-HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ VisualStudio \ 14.0_Config \ SourceControlProviders \ <11b8e6d7-c08b-4385-b321-321078cdd1f8>]

Мне удалось отключить встроенный поставщик Visual Studio Git, удалив все вхождения этих ключей реестра:

У меня это работает! Спасибо! Но остается один вопрос: если в конце концов я обновлю VS (выполняя незначительное или серьезное обновление), мне придется снова удалять ключи? Для установки я предпочел вручную изменить расширение .vsix на .zip, чтобы вы могли затем щелкнуть правой кнопкой мыши и извлечь файлы. Затем все, что вам нужно сделать, это поместить новую извлеченную папку в папку данных вашего пользовательского приложения (% appdata% \ Local \ Microsoft \ VisualStudio \ \ Extensions). Затем перезапустите Visual Studio, откройте Инструменты-> Расширения и обновления . затем найдите «NoGit» и включите его, затем снова перезапустите.

Целую неделю было больно, и я не знал, как запустить эту службу управления версиями в VS2015. Но надо знать, как это остановить. Вот шаги, чтобы отделить git / любой исходный элемент управления от VS2019.

Перейдите в VS -> Инструменты -> Параметры -> Управление исходным кодом -> [Текущий подключаемый модуль управления исходным кодом]

Вы получаете весь возможный контроль версий в вашей системе и вариант «Нет». Если вы выберете «Нет», все готово. Моя была исправлена ​​сразу после выбора опции «Нет», нажмите «ОК» и перезапустите VS и больше никакого контроля версий.

Вам нужно закрыть все решения VS. запустите его, установите Menu \ tools \ options \ Source Control \ Git -> None, закройте это решение при появлении запроса. Теперь, при открытии любого другого решения, варианты остаются «Нет».

VS2015 потреблял 50% моего процессора в режиме ожидания. Я узнал, что отключение Git было решением. К сожалению, отключение Git только для того, чтобы изучить его, автоматически снова включает его.

В моем случае я действительно хотел использовать Git, но не с использованием процессора 50%.

Поскольку решение NoGit доступно только для VS2013, вы можете вместо этого загрузить: Git Source Control Provider, даже если вы не используете Git. Моя загрузка ЦП теперь составляет 2,2% вместо 50% в режиме ожидания.

У меня также есть проблемы с Git в Visual Studio, но я думаю, что наконец нашел рабочее решение. До сих пор я использовал трюк, переименовывая папку .git в _git и добавляя текстовый файл с именем .git, содержащий строку «gitdir: _git». Но после обновления до VS2019 это больше не работает.

Я пробовал много разных решений, но ни одно из них не сработало, поскольку мне нужен Git для одних проектов, а для других - нет. В моем проблемном проекте для контроля версий используется Team Foundation Server моей компании. Но поскольку я потерял код из-за неудачных слияний, сделанных TFS, я фиксирую свои изменения в локальном репозитории Git перед обновлением или фиксацией в TFS.

D:\Projects\TFS\.git Локальное репозиторий git, которое VS не следует использовать.

D:\Projects\TFS\ProjectA\$tf Файлы TFS, которые VS должен использовать для ProjectA.

Как бы я ни пытался, мне не удавалось заставить VS использовать TFS для ProjectA, когда он обнаружил папку .git в родительской папке. Мое решение - переместить папку .git в:

и создайте соединение каталогов с папкой ProjectA. Запустите командную строку с повышенными привилегиями и выполните:

mklink /J D:\Projects\TFS-GIT\ProjectA D:\Projects\TFS\ProjectA

Открыв D:\Projects\TFS\ProjectA\ProjectA.sln в Visual Studio, он не найдет никакой папки .git и будет подключаться к TFS, как должен.

Выполнение команд git из D:\Projects\TFS-GIT будет использовать те же файлы, что и Visual Studio, за исключением того, что также доступна папка .git. TortoiseGit также отлично работает из этой папки.

Мне было трудно найти решение для этого, и я сделал это после стольких попыток, поэтому я не могу быть точным. Создайте еще один локальный репозиторий с помощью GitHub Desktop в другой папке. Готово, откройте Visual Studio без загрузки проекта, теперь в Team Explorer должны отображаться оба репозитория. Выберите новый репозиторий, так как вы должны выполнить некоторые операции, на этом пункте вы можете «удалить» свой старый репозиторий, так как новый является «активным». После этого я удалил файлы .hidden .git * из прежней папки. Теперь открытие проекта не приводит к повторному созданию старого репозитория. Надеюсь это поможет.

Я недавно установил Visual Studio 2013 Ultimate. Теперь, как вы знаете, существует эта "n ссылок" над всеми методами.

Когда я перехожу к параметрам CodeLens, я не могу отключить эту единственную функцию, поскольку флажок неактивен.

Options for enabling specific Code Lenses

Так как я могу отключить это?

Единственный обходной путь, который я нашел, был отмена проверки "включить codelens".

Индикатор References должен быть включен, потому что он единственный, кто знает, как выполнять элементы "заполнителя" (тот, который говорит "- ссылки"), и гарантировано, чтобы показать везде, где codelens появляется.

Если вы можете отключить ссылки, то весьма вероятно, что кодовые линзы зарезервируют место для индикаторов, и все же никакие индикаторы никогда не появятся, поэтому вы получите пустые строки в каждом методе/классе/свойстве это не пустые строки, это просто зарезервированное пространство для элементов codesense, которые никогда не появятся.

Я бы посоветовал использовать в Visual Studio функцию "пошли хмуриться" и прокомментировать это, если вы хотите отключить только ссылки.

Если вы хотите сохранить функциональность CodeLens, но в основном избавиться от ссылок, перейдите по ссылке:

  • Options/Environment/Fonts and Colors
  • Show settings for: CodeLens

и измените настройки на:

  • Font: Consolas
  • Font Size: 6
  • Indicator Text: White
  • Indicator Text (Disabled): White
  • Indicator Separator: White

Выбор Consolas уменьшает высоту строки по сравнению со шрифтом Calibri по умолчанию, даже при размере шрифта 6. Возможно, вы даже можете использовать меньший шрифт, но я его не нашел.

Если у вас темный фон, выберите соответствующий темный цвет вместо White , где он упоминается в приведенных выше шагах, поскольку цель состоит в том, чтобы скрыть текст CodeLense.

В Visual Studio 2015. Инструменты> Параметры. Текстовый редактор> Все языки> CodeLens. Снимите флажок "Включить CodeLens"


В Visual Studio 2013 появилось очень много новых возможностей. С некоторыми из них вы можете ознакомиться из статей на хабре. Некоторые из этих возможностей были долго ожидаемы сообществом, и в общем то не привносят ничего нового в функциональность среды, просто делают ее немного удобнее, как например окно опций, размер которого можно менять. Но так же есть возможности, о которых, как только взглянешь на них сразу же хочется воскликнуть «Круто!».
Речь идет о CodeLens – информационных индикаторах которые отображаются в коде и могут в лаконичной форме показать прямо в тексте программы важную информацию которая затем пригодится при работе с кодом приложения.

Так что же такое CodeLens?


Как уже было сказано, CodeLens это индикаторы, которые работают прямо в коде:

В комплект поставки Visual Studio 2013 Ultimate входит 8 индикаторов:

  1. TestStatus – отображает статус модульного теста для функции
  2. References – отображает количество ссылок на функцию в других участках кода. Сколько раз эту функцию вызывают.
  3. TestedBy – отображает конкретные модульные тесты в окне индикатора которые проверяют данную функцию
  4. Authors – отображает автора изменений в коде
  5. Changes – отображает ссылки на последние изменения в коде
  6. Bugs – количество багов ассоциированных с этой функцией в Team Foundation Server
  7. WorkItems – рабочие элементы (таски, баги) которые связаны с этой функцией
  8. CodeReview – отображает рецензии на функцию

Индикатор ссылок на код


Показывает количество ссылок на функцию или тип. Если открыть окно индикатора то так же будет отображена информация о функциях которые вызывают текущий код:


Этот индикатор удобно использовать в паре с возможностью построения карты зависимостей кода. Просто нажмите на ссылку «ShowonCodeMap» и в дополнительном окне будет показано визуальное представление зависимостей кода:

Индикаторы авторства кода и последних изменений


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


Количество изменений которые влияют на текущий участок кода в текущем бранче могут быть отображены по нажатию на клавишу Alt+5:


Обратите внимание на то что у индикатора присутствует знак +. Это означает что текущая версия «отстает» от той которая уже есть на сервере контроля версий, и вполне вероятно придется прибегать к процедуре слияния изменений (мерджингу).
В этом же окне индикатора можно сравнить текущую версию файла с выбранной:

Тем самым заранее узнать о потенциальных конфликтах.

Индикаторы связей с багами, тасками и другими рабочими элементами

Любое изменение в коде (changeset) может быть ассоциировано с рабочими элементами в Team Foundation Server. Индикаторы багов и рабочих элементов отображают количество таких связей, а при вызове окна индикатора позволяют быстро перейти к информации в рабочем элементе.

Пример связей с багами:

Пример связей с задачами:

Индикаторы тестов


Модульные тесты, которые проверяют текущую функцию отображаются в индикаторах тестов. Отображается количество успешных и неудачных тестов а так же дополнительная информация в окне индикатора с ссылками на те тесты которые проверяли данную функцию:


Из окна детализации вы быстро можете попасть к месту определения теста:


При этом у самого теста появляется дополнительный индикатор, который отображает детальную информацию о результатах выполнения теста:

Интеграция с Lync


Если в вашей организации используется Lync, то в дополнение к вышеперечисленным функциям у вас так же появляется иконка статуса. Это позволяет оперативно связаться с автором изменений в коде или владельцем задачи для быстрого решения каких либо вопросов:

Расширение возможностей индикаторов

Вполне вероятно, что скоро появятся дополнительные индикаторы, которые расширят текущие возможности Visual Studio 2013 Ultimate.
Первый из них уже можно установить с сайта Visual Studio Gallery. Этот дополнительный индикатор показывает «чистоту кода» подсчитывая признанные в индустрии разработки параметры кода, такие как MaintanabilityIndex, LinesofCode, CyclomaticComplexity и Halstead Volume.

В Visual Studio Community 2015 отсутствует такое интересный компонент как CodeLens. Этот компонент прямо в коде отображает информацию о последних модификация и ссылках на те или иные методы. К сожалению в версии Community увидеть информацию об изменениях, сделанных другими разработчиками, невозможно, но с другой стороны, если в вашей команде всего несколько программистов, то в этом поможет система управления версиями.

Ссылки, которые будут появляться благодаря CodeLens, позволят намного быстрее перемещаться по коду и окажут хорошую помощь в понимании нагрузки, которую несет тот или иной фрагмент кода.

Для работы CodeLens предварительно необходимо выполнить установку SQL Server Data Tools (SSDT).

При запуске инсталятора необходимо обратить внимание на устанавливаемые компоненты, а именно установить флажки напротив каждого элемента (скриншот ниже).

SQL Server Data Tools (SSDT)

После завершения установки SQL Server Data Tools можно запускать Visual Studio Community и открыв любое решение или проект, автоматически будут отображаться ссылки (скриншот ниже).

CodeLens In Visual Studio Community 2015

При клике по ссылке отображается всплывающее окно, в котором видны все зависимости данного участка кода от остальных, при этом указывается фрагмент кода и строка в которое есть ссылка, например на текущее перечисление (скриншот ниже).

CodeLens - ссылка

Если перейти к настройке: Сервис - Параметры - Текстовый редактор - Все языки - CodeLens, то можно увидеть, что количество параметров значительно меньше по сравнению Visual Studio Professional или Visual Studio Enterprise, но зато редакция Visual Studio Community - бесплатная. Так что если цена вопроса важна, приведенный выше пример добавления функционала будет необходим.

Читайте также: