невозможно связать файл .txt с указанным кодом Visual Studio в Windows 10

633
Garret Wilson

Я только что установил Visual Studio Code 1.28.1, но не могу связать его с .txtрасширением в Windows 10.

Я хорошо знаю, как связать расширение с приложением в Windows. Я могу щелкнуть правой кнопкой мыши в проводнике, выбрать «Открыть как ...», выбрать приложение и убедиться, что установлен флажок «Всегда открывать с этим приложением». Или я могу зайти в свойства файла в Проводнике, посмотреть «Открыть с помощью» и нажать «Изменить». Или я могу перейти к «Выбор приложений по умолчанию по типу файла…» и т. Д. Проблема в том, что ничего из этого не работает с VS Code.

В настоящее время мои .txtфайлы связаны с EmEditor. Я меняю ассоциацию на Блокнот. Нет проблем. Я изменяю связь обратно на EmEditor. Это работает.

Но если я выберу синюю опцию «Код Visual Studio», которая появляется в списке приложений, ничего не изменится. Старая ассоциация остается.

Я даже попытался проигнорировать синий значок в списке выбора, а затем просмотрел вручную и выбрал %LocalAppData%\Programs\Microsoft VS Code\Code.exeв качестве редактора по умолчанию. Это тоже не работает. Также не сделал ручной выбор %LocalAppData%\Programs\Microsoft VS Code\bin\code.cmd.

Если вы считаете, что это может быть связано с EmEditor, я попытался связать .tidyconfigфайлы (которые в моей системе в настоящее время вообще не связаны с каким-либо редактором) с VS Code. Ничего не сделал

В чем дело? Связывание кода VS с моими текстовыми файлами должно быть самой базовой из базовой интеграции Windows. Почему это не сработает?

