Подтвердить что ты не робот

Visual Studio 2015 Solution Explorer не обновляет файлы?

My Visual studio 2015 explorer explorer не обновляется, когда я меняю файлы на диске, и есть (насколько я могу видеть) больше кнопки обновления.

В проводнике все выглядит так, как должно быть, и после выполнения моих "refresh" -меток ниже всех файлов отображается снова.

Мои решения до сих пор:

  • Выгрузить и перезагрузить проект
  • Обновить Visual Studio

Это особенно раздражает при запуске сборки с помощью gulp, который добавляет, меняет и удаляет файлы.

Я пропустил что-то очевидное?

Ps. Это не связано с опцией "Показать все файлы". Он также не отображается как "прозрачный" файл not-included-files.

4b9b3361

Ответ 2

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

То, что я сделал, является обходным, а не оптимальным, но я отправлю его здесь, если он может помочь другим.

Вы можете заставить Visual Studio заметить изменения файла следующим образом:

  • Когда файлы добавляются или удаляются за пределами Visual Studio, коснитесь файла проекта
  • Visual Studio замечает это и открывает диалоговое окно с подтверждением о необходимости перезагрузки проекта
  • Нажмите "Обновить/перезагрузить все", и проект будет перезагружен, а изменения файлов отображаются в обозревателе решений

Я использую два пакета node. Chokidar для просмотра событий файловой системы и touch прикоснуться к файлу проекта

Chokidar хорош, вы можете установить, какие файлы и папки смотреть, что игнорировать и т.д. И touch предлагает очень простой способ изменить временную метку файла.

Вот пример рабочего кода, который вы можете настроить в соответствии с вашими потребностями:

var chokidar = require('chokidar');
var touch = require("touch");

console.log("Starting - Initial files are ignored");

var projectFile = "C:\\projects\\GitHub\\testing-touch\\TestingTouch\\TestingTouch.csproj";                   

var watcher = chokidar.watch('C:\\projects\\GitHub\\testing-touch\\TestingTouch\\tests', {
  ignored: /[\\/\\]\./,
  ignoreInitial: true,
  persistent: true  
});

var log = console.log.bind(console);

watcher
  .on('add', function(path) {
    log('File', path, 'has been added');
    touch.sync(projectFile, { time: new Date(), force: false });
  })
  .on('change', function(path) { log('File', path, 'has been changed'); })
  .on('unlink', function(path) { log('File', path, 'has been removed'); })
  // More events.
  .on('addDir', function(path) { log('Directory', path, 'has been added'); })
  .on('unlinkDir', function(path) { log('Directory', path, 'has been removed'); })
  .on('error', function(error) { log('Error happened', error); })
  .on('ready', function() { log('Initial scan complete. Ready for changes.'); })
  .on('raw', function(event, path, details) { log('Raw event info:', event, path, details); })

// 'add', 'addDir' and 'change' events also receive stat() results as second
// argument when available: http://nodejs.org/api/fs.html#fs_class_fs_stats
watcher.on('change', function(path, stats) {
  if (stats) console.log('File', path, 'changed size to', stats.size);
});

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

Ответ 3

Я тоже был в подобной ситуации, пытаясь добавить мою ранее существовающую папку "assets" в веб-проект в Visual Studio 2015.

  • Щелкните правой кнопкой мыши элемент Project в обозревателе решений и создайте новую папку, например. 'активы'

  • В проводнике Windows перетащите содержимое папки, которую вы хотите перенести, в новую папку "assets" в окне VS Solution Explorer и дождитесь завершения процесса копирования.

  • Нажмите на значок "Показать все файлы" на панели инструментов в верхней части обозревателя решений. Вы должны увидеть свою структуру папок, включая нужные вам файлы.

  • Выделите файлы/папки, щелкните правой кнопкой мыши и выберите "Включить в проект".

Это сработало для меня, и я надеюсь, что это поможет кому-то с той же проблемой.

Ответ 4

В нижней части вкладки "просмотр" есть опция обновления.