- Warn if user sets project specific extension setting in Workspace. Most settings should go in Workspace 'Folder'.
- eslint settings
- Prevent compiler path fix from saving if compiler paths are equal
- Check if compile command setting is a string, in c_cpp_properties.json, and give error if not and tell user to Refresh project.
- eslint errors
- Added missing semicolons
- Renamed some vars
- Most settings have been switched so you they can only be set in Workspace(bad) or Workspace Folder(good)
- Optional fixes are on by default. You can still disable them.
- Settings where you have to enable fixes. Fixes will run if you have the extension enabled. You can still disable optional fixes.
- Setting where you could choose compiler path to be global(user) or project specific
- Fixed glob, that detected new source files, so that it only detects source files in the immediate Source directory.
- Now says to user to soft reset project which is proper way to add new source files intellisense.
- Now uses esbuild to bundles extension (smaller download size and faster start)
- Cpp standard fix now supports UE 5.3+ and c++20
- launch.json fix for UE 5.3+
- No longer force shows logs unless there's an error.
- Changed to more gentle log message if not an unreal project.
- Errant return, in intellisense fix, caused intellisenseMode to only set after VSCode restart
- Switched String replaceAll function with replace (caused exception by not being supported by all systems with this config)
- Extension's intellisenseMode can now be set on a per project basis in Workspace settings
- Extension's Mac M1/M2 default intellisenseMode is now auto set in Workspace setting
- More launch fix logs
- Reading/writing files
- Changed Mac M1/M2 intellisenseMode default to be set to "macos-clang-arm64"
- Fixed async/await in wrong intellisenseMode fix which fixes it
- Fixed async/await in file watchers
- Fixed Promise function not having await in launch.json fix
- Support for UE 5.1: They changed how they use compile commands(arguments instead of command)
- Will ask to overwrite compiler setting if compiler path is different in compile commands
- Compiler path setting can now be either local(project) or global (can't have both)
- Added new setting that turns on/off local(project) compiler path functionality
- With 5.1, Epic includes hundreds of include directories that don't exists. We only give a warning about how many and don't attempt to fix.
- package-lock.json
- Added comment about compiler.path for Mac users. Probably needs to be set to /usr/bin/clang++ for Intellisense to work.
- Extension's path setting. Will now pull from compile command's path if not set. If set will set both compile command compiler path and compilerPath setting.
- Removed strict setting
- When not using the extension's strict setting will auto copy Unreal's compiler choice to the path setting.
- Stop recommending to use the extension's strict setting(it's now an error but can stil be used)
- Changed default intellisenseMode for Mac M1 users to clang-x64
- Changed default Mac M1 compiler setting to clang++ instead of clang
- Added editable intellisenseMode extension setting (For Mac M1 users it will be auto set to clang-x64)
- Warning for Mac users for setting UEIntellisenseFixes.compiler.path
- Fixed response file path regex to support dashes
- Better error message for response file regex being unable to read path
- Retrying Mac M1 generated.h regex path tester (Not sure if it's M1 only fix or a general Mac fix)
- Mac M1 generated.h regex path tester (Not sure if it's M1 only fix or a general Mac fix)
- c++20 option for future or experimental projects
- Error messages when creating compile command object
- Non quoted Response file paths regex
- Wording of Optional fixes
- Error messages for invalid projects
- Simpler way for the extension's 'enableOptionalFixes' optimization setting. Now just uses Tag Parser for UE source.
- Launch json fix of this extension's previous launch json fix version to match console setting of UE5 to UE4
- Added error if *.generated.h files aren't Built yet
- Added error if *.generated.h path isn't in rsp files
- Add error if using UE5 and using the wrong cppStandard
- Added info message about default cppStandard for UE4/UE5
- Better warning if UE path isn't in *.code-workspace file
- Show total # of errors/warnings messages at end of log
- Warn if using the extension's path setting without strict enabled
- Warning if project is using Source/(ProjectName)/(Public/Private) directory structure
- Launch json fix refactor.
- Response file path regex for linux (and probably Mac)
-
Changed to a different way of checking for UE's Version.h (away from findFiles)
-
Changed all findFiles(api) to use fast-glob(node). findFiles was failing sometimes for unknown reasons.
Thanks to @heptaspirit for helping test this!
-
isValid project code so file watchers will work
- Converted from node read/write file to vscode api read/write file
- Reset detection - Now just warns to restart VSCode
- Convoluted progress bar code
- npm audit
- Fix for UE5 Preview 1's malformed json in launch.json
- Mac M1 fix will auto set compiler path in c_cpp_properties (Can also change the path in new extension settings)
- New compiler.path setting to force compiler path in c_cpp_properties.
- New compiler.strictPath setting to force compiler.path setting in compile commands file.
- 4.26 now uses 4.27 code path. It shouldn't matter... and adds some of the new functionality to 4.26.
- Read/Write functions to work with newer lib
- Removed singular clang support for Windows. It can now be done with the newer general path settings.
- Updated dependencies
- Changed VSCode version compatibility version to 1.63.1+
- Fix for startup bug not finding *.uproject file thus not starting the extension
- Fix for Mac M1 users to change Intellisense Mode automatically (untested)
- Options for c++ standard not supported by UE
- Fixed an error message not getting logged
- (4.27+/5.0+) Changed the way compiler path was getting fixed in compile command files.
- UE 5.0+ now uses compiler path fix that 4.27 uses
- (4.27+/5.0+) Added clang-cl.exe intellisense support to Windows. Add clang-cl.exe path to the cpptools extension User's compilerPath setting to use.
- Allow cancelling all response file choices of missing compile commands by seesemichaelj
- Fixed bug that didn't allow any version after 4.27.0 to be fixed
- Fixed unknown type errors inside catch blocks
- Fixed 4.27 New compiler path bug. It's using full path in compile command files when it shouldn't.
- Fixed Regex for response file include paths for 4.27.0 compatibility
- Fixed UE4 compile command weren't getting loaded for pontential fixing (needed if optional fixes were turned off)
- auto disable/enable of intellisense (could interfere with other extensions)
- Security fix by updating dependencies
- Small fix to support Plugin development.
- Renamed function for readibility
- Update for UE5 support
- Updated setting names to be more general (will need to reenable fixes)
- Update allows fixes to work on all configs instead of only the first one (c_cpp_properties.json).
- Fixed Updated dependencies
- Fixed Added 'null' check for response file operation
- Removed developer console log messages from release (doesn't affect user logs)
- Fixed Regex to read 4.26.2 cl.exe flags in response files was fixed. (In 4.26.2, cl flags use '/' instead of '-')
- Fixed New Source/Header fix for projects that build multiple modules. You can now select the response file for new files.
- Fixed UE4 workspace optimization now works with projects that build multiple modules.
- Removed the invalid Intellisense preinclude path fix since it couldn't encompass every single scenario
- Added additional warning/info message for invalid Intellisense preinclude paths
- Added additional warnings messaging when adding new header/source files
- Added error message if response file contains only the word undefined
-
BugFix Removed default forced cppStandard c++14
- You must set this extensions's cppStandard setting if you want to force a standard
- Reset your project to remove the old forced cppStandard
-
BugFix Removed unnecessary -include to -FI fix for MSVC Intellisense (Was only a bug in an old Insiders build)
- There was also a scenario where this bug fix could wrongly fix something if intelliSenseMode was set incorrectly
-
Added more cppStandard options gnu++14 and gnu++17
- BugFix: Removed real time fix for missing Source/Header file
- This could compete with the Unreal Editor with undesirable results
- I now just give a message to restart VSCode. Restarting will fix the Intellisense errors for the new files.
- Temporarily disable Intellisense while extension is running
- Message window with progress bar while extension is running
- Fixed weird bug with invalid preinclude path with the sharedPCH.* header
- Fixed incorrect preinclude flag for MSVC Intellisense
- code: Fixed 4.26 Optimization fix regex to work with MSVC preinclude flag
- Added real time detection of new source/header files. Will auto add to Compile Commands.
- Added launch.json fix for deprecated externalConsole setting.
- Added real time detection of a UE4 project reset. Extension will run after detection.
- Added 4.26.1 support and removed 4.26.0 support
- 4.26.1+ now adds missing source/header files to compile commands.
- Added fix for wrong cppStandard setting.
- Changed invalid paths to fix response file instead of compile commands.
- Simplified settings.
- code: Major rewrite using classes and cleaner code.
- code: Fixed creating RegExp from string if there were no flags set
- Removed General Paths option
- Caused some Intellisense errors in certain files
- Shouldn't affect any fix since this setting was optional
- forced includes now pulls from compile commands (4.26)
- changed ue4 c_cpp_properties.json to be %100 free of main project references (4.26)
- changed user settings to more simplified and readable
- This is a breaking change. It changes setting names.
- added a 4.25/4.26 fix that greatly reduces Tag Parser cache size (helps tag parser performance)
- doesn't affect Intellisense performance unfortunately
- added backup Intellisense for Main Project folder (4.26)
- added Converter Fix option 4.26 compile commands to 4.25 Intellisense include paths
- added Temp statusbar indicator that links to logs
- code: Big refactor
- code: Changed Model class to a more specific class dealing with c_cpp_properties
- code: Fixed getUE4Folder returning wrong value
- code: Renamed some files to camelCase (I removed some other files)
- code: Quality and readability improvements.
- added 4.25 support
- added better logging if fix isn't enabled
- Added try/catch around some await functions
- Switched to workspaceContains Activation Event
- Fixed repository url in packgage.json
- Added support for Unreal Engine 4.26
- Add tests... I only just started learning tests in python before starting Unreal Engine stuff again. I do see how needed they are, even with this small project. Maybe another extension.