Внешние редакторы нельзя использовать для создания исходного файла программы

Обновлено: 23.11.2024

Возможно, вы захотите использовать редактор Visual Studio для работы с файлами независимо от проекта или решения. Пока у вас открыто решение, вы можете открывать и изменять файлы, не добавляя их в решение или проект. Файлы, с которыми вы хотите работать независимо, называются разными файлами. Разные файлы являются внешними по отношению к решениям и проектам, не включаются в сборки и не могут быть включены в решение с системой управления версиями.

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

Обозреватель решений может отображать папку «Разные файлы» для файлов, если для папки включены параметры. Параметры можно установить в диалоговом окне «Документы, среда, параметры». После того, как вы закроете различный файл, он не будет связан с каким-либо конкретным решением или проектом, если для него также не включен параметр.

В папке «Разные файлы» файлы представлены в виде ссылок. Хотя эта папка не является частью решения, при открытии решения некоторые или все различные файлы, которые были открыты при последнем закрытии решения, открываются повторно, в зависимости от настроек папки.

Некоторые из файлов, которые не отображаются в папке "Разные файлы", являются файлами, которые нельзя изменить в среде IDE, например файлы .zip и .doc. Среда IDE не отслеживает файлы, которые можно изменить только с помощью внешнего редактора.

Команды, доступные в среде IDE

Меню, панели инструментов и содержащиеся в них команды изменяются в зависимости от формата открываемого файла. Например, когда вы открываете текстовый файл, появляется панель инструментов «Текстовый редактор» и доступны ее команды. Если затем открыть файл XML-схемы, появится панель инструментов XML-схемы. При редактировании XML-схемы команды панели инструментов текстового редактора (или сама панель инструментов) недоступны. XML-схема является активным окном и поэтому имеет текущий контекст выбора. При переключении между файлом проекта и разным файлом все команды, относящиеся к проекту, исчезают, и появляются только те, которые непосредственно связаны с разным файлом.

Параметры отображения папки

Вы можете настроить параметры отображения папки "Разные файлы", чтобы папка отображалась, даже если вы не открывали никаких разных файлов. Файл решения не управляет постоянно списком разных файлов. Он использует дополнительную функцию, позволяющую запоминать список файлов, которые использовались последними (MRU) для каждого пользователя.

Большую часть времени для редактирования исходных файлов я использую другой редактор, например Notepad++ в Windows или Geany в Linux.

Проблема в том, что я не очень доволен включенным или отключенным параметром "Использовать внешний редактор".

Если он включен и я открываю файл примера, предоставленный библиотекой, я не могу сохранить его как новый файл (что я должен сделать), потому что параметры "Сохранить" и "Сохранить как. " в меню "Файл" недоступны. инвалид. Также, если я просто хочу открыть файл и сохранить его под новым именем, я не могу это сделать.

Если я не использую этот параметр, среда IDE вообще не перезагружает файл (если он был изменен другой программой) — даже если я перезагружаю файл из открытого списка последних в Файловое меню! Мне приходится закрывать и снова открывать всю среду IDE, что немного раздражает.

Конечно, для этого есть несколько "решений", вот лишь несколько идей:

  • Добавить в меню "Файл" параметр "перезагрузить файл", "обновить" или "перезагрузить файл с диска", который позволяет пользователю вручную перезагрузить файл, если он знает, что он был изменен. внешне.
  • Разрешить среде IDE всегда проверять наличие изменений, если главное окно потеряло фокус (и восстановило его).
  • Включите параметры "Сохранить" и "Сохранить как", даже если выбран параметр "Использовать внешний редактор".
  • Добавьте кнопку для фактического открытия внешнего редактора (предусмотренного в настройках) с текущим файлом. Это сделало бы вариант ИМХО гораздо более полезным.
  • Но с другой стороны: действительно ли необходимо вообще отключать редактирование, если будет использоваться внешний редактор? Идея, стоящая за этим, похоже, заключается в том, чтобы защитить внешний редактор от изменений. Но если кто-то использует внешний редактор, он/она наверняка воспользуется мощным редактором, который в любом случае сможет обнаружить изменения сам по себе (например, Notepad++).

Почему-то я думаю, что этот вариант неполный и его следует переработать. Либо упростив его использование, либо полностью удалив его и сделав среду IDE более устойчивой к изменениям внешних файлов.

Вы можете добавить файл EditorConfig в свой проект или кодовую базу, чтобы обеспечить единообразие стилей кодирования для всех, кто работает в кодовой базе. Параметры EditorConfig имеют приоритет над глобальными параметрами текстового редактора Visual Studio. Это означает, что вы можете адаптировать каждую кодовую базу для использования настроек текстового редактора, специфичных для этого проекта. Вы по-прежнему можете установить свои собственные личные настройки редактора в диалоговом окне параметров Visual Studio. Эти настройки применяются всякий раз, когда вы работаете с кодовой базой без файла .editorconfig или когда файл .editorconfig не переопределяет определенный параметр. Примером такой настройки является стиль отступа — табуляции или пробелы.

