Внешний редактор: C# и текстовые файлы
Отдельные настройки C#, аргументы, пути с пробелами и нумерация строк.
Для C# выбирайте внешний редактор в Editor → Editor Settings → Dotnet → Editor → External Editor. Настройка Text Editor → External относится к общему обработчику текстовых файлов и не заменяет отдельный выбор C#-IDE.
Перед настройкой должен уже собираться проект Reckfell 1.0.0 с .csproj. Открытие .cs в другой программе само по себе не создаёт проект, не подключает SDK и не запускает отладчик.
Настройте C#-редактор
- Откройте Editor Settings и найдите
dotnet/editor/external_editorчерез фильтр настроек. - Выберите установленную IDE из списка. В текущей Windows-интеграции есть отдельные варианты Visual Studio, Visual Studio Code and VSCodium, JetBrains Rider и Custom. Наличие пункта не означает, что программа установлена или её интеграция настроена.
- Откройте в IDE проектную
.slnили.csproj, а не отдельный файл вне проекта. Дождитесь восстановления зависимостей и проверьте сборку. - Вернитесь в Reckfell и откройте скрипт Entity либо запись ошибки сборки. Должен открыться файл из этого проекта; затем проверьте переход к нужной строке на ошибке с известным номером.
- Сохраните исправление в IDE, соберите проект и повторите запуск. Сохранение исходника не доказывает, что движок загрузил обновлённую C#-сборку.
Вариант Disabled означает отсутствие отдельного перехвата открытия файлов интеграцией C#. Дальше могут применяться общие настройки внешнего редактора или встроенный обработчик. Он не отключает язык C# или сборку проекта.
Если выбран встроенный вариант VS Code/VSCodium, интеграция сама формирует аргументы проекта и позиции. Не переносите в него произвольный шаблон из Text Editor → External. Поиск исполняемого файла использует доступные редактору пути; наличие команды в другом терминале ещё не гарантирует тот же PATH у процесса Reckfell.
Custom: собственная программа открытия
При выборе Custom задайте:
| Настройка | Значение |
|---|---|
dotnet/editor/custom_exec_path | Исполняемая программа. Аргументы сюда не дописываются. |
dotnet/editor/custom_exec_path_args | Шаблон отдельных аргументов. Для первого теста достаточно {file}. |
Поддерживаемые подстановки:
| Шаблон | Содержимое |
|---|---|
{project} | Абсолютный каталог проекта. |
{file} | Абсолютный путь открываемого файла. |
{line} | Переданный обработчику номер строки. |
{col} | Переданный обработчику номер столбца. |
Разделение на аргументы выполняется до подстановки путей. Поэтому {file} остаётся одним аргументом даже для C:/Игры с пробелами/Project/Player Character.cs. Двойные кавычки позволяют объединить части одного аргумента в шаблоне. Если {file} отсутствует, путь файла добавляется в конец автоматически. Не рассчитывайте на произвольные подстановки: {unknown} остаётся буквальным текстом.
Нумерация отличается между обработчиками. В проверенной ветке исходников C# Custom {line} и {col} подставляются без прибавления единицы. Встроенный обработчик VS Code прибавляет единицу для своей команды перехода; общий Text Editor тоже выполняет свою конверсию. Не обещайте одинаковую адресацию, копируя шаблоны между этими настройками. Если ваша программа ожидает позиции с 1, используйте штатный вариант IDE либо собственную обёртку с явной конверсией. Для Custom без перехода к строке оставьте {file}.
Это шаблон аргументов, а не командная строка оболочки: не ожидайте обработки &&, перенаправлений или shell-переменных самим обработчиком Reckfell.
Общий внешний редактор текстовых файлов
Для общих текстовых ресурсов откройте Editor Settings → Text Editor → External:
- Включите Use External Editor.
- В Exec Path укажите программу открытия.
- Начните Exec Flags с
{file}. Более сложные аргументы добавляйте по документации своей программы и проверяйте на файле с пробелами в пути. - Откройте файл из проекта и убедитесь, что редактируется правильная копия.
Если общая программа не запускается, этот обработчик может вернуться к внутреннему редактору и сообщить ошибку. Это не гарантия одинакового fallback у каждого отдельного C#-провайдера.
Сохранение, перезагрузка и отладка — разные действия
text_editor/behavior/files/auto_reload_scripts_on_external_change относится к перечитыванию открытых файлов встроенным редактором. Даже при включённой автоматике несохранённый локальный буфер может вызвать запрос выбора версии. Сначала сохраните или осознанно отложите свои изменения; не затирайте буфер автоматически ради синхронизации.
Перечитывание текста не равно компиляции C#. Сборка, загрузка новой сборки, подключение .NET-отладчика и остановка на breakpoint проверяются отдельно. Файл launch.json с выдуманным типом reckfell не создаёт отладочный адаптер. Эта страница не обещает готовое расширение IDE, подключение LSP/DAP или отладку C# через общие порты редактора.
Диагностика
| Симптом | Проверка |
|---|---|
| C# открывается не там | Сначала проверьте dotnet/editor/external_editor, затем общий Text Editor → External. |
| IDE открыла файл без подсказок типов | Откройте проектную .sln/.csproj, проверьте восстановление и C#-сборку. Один файл не даёт контекст проекта. |
| Программа не находится | Проверьте исполняемый файл и окружение процесса Reckfell. Отделите Exec Path от аргументов. |
| Неверная строка | Сверьте конкретного провайдера и его нумерацию. Custom C# и общий Text Editor не тождественны. |
| Путь с пробелами разрезался | Не собирайте shell-команду в поле пути; проверьте шаблон и реальные аргументы программы. |
| После сохранения работает старый код | Проверьте результат C#-сборки и повторный запуск/перезагрузку сборки. |
Границы проверки
В установленном headless-редакторе проверены наличие и типы отдельных настроек C# и общего редактора. Тело парсера аргументов Custom извлечено без изменения из текущего исходника C#-интеграции, скомпилировано с SDK и проверено на путях с пробелами, кавычках, позициях и подстановках. Это проверка конкретной ветки исходника, не запуск установленной IDE. Пользовательские настройки не менялись; внешние процессы, debugger/LSP/DAP, клики и другие платформы не проверены.