microsoft / microsoft/vscode-cpptools
Add better IntelliSense support for Unreal Engine UPROPERTY
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 6.2k
- Fork
- 1.7k
- Merge medio
- 14h 46m
- PR unite (30g)
- 61
Descrizione
Just wanted to tell you my experiences
I am a VSCode user and I always like to setup all my dev environment in it because it is so handy,
but with UE there are some weird behavior with it
I was watching a video that the guy was using CLion or Netbeans or whatever for UE dev and as soon as he typed UPE.., UPROPERTY appeared and as soon as he typed parenthesis (like UPROPERTY(..) ) it lists all the ObjectMacros.h UP Enum elements that can be used in UPROPERTY. I don't know how it detect which filed should be showed up but it would be amazing if we have such thing in vscode
When I tried to do that, vscode didn't even show me the UPROPERTY

I have "compileCommands": "../MyProject/.vscode/compileCommands_Default.json", and I realized that ObjectMacros.h is in this path C:\Program Files\Epic Games\UE_5.1\Engine\Source\Runtime\CoreUObject\Public\UObject and this path is in this rsp file C:\Program Files\Epic Games\UE_5.1\.vscode\compileCommands_Default\CoreUObject.270.rsp as /I "C:\Program Files\Epic Games\UE_5.1\Engine\Source\Runtime\CoreUObject\Public" that is the parent folder of UObject folder, but it contains CoreUObject.h header file that included #include "UObject/ObjectMacros.h"
so theoretically it should show EditDefaultsOnly or other enum elements in vscode but it doesn't!
this is my includePath
"includePath": [
"${workspaceFolder}/Source/**",
"${workspaceFolder}/Plugins/**",
"${workspaceFolder}/Intermediate/**",
"C:/Program Files/Epic Games/UE_5.1/Engine/**"
with or without it, it does not work!
this is mine

any idea?
Originally posted by @madoodia in https://github.com/microsoft/vscode-cpptools/issues/5849#issuecomment-1363282154
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci i completamenti mancanti utilizzando ObjectMacros.h, CoreUObject.h, il file CoreUObject.270.rsp e le impostazioni compileCommands e includePath fornite. Inizia controllando il comportamento del completamento di IntelliSense per UPROPERTY e i relativi elementi enum; il lavoro è completato quando nell’impostazione di Unreal Engine vengono suggeriti UPROPERTY e opzioni come EditDefaultsOnly.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp, unreal-engine, vscode
- Ambito
- developer-experience, tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100