Параметры EditorConfig поддерживаются многими редакторами кода и интегрированными средами разработки, включая Visual Studio. Это переносимый компонент, который перемещается вместе с вашим кодом и может применять стили кодирования даже за пределами Visual Studio.

При добавлении файла EditorConfig в проект в Visual Studio новые строки кода форматируются в соответствии с настройками EditorConfig. Форматирование существующего кода не изменится, если вы не выполните одну из следующих команд:

    (Ctrl + K, Ctrl + E), при котором применяются любые параметры пробелов, такие как стиль отступа, и выбранные параметры стиля кода, такие как сортировка с помощью директив.
  • Редактировать >Дополнительно >Форматировать документ (или Ctrl+K, Ctrl+D в профиле по умолчанию), который применяет только настройки пробелов, такие как стиль отступа.

При добавлении файла EditorConfig в проект в Visual Studio новые строки кода форматируются в соответствии с настройками EditorConfig. Форматирование существующего кода не изменится, если вы не отформатируете документ (Правка > Дополнительно > Форматировать документ или Ctrl+K, Ctrl+D в профиле по умолчанию). Форматирование документа влияет только на параметры пробелов, такие как стиль отступа, если вы не настроили форматирование документа для выполнения дополнительной очистки кода.

Вы можете указать, какие параметры EditorConfig должны применяться к формату документа, на странице параметров форматирования.

Этот раздел относится к Visual Studio для Windows. Для Visual Studio для Mac см. EditorConfig в Visual Studio для Mac.

Консистентность кода

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

Соглашения, заданные вами в файле EditorConfig, в настоящее время не могут применяться в конвейере CI/CD как ошибки сборки или предупреждения. Любые отклонения от стиля отображаются только в редакторе Visual Studio и в списке ошибок.

Поддерживаемые настройки

Редактор в Visual Studio поддерживает основной набор свойств EditorConfig:

  • indent_style
  • размер_отступа
  • ширина_вкладки
  • конец_строки
  • кодировка
  • обрезать_трейлинг_белое пространство
  • insert_final_newline
  • корень

Добавить и удалить файлы EditorConfig

Когда вы добавляете файл EditorConfig в свой проект или кодовую базу, все новые строки кода, которые вы пишете, форматируются в соответствии с файлом EditorConfig. Однако добавление файла EditorConfig не преобразует существующие стили в новые, пока вы не отформатируете документ или не запустите очистку кода. Например, если в вашем файле есть отступы, отформатированные с помощью табуляции, и вы добавляете файл EditorConfig, в котором используются пробелы, символы отступа не преобразуются автоматически в пробелы. При форматировании документа («Правка» > «Дополнительно» > «Форматировать документ» или Ctrl+K, Ctrl+D) параметры пробелов в файле EditorConfig применяются к существующим строкам кода.

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

Добавить файл EditorConfig в проект

Откройте проект или решение в Visual Studio. Выберите узел проекта или решения в зависимости от того, должны ли ваши настройки .editorconfig применяться ко всем проектам в решении или только к одному. Вы также можете выбрать папку в своем проекте или решении, чтобы добавить в нее файл .editorconfig.

В строке меню выберите «Проект» > «Добавить новый элемент» или нажмите Ctrl+Shift+A.

Откроется диалоговое окно "Добавить новый элемент".

В поле поиска найдите editorconfig.

В результатах поиска показаны два шаблона элемента файла editorconfig.

Файл .editorconfig появится в обозревателе решений и откроется в редакторе.

Отредактируйте файл по своему усмотрению.

Другие способы добавить файл EditorConfig

Есть несколько других способов добавить файл EditorConfig в свой проект:

Функция вывода кода в IntelliCode для Visual Studio выводит стили кода из существующего кода. Затем он создает непустой файл EditorConfig с уже заданными настройками стиля кода.

Начиная с Visual Studio 2019, вы можете создать файл EditorConfig на основе ваших настроек стиля кода в меню "Инструменты" > "Параметры".

Иерархия и приоритет файлов

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

Чтобы переопределить некоторые или все параметры EditorConfig, добавьте файл .editorconfig на тот уровень файловой иерархии, к которому вы хотите применить эти переопределенные параметры. Новые настройки файла EditorConfig применяются к файлам на том же уровне и к любым подкаталогам.

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

Если вы хотите, чтобы к этой части кодовой базы применялись никакие настройки из каких-либо файлов .editorconfig более высокого уровня, добавьте свойство root=true в файл .editorconfig более низкого уровня:

Файлы EditorConfig читаются сверху вниз. Если имеется несколько свойств с одинаковым именем, последнее найденное свойство с таким именем имеет приоритет.

