#git #visual-studio-code #newline #windows-subsystem-for-linux #lf
#git #visual-studio-code #новая строка #windows-subsystem-for-linux #lf
Вопрос:
Я использую Ubuntu на WSL2 и VSCode поверх этого. Хотя у меня есть настройка «LF» в VSCode, всякий раз, когда я сохраняю файл, VSCode настаивает на вставке возврата каретки, который помечается как ^M
with git diff
. Проверьте это:
diff --git a/network/outputs.tf b/network/outputs.tf
index e13366b..f7cc29c 100644
--- a/network/outputs.tf
b/network/outputs.tf
@@ -1,4 1,4 @@
-output "vpc_id" {
- description = "The ID of the Main VPC"
- value = aws_vpc.main.id
output "vpc_id" {^M
description = "The ID of the Main VPC"^M
value = aws_vpc.main.id^M
}
У меня нет проблем с этим в VIM.
Комментарии:
1. Вы установили VSCode внутри WSL или в Windows?
2. @Philippe Честно говоря, я точно не помню. Каков был бы наилучший подход? Я готов удалить и переустановить, чтобы положить этому конец.
3. Я склонен устанавливать на Windows. В любом случае, на стороне git запустите
git config --list
и убедитесьcore.autocrlf=false
4. @Philippe Спасибо за вашу помощь, я применил эту конфигурацию к глобальным настройкам, но, к сожалению, этого было недостаточно для решения проблемы, он по-прежнему вставляет возврат каретки.
5. Можете ли вы сделать
dos2unix network/outputs.tf
, затем использовать VSCode для редактирования и сохранения, а затемgit diff
повторить?
Ответ №1:
Если git config --global core.autocrlf=false
этого недостаточно, проверьте, существует ли .gitattributes
правило (обычно core.eol
), которое может повлиять на то, как Git фиксирует файл:
git check-attr --all -- network/outputs.tf
Комментарии:
1. Спасибо. Я сделал это и все еще сохранялся.
dox2unix
Выполняет работу, но ищет что-то, что делает это автоматически.2. @adriaanbd если это не исчезнет, в ваших интересах было бы сделать dos2unix все файлы, добавить, зафиксировать, а затем снова выполнить проверку, чтобы убедиться, что все остается как есть.