(Я подал это как VSCode Issue # 61084, но у меня не было ответов. Я заполняю это здесь в случае, если «ошибка» является своего рода ошибкой пользователя.)

2
Вы пытались запустить команду вручную для каждой командной строки, например `% LocalAppData% \ Programs \ Microsoft VS Code \ Code.exe" "sometxt.txt" `? musicman 6 лет назад 0
Какое это имеет отношение к ассоциированию приложения с типом файла через расширение в проводнике Windows? Garret Wilson 6 лет назад 0
Чтобы увидеть, работает ли он вообще, чтобы открыть текстовый файл с этим приложением? Возможно, вы также захотите проверить и поделиться содержимым вашего реестра win относительно ассоциации типов файлов. musicman 6 лет назад 0
Да, я могу нормально редактировать текстовые файлы. Редактор работает нормально. Этот вопрос касается ассоциации с типом файла, основанным на расширении в проводнике Windows. Вы лично пытались связать Visual Studio Code 1.28.1 с расширением `.txt` в Windows 10? Каков был результат для вас? Вам удалось? Garret Wilson 6 лет назад 0
Возможно дублирование. https://superuser.com/questions/1367271/can-notepad-be-replaced-with-vs-code/1367280#1367280 HazardousGlitch 6 лет назад 0
@HazardousGlitch, нет, это не дубликат. Это просто еще один способ попытаться сделать то, что Windows до сих пор не позволяет мне сделать. Этот подход тоже не работает, к сожалению. Garret Wilson 6 лет назад 0
(1) EmEditor все еще установлен? Можете ли вы удалить его и перезагрузиться, чтобы увидеть, стало ли теперь легче установить связь? (2) В ключе реестра `HKEY_CLASSES_ROOT \ .txt` имеет ли элемент` (по умолчанию) `значение txtfile`? (3) Что в ключе `HKEY_CLASSES_ROOT \ txtfile \ shell \ open \ command` равно значению` (по умолчанию) `? harrymc 6 лет назад 0
Позвольте мне полностью убрать EmEditor из уравнения. Я просто пытался связать файл `.tidyconfig` с VS Code. Это расширение не имеет с ним ничего общего. Даже это не сработало. Garret Wilson 6 лет назад 0
Это оставляет мои выше вопросы (2) и (3). harrymc 6 лет назад 0
@harrymc Я думаю, вы упустили момент, что если он не может даже ассоциироваться с `.tidyconfig`, то нам даже не нужно смотреть на` HKEY_CLASSES_ROOT \ .txt`, потому что теперь мы используем `HKEY_CLASSES_ROOT \ .tidyconfig` , который даже не существует. Другими словами, я устранил проблему неправильной настройки чего-либо в реестре для этого расширения. Но чтобы ответить на ваши вопросы, `HKEY_CLASSES_ROOT \ .txt` для` (по умолчанию) `имеет` emeditor64.txt`, а `HKEY_CLASSES_ROOT \ txtfile \ shell \ open \ command` для` (по умолчанию) `имеет`% SystemRoot% \ system32 \ NOTEPAD.EXE% 1`. Garret Wilson 6 лет назад 0
`HKEY_CLASSES_ROOT \ .txt` уже захвачен EmEditor. Было бы интересно узнать, измените ли вы его на `txtfile` и запустите EmEditor, будет ли он снова его перехватывать. Для проблемы `.tidyconfig`, пожалуйста, дайте больше информации о том, что именно вы сделали с реестром. Сравните это с [этой статьей] (http://donovanbrown.com/post/how-to-set-visual-studio-code-as-your-default-editor). harrymc 6 лет назад 0
Я ничего не делал в реестре для `.tidyconfig`. Я просто попытался связать VS Code с расширением `.tidyconfig`, как и с любым расширением в Windows 10, как я объяснил в описании этого вопроса. Garret Wilson 6 лет назад 0
Расскажите нам точно, что вы сделали для `.tidyconfig`. harrymc 6 лет назад 0
Возможный дубликат [SSMS не будет отказываться от ассоциаций файлов] (https://superuser.com/questions/1373310/ssms-wont-give-up-file-associations) Scott 5 лет назад 1

1 ответ на вопрос

2
Dave the Sax

Это не ошибка пользователя или ошибка кода. Microsoft нарушила работу файловых ассоциаций в последней альфа-версии. Я нашел обходной путь, который работает в Windows 10 Pro - версия 1803 - сборка ОС 17134.320.

Найдите команду для запуска кода Visual Studio с именованным файлом: нажмите «Пуск», введите «код», щелкните правой кнопкой мыши код Visual Studio и выберите «Открыть местоположение файла».

Щелкните правой кнопкой мыши по ярлыку, выберите «Свойства» и скопируйте содержимое Target. Это будет что-то вроде"C:\Users\[your name]\AppData\Local\Programs\Microsoft VS Code\Code.exe" "%1"

В редакторе реестра создайте HKEY_CLASSES_ROOT/.txtи установите Defaultдля txt_auto_file. Теперь создайте HKEY_CLASSES_ROOT/txt_auto_file/shell/open/commandи установите Defaultтекст, который вы скопировали из Target.

На этом этапе вы можете остановиться, потому что двойной щелчок по текстовому файлу теперь откроет его в Code. Однако значок в проводнике неверен. Щелкните правой кнопкой мыши файл .txt и выберите «Открыть с помощью». Теперь вы обнаружите, что все работает как надо; Вы можете поставить галочку Всегда использовать, и это исправит значок.

На https://github.com/Microsoft/vscode/issues/61084 они также указали на ошибку Windows и дали ссылку на https://www.reddit.com/r/windows/comments/9qeijs/cant_set_some_file_associations_properly_anyone/ для дальнейшего обсуждения. , Я не пробовал ваш обходной путь, потому что сейчас я хочу дождаться исправления Windows, но спасибо. Я проголосовал за ответ. Если кто-то еще сообщит, что этот обходной путь работает, я могу пометить это как правильный ответ. Garret Wilson 5 лет назад 0
Странно, я получил электронное письмо, в котором говорилось, что моя награда истекла, но я не помню, назначил ли мне эту награду или нет; Я думаю, что я сделал, основываясь на моей нынешней репутации. Но я не вижу ничего о награде, даже если она все еще в льготном периоде. Garret Wilson 5 лет назад 0
@GarretWilson - Вы начали награду 19 октября в 21:06, срок действия которой истек 7 дней спустя. 50% щедрости идет на ответ с большинством голосов, поданных после того, как щедрость была начата. 100% пошли бы на выбранный вами ответ. Тем не менее, в течение этих 7 дней ни один ответ не получил голосов, поэтому в этом случае награда не была присуждена (за ответ необходимо дать минимальное количество голосов). Ramhound 5 лет назад 0
Да, я довольно опытен в использовании системы вознаграждений в Stack Overflow. Но, как ни странно, я не вижу возможности назначить здесь вознаграждение, хотя я нахожусь в льготном периоде. Возможно, моя репутация в Super User настолько низка, что мне не разрешено назначать мою собственную награду в течение льготного периода. Странный. Garret Wilson 5 лет назад 0
@GarretWilson - Ваша награда истекла несколько дней назад (по состоянию на 1 ноября). Так что, скорее всего, вы пытались наградить его после истечения срока его действия Ramhound 5 лет назад 0
Спасибо за редактирование. Я знаю о 61084 и ветке Reddit и полностью прочитал оба, прежде чем публиковать этот обходной путь. Не все довольны взломом реестра, но для тех, кто это решит, пока проблема не решится (пока MS снова ее не исправит). Удаление KB4458469 может быть другим обходным путем, но я этого не пробовал. Dave the Sax 5 лет назад 0

Похожие вопросы