Как настроить пространства имен VS Code по умолчанию для C#?
Например. У меня есть следующая структура папок:
gameplay/input/controllers/foo.cs
Я создал foo.cs
, щелкнув правой кнопкой мыши папку controllers
и выбрав New C# Class
. А вот как выглядит класс по умолчанию без каких-либо изменений с моей стороны:
namespace play.input.controllers
{
public class foo
{
}
}
Хотя я ожидаю, что пространство имен в этом случае будет gameplay.input.controllers
.
Я в замешательстве, почему VS Code меняет gameplay
на play
? Как я могу это исправить?
ОБНОВЛЯТЬ
Я не могу найти RootNamespace
в своем проекте:
Итак, предоставленный ответ не имеет для меня значения.
В Unity мой проект называется pla
. Как я могу узнать и изменить название своего проекта в VS Code?
Чтобы изменить имя проекта, вы можете использовать обозреватель решений и щелкнуть правой кнопкой мыши элементы в проводнике, чтобы переименовать объект. Пространства имен можно просто редактировать в VS, но в некоторых случаях вам может потребоваться изменить ссылки в других местах кода. Если вы получаете ошибку компилятора, просто нажмите на ошибку, а затем измените имя, в котором возникает ошибка.
Какие элементы я должен щелкнуть в обозревателе решений?
Первая строка — это имя проекта, а вторая — корневое пространство имен. Изменение имен приведет к множественным изменениям имени проекта (файл csproj) и пространства имен. Я бы сделал чистую сборку после изменений, чтобы убедиться, что все по-прежнему компилируется. Есть свойства, такие как начальное пространство имен, которые иногда не изменяются. Вы можете щелкнуть ошибку в списке ошибок, чтобы найти, где она возникает. Некоторые изменения требуют поиска в свойствах проекта, чтобы найти ошибку. Ошибки, которые я не могу найти, я закрываю проект и открываю файл csproj в блокноте.
В Visual Studio вы можете установить пространство имен проекта по умолчанию в разделе «Настройки проекта» -> «Приложение» в разделе «Пространство имен по умолчанию».
В VS Code или вручную вы можете отредактировать файл проекта, чтобы включить тег RootNamespace
следующим образом:
<PropertyGroup>
<TargetFrameworks>net5.0;netcoreapp2.1</TargetFrameworks>
<EnableDefaultItems>false</EnableDefaultItems>
....
<RootNamespace>MyRootNamespace</RootNamespace>
....
</PropertyGroup>
Строка, указанная в качестве корневого пространства имен, используется для новых файлов в корневом каталоге проекта. Если вы создаете элементы во вложенных папках, имена вложенных папок по умолчанию будут включены в пространство имен.
Если вы хотите удалить имя приложения из пространства имен (play
в вашем случае), вы можете определить пространство имен по умолчанию как пустое.
Где найти Project Preferences
?
@some1here: щелкните правой кнопкой мыши проект в обозревателе решений и выберите «Свойства». Это последняя запись в контекстном меню. (извините за неточность, моя версия VS локализована)
Ты про ВС? Мой вопрос был о VS Code.
@some1here: Хорошо, я не использую последний, но я полагаю, что он должен быть очень похож.
Нет, это не то же самое.
Да, вопрос был о VS Code, он прямо упоминается в вопросе. Не уверен, почему это принятый ответ.
@RyanMann Второе решение с использованием тега RootNamespace
правильное. У меня сработало в vscode с C# Extensions
. Вот почему ОП пометил его как принятый.
Пространство имен по умолчанию — это имя проекта. Когда вы создаете новый проект, VS по умолчанию использует папку с пользовательскими документами (C:\Users\XXXX\Documents\Visual Studio 20XX\Projects или последняя папка, используемая для создания проекта) и увеличивает тип проекта на единицу, например WindowsApplication1, до WindowsApplication2. Если вы измените имя проекта в графическом интерфейсе, пространство имен изменится.