Liens
Ctrl + Shift + P
Lancer une commande
Shift + Alt + F Ctrl + Shift + I
Formater le code
Ctrl + K, M
Change Language Mode
Ctrl + !
Afficher le terminal
Ctrl + Shift + Alt + ↓
Duplicate current line (Copy Line Down)
Ctrl + Shift + 7
Toogle line comment
To know the action binded to a shortcut, you can search the shortcut: "ctrl+d"
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
Affiche les lignes de context lors du scroll
Editor: Sticky Scroll
Enabled
OLD
"window.zoomLevel" : 1 ,
"explorer.enableDragAndDrop" : false ,
"terminal.integrated.shell.windows" : "C:\\Program Files\\Git\\bin\\bash.exe" ,
open the file you want to associate to a language
Ctrl + K + M (Change Language Mode)
select the language to associate, if it is not listed you can enter the first letter to search it
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 Lens
suite d'outils Git: Commit Graph, Commit Details, Visual File History (Pro)
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
jchannon C# Extensions
context menu explorer side bar → New C# Class / Interface
generate fields / properties from a constructor
generate constructor from properties
Auto-Using for C#
automatically add using and references
Super Sharp
move a class to a new file
add constructor injected dependencies
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
EditorConfig for VS Code
override user/workspace settings with settings found in .editorconfig files
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
SQL
Extension
Description
Python
IntelliSense, linting, debugging, code navigation, code formatting, Jupyter notebook support, refactoring, variable explorer, test explorer
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
Markdown
Ctrl + Shift + V → preview
Replace regex
.* xxx (\w+).*
$1
Erreurs
The "Microsoft.AspNetCore.Razor.Tasks.DiscoverDefaultScopedCssItems" task could not be loaded from the assembly /usr/share/dotnet/sdk/5.0.204/Sdks/Microsoft.NET.Sdk.Razor/build/netstandard2.0/../../tasks/net46/Microsoft.NET.Sdk.Razor.Tasks.dll.
Invalid Image Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
Create the folder /usr/share/dotnet/sdk/5.0.204/Sdks/Microsoft.NET.Sdk.Razor/tasks/net46 and copy the following files:
Microsoft.NET.Sdk.Razor.Tasks
System.Collections.Immutable
System.Reflection.Metadata
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