Редактировать файлы EditorConfig

Visual Studio помогает редактировать файлы .editorconfig, предоставляя списки завершения IntelliSense.

После редактирования файла EditorConfig необходимо перезагрузить файлы кода, чтобы новые настройки вступили в силу.

Если вы редактируете много файлов .editorconfig, расширение языковой службы EditorConfig может оказаться полезным. Некоторые функции этого расширения включают подсветку синтаксиса, улучшенный IntelliSense, проверку и форматирование кода.

Пример

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

Теперь при нажатии клавиши Tab вместо пробелов отображаются символы табуляции.

Устранение неполадок в настройках EditorConfig

Если где-либо в структуре каталогов в расположении вашего проекта или над ним находится файл EditorConfig, Visual Studio применяет настройки редактора из этого файла к вашему редактору. В этом случае вы можете увидеть следующее сообщение в строке состояния:

"Пользовательские настройки для этого типа файлов переопределяются соглашениями о кодировании этого проекта."

Это означает, что если какие-либо настройки редактора в меню Инструменты > Параметры > Текстовый редактор (такие как размер и стиль отступа, размер табуляции или соглашения о кодировании) указаны в файле EditorConfig в проекте или над ним в структуре каталогов, соглашения в файле EditorConfig переопределяют настройки в параметрах. Вы можете управлять этим поведением, переключая параметр «Следовать соглашениям о кодировании проекта» в меню «Инструменты» > «Параметры» > «Текстовый редактор». Снятие флажка с этого параметра отключает поддержку EditorConfig для Visual Studio.

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

Вы можете управлять областью применения соглашений EditorConfig, задав свойство root=true в файле .editorconfig в корне репозитория или в каталоге, в котором находится ваш проект. Visual Studio ищет файл с именем .editorconfig в каталоге открытого файла и в каждом родительском каталоге. Поиск завершается, когда достигается путь к корневому файлу или если найден файл .editorconfig с root=true.

Вы используете настройки внешнего редактирования, чтобы указать формат файла и другие параметры редактирования необработанных файлов камеры и файлов DNG в Photoshop Elements и внешних приложениях для редактирования изображений, которые не могут считывать данные сенсора мозаики в файлах необработанных изображений камеры. Параметры, указанные в настройках внешнего редактирования, также используются Photoshop при сохранении необработанных файлов камеры и файлов DNG из Lightroom Classic в Photoshop. Наконец, вы также можете использовать настройки внешнего редактирования для выбора внешних приложений для редактирования изображений.

Выберите «Правка» > «Настройки» (Windows) или «Lightroom Classic» > «Настройки» (Mac OS).

Lightroom Classic открывает файлы Camera Raw и файлы DNG непосредственно в Photoshop CS3 (10.0.1) или более поздней версии. Однако Lightroom Classic должен отправлять копии файлов Camera Raw и DNG в формате TIFF или PSD в Photoshop Elements и другие внешние редакторы, которые не могут считывать необработанные данные. В настройках внешнего редактирования вы указываете формат файла, цветовое пространство, разрядность и сжатие для файлов TIFF и PSD, которые Lightroom Classic отправляет в эти редакторы. Для лучшего сохранения деталей цвета на фотографиях, отправленных из Lightroom Classic, рекомендуется использовать 16-битный ProPhoto RGB. Если вы открываете файлы Camera Raw из Lightroom Classic непосредственно в Photoshop и сохраняете их там, Photoshop использует настройки, указанные вами в настройках внешнего редактирования Lightroom Classic, для сохраняемых файлов.

Сохраняет необработанные изображения камеры в формате TIFF или PSD. См. Поддерживаемые форматы файлов.

Преобразует фотографии в цветовое пространство sRGB, AdobeRGB или ProPhoto RGB и помечает их цветовым профилем. См. раздел «Как Lightroom Classic управляет цветом».

Сохраняет фотографии с глубиной цвета 8 бит или 16 бит на цветовой канал (красный, зеленый и синий). 8-битные файлы меньше по размеру и более совместимы с различными приложениями, но не сохраняют тонкие тональные детали 16-битных файлов.

(только TIFF) К фотографиям применяется сжатие ZIP или отсутствие сжатия. ZIP – это метод сжатия без потерь, который наиболее эффективен для изображений, содержащих большие области одного цвета.

Использует указанный вами шаблон для именования файла. Выберите шаблон и укажите пользовательский текст или начальный номер имен файлов. См. Редактор шаблонов имен файлов и Редактор текстовых шаблонов.

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

Вы также можете выбрать внешний редактор, выбрав «Фото» > «Редактировать в другом приложении» в модуле «Библиотека» или «Разработка». Вам будет предложено перейти к нужному приложению и выбрать его. После выбора внешнего редактора имя приложения отображается как «Редактировать в [Имя приложения]» в меню «Фото».

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

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