Liens
Ctrl + Shift + P
Lancer une commande
Ctrl + Shift + I
Formater le code
Ctrl + !
Afficher le terminal
Utilisation
dotnet new console
dotnet new -l
code .
À l'ouverture de vscode, les éléments manquants sont téléchargés automatiquement (OmniSharp, .NET Core Debugger)
Settings
File → Preferences → Settings Ctrl + ,
Règlages
Setting
Value
Side Bar à droite
Workbench → Appearence → Side Bar: Location
right
Formatter à la sauvegarde
Editor: Format On Save Editor: Format On Paste
Font
Editor: Font Family Editor: Font Size
'Droid Sans Mono' 16
Word Wrap
Editor: Word Wrap
on
Cursor
Editor: Cursor Blinking
phase
Auto Save
Files: Auto Save
onFocusChange
Nb de fichiers dans Open Editors
Explorer - Open Editors: Visible
0
OLD
"window.zoomLevel" : 1 ,
"explorer.enableDragAndDrop" : false ,
"terminal.integrated.shell.windows" : "C:\\Program Files\\Git\\bin\\bash.exe" ,
File → Preferences → Color Theme
Color theme files are located at /usr/lib/code/extensions/theme-*
Extensions
Dernier élément du menu de gauche ou View → Extensions
~/.vscode/extensions
%USERPROFILE%\.vscode\extensions
Communes
Nom de l'extension
Description
vscode-icons
belles icônes dans l'arborescence de fichiers (file folder )
Azure Repos
Ctrl + P
> team signin
Git History
affiche l'historique des commits
Create GUID
génère un GUID et le copie dans le presse-papier
C#
Nom de l'extension
Description
C# Extensions
clique-droit → new C# classe / interface
ajouter des champs / propriétés depuis les arguments du ctor
initialiser un ctor avec les propriétés de la classe
NuGet Gallery
installation / désinstallation de package NuGet
.NET Core Test Explorer
tests unitaires
C# XML Documentation Comments
commentaires avec ///
ILSpy .NET Decompiler
décompiler des assemby - Ctrl+Shift+P → ilspy
Cette extension recherche dans le dossier courant les fichiers *.csproj et *.sln pour découvrir les projects de test.
dotnet new sln -o MySolution
dotnet sln add ./MyProject/MyProject.csproj
MySQL
Nom de l'extension
Description
SQLTools
Connection explorer, query runner, intellisense, bookmarks, query history
SQLTools MySQL/MariaDB
SQLTools driver for MySQL and MariaDB
Angular
Nom de l'extension
Description
Angular v6 Snippets
AngularDoc for Visual Studio Code
arborescence pour navigation dans le code
Auto Import
import auto dans les fichier TS
ESLint
vérification du code javascript
markdownlint
lint for MD
Markdown All in One
format MD document + racourcis-clavier
TSLint
vérification du code ts. Rules
Config ClientApp\tslint.json
TypeScript Hero
trie des imports, suppression des inutiles
ajout des imports
Move TS
Move TypeScript files and update relative imports
Auto Close Tag
HTML / XML
Auto Rename Tag
renomme la balise fermante en même temps que la balise ouvrante
Ouvrir un second dossier dans le même VScode: File → Add Folder to Workspace (lien )
Référencer un autre projet:
cd MainProject
dotnet add reference ../LibProject/LibProject.csproj
MainProject.csproj
<ItemGroup >
<ProjectReference Include ="..\LibProject\LibProject.csproj" />
</ItemGroup >
Ajouter compounds au fichier .vscode/launch.json du workspace.
Dans Debug l'entrée définit dans compounds est disponible.
afficher .vscode/launch.json
{
"version" : "0.2.0" ,
"configurations" : [
{
"name" : "BlazorServerApp" ,
"type" : "coreclr" ,
"request" : "launch" ,
"preLaunchTask" : "build BlazorServerApp" ,
"program" : "${workspaceFolder}/BlazorServerApp/bin/Debug/netcoreapp3.1/BlazorServerApp.dll" ,
"args" : [ ] ,
"cwd" : "${workspaceFolder}/BlazorServerApp" ,
"stopAtEntry" : false ,
"serverReadyAction" : {
"action" : "openExternally" ,
"pattern" : "^\\s*Now listening on:\\s+(https?://\\S+)"
} ,
"env" : {
"ASPNETCORE_ENVIRONMENT" : "Development"
} ,
"sourceFileMap" : {
"/Views" : "${workspaceFolder}/Views"
}
} ,
{
"name" : "WebApi" ,
"type" : "coreclr" ,
"request" : "launch" ,
"preLaunchTask" : "build WebApi" ,
"program" : "${workspaceFolder}/WebApi/bin/Debug/netcoreapp3.1/WebApi.dll" ,
"args" : [ ] ,
"cwd" : "${workspaceFolder}/WebApi" ,
"stopAtEntry" : false ,
"serverReadyAction" : {
"action" : "openExternally" ,
"pattern" : "^\\s*Now listening on:\\s+(https?://\\S+)"
} ,
"env" : {
"ASPNETCORE_ENVIRONMENT" : "Development"
} ,
"sourceFileMap" : {
"/Views" : "${workspaceFolder}/Views"
}
}
] ,
"compounds" : [
{
"name" : "BlazorServerApp / WebApi" ,
"configurations" : [
"BlazorServerApp" ,
"WebApi"
] ,
"preLaunchTask" : "build all"
}
]
}
Lister les build tasks: Ctrl + Shift + B ou Terminal → Run Build Task
afficher .vscode/tasks.json
{
"version" : "2.0.0" ,
"tasks" : [
{
"label" : "build" ,
"command" : "dotnet" ,
"type" : "process" ,
"args" : [
"build" ,
"${workspaceFolder}/WebApi.csproj" ,
"/property:GenerateFullPaths=true" ,
"/consoleloggerparameters:NoSummary"
] ,
"problemMatcher" : "$msCompile"
} ,
{
"label" : "publish" ,
"command" : "dotnet" ,
"type" : "process" ,
"args" : [
"publish" ,
"${workspaceFolder}/WebApi.csproj" ,
"/property:GenerateFullPaths=true" ,
"/consoleloggerparameters:NoSummary"
] ,
"problemMatcher" : "$msCompile"
} ,
{
"label" : "watch" ,
"command" : "dotnet" ,
"type" : "process" ,
"args" : [
"watch" ,
"run" ,
"${workspaceFolder}/WebApi.csproj" ,
"/property:GenerateFullPaths=true" ,
"/consoleloggerparameters:NoSummary"
] ,
"problemMatcher" : "$msCompile"
}
]
}
Appeler d'autres taches
afficher .vscode/tasks.json
{
"version" : "2.0.0" ,
"tasks" : [
{
"label" : "build all" ,
"dependsOn" : [
"build server" ,
"build client"
] ,
"group" : "build" ,
"problemMatcher" : [ ]
} ,
{
"label" : "build server" ,
"command" : "dotnet" ,
"type" : "process" ,
"args" : [
"build" ,
"${workspaceFolder}/Server/Server.csproj" ,
"/property:GenerateFullPaths=true" ,
"/consoleloggerparameters:NoSummary"
] ,
"group" : "build" ,
"problemMatcher" : "$msCompile"
} ,
{
"label" : "build client" ,
"command" : "dotnet" ,
"type" : "process" ,
"args" : [
"build" ,
"${workspaceFolder}/Client/Client.csproj" ,
"/property:GenerateFullPaths=true" ,
"/consoleloggerparameters:NoSummary"
] ,
"group" : "build" ,
"problemMatcher" : "$msCompile"
}
]
}
launch
.vscode/tasks.json
{
"name" : "Service .NET Core Launch (web)" ,
"type" : "coreclr" ,
"request" : "launch" ,
"preLaunchTask" : "build Service" ,
"program" : "${workspaceFolder}/Service/bin/Debug/netcoreapp3.1/Service.dll" ,
"args" : [ ] ,
"cwd" : "${workspaceFolder}/Service" ,
"stopAtEntry" : false ,
"serverReadyAction" : {
"action" : "openExternally" ,
"pattern" : "^\\s*Now listening on:\\s+(https?://\\S+)" ,
"uriFormat" : "%s/swagger"
} ,
"env" : {
"ASPNETCORE_ENVIRONMENT" : "Development"
} ,
"logging" : {
"engineLogging" : true
}
}
Quand l’application est lancée avec dotnet run , launchSettings.json est lu s’il est disponible:
le premier profil avec "commandName": "Project" est utilisé
les paramètres environmentVariables remplacent les variables d’environnement
launchSettings.json
{
"profiles" : {
"MyApp" : {
"commandName" : "Project" ,
"launchBrowser" : true ,
"applicationUrl" : "http://localhost:5000" ,
"environmentVariables" : {
"ASPNETCORE_ENVIRONMENT" : "Development"
}
}
}
}
installer l'extension mssql
nouvelle page → en bas à droite clique sur Plain Text → choisir SQL
ou ouvrir un fichier *.sql
F1 → MS SQL: Connect ou cliquer sur Disconnected en bas à droite → Create Connection Profile
Ctrl + Shift + E exécuter du code
Erreurs
Error processing 'handshake' request. Unknown Error: 0x89720010
C# debugging doesn't start the application.
Microsoft .NET Core Debugger only works with Microsoft Visual Studio Code and not with Visual Studio Code OSS (link ).
cat /proc/sys/fs/inotify/max_user_watches
echo 65536 > /proc/sys/fs/inotify/max_user_watches
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system
Microsoft.Common.props was not found
Microsoft.Build.Exceptions.InvalidProjectFileException: The imported project "/usr/lib/mono/xbuild/15.0/Microsoft.Common.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. /opt/dotnet/sdk/2.1.105/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.props
Installer MSBuild
yaourt msbuild
msbuild /ver
MSBUILD : error MSB1025: An internal failure occurred while running MSBuild.
System.InvalidOperationException: The terminfo database is invalid.
TERM=xterm dotnet build
TERM=xterm dotnet run
echo $TERM
Visual studio code is a code editor redefined, available on Windows, Linux and OS X, optimized for building web and cloud applications.
pacman -S code
yay visual-studio-code-bin
Differences between the repository and Visual Studio Code
Extension C#
Installer l'extension C# :
Bouton extension: dernier bouton du menu latéral de gauche
Rechercher C#
yaourt dotnet-sdk-2.0
File → Preferences → Settings
{
"csharp.fallbackDebuggerLinuxRuntimeId" : "ubuntu.16.10-x64"
}
yaourt icu57