You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[Enabling for headers](#enabling-auto-include-for-header-files)
@@ -170,6 +177,7 @@ This is generally correct, when using non-full source, but your situation could
170
177
- Bundle setting causes completions to be wrong (e.g. template functions)
171
178
- Bundle setting doesn't work with VSCode's deprecated strikethrough setting
172
179
4. This extension deletes/creates a compile_commands.json in the parent Unreal Engine directory and then copies it over to the project.
180
+
- Current Native Intellisense options doesn't do it this way
173
181
6. clangd intellisense currently uses 'no precompiled headers' mode (`Will work with pch projects!`)
174
182
7. Popup dialogs use systems sounds. Most Operating Systems allow you to adjust System(OS) sounds without affecting overall sound volume.
175
183
8. Just like Microsoft's C++ extension, with clangd the UPROPERTY type macros don't work with code completion for their parameters.
@@ -197,12 +205,25 @@ This is generally correct, when using non-full source, but your situation could
197
205
- This fix is in the .clangd cfg file ([added include directory](#linux-fixes))
198
206
- Your version of Linux may or maybe not need this fix
199
207
208
+
`Nov 2024`: Had trouble installing LLVM 18 for Unreal 5.5 (Ubuntu 22.04)
200
209
210
+
- Found this to work
211
+
- Make sure you don't have an `llvm.sh` file already in the directory you have open. The file you download won't overwrite the file already in your directory. It will name it something else.
212
+
- This will install LLVM 18.1.8 (`for Unreal 5.5, make sure to install the correct version for your version of Unreal`)
213
+
- Epic recommends 18.1.0
214
+
- In a perfect world, patch update versions wouldn't matter
215
+
- For me, it does seems to work fine but you could have problems. You can always build from source if you want the specific 18.1.0 version.
216
+
217
+
`Here's the instructions`:
218
+
1. wget https://apt.llvm.org/llvm.sh
219
+
2. chmod +x llvm.sh
220
+
3. sudo ./llvm.sh 18
201
221
```
202
222
```
203
223
### Mac M1/M2 Note
204
224
- This extension has a setting that lets you set the `architecture` UBT flag
205
225
- You can try setting this to `arm64`
226
+
- You might not need this and is only provided for things to try in case it's not working
206
227
-**note:** Do this before creating your project
207
228
208
229
```
@@ -257,10 +278,11 @@ Windows and Unreal 5.2+(`non Full Source`) have been tested with:
- Make sure to select correct Unreal Engine version (the link goes to UE 5.5)
264
286
- Requirements are only posted after a full release of UE. For Beta/Preview releases you'll have to test clang versions
265
287
- VSCode [clangd](https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd) extension (Do not let clangd extension auto install LLVM)
266
288
- Microsoft C++ [extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) for its `Building/Debugging` capability
- Download clang/clangd from https://github.com/llvm/llvm-project/releases/
288
-
- Filename will be LLVM-(version)-win64.exe (e.g. for UE 5.3.#, the filename will be LLVM-16.0.6-win64.exe)
289
-
- Remember if not using UE 5.3.# the LLVM version will be different
290
-
-`note:` With UE 5.3 unfortunately Unreal Build Tool requires updated libraries so needs to see required LLVM builds. This means you must install LLVM in the default directory.
315
+
- Filename will be LLVM-(version)-win64.exe (e.g. for UE 5.5.#, the filename will be
316
+
LLVM-18.1.0-win64.exe )
317
+
- Remember if not using UE 5.5.# the LLVM version will be different
318
+
-`note:` For best Unreal compatibility install LLVM in the default directory.
4. If you haven't created your Unreal project yet you can skip steps 5/6
325
-
5. For existing Unreal projects, first Refresh your project (this will overwrite your workspace file which we fix in step 6)
326
351
327
-
- You can **Generate Visual Studio Project files** by right clicking on your project's *.uproject file in your project's parent folder.
328
-
329
-
- You can also **Refresh Visual Studio Project** inside UE5's Tools menu
352
+
* For `Unreal 5.5` you want to enable `v14.38`
353
+
- (Pic not shown)
330
354
331
-
6. You'll have to reinstall the project that this extension creates because `Generating Visual Studio project files` will overwrite your project's VSCode workspace file which has all the clangd project settings
332
-
333
-
-[Doing a partial install](#reinstall-without-overwrite)
355
+
4. If you haven't created your Unreal project yet you can skip step 5
356
+
5. For existing Unreal projects, run this extension's commands called: `Update Compile Commands file`
357
+
* This command is the same command that also refreshes your project
334
358
335
359
#### Ubuntu 22.04 Requirements
336
360
- dotnet-runtime-6.0
337
361
- dotnet-sdk-6.0 (Only needed for seeing UBT logs when updating compile commands)
338
362
363
+
`Nov 2024`: Had trouble installing LLVM 18 for Unreal 5.5 (Ubuntu 22.04)
364
+
365
+
- Found this to work
366
+
- Make sure you don't have an `llvm.sh` file already in the directory you have open. The file you download won't overwrite the file already in your directory. It will name it something else.
367
+
- This will install LLVM 18.1.8 (`for Unreal 5.5, make sure to install the correct version for your version of Unreal`)
368
+
- Epic recommends 18.1.0
369
+
- In a perfect world, patch update versions wouldn't matter
370
+
- For me, it does seems to work fine but you could have problems. You can always build from source if you want the specific 18.1.0 version.
371
+
372
+
`Here's the instructions`:
373
+
1. wget https://apt.llvm.org/llvm.sh
374
+
2. chmod +x llvm.sh
375
+
3. sudo ./llvm.sh 18
376
+
339
377
#### Arch Linux Requirements
340
378
- dotnet-runtime-6.0
341
379
- clang
342
380
- dotnet-sdk-6.0 (Only needed for seeing UBT logs when updating compile commands)
343
381
382
+
344
383
```
345
384
```
346
385
@@ -400,6 +439,7 @@ The other reason was a Unreal design change. 5.0.0 uses compile commands while 5
400
439
*`unreal-clangd.creation.completionHelper`: true(default) Needed to make code completion functional. Creates a completionHelper.cpp and adds it to compile_commands.json
401
440
*`unreal-clangd.creation.completionHelperMP`: true(default) Also add UnrealNetwork.h(multiplayer) to completionHelper.cpp
402
441
*`unreal-clangd.creation.tidy`: false(default) creates a clangd tidy file, during creation command, if true **(see clang tidy section)**
442
+
*`unreal-clangd.creation.MacFileLanguage`: Can switch Mac file language support to C++ or Objective C++
403
443
#### Editor
404
444
*`unreal-clangd.editor.parameterHints`: Automatically pops up param hints windows after function name completion
405
445
- disabled:
@@ -558,6 +598,34 @@ If you noticed above, in the Creating a Unreal Clangd Project section, the comma
558
598
559
599
---
560
600
601
+
## Unreal Source support
602
+
Starting with extension version 2.6.0, it now support Unreal Source files
603
+
604
+
- `Requirements:` Must have created a VSCode project using Unreal/UBT
605
+
- This is because this extension uses the files that were created for your project
606
+
607
+
- When creating a project it will also create a .clangd file in the Unreal directory(only if there isn't one there)
608
+
- It will never overwrite a clangd file in your Unreal directory
609
+
- You can also use the command: `Create Unreal Source Support` if you want to only create a Unreal Source support project
610
+
- This dynamically creates a compile commands file based on the response files that are created when you created your Unreal project
611
+
612
+
`Note:` This extension turns off errors for .cpp files `for Non-Full source Unreal Engine Files`
613
+
- This is because some .cpp files have special include macros
614
+
- The files required for these include statements don't exist in Non-Full source projects
615
+
- This shouldn't affect anything
616
+
- `This won't affect your project files`. Just Unreal Source files.
617
+
- This is feature is found in the .clangd file in the Unreal Engine parent directory so it can easily be removed if you want
618
+
619
+
#### Example of an erring macro below(I believe there are other include macros that error)
Click the console 'OUTPUT' tab and change the top right drop down to 'unreal clangd':
@@ -803,8 +871,36 @@ Thanks to Mark at [stackoverflow](https://stackoverflow.com/a/76096050/13950944)
803
871
```
804
872
```
805
873
### Linux Fixes
806
-
807
-
Check the .clangd project file 'Add' section for all the fixes applied.
874
+
`Nov 2024`: Had trouble installing LLVM 18 for Unreal 5.5 (Ubuntu 22.04)
875
+
876
+
- Found this to work
877
+
- Make sure you don't have an `llvm.sh` file already in the directory you have open. The file you download won't overwrite the file already in your directory. It will name it something else.
878
+
- This will install LLVM 18.1.8 (`for Unreal 5.5, make sure to install the correct version for your version of Unreal`)
879
+
- Epic recommends 18.1.0
880
+
- In a perfect world, patch update versions wouldn't matter
881
+
- For me, it does seems to work fine but you could have problems. You can always build from source if you want the specific 18.1.0 version.
882
+
883
+
`Here's the instructions`:
884
+
1. wget https://apt.llvm.org/llvm.sh
885
+
2. chmod +x llvm.sh
886
+
3. sudo ./llvm.sh 18
887
+
888
+
### Mac Fixes
889
+
- `Nov 20224` Add new setting: "unreal-clangd.creation.MacFileLanguage"
890
+
- This allows you to change the File Language from C++ to Ojbective C++ (`during clangd project creation`)
891
+
- Git user szabot0412 said changing the file language to Objective C++ fixed his red squiggles
892
+
- If more people confirm this then I might change Objective C++ to default file language for Mac users
893
+
894
+
#### Manual Mac File Language Fix
895
+
- Open up your .clangd files in your project parent directory and Unreal Source parent directory
0 commit comments