Added a way to use DTE to add new files directly into VS without having to generate projects
This avoids the annoying "Do you want to reload?" dialog that appears in VS when projects are externally changed, and also saves us the cost/time of having to run UBT to generate projects.
[CL 2435515 by Matthew Griffin in Main branch]
UE-7184 - Show game c++ classes and engine c++ classes in the content browser
The Content Browser now has extra entries for "Game C++ Classes" and "Engine C++ Classes" (with "Game" and "Engine" being renamed to "Game Content" and "Engine Content" respectively). These new folders serve as hosts for the list of available C++ modules, with each module internally mirroring the folder structure on disk.
For example:
- Game C++ Classes
- ShooterGame
- Classes
- Bots
- ShooterBot
- ShooterAIController
- [...]
- [...]
The Content Browser allows you to navigate and search these classes like you can with assets, and provides convenient access to either edit an existing class, or create a new class (either within a selected folder, or derived from a selected class).
As the Content Browser only shows you known UClass types, any new classes need to be compiled into a loaded module before they will appear. This means that adding a new class will now automatically hot-reload your target module. Should you prefer to handle building and loading your modules manually, you can disable the automatic hot-reload via "Editor Settings" -> "Miscellaneous" -> "Hot Reload" -> "Automatically Hot Reload New Classes" (see UEditorUserSettings::bAutomaticallyHotReloadNewClasses).
[CL 2409386 by Jamie Dale in Main branch]
- Added IDesktopPlatform::GetUserTempPath() and implemented it for windows
- Created SGetSuggestedIDEWidget class that handles whether to show a "Download X" hyperlink vs. an "Install X" button (depending on whether the platform supports on-demand installation)
- Analytics event added ("Editor.Usage.InstalledIDE") that fires whenever the "Install X" button is clicked
- Changed SourceCodeIDEURL_Windows in BaseEditor.ini from the VSC 2013 web page link to the installer download link (need to replace with perma-link once we have it)
[CL 2409158 by Dan Hertzka in Main branch]
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN
[CL 2329610 by Wes Hunt in Main branch]
There is now a consistent set of methods for module loading, unloading and lookup that all behave in the same expected way.
- renamed GetModuleInterface to GetModule and made it not assert
- removed GetModuleInterfaceRef
- namespace enums to enum classes, NULL to nullptr
- moved important public methods to the top, so they're easier to discover
- added missing & improved existing documentation
- cleaned up existing use cases
[CL 2109936 by Max Preussner in Main branch]
For atos specify the architecture and properly escape the path. When parsing the results read all the digits from the line number, not just the first. Don't abandon opening the file when only a filename is specified as atos only returns filenames, not filepaths.
#codereview michael.trepka
[CL 2093090 by Mark Satterthwaite in Main branch]
Split the process of updating source code symbols and launching the current source code accessor accross different tasks in the task graph, forcing the launch to occur on the main thread.
TTP# 333862 - Editor: Source Access: Assert/Crash when using "Goto code defintiion" in Blueprint graph
reviewed by Andrew.Brown
[CL 2059712 by Thomas Sarkanen in Main branch]
#ttp 330039 EDITOR: Platform-agnostic editor code depends on Windows-only VSAccessor headers
#detail Source code access is now extensible via plugins, so any new editors can be easily added.
#add Added SourceCodeAccess module that routes access via plugins.
#change Moved much of the old VSAccessor code into a new VisualStudioSourceCodeAccess plugin.
#add Added a counterpart XCode plugin & migrated the code from FSourceCodeNavigation (Applescript etc.) into there.
#remove Removed applescript for XCode access (it is now done via code).
#remove Removed source code access functionality from platform layer.
#add Added details customization for source code access settings, so users can choose their own accessor.
#remove Removed dependencies on VSAccessor.
#change Changed API in SWidget to not require building a string to be parsed, instead this acesses and forwards filenames & line numbers.
#extra Tested on Mac by Mark S.
reviewed by Andrew.Brown
[CL 2048697 by Thomas Sarkanen in Main branch]
#Branch UE4
#Proj BlueprintGraph, GraphEditor, Kismet, UnrealEd
#Summary Added code to navigate the users IDE to native functions and variables. Added options in the graph and myblueprint node context menus to navigate to the native code they represent.
#Add Added function FSourceCodeNavigation::NavigateToProperty to locate and open the header file where the variable is defined.
#Add Added function FSourceCodeNavigation::NavigateToFunction to locate the source code from the symbolmap and open the IDE at the definition location.
#Change Moved the code used to determine the correct modulename from FSourceCodeNavigation::GatherFunctionsForActors to FSourceCodeNavigation::FindClassModuleName so other functions didn't have to replicate the code.
#Change added Goto Code Definition for native variable nodes and native call_function nodes in the blueprint graph node context menu.
#Change added Goto Code Definition for native variables in the myblueprint node context menu.
#Add Added GotoNativeFunctionDefinition, IsSelectionNativeFunction, GotoNativeVariableDefinition and IsSelectionNativeVariable to FBlueprintEditor so the context menu actions can call these functions to goto source code.
ReviewedBy Chris.Wood
[CL 2044026 by Ben Cosh in Main branch]