Settings.json
Die settings.json ist eine Konfigurationsdatei für Visual Studio Code, die steuert, wie die Entwicklungsumgebung und bestimmte AL-spezifische Funktionen arbeiten.
Namenskonventionen
Die Extension waldo's CRS AL Language Extension bietet folgende Möglichkeiten für die Benamung der Objekte:
| Einstellung | Erläuterung |
|---|---|
| "CRS.ObjectNameSuffix" | Dies ist das Kürzel, das angehängt wird. Hier steht TSO. |
| "CRS.OnSaveAlFileAction" | Gibt an, was beim Speichern passieren soll. [DoNothing, Rename, Reorganize] |
| "CRS.ExtensionObjectNamePattern" | Gibt an, welcher Objektname einem Extension-Objekt beim Speichern gegeben werden soll. |
| "CRS.FileNamePattern[Extension/PageCustomization]" | Gibt an, wie Dateinamen beim Speichern automatisch gesetzt werden. |
alOutline Einstellungen
Diese Einstellungen konfigurieren Befehle, welche aus der Extension AZ AL Dev Tools/AL Code Outline kommen.
settings.json
"CRS.AlSubFolderName": "None", // Unterbindet Reorganize
"CRS.ExtensionObjectNamePattern": "<BaseNameShort><Suffix>",
"CRS.FileNamePattern": "<ObjectNameShort>.<ObjectTypeShortPascalCase>.al",
"CRS.FileNamePatternExtensions": "<ObjectNameShort>.<ObjectTypeShortPascalCase>.al",
"CRS.FileNamePatternPageCustomizations": "<ObjectNameShort>.<ObjectTypeShortPascalCase>.al",
"CRS.ObjectNameSuffix": "TSO",
"CRS.OnSaveAlFileAction": "Rename", // Automatisches Rename bei speichern
"CRS.RemoveSuffixFromFilename": true,
"al.enableCodeAnalysis": true,
"al.codeAnalyzers": [
"${CodeCop}",
"${UICop}",
"${PerTenantExtensionCop}",
"${analyzerFolder}BusinessCentral.LinterCop.dll" // Optional
],
"alOutline.codeActionsOnSave": [
"SortProperties",
"SortVariables",
"SortPermissions",
"SortPermissionSetList",
"FormatDocument"
],
"alOutline.codeCleanupActions": [
"AddApplicationAreas",
"AddTableFieldCaptions",
"AddObjectCaptions",
"FixKeywordsCase",
"ConvertObjectIdsToNames",
"AddMissingParentheses",
"SortPermissionSetList",
"SortProperties",
"SortTableFields",
"SortVariables",
"FormatDocument",
"TrimTrailingWhitespace"
],
"alOutline.variablesSortMode": "mainTypeNameOnly",
"editor.formatOnSave": true,
"files.exclude": {
"**/.alcache": true,
"**/.altemplates": true,
"**/rad.json": true
},
"files.trimTrailingWhitespace": true,
"linterCop.autoDownload": true, // Nur relevant wenn der LinterCop verwendet wird
"search.exclude": {
"**/.alcache": true,
"**/.altemplates": true,
"**/rad.json": true
}
settings.json
"CRS.AlSubFolderName": "None", // Unterbindet Reorganize
"CRS.ExtensionObjectNamePattern": "<BaseNameShort><Suffix>",
"CRS.FileNamePattern": "<ObjectNameShort>.<ObjectTypeShortPascalCase>.al",
"CRS.FileNamePatternExtensions": "<ObjectNameShort>.<ObjectTypeShortPascalCase>.al",
"CRS.FileNamePatternPageCustomizations": "<ObjectNameShort>.<ObjectTypeShortPascalCase>.al",
"CRS.ObjectNameSuffix": "TSO",
"CRS.OnSaveAlFileAction": "Rename", // Automatisches Rename bei speichern
"CRS.RemoveSuffixFromFilename": true,
"al.enableCodeAnalysis": true,
"al.codeAnalyzers": [
"${CodeCop}",
"${UICop}",
"${AppSourceCop}",
"${analyzerFolder}BusinessCentral.LinterCop.dll" // Optional
],
"alOutline.codeActionsOnSave": [
"SortProperties",
"SortVariables",
"SortPermissions",
"SortPermissionSetList",
"FormatDocument"
],
"alOutline.codeCleanupActions": [
"AddApplicationAreas",
"AddTableFieldCaptions",
"AddObjectCaptions",
"FixKeywordsCase",
"ConvertObjectIdsToNames",
"AddMissingParentheses",
"SortPermissionSetList",
"SortProperties",
"SortTableFields",
"SortVariables",
"FormatDocument",
"TrimTrailingWhitespace"
],
"alOutline.variablesSortMode": "mainTypeNameOnly",
"editor.formatOnSave": true,
"files.exclude": {
"**/.alcache": true,
"**/.altemplates": true,
"**/rad.json": true
},
"files.trimTrailingWhitespace": true,
"linterCop.autoDownload": true, // Nur relevant wenn der LinterCop verwendet wird
"search.exclude": {
"**/.alcache": true,
"**/.altemplates": true,
"**/rad.json": true
}