67 lines
3.1 KiB
Plaintext
67 lines
3.1 KiB
Plaintext
This particular sub-package is devoted to WingIDE
|
|
|
|
It is mainly wingide specific extensions
|
|
|
|
Some notes ...
|
|
|
|
There are a couple of projects set up for Lumberyard python development with WingIDE
|
|
|
|
The FIRST is the DCCsi:
|
|
dev\Gems\AtomLyIntegration\TechnicalArt\DccScriptingInterface\Solutions\.wing\DCCsi_7x.wpr
|
|
|
|
This provides devs a project to directly work on the DCCsi itself
|
|
|
|
You can launch wing and directly load this project via the following .bat file:
|
|
dev\Gems\AtomLyIntegration\TechnicalArt\DccScriptingInterface\Launchers\Windows\Launch_WingIDE-7-1.bat
|
|
|
|
Note: the data-driven env hooks for the DCCsi are in the Env.bat:
|
|
dev\Gems\AtomLyIntegration\TechnicalArt\DccScriptingInterface\Launchers\Windows\Env.bat
|
|
^ when you launch wing via the .bat file it bootstraps that env first
|
|
|
|
Additionally, that same env is being transitioned to a python implementation using dynaconf (WIP):
|
|
dev\Gems\AtomLyIntegration\TechnicalArt\DccScriptingInterface\.env
|
|
dev\Gems\AtomLyIntegration\TechnicalArt\DccScriptingInterface\settings.json
|
|
dev\Gems\AtomLyIntegration\TechnicalArt\DccScriptingInterface\config.py
|
|
^ this last file is the root dynaconf config for the DCCsi
|
|
This will also allow us to have per-tool, per-project, per-dcc app env extensions and settings in a more nested way
|
|
|
|
The SECOND is the AtomTechArt Lumberyard project: dev\AtomTechArt
|
|
dev\AtomTechArt\DCCsi\envs\AtomTechArt\AtomTechArt.wpr
|
|
|
|
Note: this is set up as a venv based on the lumberyard python intstall
|
|
and thus provides a sandbox silo to develop outside of the lumberyard python, and outside of the DCCsi
|
|
|
|
This .bat will launch wing and directly load this project:
|
|
dev\AtomTechArt\DCCsi\Launch_AtomTechArt_WingIDE-7-1.bat
|
|
|
|
WingIDE auto-complete with Lumberyard:
|
|
Lumberyard when built will generate .pyi files for source analysis, inspection and auto-complete
|
|
On a per-project basis they are generated in the cache like:
|
|
dev\Cache\AtomTechArt\pc\user\python_symbols\azlmbr
|
|
|
|
Note: to get this to work unfortunatley each user must configure the wingide prefs to include this path
|
|
(there is no shared project / data-driven way that I know of to set this up otherwise)
|
|
|
|
Note: lumberyard is not currently generating __init__.pyi files in that package structure:
|
|
SPEC-3315
|
|
|
|
The workaround is to create them yourself (they can be empty) and needs to be in the root of each package folder, like this:
|
|
dev\Cache\AtomTechArt\pc\user\python_symbols\azlmbr\__init__.pyi
|
|
dev\Cache\AtomTechArt\pc\user\python_symbols\azlmbr\materialeditor\__init__.pyi
|
|
ETC...
|
|
|
|
Then to enable do the following in WingIDE
|
|
|
|
1. (Dialog) WingIDE > Edit > Peferences
|
|
2. (Section) Category > Source Analysis > Advanced
|
|
3. (Add Path) In the area labeled "Interface File Path", insert a new path and point it to your cache:
|
|
Example (mine): g:\depot\JG_PC1_spectrAtom\dev\Cache\AtomTechArt\pc\user\python_symbols
|
|
|
|
You might need to reboot wing. Then you should have auto-complete for the lumberyard api
|
|
> import azlmbr
|
|
|
|
Note: the entirety of azlmbr api does not generate .pyi files currently,
|
|
all of the "Behaviour Context" based classes do
|
|
non-BC modules such as azlmbr.paths currently do not
|
|
SPEC-3316
|