Branch libreoffice-24-8-3
[LibreOffice.git] / .vscode / vs-code-template.code-workspace.in
blob067f46faa9e2fd379425834a51884b2c1b6e5d95
1 // *** vs-code.code-workspace.template is an autogenerated file created by configure.ac ***
2 // any changes to the vs-code.code-workspace.template file WILL BE OVERRIDDEN
3 // use the vs-code.code-workspace file (make vscode-ide-integration) for your own edits
5         "extensions": {
6                 "recommendations": [
7                         "ms-vscode.cpptools"
8                 ]
9         },
10         "folders": [
11                 {
12                         "name": "srcdir",
13                         "path": "@SRC_ROOT@"
14                 },
15                 {
16                         // BUILDDIR may be configured separate from SRCDIR
17                         "name": "builddir",
18                         "path": "@BUILDDIR@"
19                 },
20         ],
21         "settings": {
22                 "search.exclude": {
23                         "/compile_commands.json": true,
24                         "/dictionaries/": true,
25                         "/helpcontent2/": true,
26                         "/icon-themes/": true,
27                         "/translations/": true
28                 },
29                 "files.watcherExclude": {
30                         "/dictionaries/": true,
31                         "/helpcontent2/": true,
32                         "/icon-themes/": true,
33                         "/translations/": true
34                 },
35                 "files.associations": {
36                         "*.patch.[0-9]": "diff"
37                 },
38                 "C_Cpp.default.compileCommands": "@BUILDDIR@/compile_commands.json",
39                 // only used if the file doesn't match anything in the compile_commands.json - aka externals
40                 // libxml includes just added as example/for reference
41                 "C_Cpp.default.includePath": [
42                         "@WORKDIR@/UnpackedTarball/**",
43                         "/usr/include/libxml2/"
44                 ],
45                 "C_Cpp.default.browse.limitSymbolsToIncludedHeaders": true,
46                 "C_Cpp.default.cppStandard": "c++20",
47                 // point this to LibreOffice's version of clang-format 5.0.0,
48                 // otherwise clang-format from the plugin is used, and that
49                 // gives slightly different results
50                 "C_Cpp.clang_format_path": "/opt/lo/bin/clang-format",
51                 "editor.rulers": [
52                         100
53                 ],
54                 // files in the repo should in general have a newline at end-of-file
55                 "files.insertFinalNewline": true,
56                 "editor.renderFinalNewline": "off",
57                 "gitlens.autolinks": [
58                         {
59                                 "prefix": "tdf#",
60                                 "url": "https://bugs.documentfoundation.org/show_bug.cgi?id=<num>"
61                         }
62                 ],
63                 "terminal.integrated.profiles.windows": {
64                         "Cygwin": {
65                                 "path": "@CYGWIN_BASH@",
66                                 "args": [
67                                         "--login"
68                                 ],
69                                 // prevent changing to $(HOME)
70                                 "env": {
71                                         "CHERE_INVOKING": "1"
72                                 }
73                         }
74                 },
75                 "terminal.integrated.defaultProfile.windows": "Cygwin"
76         },
77         "tasks": {
78                 "version": "2.0.0",
79                 "tasks": [
80                         {
81                                 "label": "full make",
82                                 "detail": "runs make in builddir to update everything",
83                                 "type": "shell",
84                                 "command": "make",
85                                 "group": {
86                                         "kind": "build",
87                                         "isDefault": true
88                                 },
89                                 "options": {
90                                         "cwd": "@BUILDDIR@"
91                                 }
92                         },
93                         {
94                                 "label": "create compile-commands.json",
95                                 "detail": "runs make vim-ide-integration to create the compile-commands.json file",
96                                 "type": "shell",
97                                 "command": "make",
98                                 "args": [
99                                         "vim-ide-integration"
100                                 ],
101                                 "group": "build",
102                                 // doesn't really depend on full make, but doesn't hurt
103                                 // updating the compile-commands is not needed all the time and also demonstrate
104                                 // how to use dependencies in tasks…
105                                 "dependsOn": [
106                                         "full make"
107                                 ],
108                                 "options": {
109                                         "cwd": "@BUILDDIR@"
110                                 },
111                                 "problemMatcher": [] // don't ask when manually running the task
112                         },
113                         {
114                                 "label": "remove profile-dir",
115                                 "detail": "removes the temporary user-profile directory",
116                                 "type": "shell",
117                                 "command": "rm",
118                                 "args": [
119                                         "-rf",
120                                         "@WORKDIR@/vs-code-temporary-user-profile"
121                                 ],
122                                 "group": "none",
123                                 "dependsOn": [
124                                         "full make"
125                                 ],
126                                 "options": {
127                                         "cwd": "@BUILDDIR@"
128                                 },
129                                 "problemMatcher": []
130                         }
131                 ]
132         },
133         "launch": {
134                 "configurations": [
135                         {
136                                 "name": "run in debugger after make",
137                                 "type": "cppdbg",
138                                 "request": "launch",
139                                 "program": "@INSTROOT@/program/soffice.bin",
140                                 "args": [],
141                                 "stopAtEntry": false,
142                                 "cwd": "@BUILDDIR@",
143                                 "environment": [
144                                         {
145                                                 // added in disabled form for convenience/as an example
146                                                 // (proper name is just SAL_LOG),
147                                                 // see https://docs.libreoffice.org/sal/html/sal_log.html
148                                                 "name": "SAL_LOG_DISABLED",
149                                                 "value": "+INFO.ucb+WARN"
150                                         }
151                                 ],
152                                 "externalConsole": false,
153                                 "linux": {
154                                         "MIMode": "gdb",
155                                         "miDebuggerPath": "gdb",
156                                         "setupCommands": [
157                                                 {
158                                                         "description": "Enable pretty-printing for gdb",
159                                                         "text": "-enable-pretty-printing",
160                                                         "ignoreFailures": true
161                                                 },
162                                                 {
163                                                         "description": "Mark pretty-printers (in solenv/gdb) safe",
164                                                         "text": "add-auto-load-safe-path @SRC_ROOT@/solenv/gdb",
165                                                         "ignoreFailures": true
166                                                 },
167                                                 {
168                                                         "description": "Mark pretty-printers bootstrap (in instdir/program) safe",
169                                                         "text": "add-auto-load-safe-path @INSTROOT@",
170                                                         "ignoreFailures": true
171                                                 },
172                                         ]
173                                 },
174                                 "osx": {
175                                         "program": "@INSTROOT@/MacOS/soffice",
176                                         "MIMode": "lldb",
177                                         "setupCommands": [
178                                                 {
179                                                         "description": "load helpers for lldb",
180                                                         "text": "command script import ${workspaceFolder:srcdir}/solenv/lldb/libreoffice/LO.py",
181                                                         "ignoreFailures": false
182                                                 }
183                                         ]
184                                 },
185                                 "windows": {
186                                         "type": "cppvsdbg"
187                                 },
188                                 "preLaunchTask": "full make"
189                         },
190                         {
191                                 // FIXME: not happy here when creating the profile while running in debugger
192                                 // no problem passing the profile dir once it was launched outside debugger once,
193                                 // but clearing out the user-profile dir needs to be triggered manually
194                                 "name": "run in gdb with clear userprofile",
195                                 //      "preLaunchTask": "remove profile-dir",
196                                 "type": "cppdbg",
197                                 "request": "launch",
198                                 "program": "@INSTROOT@/program/soffice.bin",
199                                 "args": [
200                                         "-env:UserInstallation=file:///@WORKDIR@/vs-code-temporary-user-profile"
201                                 ],
202                                 "stopAtEntry": false,
203                                 "cwd": "@BUILDDIR@",
204                                 "environment": [
205                                         {
206                                                 "name": "SAL_LOG_DISABLED",
207                                                 "value": "+INFO.ucb+WARN"
208                                         }
209                                 ],
210                                 "externalConsole": false,
211                                 "linux": {
212                                         "MIMode": "gdb",
213                                         "miDebuggerPath": "gdb",
214                                         "setupCommands": [
215                                                 {
216                                                         "description": "Enable pretty-printing for gdb",
217                                                         "text": "-enable-pretty-printing",
218                                                         "ignoreFailures": true
219                                                 },
220                                                 {
221                                                         "description": "Mark pretty-printers (in solenv/gdb) safe",
222                                                         "text": "add-auto-load-safe-path @SRC_ROOT@/solenv/gdb",
223                                                         "ignoreFailures": true
224                                                 },
225                                                 {
226                                                         "description": "Mark pretty-printers bootstrap (in instdir/program) safe",
227                                                         "text": "add-auto-load-safe-path @INSTROOT@",
228                                                         "ignoreFailures": true
229                                                 },
230                                         ]
231                                 },
232                                 "osx": {
233                                         "program": "@INSTROOT@/MacOS/soffice",
234                                         "MIMode": "lldb",
235                                         "setupCommands": [
236                                                 {
237                                                         "description": "load helpers for for lldb",
238                                                         "text": "command script import ${workspaceFolder:srcdir}/solenv/lldb/libreoffice/LO.py",
239                                                         "ignoreFailures": false
240                                                 }
241                                         ]
242                                 },
243                                 "windows": {
244                                         "type": "cppvsdbg"
245                                 }
246                         }
247                 ],
248                 "compounds": []
249         }