Added Visual Studio Codium settings

This commit is contained in:
Markus Ewald 2025-07-05 12:50:57 +02:00
parent 225da0d7e9
commit b02433c1b2
6 changed files with 163 additions and 2 deletions

23
.editorconfig Normal file
View File

@ -0,0 +1,23 @@
[*.cs]
charset = utf-8
# Indentation and line length
indent_size = 2
indent_style = space
tab_width = 2
max_line_length = 100
end_of_line = lf
# Organize usings
dotnet_separate_import_directive_groups = true
dotnet_sort_system_directives_first = true
# this. and Me. preferences
dotnet_style_qualification_for_field = true
# var preferences
csharp_style_var_when_type_is_apparent = true
# New line preferences
csharp_new_line_before_else = false
csharp_new_line_before_open_brace = none

37
.gitignore vendored Normal file
View File

@ -0,0 +1,37 @@
NuclexAvaloniaConfig.cmake
# Visual Studio Codium
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Visual Studio
.vs/
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
*.userprefs
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Artifacts
[Bb]in/
[Oo]bj/

16
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,16 @@
// Workspace settings
{
"files.exclude": {
"bin": true,
"obj": true,
"*.csproj": true,
"*.csproj.filters": true,
"*.csproj.user": true,
"*.ref": true,
"*.db": true,
".gitignore": true,
".editorconfig": true,
"build.cmd": true,
"build.sh": true
}
}

64
.vscode/tasks.json vendored Normal file
View File

@ -0,0 +1,64 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build",
"group": {
"kind": "build",
"isDefault": true
},
"type": "shell",
"command": "dotnet",
"args": [
"build",
"${workspaceFolder}/Nuclex.Avalonia (netstandard-2.0).csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": "$msCompile"
},
{
"label": "Test",
//"dependsOn": [ "Run" ],
"group": {
"kind": "build",
"isDefault": true
},
"type": "shell",
"command": "dotnet",
"args": [
"test",
"${workspaceFolder}/Nuclex.Avalonia.Tests (netstandard-2.0).csproj",
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": "$msCompile"
},
{
"label": "Publish",
//"dependsOn": [ "Install" ],
"group": {
"kind": "build",
"isDefault": true
},
"type": "shell",
"command": "dotnet",
"args": [
"publish",
"${workspaceFolder}/Nuclex.Avalonia (netstandard-2.0).csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": "$msCompile"
}
]
}

21
Directory.Build.props Normal file
View File

@ -0,0 +1,21 @@
<Project>
<!--
This file is required to work around one of the many issues with NuGet.
https://github.com/NuGet/Home/issues/4463
If you place two project files side by side, NuGet dumps its 'project.assets.json' file
into the root 'obj' directory (instead of the intermediate directory below it),
causing one project to overwrite the other project's dependencies.
There won't be any build warning, just suddenly one of the projects won't be able to
access its dependencies and fail to build.
Why such a lackluster system was integrated at that level rather than just left to
(mis)manage the references by updating the project file as needed, I don't know.
-->
<PropertyGroup>
<MSBuildProjectExtensionsPath>obj\$(MSBuildProjectName)</MSBuildProjectExtensionsPath>
</PropertyGroup>
</Project>

View File

@ -1,7 +1,7 @@
#region Apache License 2.0 #region Apache License 2.0
/* /*
Nuclex .NET Framework Nuclex Foundation libraries for .NET
Copyright (C) 2002-2024 Markus Ewald / Nuclex Development Labs Copyright (C) 2002-2025 Markus Ewald / Nuclex Development Labs
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.