Как удалить диалог VS2010 «Обнаружена модификация файла»? - PullRequest
6 голосов
/ 28 сентября 2010

Каждый раз, когда я переключаю ветку в git, visual studio выводит меня из себя этими всплывающими окнами , спрашивающими, хочу ли я перезагрузить проект или игнорировать изменения.

Как автоматически перезагрузить решение?

Ответы [ 3 ]

6 голосов
/ 11 февраля 2011

Попробуйте VSCommands 2010 Lite , он позволяет перезагрузить все проекты:

enter image description here

3 голосов
/ 24 января 2011

Я также нашел это очень раздражающим, поэтому я сам искал решение. И придумал небольшое консольное приложение, которое я написал, со следующим кодом:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Windows.Forms;


internal class Program
{
  // For Windows Mobile, replace user32.dll with coredll.dll
  [DllImport("user32.dll", SetLastError = true)]
  static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

  // Find window by Caption only. Note you must pass IntPtr.Zero as the first parameter.
  [DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
  static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);

  [DllImport("user32.dll")]
  //      static extern bool ShowWindow(IntPtr hWnd, ShowWindowCommands nCmdShow);
  static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

  internal static void Main(string[] args)
  {
     do
     {
        Console.Title = "Waiting...";
        Console.WriteLine("Waiting...");
        IntPtr hwnd = FindWindowByCaption(IntPtr.Zero, "File Modification Detected");
        while ((int)hwnd == 0)
        {
           Thread.Sleep(500);
           hwnd = FindWindowByCaption(IntPtr.Zero, "File Modification Detected");
        }

        Console.Title = "Found one, kill it...";
        Console.WriteLine("Found one, kill it...");
        // ShowNormal = 1
        // Show = 5
        ShowWindow(hwnd, 5);
        SendKeys.SendWait("{ENTER}");
        Thread.Sleep(500);
        hwnd = IntPtr.Zero;
     } while (true);

  }
}

Если вы запустите эту программу, она будет ждать этих всплывающих окон и автоматически нажмет на «Перезагрузить».

1 голос
/ 18 января 2011

Я полностью согласен.Я не могу поверить, что они не исправили это в VS 2010.

Но только к вашему сведению:

Это закрыто Microsoft Connect .

Этокажется, все еще активен и имеет обходной путь (который не стоит времени для меня): Microsoft Active

Я думаю, это говорит о том, насколько серьезно Microsoft относится к этому: Проблема еще не решена с 5 лет назад: 283618

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...