Change Log

10x Change Log


28/07/2021Version (0.27.15)
-fixed slow startup when there is noather instance of 10x open
-fixed rare threading crash in FindSymbolReferences


28/07/2021Version (0.27.14)
-fixed long startup delay introduced in last build


28/07/2021Version (0.27.13)
-added ShowFunctionArgsInfo command (ctrl+shift+space)
-fixed function info box not appearing when typing (
-fixed GotoSymbolDefinition from triggering if no text eidtor focused (fixes middle mouse click mapping)
-made SelectCurrentScope default to shift+alt+=
-stopped new commands overwriting existing mappings
-made SaveAll python function reutrn false if SaveAll failed
-increased save file re-try attempts
-changed UI.DragDropDockDelay setting to 300ms to improve drag-drop docking
-made ctrl+space complete the word without showing autocomplete if there is only one item in the list
-fixed parsing of unnamed structs
-added parser support for FORCEINLINE functions in UE4


28/07/2021Version (0.27.12)
-removed FormattingTests.py from the install and delete it from appdata
-automatically upload changlist to website in deploy
-Update panel now shows changlist
-added button in update panel to go to the changlist on the website


27/07/2021Version (0.27.11)
New:
-added FindInFilePrevCurrentWord command (ctrl+shift+F3)
-added SelectCurrentWord command (ctrl+W)
-added ListBreakpoints command
-added default shift+alt+= key mapping for SelectCurrentScope
-made perforce revert show an error message box if perforce not connected
-changed bulid to use VSDevEnv.bat instead of vcvars.bat
-renamed setting 'Build.Visual Studio VC Vars' to 'Build.VisualStudioEnvBat'
-allow ctrl+alt key mappings
-new toggle Workspace Tree button image
-made ctrl+space select first item in autocomplete
-added BuildBeforeStartDebugging setting (defults to true)
-made StartDebugging command save all
-made build fail if SaveAll fails
-added support for mapping mouse buttons in key bindings
-move cursor to current indent when clicking on an empty line
-allow multi-key key mappings with ctrl+C, ctrl+V, ctrl+X keys
-make middle mouse button move cursor and select word
-added KeyMappingExample.py
-added AddOnInterceptCharKeyFunction python function
-added AddOnKeyFunction python function
-added AddOnInterceptKeyFunction python function
-added GetKeyMappingsFilename python function
-added SetCursorColourOverride and ClearCursorColour override python functions
-Added MoveCursorUp/Down.Left/Right commands
Bug Fixes:
-fixed crash loading up backup files if no workspace loaded
-fixed potential bug in perforce revert where the file wouldn't be updated
-stopped Find from selecting the next occurance the first time it is opened with ctrl+F on a word
-stopped breakpoint syncing failing if one of the breakpoints is invalid
-fixed new line after /** */ comment block end adding a * line
-fixed it sometimes getting the VS2017 vcvars.bat
-don't apply general text editor settings to output window (line numbers etc)
-added extra logging to VS debugger syncing
-increased VS Debugger call timeout to 400ms
-fixed hang with shift-F3 find prev
-fixed VS project loader missing files with unrecognised element names
-fixed goto-def crash
-temporarily disabled the Hide Menu setting until it is fixed
-fixed potential null indirect crash in panel grid
-removed list tabs button from WorkspaceProperties panel
-hide list tabs context menu after selecting CloseAll. Fixes potential crash then selecting closed file.
-fixed crash closing window while mouse drag selecting text
-fixed buttons showing over menu when window resizes
-fixed shift+alt key mappings from also bringing up main menu
-fixed checkbox text aliasing
-fixed empty workspace panel appearing after loading workspace when tree is already visible (and subsequent crashes)
-fixed "Create Worksapce" typo in create workspace panel
-fixed potential memory overwrite and crashes loading in parser string table
-fixed clicking in scrolled text boxes
-clamp the autocomplete box to stay on screen
-don't start debugger if build failed
-fixed operator/ functions not parsing
-fixed rare parser crash (iter GetNameTempString wasn't thread safe)
-fixed SetKeyMappingsFilename python function
-don't call python update functions until all scripts have finished compiling
-fixed scripts being execute twice during startup


20/07/2021Version (0.27.0)
New:
-support for files >2GB
-support for assigning auto variables to the result of a function: 'auto p_test = GetPointer()'
-support for eastl
-support for automatically completing /** comment blocks
-added Editor.AutoAddCloseBracket setting
-added Parser.FormatBracesOnEnterSplit setting for formatting braces pressing enter between {}
-added Parser.AutoFormatBlockComments setting
-undo recently inserted char if user types that char, eg auto ) inserting if user types a )
-renamed AutoAddCloseBrace setting to AutoAddCloseBraceAndFormat
-added AutoAddCloseBrace which just adds a close brace and doesn't format
-added new Parser.OpenBraceOnNewLine setting (true by default)
Optimisations:
-optimised reading in large files
-general optimisations to file loading
-fixed long pause opening workspace caused by waiting on the Perforce connect
-fixed long pause opening VS projects with $() variables that can't be resolved
Parser:
-fixed goto-def failing on typedef with same name as what it is typedef'd to, eg typedef struct Test Test;
-fixed array variables not being treated as pointers
-fixed indirections not working for array variables of classes that have a [] operator
-fixed parsing of auto pointers: 'auto p_test = &test'
-parser support for alignas() specifier
-fixed UE4 Super keyword
Bug Fixes:
-fixed Alt-Gr special chars for European keyboards
-fixed diamond char being added on alt-arrow key release
-fixed crash loading workspace with file that doesn't exist anymore
-fixed European keyboard ^ escape key handling
-fixed Del char being inserted on ctrl+backspace
-fixed ctrl+space adding space (allows ctrl_space to be bound to a command)
-fixed IsGloballyVisible parser crash
-fixed "save changes - no" failing for empty unnamed files
-prompt to save changes before starting update
-fixed crash checking for modified files
-fixed function indentation where open brace is not put on new line
-removed "error opening file" message box loading workspace with open files that don't exist anymore
-fixed the text being typed appearing in the autocomplete as you write define statements
-fixed break after switch case statement {} block being indented
-fixed indentation after switch case break statement
-fixed break after switch case statement {} block being indented
-fixed indentation after switch case break statement
-fixed GetWorkspaceExePath() used for launching the exe and a Python command
-fixed panels not remembering they have been docked to the panel grid
-showing the find and find/replace panels when they are already showing selects the find text
-stopped ctrl+alt+shift+arrow moving panels
-fixed selection getting stuck on after starting multi cursor with ctrl+alt+shift_arrow
-made AutoAddCloseBraceAndFormat move the brace to a new line if Parser.OpenBraceOnNewLine is set


25/06/2021Version (0.26.0)
New:
-pinning of tabs
-made perforce diff diff against the HaveRevision instead of the HeadRevision
-pass all command line arguments when opening file in another 10x process with 10x.exe
-re-wrote file status monitoring. Fixed files sometimes not updating when quickly alt-tabbing
-only show selected function in the function list box after using types args (and show all again if cursor moved back to start)
-made F4 in Workspace Search start from the last submitted search term
-added dropdown to find/replace replace text box
-added FindPanelCursorKeys setting to disable cursor keys selecting contorls in find and find/replace panels
-function list box now only shows selected function when typing args (ignores whitespace)
-delay save until Perforce checkout finished
-renamed OnCharKeyDown python function to OnCharKey
-use WM_CHAR windows message for char key presses instead of WM_KEYDOWN with virtual key code lookup
-added support for Japanese Shift_JIS text encoded files
-if the file is not modified changing the text encoding will now reload the file with that encoding
-added code that tries to automatically detect if a file is encided with Shift_JIS encoding
-added setting CloseFindPanelOnEnter to close the find text panel on enter or F3 (off by default)
-added CloseOutputPanel command
-added ListFileStatusMonitorFiles to list the status of all monitored files
-added ListWorkspaceFiles to list all files in the current workspace
-added shader extensions to default file types list
-directory watcher for instant updating of externally modified files (for open files only)
-show an error message box if a file fails to load
-added VSMSBuildInfo.exe to get the Visual Studio msbuild variables (faster and more reliable than old system)
-added VerticalMousewheelSensitivity and HorizontalMousewheelSensitivity settings
-added ReopenFileInCurrentPanel setting to re-open a file in the current panel even if already open (defaults to false)
-made it always try and check out on save when saving read-only files (if checkout failed on edit)
-for drag-droped files open file in the panel that it is dropped in
-made clicking in TextEditor put cursor on the closest char
-when opening duplicated files favour the one in the current panel
-holding shift when opening a file will duplicate it in the current panel
Parser:
-fixed parsing of templates with sub-classes, eg Ptr<Class1::Class2>
-fixed parser failing to parse statement after two sequential 'using namespace' statements
-fixed next statement sometimes not being reparsed when editing current statement
-fixed member function arg types not parsing if they are declared in a parent scope of the class
-fixed indirection with brackets not working, eg (*p)->Test()
-fixed goto-def sometimes going to virtual function definition from the parent class instead of the current class
-fixed find reference not working on non-virtual member function definitions
-added Parser.GotoFunctionImplementation setting. Makes goto-def on a function call go to the implementation instead of the declaration. Defaults to true.
-re-wrote include autocomplete. Fixes typing slowdown and improved path matching
-fixed / and . chars dismissing include autocomplete
-fixed it missing include paths for Visual Studio projects. Improves include autocomplete
-parser support for typedef structs and unions
-fixed parsing of functions with ... ellipses
-fixed parsing of variables and function args with square brackets, eg int my_var[]
-fixed bugs with goto-def on unions
-fixed parser breaking if files are edited while initial parse is in progress
-fixed unnamed unions parser bug introduced in last update
-fixed autocomplete for unnamed unions
-fixed goto-def finding function in global scope instead of a parent class
-fixed goto-def finding function in base classes instead of parent (GetDefParents order reversed)
-fixed broken autocomplete on function return values
-fixed bug reparsing using namespcae statements (fixes parser breaking when saving file)
-fixed files being reparsed when saved (introduced with file watcher change)
-fixed global function being found for goto-def on member function that only has declaration with no definition
Bug Fixes:
-fixed autocomplete out of bounds crash for empty lists on up/down key
-fixed uninitialised variable causing new files failing to save with read-only message
-stopped find panel showing over horizontal scroll bar
-fixed config drop-downs not disappearing after clicking on tree view
-fixes to telemetry
-fixed the crash dmp file not being deleted after creating the gzip file
-stopped autocomplete being dismissed on up/down if there is only one entry
-stopped function list box eating the up/down arrow keys if there is only one item
-fixed FileStatusMonitor getting stuck in a loop if it is inturrupted by switching focus
-fixed last char still being highlighted after deleting file find text
-fixed tab select not working on find/replace 'Sel' button
-find and find/replace panels: stopped text box cursor keys from selecting prev/next control if there is a selection
-stopped find and find/replace left cursor key wrapping around and selecting rightmost button
-fixed 10x_notepad not showing the current file in task bar if user clicks on UI outside of text editor
-fixed crash shutting down with pinned panels
-fixed panel pinning not saving correctly
-fixed GotoFunctionImplementation setting not being restored when workspace is opened
-fixed right click build in workspace explorer building the active project instead of the selected on
-fixed bug where closing a file, modifying it externally and re-opening file would open the old file
-check for file modifications in all systems when a file is opened
-copy over Snippets.py to fix compile warning on startup
-fixed ctrl+backspace inserting Del char
-fixed crash submitting WorkspaceSearch panel with no results
-fixed python compile error with snippets.py
-fixed python scripts not getting installed on new installs
-fixed externally modified files not always reloading and resulting in no text
-made FileStatusMonitor log to file instaed of output window
-fixed hang reloading externally modified files
-fixed docked panels not remembering their dock state and size when reopening
-fixed floating panels not remembering their position when reopening
-fixed "error updating file" warning when closing unnamed file with 'discard changes'
-fixed new file containing discarded changes from closed new.txt with discard changes
-fixed backup file not being cleared when closing unnamed files
-fixed ctrl+space key mapping not working (due to WM_CHAR change)
-fixed files being opened multiple times in current panel with ReopenFileInCurrentPanel setting enabled
-stopped current workspace being added to FindFile panel files


19/05/2021Version (0.25.0)
New:
-support for partial template specialization
-support for templated function specialization
-support for inherited smart pointers
-support for resolving square bracket operator overloading
-stl support (limited to a subset of stl so far)
-made FindSymbol panel preview put function at top of text editor
-support for perforce p4config variable. If p4config is set to a file (eg p4.txt) it will look for that file in the same directory as the sln file and read the client and user settings from the file and reconnect.
-stopped recent files going into taskbar right click menu for 10x.exe (still does for 10x_notepad.exe)
-added extra logging to PerforceConnect
-hide include autocomplete list when typing second " or >
-rewrite of indenting, now always works off previous statement indent. Fixes many issues.
-made installer show message if newer version
-added support for __ALIGN() macro
-added support for typedef enums
-backspace cancels indirection autofix
-don't try and autofix indirection if user has edited previous change
-enabled auto-fix indirection by default
-support for aliased templated types (fixes std::vector [] operator indirections)
-made autocomplete not select any items for non-indirection autocompletes
-stopped enter from submitting autocomplete if no item selected
-only allow ( to submit autocomplete if item is selected and it is a function
-don't auto-add function brackets on autocomplete submit if user submitted with a (
-improved autocomplete fuzzy matching for split words
-added SubmitFirstAutocomplete setting to disable tab submitting first autocomplete item when there is no selection
-stopped ( from submitting autocomplete when there is no selection
-stopped autocomplete scores affecting order until scopre > 5
-added SubmitAutocompleteOnOpenBracket setting to enable/disable the submitting of autocomplete on (
-rename class now renames constructors and destructors
-increased priority of first letter fuzzy match
-increase fuzzy match score if case matches
-tweaked fuzzy match weightings
-set default key mapping for ShowInWorkspaceTree to ctrl+T
Optimisations:
-optimisation to token parsing, eliminated array resizing as token are parsed
-parser optimisation, moved more arrays to local thread arrays to reduce allocator contention
-parser optimisation to GetOrCreateCppFile to only take the exclusive lock if creating
-parser optimisation, only resize token array if larger
-fixed bug causing parser slowdown over time (m_UpdatingParseThreads)
-read parser cache optimisations for lots of cores
Bug Fixes:
-fixed installer invalidating pinned startmenu/taskbar shortcuts
-fixed FindSymbol panel not showing all functions by default
-fixed indenting of double braceless if's
-fixed unclosed ( affecting the indenting further down the file
-fixed syntax highlighting failing for externally modified files or files that are saved during the reading of the parser cache
-fixed indentation sometimes failing if you type too fast
-fixed enum indenting
-made F4 go to first item in workspace search
-fixed Workspace Saerch line numbers being off by one
-fixed variables not parsing after a /* */ comment block
-fixed parsing bug where symbols would sometimes be invalidated during initial parse and not come back
-fixed bug where symbols declared after a scope close brace could be put into the previous scope
-made ctrl+backspace delete white space first, then word
-fixed indentation after class access specifiers
-fixed infinite recursion crash in FindDef
-fixed autocomplete not submitting on (
-fixed functions not indenting correctly if there is an enum further up the scope
-fixed up/down keys dismissing autocomplete when there is no selection and only one item in the list
-fixed auto adding of close brace not working for member functions
-telemetry fix. Now goes idle after 30 sec of no input
-fixed destructor definition parsing
-fixed auto-add of } not working on const functions
-fixed autocomplete in class scope not including any class members
-fixed some small shutdown leaks
-fixed slowdown processing build output


02/05/2021Version (0.24.0)
New:
-formatting: adding and removing of whitespace and indenting lines
-added FormatSelection command (ctrl+K,F)
-added FormatFile command
-auto-formatting, format block on } and statement on ; and preprocessor on #
-added Parser.AutoFormat setting
-increased key-combo delay from 500ms to 1000ms (eg, ctrl+S,S to save all)
-re-wrote key combo handling to stop it picking up the second key press that might be mapped to something else
-re-wrote automatic indenting. Covers many more cases, including multi-line statements
-always set indentation of preprocessor lines to zero
-disabled autocomplete in comments and strings
-added preprocessor keywords to autocomplete
-stopped indent lines using parser indent values for empty lines (now works it out of previous lines)
-added CancelAutocomplete command
-automatically dismiss autocomplete after typing else and endif keywords
-added Parser.ExactMatchAutoComplete setting to allow setting the list of keywords that dismiss the autocomplete
-many fixes and improvements to formatting and indenting
-auto-indent line after moving line up/down
-added Parser.IndentCaseStatements option for indenting case statements (true by default)
-added new CppParser.ToggleVerboseLogging command
-added exclude filters for parser. Files that match these filters will not be parsed.
-exclude filters default to /Engine/Plugins/ to eliminate Unreal Engine plugins
-support for custom indenting with AuotIndent. Indenting is now based on the indent of the previous statement
-added GetSetting and SetSetting to python API
-added ExcludeFilters to sln workspace local settings
-added ExcludeFilters setting to sln local settings
-changed default for Parser.ExcludeFilters to ""
-re-enabled prioritising open files in parser. Makes syntax highlighting come in quicker
-renamed Editor.FormatOnPaste setting to Editor.UpdateIndentsOnPaste
-renamed Parser.FormatOnCloseBrace to Parser.UpdateIndentsOnCloseBrace
-added more parser verbose logging
-added support for a bunch more Unreal API macros
-clamp sizes of floating panels to app window
-parser support for partially written functions
Optimisations:
-optimisation to map scroll bar (not updating indent lines)
-reduced allocator contention, general parser optimisations - 30%-50% speedup on iniital parse
-parser optimisation - stopped it trying to resolve L in L"" wide strings
-removed limit on MaxCoreCount setting for > 12 cores
Bug Fixes:
-fixed 10x command panel not working on commands that needed a file to be focused
-fixed crash syncing settings to VS debugger
-fixed classes with preprocessor lines in the definition not parsing
-fixed files being marked as modified if the undo group was empty (meant that the modified flag couldn't be cleared)
-fixed file outside of project not being updated when modified externally
-fixed symbol renamer failing to check out files but modifying files anyway. Now checks out all files first before doing any renaming and cancels if a checkout fails.
-fixed crash in 10x command panel submitting command that doesn't exist
-made AutoAddClose brace to only happen on functions and if,for,while statements
-fixed class definitions with preprocessor lines in parents
-fixed parser bug with unmatched block comment end
-fixed rare corruption in formatting
-fixed Editor.AutoIndent setting. Previously wasn't doing anything, now if disabled indents based on prev line
-stopped clipboard history from showing system clipboard values
-fixed crash showing clipboard history if the history is empty
-fixed bug where no files would be parsed if ExcludeFilters is empty
-fixed close brace not being indented correctly if UpdateIndentsOnCloseBrace is disabled
-fixed parsing of Unreal functions with preceding API macro
-fixed relative formatting bug with structs if AutoIndent turned off
-fixed parser not re-parsing next line when editing
-fixed incorrect auto-indenting after preprocessor lines
-fixed stall pasting very long line
-fixed FindReferencesPanel not resetting the current search when workspace closed
-fixed threading bugs in parser due to missing locks
-fixed race condition causing parser to miss some edits
-fixed Delete key not working if cursor beyond the end of the line
-fixed modified file backup
-fixed bug where typing a { in a function could cause stuff lower down the file to stop parsing
-fixed unnamed unions not parsing correctly if they are defined in a different file
-fixed bugs parsing multi-line defines
-fixed args not being coloured as variabled in function declarations
-fixed autocomplete not sorting correctly for namespaces
-fixed autocomplete usage scores not saving


07/04/2021Version (0.23.8)
New:
-new improved fuzzy matching, now consistent across all tools
-added GetWorkspaceBuildConfig() and GetWorkspaceBuildPlatform() python functions to get the config and platform for the currently active workspace
-Compile single file for UE4
-made find symbol fuzzy matching work on symbols with scope, eg MyClass::MyFunc()
-added IsShowingAutocomplete python function
-added ShowMessageBox python function
-increase autocomplete score for keywords that are used in the current function
-added PerforceConnect command to allow reconnecting after 10x has started
-added PerforceHistory command
-added PerforceShowInP4v command
-added PerforceTimelapse command
-added PerforceRevisionGraph
-made double click in find symbols source preview goto source
-made goto next/prev error skip lines with identical filename/line
-fixed external changes not always being picked up by parser
-autocomplete fuzzy matching now supports word first-char matches, eg mtf matches MyTestFunction
-the symbol highlighter now contributes to the autocomplete usage score. 10x will start to learn what you are interested in as you are browsing around the code
-autocomplete match scores are now stored globally rather than per project, and shared by all tools
-autocomplete usage scores now work by symbol instead of just the text
-FindSymbolReferencesPanel now contributes to autocomplete find usage score
-made Build continue if SaveAll fails to save non-code files
-made FindSymbolPanel highlight matching text
-highlighting of text match in FindSymbolReferences find symbol dropdown
-increased mouse wheel scroll step for list boxes
-added SetKeyMappingsFilename python command
-added ResetSettingsToDefault python command
-added ResetKeyMappingsToDefault python command
-removed SpacesAsWildcardsForFindFile from Workspace Search setting, now uses same fuzzy filtering as autocomplete
-new fuzzy matcher that works with lowercase fuzzy filters
-fuzzy matcher will now match words in lowercase strings, eg mytest => myfuzzytest
-improved fuzzy matching of first letter chars and allow text at end of filter to match remaining text, eg mftref => MyFuzzyTestReference
-added AddWorkspaceAdditionalInclude python function
-added SetWorkspaceSettingsEnabled python function
-changed default colour scheme to VS+VAX
-now checks all modified files every time 10x gets focus
Parser:
-support for auto keyword
-support for range based for loops
-support for simple lambda expressions (so far only parsing of arguments and variable assignment)
-added more automated python test scripts to test parser
-re-wrote the parser re-parse of modified code, fixes lots of bugs and missing references
Optimisations:
-significantly reduced memory overhead for open files
-clear visible lines for TextEditor's that are not visible
-optimised listing of large amount of text
-parser memory reduction: 5% memory saving, 3-5% in parse and read parser cache time
-general optimisations to autocomplete
-optimised workspace search, results now appear 30% faster
-optimisation to eliminate stalls on main thread dealing with parser updates
-optimisations to FindSymbolPanel
Bug Fixes:
-skip preprocessor lines in class definitions
-support for more Unreal preprocessor statements in variable defnitions
-fixed comma separated variable definitions not parsing if they contain * or &
-fixed goto-def missing variables in namespace for functions declared with Namespace::FunctionName
-fixed it missing operator functions if they only have a declaration
-fixed parsing of member functions with more than one double colon on their definition name (Namespace::Class::Function)
-fixed building of Unreal projects with relative paths to Build.bat
-fixed VisualStudioLink build dependency
-fixed RemoveDef not invalidating the entire scope of the def
-tightened up parsing of class parents, which was causing things to be parsed as classes that were not classes
-fixed UE4 not building if there is a space in the project path
-fixed BuildAll not using NMake command
-fixed crash if autocomplete showing and cursor moved past end of line
-added VisualStudioSync setting to allow disabling of syncing breakpoints and config with Visual Studio
-memory leak fixes
-fixed leak cancelling workspace tree creation
-fixed leak in Array and HybridArray MoveTo
-fixed leak in ThreadPool TaskContext
-fixed leak of VSProject
-fixed crash dumps for stack overflow exceptions
-fixed UIObject IsShowing to be false if parent is not showing
-fixed leaks closing workspace
-fixed autocomplete bug where autocomplete is not being dismissed on close bracket
-fixed MakeUppercase and MakeLowercase with multi-cursor selection
-fixed leak re-parsing defs (missing RemoveDef event from Cppfile)
-fixed open workspace failing after opening a folder workspace
-fixed default workspace settings not being saved
-fixed bug in Path::NormalisePath for paths starting with ../
-fixed crash double clicking past end of last datagrid row
-fixed autocomplete not picking up symbols from using namespace declarations (cpp only)
-fixed crash opening workspace with empty docked panels
-fixed perforce diff
-fixed pause submitting autocompete on large projects
-fixed perforce revert not reverting unsaved changes
-re-wrote perforce diff to use .NET API instead of command line
-fixed message box sizing for text with long paths
-fixed it missing file modifications outside of 10x
-fixed workspace search not checking file modification times on startup for file paths that differ in case
-fixed workspace search Rescan not checking file modification times
-fixed parsing/skipping of multi-line macros
-fixed it not remember dock position of panel after re-opening
-fixed reading of project files with unknown filename element types
-fixed resolving of templated types within an indirection
-fixed focus crash closing Search panel with close button
-made autocomplete usage score increase when typing symbol name without submitting autocomplete
-fixed mouse clicking in autocomplete list box
-fixed autocomplete not showing in a line after an open bracket
-fixed crash building single file that isn't in a project
-fixed telemetry crash reporting
-fixed crash scrolling through find symbol results
-fixed extra undo after adding char to empty indented line
-fixed bug reading state file causing an increasing pause on startup over time
-fixed crash/hang on startup with 0 width map scroll bar
-fixed find panel right key moving to buttons instead of clearing selection
-fixed EditTextBox cursor sometimes not being visible when moved
-fixed things being focusable behind explusive top level panels (message boxes). Fixes escape not always clearing message box
-fixed line index being off by one in find symbol panel
-fixed existing symbol references not being updated after adding a new symbol
-stopped multiple autocomplete list requests being triggered at once
-fixed crash entering paths in Additional Include paths panel
-fixed random parser crash
-fixed ResetKeyMappingsToDefault python function
-fixed autocomplete not working while function list box visible
-fuzzy autocomplete automated test
-fixed open folder not working for files opened with non-absolute paths
-fixed autocomplete not working in function args where it can't find the function for the function list box
-fixed workspace name not showing for folder workspaces that are opened with a / at the end of their name
-fixed existing references not updating when defining the symbol, eg, write MyValue = 1; then define it before int MyValue; MyValue = 1 would not appear in the references.
-stopped local variables going in to the global references map
-fixed symbol highlighter stopping working if it tries to find references on a non-symbol
-fixed additional include files not being reparsed when changed externally
-fixed rare crash loading up corrupt search cache files
-fixed random parse failures in files that are open during the initial full parse
-fixed parser missing stuff in UE UObject base class
-fixed scope being inserted at wrong index for FindSymbol panel results


26/02/2021Version (0.22.0)
New:
-autocomplete for includes
-indent lines
-show whitespace
-allow function list box to show at same time as autocomplete box
-obtain msbuild variables for each project for each configuration and caches them off
-added ToggleReadOnly command
-added VSDebuggerReconnect command to re-connect to the Visual Studio debugger
-show function info box above cursor
-changed F8 to map to GotoNextResult (same as F4)
-added RemoveAllBreakpointsInFile command (ctrl+shift+F9)
-added RemoveAllBookmarksInFile command (ctrl+shift+F2)
-read in the per-project configs for each solution config
-get the additional include paths and resolves them for all projects (needed for include path autocomplete)
-build variables in project file paths are now resolved (fixes the missing files warning on startup)
-10x now gets the build exe path correctly for the Run command (instead of having to get it from the build output)
-CompileSingleFile support for files in projects that have a different configuration to the solution configuration
-BuildProject supports projects that have a different configuration to the solution configuration
-added LogWorkspaceSettings command to log all project build variables
-Unreal is now built using the NMake command line command (Build.bat ...). This appears to give slightly different results from running msbuild on the sln.
-Run command now uses args and working directory from local debug settings
-stopped output panel from focusing when building
-increased mouse wheel scroll speed for DataGrid
-made menu items activate on mouse up instead of mouse down
-made column count default to 2 on first install
-made multi-cursor paste paste same value to each multi-cursor if the clipboard contains only one line
-disabled the read-only tab button and added a Read Only menu item
-made "ok" only message boxes dismissable with Enter key
-made update panel accept Enter and Escape keys
-added CppParser.ListWorkspaceFiles command
-removed python AddCommand function, no longer needed as all python functions can be commands
-python commands can now be entered without the ()
-aded ListCommands command (also triggered on "help", "?"
-added Exit command
-added Update command that automatically updates if there is one available
-added command panel
-added VerboseLogging setting to log additional stuff out to the .log file (may be a small perf hit)
-added menu item for toggling line numbers
-made Enter key submit menu items
-support for .NET Core projects
-changed default key mapping for Rename to ctrl+R
-changed default key mapping for FindFunction to alt+M
Optimisations:
-optimised reading of .sln and .vsxproj files
-optimisation to parser cache reading
-optimised clipboard copy for huge text selections
Parser:
-parser support for this->
-parser support for Super
-added support for 'final' keyword on functions
-added fuzzy matching for word first chars, eg "mtf" matches "MyTestFunction" and "my_test_function"
-parser support for parent classes/struct without public/protected/private qualifier
-parser support for variables with 'enum' qualifier
-fixed local structs not being parsed if they are in a function sub-scope
-fixed local struct definitions in unnamed scopes in member functions
-fixed comma separated variable definitions with assignments (bool value1 = 1, value2 = 2;)
-fixed word autocomplete not returning results from the current classes parent
-fixed get references not working on on-member function declarations
-fixed goto definition/declaration not work on non-member functions
-fixed virtual references sorting
-sort virtual function references by parent -> derived
-fixed inseting text with autocomplete moving cursor to end of word
-fixed find references returning virtual functions of all classes rather than just the parents and derived classes of the current class
-fixed autocomplete not working on indirection from a typedef'd type
-re-enabled stricter variable parsing in sub scropts of functions
-fixed parsing of templates with typedef'd template args (fixes UE4 TArray [] operator)
-increased the autocomplete usage score weight if the match is at the start
-fixed autocomplete of functions not adding to the usage score
-disabled "more..." for indirection autocomplete, now only globals are put under "more..."
-increased autocomplete starts-with weight
-reduced autocomplete usage score weight
-fixed crash with fuzzy filter
-fixed autocomplete not showing with ctrl+space if cancelled with escape
-fixed autocomplete list not resizing when scrolling with mouse wheel
-fixed parsing of default function args
-fixed referencing files not being reparsed when a file was modified outside of 10x, fixes Find References missing references until the referencing file is opened
-fixed references not being updated on startup if files modified while 10x was closed
-made parser ignore UE4 NoExportTypes.h. Stops parser getting wrong base classes, such as UObject etc.
-moved parser cache to Cache\Parser
-fixed function list box not showing after re-typing an open bracket on function with no args
-fixed autocomplete fuzzy filtering sorting higher than contains match
Bug Fixes:
-fixed Find+Replace Find text box not highlighting find text on focus
-fixed context menu not disappearing when clicking on object that can't be focused
-stopped it removing all breakpoints when regaining focus if it fails to get the list of breakpoints from the debugger
-fixed crash after update when OpenLastWorkspaceOnStartup is set
-fixed additional includes Update crash and stall
-fixed hang clicking on Update or cancel button while update is in progress
-stopped font cache being corrupted if it crashes writing the file
-stopped output window always showing opening a file in 10x notepad (introduced last build)
-stopped output window always showing at (2,0), now shows at column count-1
-stopped CppParser.ListWorkspaceFiles making the editor freeze
-fixed whitespace tab rendering bug
-guard against infinite recursion on focus change when syncing breakpoints
-fixed overlapping chars rendering bug
-stopped TextEditor::SetLines from extending all lines before replacing
-fixed files sometimes not updating when modified outside of 10x
-fixed whitespace background colour sometimes being incorrect
-fixed bug with tabs overlapping after changing the read-only status
-made buttons only accept left mouse button presses
-fixed hang doing a find-prev from the end of the file for text that doesn't exist
-made unsaved files warning panel resize based on filename length
-fixed message box text layout for multi-line text and long path strings
-stopped 10x locking up if Visual Studio link never returns
-fixed bug where 10x wouldn't be notified of the debugger stopping if the app exited
-fixed Workspace Search word matching
-force re-connection if Visual Studio sync call times out
-show message box if re-connect fails
-fixed VS debugger syncing missing debugger disconnected events
-fixed crash submitting autocomplete past end of line
-fixed function declaration goto-definition not working on function defintions with multiple scopes in their definition eg void A::B::Function()
-fixed files in Additional Include folders not being written to the cache (cause of the long pause at end of cache read)
-fix for Visual Studio debugger syncing crash
-stopped VS Debugger sync from timing out when launching VS
-fixed "start recording" text box not showing after showing a message box
-fixed workspace tree panel not showing on ShowInWorkspaceTree if it is docked in a tabbed panel
-fixed crash updating while parser is reading cache
-fixed showing menu with alt+key not clearing previous menu
-fixed function list box not showing if editing function with no args
-stopped the autocomplete from adding brackets to function calls if they already exist
-fixed bookmarks and breakpoints being moved to 0 or -1 when file changes externally
-clear out all old bookmarks and breakpoints from workspace file
-fixed slowdown after long debugging sessions with the Visual Studio syncing
-stopped the autocomplete showing after typing open bracket for function call
-fixed Workspace Search not updating results until text is changed (now updates on focus)
-stopped output window from being edited with alt-up/down and undo redo
-fixed GotoNextError not working for errors with whitespace at start
-fixed crash building if no file focused
-fixed case of workspace Search filenames for text results
-fixed potential corruption of Search cache file
-fixed bookmarks being carried over to newly opened workspace
-fixed F4 skipping multiple items in Search panel
-fixed clicking in Search panel moving selection down multiple lines
-don't build if SaveAll fails
-fixed scroll bar drag not working if hovering over panel resize edge
-fixed Unreal Rebuild


25/01/2021Version (0.21.0)
New:
-re-write of auto complete filtering and sorting, prioritises local scope, distance from cursor, function scope, members, usage count etc.
-fuzzy matching in autocomplete
-autocomplete now recognises typed words and increases their usage score
-AutoAddFunctionBrackets setting to automatically add the '(' bracket when autocompleting a function (and also ')' if no args) - defaults to true
-AutoCompleteHideLowMatch setting for hiding of low scoring autocomplete results
-ctrl+space expands "more..." autocomplete items
-highlight match text in autocomplete
-auto-size autocomplete list when scrolling
-ctrl+space shows autocomplete even if no text entered
-show function list box after autocompleting function call
-added "Generate Crash Dump" menu item
-added MaxCorecount setting
-automatically generate a crash dump if 10x takes more than 2 minutes to shut down
-escape now closes sub-menus
-find and find & replace history dropdown
-parsing of SharedPtr in UE4
-parsing of UPROPERTY() and mutable variables in UE4
-support for ref-qualified member functions (& and && after function decl)
-parser support for template declarations with sub templates (fixes UE4 UniquePtr)
-support for autocomplete on . operator for classes with overridden -> operator
-skip MS_ALIGN() and GCC_ALIGN() macros (improved UE4 parsing)
-parser support for noexcept
Optimisations:
-total parse time: 16% speedup
-total read parser cache time: 30% speedup
-capped default max core count to CoreCount * 0.375 if system has > 12 cores. Eliminates bad perf on some 32core systems
-optimisations to full parse and parser cache read
-reduced parser allocations for better multi-threading
-improved DefRef hash code distribution
-new class heirachy cache
Bug Fixes:
-fixed open workspace and build progress spinners not showing
-fixed OpenFolder opening the parent folder
-fixed control, shift and alt keys getting stuck on when launching a console sub-process from python
-fixed the function dropdown showing the parent scope name instead of the function
-stopped C++ keywords from going into autocomplete more...
-fixed AltGR key
-put 30 second timeout on getting the project include paths from msbuild
-made msbuild terminate once include paths have been found (can take a long time on some projects)
-fixed shutdown hang
-fixed crash building with no workspace open
-force refresh of Find Reference panel even if it's showing the same symbol when it is opened
-fixed file not updating after reverting
-fixed new line not indenting correctly when file has tabs but setting is set to spaces
-fixed auto-insert braces using wrong tab indent for new line
-fixes to VS debugger integration - disconnect if VS closed, handle error codes and COM retry on failed calls
-double click to select result in FindSymbolPanel
-update file after Perforce RevertIfUnchanged
-fixes to auto-indent
-fixed incorrect font for project context menu
-fixed symbol dropdown hanging around if find references panel closed while dropdown showing
-fixed additional include paths not being submitted when panel closed
-fixed "[vs-debuger] Lost connection" message on opening solution
-fixed virtual functions in find references not working for functions and classes in separate files
-fixed find references not updating if virtual functions added or removed
-fixed find references missing function declarations
-fixed find references not working on function declrations
-fixed typing after indirection (or ctrl+space) showing global autocomplete instaed of indirection autocomplete
-fixed parser thinking that rhs statements with * or & are variable definitions
-fixed Workspace Search not searching modified files
-fixed crash entering rooted path in Workspace search
-fixed EditTextBox dropdown hanging around after panel closed while dropdown showing
-another rewrite of the focus stack to fix bugs unfocusing objects in the middle of the stack
-fixed crash showing context menu while another context menu is visible
-parser fix for indirecting off class constructors
-fixed parser failing the line after a preprocessor line
-fixed parsing of operator() function definitions
-fixed drop down list button not hiding dropdown list
-fixed crash in autocomplete
-fixed focus stack assert closing file
-fixed parser not skipping of preprocessor lines
-fixed autocomplete failing to find function args for functions with default arguments containing brackets
-fixed first global variable in file failing to parse
-fixed autocomplete bug where it would miss variables declared before a previous scope block
-fixed ctrl+space not showing autocomplete for word autocomplete
-fixed copy-paste from multi-cursor selection to a new multi-cursor selection


06/01/2021Version (0.20.0)
New:
-parser support using aliases "using x = <type>"
-'show autocomplete' command (ctrl+space) to manually show the autocomplete dropdown
-autocomplete now hides never-used symbols behind a "more..." option
-sort autocomplete results by locals first, then parent scope, then globals
-added Perforce commands 'Diff', 'Revert' and 'Revert if Unchanged'
-added DiffExe setting for custom Diff apps
-Visual Studio debugging syncing of breakpoints
-Visual Studio debugging now selects correct instance based on open solution
-Visual Studio debugging launches currently selected config/platform
-Find Function panel now sorted by order of functions in file
-Symbol colouring for Find Symbol and FindFunction panels
-symbol colouring in Workspace Search results
-parser support for function with (void) args
-parser support for function with unnamed args
-save and restore clipboard history between sessions
-AutoInsertBraces setting, after typing an open brace inserts a close brace and puts cursor on in scope
-added OpenLastWorkspaceOnStartup setting to open the last workspace on startup
-Find Symbol References now includes all virtual functions from parent and child classes, and function declarations
-Find Symbol and Find Symbol References panels now use text selection colours for highlighted line and text (can be overridden in the colour scheme)
-symbol display names now always contain the parent class/namespace
-'check for update' now shows update panel if update available, and message box if not
-removed namespace column from Find SymbolPanel and added filename(line) column
-Find Symbol panel now uses current word as starting text
-added 'Purchse Subscription' menu item
-moved autocomplete symbol scores into workspace settings file
-improved output and search colours in light colour scheme
-menu link to previous versions website page
Optimisations:
-25% speed up of total parse time
-12% speedup of read parser cache time
-optimised converting of N10XWStringArray to resuce allocations
-made parser line strings use custom allocator
-symbol display names are now constructed on dmand
-optimised DefRef template args to use hybrid static array<2>
Bug Fixes:
-fixed Find Symbol References panel not updating after clearing find text
-fixed bug with 10x workspace files not reading in cache and not updating if new files added
-fixed the width of the Find Symbol References dropdown
-fixed Find Symbol panel not refreshing results when it gets focus
-fixed Find Symbol References dropdown sometimes not showing
-made support parser extensions case insensitive
-fixed shutdown hang
-fixed parser recursion warnings parsing using namespace statements
-fixed comma separated variable definitions from being resolved to other symbols of the same name
-made find symbol panel include macros
-fixed Find Symbol results being shown multiple times
-fixed tab focus focusing hidden objects
-stopped symbol highlighter hightrying to highlight the text you are typing


21/12/2020Version (0.19.0)
New:
-added FindFunction panel for finding a function in the current file
-added filter mode dropdown to find symbol panel ("All Workspaces", "Current Workspace", "Function (current file)"
-parser support for types with && rvalues
-added prev/next panel tab commands (ctrl+page up/down)
-added .10x_settings extension to 10x file types in installer
-rename symbol now checks out files if necessary
-rename now warns if it can't modify a read-only file
-added .usf and .ush to default Workspace.Search ext list setting
-changed VS_VAX brace and bracket colours to (215,215,215)
-re-write of UI focus stack (again)
-re-write of UI layering system
-re-write of 10x active panel tracking
-added UI indicator that key recording is active and log to output window
-changed SelectNextMultiCursor to move the current cursor to the next match
-moved SelectNextMultiCursor to Control+D
-update current highlight when text changed
-removed control+R,R rename key mapping from defaults (comnflicts with new Contorl+R FindFunction)
-moved DuplicateLine to control+shift+D
-moved duplicate panel to alt+shift+D
-stopped text being editable outside of symbol rename section
-Menu now uses object focus stack and closes on select to restore focus to previous item correctly before command triggered
Optimisations:
-sped up parser cache reading by 33%
-optimised string table reading by reserving memory up front
-optimised parser file ref cache reading by using HashMap instead of Map
-reduced allocations in parser Line class by using Hybrid static array
Bug Fixes:
-fixed crash starting debugger
-fixed ... args not parsing anymore
-fixed crash loading project file with file entry that doesn't have an include attirbute
-fixed recent files not showing in Windows taskbar right click menu
-fixed bug with rename symbol that it wasn't updating closed files
-fixed bugs tab-selecting controls and drop-down focus
-fixed .10x_workspace files not opening as workspaces when opened from command line arg
-fixed tab-selecting controls in find symbol panel
-stopped symbol renamer from cancelling if you don't type fast enough(?!) should fix rare symbol rename crash as well
-fixed general bugs in drop-down list focusing and unfocusing
-fixed Workspace Search not reading extension settings
-fixed symbol renamer getting stuck on if started twice
-fixed text selection colour outside of rename section
-fixed allocator bug causing twice as much memory to be allocated for parser hash maps
-fixed symbol renamer not starting on first char of word
-fixed crash bug selecting recent workspace that no longer exists, clearing message box and then selecting menu again
-disabled clipboard cut and paste if TextEditor is read-only
-fixed find Sel button not being selectable in tab select
-fixed control+up/down changing selected item in Search panel


10/12/2020Version (0.18.0)
New:
-made bracket highlighting also check prev char for brace/bracket
-added ExtendEmptyLines setting
-added MapScrollBarWidth setting
-made SelectAll a key-mappable command with menu item
-added SelectCurrentScope command (control+shift+space)
-added SelectCurrentBracketScope (control+shift+M)
-added settings and scripts to Search panel files
-put values that match case at top of auto-complete list
-parser now supports defines (goto-def, auto-complete etc, not full preprocessor yet)
-parser support for unnamed enums
-unions are now coloured as classes/structs
-tab indenting with multi-cursor select
-added shift-tab without selection to delete preceding tab
-toggle breakpoint command (F9)
-added ClearAllBreakpoints command
-added Prev/Next breakpoint commands
-moved 10x menu items to new Help menu and added links to website and bug database
-added List Commands menu item
-update menu items shortcuts after version update
-added AddBreakpoint and RemoveBreakpoint python functions
-added AddBreakpointAddedFunction and AddBreakpointRemovedFunction python functions
-added RemoveAllBreakpoints python function
-added descriptions to all python functions
-added GetWorkspaceExePath() python function
-added LocalSettings.10x_settings file, local settings store the shared settings path, license and perforce settings
-added PerforceOpenForEdit command. Also added it to the main menu and file tab menu
-if a file failed to check out in perforce try checking out again on save
-support for {} initialisers in variable definitions, eg int value {};
-added local settings to sln workspaces, includes debug exe, args, working dir and addition include paths settings
-improved text editor context menu colours
-refresh parser when file extension is changes in save-as
-added context menu for sln workpace tree node, includes Build, Rebuild, Copy Path, Open Folder and Local Settings
-10x workspace additional includes now supports \* for recursive
-parser support for extern "C" scopes
-parser support for preprocessor lines in enums
-dumps now write MiniDumpWithData. Slightly bigger but they are zipped by 10x
-typing an open bracket/brace with selection brackets the selection
-added BracketSelection setting (defaults to true)
-made arrow keys cancel multi-cursor drag rect select
-made all multi-cursors paste the same value if a single string has been copied to the clipboard
-stopped goto prev/next error from including warnings
-can now map mouse prev/next buttons, mapped to prev/next location by default
-support for member variables declared as multiple comma separated values, eg. int m_Value1, m_Value2;
-support for goto-def and auto-complete for class statics if class is typedef'd
-added .md to Search ext list
-fixed build cancelling, now works on UE4
Bug Fixes:
-fixed multi-cursor rect-select rendering bug
-stopped parser from trying to parse sln files ever opened
-fixed bug clearing all bookmarks in closed files
-fixed text clipping bug in perforce error message box
-fixed file getting re-checked out after reverting the file in perforce
-fixed crash resizing panels to zero
-fixed Workspace Search crash for searches starting with *
-fixed hang in text editor regex find using *
-fixed Search highlighting being wrong for lines with whitespace
-fixed bug alt-clicking without dragging, then moving cursor, then using ctrl+alt_shift+arrow to drag select rect. Selection would start from the alt-click position
-fixed txt and shader files not showing in workspace
-fixed types in strings being coloured by the parser
-fixed bookmark and breakpoint rendering if line contains both bookmarka nd breakpoint, now shows both
-fixed hang exiting 10x
-fixed "fatal error" lines not being picked up in build output
-fixed incorrect text background colour in find references panel
-fixed hang in build
-stopped 10x crashing if shutdown during build
-fixed 10x potentially missing last line of build output
-ensure that 10x output window is in focus when showing command list
-fixed paths showing as lowercase in find references panel for external files not in solution
-fixed functon declration files showing up as lowercase in find rerferences panel
-removed "module" from C++ keywords
-fixed bug where modified files would not be detected for newly opened files until 10x lost and re-gained focus
-fixed GotoBuildError for errors with () in the path
-fixed crash typing template< at end of file
-fixed enter not submitting Find Symbols panel when preview text editor has focus
-fixed potential crash submitting Find Symbols panel with no results
-fixed Build All command
-fixed parser incorrectly finding non-scoped member functions if the definition is in the current scope
-fixed bugs with multi-cursor drag rect select sometimes starting from wrong position
-clear prev location stack after opening workspace
-fixed bug where it would say that a new unsaved file had been modified outside of 10x
-stopped function args list box from disappearing while cursor is still within the function ()
-stopped bracket selection from inserting open.close brackets if just a '(' char is selected
-fixed line numbers being off by 1 in Symbol References panel
-fixed crash building workspace before it has finished async loading
-fixed build getting stuck and not working again if there was an error before msbuild launched
-fixed rename symbol not working if cursor at end of a word
-fixed class parsing with templated parent with multiple template args, eg. class MyClass : public MyBase1, public MyBase2
-pointed Workspace Search help to new 10x documentation page
-fixed incorrect text background colours after undo
-fixed symbol rename not updating all values on delete and backspace
-fixed Search file type text box overlapping checkboxes when resizing in DPI scaled mode
-made control+shift+tab (ShowSwitchPanelPanelPrevItem) bring up recent files panel if not already showing


22/11/2020Version (0.17.0)
New:
-remember docked panel sizes when showing/hiding
-parser support for unnamed structs and unions
-parser support for variables declared at end of struct/union definition
-parser support for final keyword on classes
-typedefs now coloured the same as whatever the typedef is defined to
-support for typename keyword in parser
-added duplicate line command (ctrl+d)
-added insert line command (ctrl+enter)
-name auto-update installer file uniquely for each version to avoid file locks
-support for raw multi-line string literals R"(...)"
-parser support for enums with ": <type>"
-allow key bindings to override alt-key menu shortcuts (eg alt+f)
-made auto-complete show results from all namespaces
-made Find Symbol panel include function declarations in results
-added Parser.AutoFixIndirection setting
-menu items for viewing and changing text encodings and BOMs
-support for big and little endian for UTF-16 files
-changed default key for SelectNextMultiCursor to ctrl-alt-shift-D
-made cursors not line wrap for multi-cursors from rectangular select
-pasting of rectangular region now pastes as original region from cursor point
-added clipboard per multi-cursor
Optimisations:
-reduced startup time be around 100ms
-font cache loading optimisation
-optimised state file IO
Bug Fixes:
-fixed crash renaming symbol
-stopped hidden panels (such as Search panel) from showing up in the (ctrl+tab) switch file panel
-fixed folder workspaces failing to open from recent workspaces menu
-fixed potential crash bug closing a workspace while the async open is in progress
-fixed failure to open file in goto next error command if file has ../ back directories
-fixed undo for block comment command using line comments
-fixed text backgrond colour sometimes being wrong after undo
-fixed crash drag-selecting words using ctrl+mouse click/drag
-fixed filenames being lowercase when opened in certain ways, (eg from symbol renamer)
-fixed files not opening in Search panel when entering absolute paths
-fixed crash duplicating a panel with an open text edit undo group
-fixed bug where the source text editor in the Find Symbol panel would sometimes stop updating
-fixed crash in Find Symbol panel (scrolling past top of file)
-fixed rare crash in Workspace Search
-fixed crash closing file, changing it's read-only flag, and then re-opening file
-fixed toggle comment bug with block comments
-fixed mouse double click drag word select
-fixed bug where a BOM header would be automatically added if a file has a non-ASCII character
-fixed bug in utf-16 encoding read/write
-fixed crash converting invalid UTF-8 text files
-fixed wrong file getting focus after exiting the menu
-fixed copied lines being out of order for rectangular selected region


13/11/2020Version (0.16.0)
New:
-sort auto-complete list by most freuqently used values
-made auto-complete list filtering async
-read-only tab button to show and toggle file read only status (shows red if a read-only file is modified)
-made perforce check-out async and show message box if failed
-added ToggleComment command (ctrl+shift+/). Handles line and block comments
-moved search window from alt-a to control-shift-s
-compile and execute python scripts on save
-add python scripts to Find-File
-added settings files to Find-File panel
-write out additional includes to parser cache
-key-mappings for rectangular multi-cursor selection (alt+control+shift+arrow)
-moved multi-cursor select next menu item to new multi-cursor sub menu in edit menu
-support for class and struct prefix on variable types
-moved DuplicatePanelLeft/Right to alt+<>
-added NULL to parser C++ keywords
-detect settings files and script changes on returning focus
-made Multi-curosor select next use the current selection if there is one
-added horizontal mouse wheel support for scrolling left/right
-parser support for class __declspec() statements
-parser support for (named) unions
-support for drag-reordering of tabs
-shift-tab to unindent current line
Optimisations:
-optimisation to parser and removal of recursive warnings parsing using namespaces
Bug Fixes:
-fixed parser crash deleting and re-adding namespaces
-stopped it doing a full def parse if any files have changed since the cache was written
-fixed pop-up float panels (such as Find-File and Search) growing each time they are opened
-fixed def_index out of bounds parser crash
-stopped alt key shortcuts in find and find-replace panel from triggering 10x commands bound to those keys (eg, alt-a in find-replace triggering search window)
-fixed crash doing find or find/replace with rectangular selection
-fixed typo in Workspace Search setting (Search.SerchCurrentWord)
-fixed extending of all lines in selected range
-fixed multi-cursor select next for words at end of line
-fixed crash control + drag-selecting words
-fixed progress bar not going away in notepad mode
-close crash dump file handle so 10x doesn't hold on to a lock on the dump file
-stopped it unnecessarily re-parsing all files that have been modified since the first cache write
-fixed bug where the syntax highlighting would fail for modified files on iniital read
-fixed potential crash in ParseThreadUtils::ParseType
-fixed parsing of template types with namespace or class scope (eg std::vector<int>)
-fixes to file modification checking when returning focus


04/11/2020Version (0.15.5)
New:
-added Additional Includes to 10x workspace properties
-added Parser.AdditionalIncludePaths setting for global parser include paths
-made source code panels in Find Symbol and Find Symbol References panels resizable
-check out workspace files when saving
-added error message boxes if failed to write workspace or create nodes
-allow creating new folders inside folders
-properties panels tree nodes
-added Virtual folder option
-allow adding of explicit folders and files to sync'd folders
-allow adding of referenced workspaces to referenced workspaces
-show full path in new file/folder panels
-improvements to light colour scheme (tab context menu, find symbol, find references, workspace search)
-made button colours consistent across colour schemes and special cased light colour scheme button colours
-remember the panel grid position of files when opening a file
-made auto-complete include items from other files
-made auto-complete work in global scope
-made auto-complete work after 1 character instead of 2
-made auto-complete check using namespaces
-restore files back to previous positions after changing column count
-made worksapce background colour match UI colour
-new VS-Classic and VA-VAX colour schemes
-Improved parsing for enums (fixed bug parsing enum as it is typed, and auto complete for old C-style enums
Optimisations:
-optimisations to auto-complete when there are a large number of items
-fixed slowdown on main thread during full workspace parse (VMem InsertPageInFreeList fix)
Bug Fixes:
-made parser ignore preprocessor lines (fixes a lot of parsing bugs)
-general bug fixes to 10x workspaces
-fixes relative paths for sub folders and referenced workspaces
-remove child nodes when sync folder disabled
-renamed Add File/Folder mennu items to "Add Existing"
-renamed Refresh menu item to Resync
-fixed map scroll bar rendering bug when resizing the window to be smaller
-improved close button colouring on float panels
-fixed async bugs in parser Database, with Parsing, writing cache and updating files
-fixed mouse cursor not being reset from the text bar after closing edit text box
-reduced float panel title bar height when docked so that it aligned with tabbed panels
-refresh tree node layout when child nodes are removed
-fixed find symbol references panel not showing/focusing if no text editor focused
-fixed text background colours and hover/select line rendering in datagrid
-fixed parser not recognising variable declarations using built in C++ and MSVC types
-fixed Search panel text match colour not updating after colour scheme change
-fixed float panel title text colour being wrong in light colour scheme
-fixed Find File not returning any results
-fixed config and platform settings not being preserved on startup
-fixed broken paste history
-fixed crash opening file in notepad mode
-fixed debug command sometimes not finding existing VS process
-removed extra title bar from Find Synbol Referenced Panel
-fixed selection and hover line rendering in datagrid
-fixed colouring of tabbed panel context menus
-fixed filenames showing as lowercase in find symbol panels
-fixed clearing of multi-corsors not updating the text fore colour for the previously selected text


22/10/2020Version (0.14.0)
New:
-10x workspaces
-Open folder
-Run and Debug commands for sln workspaces (launches VS for debug)
-added "open", "compile", "copy path" and "open folder" to workspace tree node context menu
-added ... to all menu items that open a new panel
-added code file extensions for (almost) all code file types to open file dialog
-drag-drop folder from explorer to open folder workspace
-improved timings on drag-drop panel docking and removed flicker of dock target
Optimisations:
-eliminated potential pause updating output panel text
Bug Fixes:
-fixed config and platform dropdowns not remembering setting on restart
-fixed bug with file modified times not being initialised correctly on workspace load
-fixed bug saving using Save-As and then re-opening the original file, it would open the wrong file
-fixed wrong font in workspace tree
-fixed parser crash bug where the parser cache could get out of sync, cache now locked while writing
-set parser threads to be below normal prioerity to try and avoid locking up the system
-fixed EditTextBox not scrolling horizontally
-fixed selection alignment issues in EditTextBox
-made it easier to check checkboxes, now accepts mouse click on label
-fixed drop down list box dropdown focus problems
-fixed tree node sizes not updating on resize
-fixed tree scroll bar not updating on startup
-clamp context menus position to screen size
-fixed bug with Tree not refreshing properly after collapsing node
-fixed crash selecting item in find symbol references panel


30/09/2020Version (0.13.0)
New:
-goto-def for includes now works with Windows/SDK includes
-a number of key improvements to the parser
-parser support for class templates
-parser support for square bracket indexers
-parser support for template return types in templated class functions
-parser support for smart pointer indirection
-parser support for unnamed function args
-parser support for square bracket indirection autocomplete eg array[0]->
-parser support for templated function return types
-add default key mapping ctrl+r, ctrl+r for symbol rename
-parser support for typedef'd operator[] return type
-set min size for scroll bars and make it easier to drag them when small (useful for very large files)
Bug Fixes:
-show message box if D3D fails to initialise
-fixed text back colour being wrong click-deselecting menu item
-fixed tab close button being visible on blank tab after selecting Close All from the ... menu when no documents are open
-fixed crash in undo symbol rename
-fixed long stall opening large files
-fixed rendering of lines > 16383 chars
-fixed Perforce throwing an exception and causing a crash dump if it can't connect to the server
-removed duplicate files in find file panel for files referenced by multiple projects
-fixed floating panels such as the unsaved files warning getting smaller by 1 pixel each time they are shown
-fixed parser bug where it wouldn't parse functions with multiple args
-increased g_MaxKeyComboInterval to 500
-fixed find file panel clipping problem on last line
-fixed key combos (eg ctrl+s, ctrl+s)
-fixed drag-select-rect scrolling
-fixed text background colour wrong after deselecting multi-cursor select
-fixed "Read Workspace" spinning not being removed in notepad mode
-improved TextEditor scroll into view
-fixed pause due to text-highlighting for very large files
-fixed potential memory overwrite when saving key mappings file
-stopped scroll into view from using the scroll margins when typing text
-fixed auto-complete not working for function args on first line of function
-made spinner anim spin clockwise
-stopped scroll bars showing up/down arrows if bar already at top/bottom
-removed 2 separator lines from beginning of tools menu


22/09/2020Version (0.12.0)
New:
-goto definition for #include
-brace/bracket highlighting
-rectangular selection dragging with multi-cursor support
-parser support for comma separated variable declarations (int a, b, c;)
-support for cut/copy/paste per multi-cursor
-added option to installer to not add the explorer shortcuts
-added RestoreRecentlyClosedFile command (ctrl+shift+T)
-added setting to make the switch file panel switch between files in the current panel
-shift+enter in Find panel to go to previous match
-shift+enter to go to previous match in find/replace panel
-enter in find/replace panel goes to prev/next match if find text box focused, and replaces if replace text box focused
-made python interface thread safe, or throws error on functions that are not thread safe
-added AddPreFileSaveFunction and AddPostFileSaveFunction python functions
-added ClearBuildOutput python function
-added CheckForModifiedFiles python function
-added SetStatusBarText python function
-added LogToBuildOutput python function
-added ShowOutput python function
-added ShowBuildOutput python function
-added ShowProjectInWorkspaceTree python function to show the specified project in the workspace tree
-added AddProjectBuildFunction python function to add a callback on project build
-added SetLine python function
-added GetFileText python function
-added IsFileReadOnly python function
-added GetCurrentFileLineCount python function
-added SetFileText python function
-added SaveAll python function
Optimisations:
-general optimisations for opening large files
-disabled backups and map scroll bars on files > 128MB to speed up editing
-shutdown optimisations
-made symbol highlighter async to eliminate stalls when editing while parsing
-fixed stall pressing app close button
Bug Fixes:
-made find/replace always select the Find text when opened and made it remember the last find
-made find/replace select the text box text when moving focus between text boxes
-fixed [python] prefix being added mid line in python logging
-stopped find/replace jumping to the next occurance of the current word when opened
-fixed InstallFolder and InstallIconsOnDesktop installer variables not being preserved, which also caused a rare hang in the installer
-update menu item shortcuts after changing key bindings (previously required restart)
-fixed bug in KeyMappings::HandleKeyCode if key binding removed on saving key bindings
-fixed filename popup sometimes not disappearing if mouse moved outside of main window
-fixed crash opening large files, now copes with up to 2GB files
-fixed crash in Search panel auto-completing full paths
-fixed hang in regex find
-fixed toggle source/header finding wrong file for matching files with different extensions (eg. .cpp, .c)
-fixed filename hover box not disappearing when closing a file with middle mouse button
-fixed crash dragging panel out of last column that is split vertically with column count set to auto
-fixed save not preserving line endings (\r\n vs. \n)
-fixed bug in Search panel that could cause it to miss some files in a case sensitive search (files and norm files mismatch assert)
-fixed text background colour for multi-cursors selecting over highlighted text
-fixed symbol highlight flickering when selecting line
-fixed text wrapping in message box for long paths
-fixed bug selecting text with shift click when start of selection scrolled out of view
-fixed flicker of selected symbol when selecting text
-fixed "Show In Workspace Tree" sometimes failing
-fixed Tree ScrollNodeIntoView
-fixed Switch File Panel scroll bug after lots of files deleted
-fixed scroll bar not being draggable if behind scroll step arrow button
-fixed current tab disappearing after closing a lot of files in the current panel
-stopped shift click select resetting the selection start position
-find current word (ctrl+F3) now selects current word if at start of word
-fixed find/replace not replacing last occurance if it is the end text in the file
-fixed Search panel returning results twice for currently open files
-fixed delete line not working on last line of file
-fixed delete line not working if only one line in file
-stopped it writing out the parser cache each time if it can't find a workspace file
-made parser progress bar show for first parse after reading cache
-stopped it exiting in notepad mode when discarding changes on an unnamed file
-fixed wrong background colours after undo of selection deletion
-fixed crash loading up workspace settings for panel that 10x was unable to create
-fixed find/replace replacing with last find text instead of replace text shown
-made python GetLine not crash if index out of bounds
-fixed right-click not setting cursor pos in some circumstances
-only try and highlight symbol if it looks like a keyword


04/09/2020Version (0.11.2)
New:
-support for multiple progress bars and spinners (hover over progress bar to see all of them)
-new Search panel UI, now uses datagrid with columns
-added Search.TextMatch colour setting
-added Search.HighlightLineColour colour setting
-added spinner for tasks that don't have a progress bar (such as building)
-removed FastScroll
-moved Search settings into main settings file (Search.PathMode, Search.ExcludeList, Search.MaxFileSize, Search.SerchCurrentWord, Search.SpacesAsWildcardsForFindFile, Search.MaxResults, Search.SortOpenFilesByOpenFrequency, Search.Extensions
-moved Search settings to appdata State folder and Search cache to appdata cache folder
-added FolderAndFile path mode for search results (and set to default)
-added progress bar for Search indexing
-removed leading whitespace from Search results
-colouring for errors and warnings in 10x output panel
-prefix all 10x output with [10x], [parser], [python] etc
-show message box if trying to open a non-existant workspace
-made parsing of 'using namespace' support multi-namespaces eg "using namespace Name1::Name2"
Optimisations:
-lots of optimisations to the parser database, both CPU and memory
-optimised reading the parser cache
Bug Fixes:
-removed custom key repeat settings, now uses the Windows key repeat, fixed all stuck key repeat bugs
-can now map the equals and F12 keys
-fixed bug parsing // comments in /* blocks (could miss the end */)
-fixed file names being lowercase in Search results
-fixed multi-row select in Search results
-fixed Search File Types text box setting alignment
-fixed selection being reset when shift-clicking section and moving mouse
-fixed bug in installer which caused the "invalid install" error on startup
-fixed workspace tree nodes clipping
-fixed crash scrolling through symbols in FindSymbolPanel and moving mouse over datagrid
-fixed crash changing column count
-fixed Rebuild Project command
-fixed file duplication bug where making changes in a duplicate panel would cause file to go out of sync with file on disk
-fixed bug in SymbolRenamer, symbols in other open files wouldn't get updated
-clarified error message for source and workspace files that don't exist
-fixed exponential recursion of parsing multiple unfound using namespace lines
-reduced Token length overflow causing some symbols to not be parsed correctly
-fixed bug causing it to show registration panel after 1 day
-stopped it showing message box about not finding default workspace after update+restart


19/08/2020Version (0.10.9)
New:
-registration and subscription management, and added 'support 10x' button link
-prev/next result for Search results and build errors (F4, Shift F4)
-show current build errors/warning in status bar
-added key mappings for duplicate panel left/right
-general improvements to word and symbol highlighting
-renamed HighlightCurrentWord to HighlightSelectedWord and added new setting HighlightCurrentWord
-If HighlightCurrentWord and HighlightSelectedWord are both enabled and finding the symbol fails highlight current word
-added SettingsPath setting to settings
-put most frequently opened files at the top of the FindFile panel
-fixed text-find not working in output window
Bug Fixes:
-fixed crash parsing boost header, caused by line overflowing packed index in Token
-fixed loading projects with absolute instead of relative paths
-open file in previously focused panel before Search panel was focused
-workspace now remembers docked search panel
-fixed bug with output window text editors not detecting focus change
-fixed find word for lines with multiple matches
-focus edit text box when docked search panel gets focus
-escape in docked search panel focuses prev panel
-move last pasted text to top of past history list
-fixed Search not returning any results for open files not in the workspace
-fixed crashes with certain operations if no text editor focused
-fixes to UI focus stack
-OnFindSymbolReferencedPanelCancelled now restore focus correctly
-fixed bookmarks being moved to line -1 when closing workspace
-remove invalid bookmarks opening workspace
-fixed toggle source/header finding wrong file in workspace when workspace has multiple files with the same name
-fixed main menu returning focus to wrong panel when closing
-improved message box text formatting
-fixed crash getting next word if corsor past end of line
-made message box text colour match main UI
-fixed Find in Workspace crash
-fixed null TextEditor crash switching panels
-fixed TextFinder range out of range crash
-fixed toggle source/header again
-fixed crash opening find symbol references with alt-shift-f
-fixed clipping of tree nodes
-fixed message boxes not getting focus and detecting key presses
-word-wrap on message box paths
-fixed text clipping bug for files with a lot of text
-fixed warning about UI.Scale auto setting
-fixed tree node size bug (making it difficult to click on the node)
-fixed text editors sometimes being scrolled horizintally when opening workspace
-fixed crash loading workspace with undocked text editor
-fixed search results not updating when case/word checkbox changes
-fixed problem dragging main window by clicking to right of tools menu item
-fixed wrong tab being activated when closing file or moving panels around
-fixed cursor position being updated in duplicate text editor panels
-fixed bug maximising main window with double click
-fixed LiberationSans-Regular.ttf not being included in the data file


31/07/2020Version (0.9.0)
-bookmarks
-paste history list box (ctrl+shift+v)
-find panel option to find in selection
-keep showing find highlights even after find panel closed (remove with escape)
-general fixes to FindPanel and FindReplacePanel
-symbol references highlighter - highlights all references of the current symbol under the cursor
-show full path of file when hovering over tab
-highlight all occurances of the currently selected word
-added duplicate panel, duplicate left and duplicate right commands, and to file context menus
-improved line indenting
-check for updates every hour and "check for updates" menu item
-improvements to Monokai colour scheme
-general imrpvements to backup system
-added GetBuildConfig and GetBuildPlatform to python interface
-double-click mouse drag and ctrl-mouse drag to select words
-improved file modified detection (threaded, and check all files in solution)
-check for modified files when build completes
-shift-del to cut line
-ctrl-shift-L to delete line
-added CloseAllOther and CloseAll options to the tab context menu
-added SetBildConfig, SetBuildPlatform, GetActiveProject, SetActiveProject python commands
-fixed crash loading workspace with docked find symbol panel
-when closing file focus next file in tabbed panel (not last focused panel)
-fixed path completion opening files by path in Search panel
-find text highlighter now supports, case, word and regex
-added settings options to disable auto indent and formatting
-fixed goto prev/next location not working in output window
-fix for regex search only finding first match in line
-files now always opened with the correct path case
-stopped TextEditor scanning entire text file on every key press
-fixed building single file for files in sub-folders
-fixed crash clicking in output window
-fixed -> being corrected to . on unknown clas types (eg std::shared_ptr)
-fixed currently open unnamed modified files appearing in new 10x instance
-fixed goto prev/next location for output panel tabs
-added alt-F4 mapping to goto next error
-fixed ctrl+F3 not selecting word if only match in file
-fixed workspace tree not being populated if hidden when solution loads
-fixes to file backup after renaming file (caused crash on restart)
-fixed line numbers when adding or removing lines
-keep word entire selected when word drag selecting to the left
-fixed crash drag-selecting words past end of file
-moved example python script to alt-H
-fixed focused button borders


09/07/2020Version (0.8.0)
-fixes and improvements to drag-drop docking and panel grid
-find and find-replace panels now support case matching, word matching and regular expression matching
-made find panels use main UI colouring
-added UI Highlight colour to colour schemes (currently used for find panel selections)
-fixed text editor horizontal scroll bar not always updating
-fixed default colour schemes not being installed
-added DragDropDockDelay setting to allow changing the delay before the drag-drop target rect is displayed
-fixes to moving panels in panel grid (caused by recent drag-drop docking changes)
-made all exclusive pop-up panels use FloatPanel allowing moving and resizing of the panel
-show path to crash dump in crash message box
-fixed drop-down menu item arrow image scaling
-fixed drop down menus not using the main UI font
-clamp dragged panel positions to window so that they don't get lost
-fixed clicking in selected region not having any effect
-fixed cursor switching to resize cursor while dragging panels
-changed the update button to a menu item
-unsaved files warning panel now lists all unsaved files
-added tab-focus for buttons. Can now focus buttons and move between buttons using tab and arrow keys on all panels
-improved colouring of buttons
-fixed backup/restore for unnamed files
-fixed restored files not appearing in the switch file panel
-find and find.replace panel now share state, current file value, find flags etc.
-fixed wrong panel closing when clicking on the close tab button if not in focus
-fixed backup files not being cleared after closing modified file with unsaved changes
-fixed find panels not updating layout if main window resized
-fixed replace panel infinite loop on replace-all
-fixed menu item text having wrong back-colour
-fixed double-click not sending second single click
-fixed save-as showing with with / instead of \
-fixed menu item highlight colour


23/06/2020Version (0.7.1)
-drag-drop docking of all panels, including pop-up panels
-line numbers
-build output error and warning colouring
-can now click with shift held to select region
-fixed control+delete to delete to end of word
-cancelling of build (ctrl+break)
-added support for mapping isert and pause/break keys
-added insert+control key mapping to copy
-stopped projects in folders also being added to root of workspace tree
-added ctrl+shift+z key mapping for redo
-improved layout of workspace tree nodes
-fixed key mappings not updating until restart
-added setting for margin width and colour
-goto prev\next location and switch panel now includes output panel
-switch panel now includes output panel
-sort all nodes in workspace tree
-add unnamed file to recent files when saved
-improvements to colour schemes
-changed crash dump name format so that it sorts correctly
-show red border in Find panel to indicate no matches found
-fixes to UI rendering (off by 1 pixels for panels with borders)
-fixed close-all context menu item in tabbed panel


29/05/2020Version (0.6.1)
-fixed message box not showing if it failed to open a file from explorer
-fixed 'about' 10x dropdown menu diappearing after a few seconds
-re-open opened files after updating if no workspace opened
-fixed bug handling build output
-fixed hang on shutdown. Bug would also have stopped the sln build from working for some people
-fixed search not finding text with space at end of line
-fixed map scroll bar rendering issues when window is resized
-fixed pre-scaled DPI images frmo being resized by 1 pixel
-made settings use default font if no font specified
-fixed crash closing empty column filler panel
-made workspace tree context menu Rebuild menu item rebuild instead of build
-added move line up/down command (mapped to ctrl-shift-up/down)
-fixed telemetry crash dump counting
-fixed 10x_notepad.exe not adding new file on startup
-made UI scale setting default to 'auto' if no scale specified
-fixed warning about invalid UI scales
-fixed crash resizing workspace tree to zero pixels
-fixed resizing of columns outside of panel grid area
-fixed text editor horizontal scroll bar not updating when text is appended
-added ShowInWorkspaceTree command (found in file context menu)
-fixed being able to resize columns through pop-up panels
-fixed key repeat bug when caps-lock key is pressed
-new monokai colour scheme
-fixed "Close All" in tabbed panel
-stopped it showing bar mouse cursor in config dropdown and improved selected item visibility
-added ctrl-W and ctrl-F4 key mappings to close current file
-made CloseFile command work for output panel
-added settings for default columns for file types
-support for hex colour values in colour schemes
-added "C++.Member Function" colour scheme setting
-added "C++.Type" colour scheme setting
-added microsoft standard c-runtime types to parser
-colour scheme colouring for member function declarations
-fixed workspace layout not being saved
-improved finding of vcvars bat file (now uses vswhere.exe)
-fixed long stall closing a workspace
-fix to sub-pixel rendering
-changed default UI font to "LiberationSans-Regular" because it works really well with freetype sub=pixel rendering. Also, changed gamma back to 1.8 now that sub-pixel rendering is working properly


20/05/2020Version (0.5.0)
-more Alt-Gr key bug fixes
-fixed broken Alt-Arrow keys for changing/moving panels
-cpp/header toggleing now supports more C++ file extensions
-fixed broken text background colour in text editor after undo/redo
-fixed Windows task bar title not updating after saving an unnamed file
-fixed auto-complete in Search panel when entering a file path
-refactor of .sln workspace code ready for custom workspaces
-support for more C++ extension types for icons in workspace tree
-added DisablePresentWhenIdle. Setting this to false fixes the low mouse refresh rate with G-Sync
-fixed crash if it fails to connect to a perforce database and added output in log reason giving reason
-fixed bug where closing a file, modifying the file outside of 10x and re-opening the file would miss the modification and show the original contents
-added telemetry
-threaded SHAddToRecentDocs to save 30ms opening a file
-added option to disable putting icon on desktop in installer
-Edit TextBox improvements, undo, select prev/next word, ctrl-delete word


08/05/2020Version (0.4.0)
-fixed "save modified files" dialog not showing when shutting down
-fixed crash if no active project set
-fixed problems with menu and focus change
-fixed issues with Alt-Gr
-added error message if building with no active project
-fixed default active project not being set for some solutions
-fixed problem restoring file from backup file
-fixed editor selection being cleared on right click
-fixed bug with key repeat sometimes getting stuck
-fixed find panel crash when switching windows
-TaskManager re-write, reduces number of threads created. Improves startup time on machines with a lot of cores
-fixed y/n dialog keypresses typing char in text editor
-fixed crash reading empty settings file
-changed search default to to Alt-S
-startup optimisation: threaded perforce connect
-fixed crash playing back a key sequence while recording a key sequence
-optimisation opening large files with chars from extended char set


01/05/2020Version (0.3.11)
-added ctrl-delete and ctrl-backspace for deleting word
-keyboard mavigation for menu
-support for Win7
-fixed render target resizing issues when primary display is lower-res than secondary display
-fixed restored window getting smaller on each restart when opening on secondary display that is lower-res than primary display
-fixed crash maximising on secondary display when it is to the left of the main display
-moved window state (pos, size, maximised) from settings file to state file
-added message box on crash
-changed search shortcut key from alt-F to alt-A so that it doesn't clash with menu shortcut
-fixed ctrl-alt-click for multi-cursor
-fixed crash deleting with multi-cursors
-made switch-file panel loop around
-made ctrl-F highlight current find text if find text panel already visible


24/04/2020Version (0.2.0)
-async loading of solution workspaces and creation of the workspace tree (removes UI pause when opening large solutions)
-support for docking workspace tree on the left (see WorkspaceExplorerDockMode in settings)
-resizing of workspace tree panel
-middle click on tab to close file
-general optimisations to solution loading
-fixed reading of files encoded in Windows-1252 ANSI
-fixed displaying of Windows-1252 ANSI chars in build output
-fixed unicode chars not appearing until the file is modified when DPI scaling enabled
-support for building projects with . in their name
-support for building projects in sub folders
-fix for intermettant parser crash on Startup of some projects
-fixed crash switching away from files that have the find window open
-installer now registered file C++ associations correctly
-fixed recent files jump list (right click in icon in task bar)
-fixed crash closing workspace if there is no active file
-added more C++ extensions for parser to recognise
-added (all files *.*) filter to open file dialog
-added key repeat delay settings (see InitialKeyRepeatDelay and KeyRepeatDelay in settings)
-changed default close file shortcut to Control+F4
-added setting for the mouse wheel scroll step (see MouseWheelScrollStep in settings)
-changed default mouse whell scroll step to 3 lines
-added mouse double click speed to settings (see MouseDoubleClickTime in settings)
-changes default mouse double click time to 500ms
-disabled pasting into output window
-fixed Windows 'bling' sound when alt key is pressed
-clear build output when closing workspace
-added extensions to the list of extensions recognised by the workspace tree
-improvements and fixes to async map scroll bar rendering
-pool system to limit number of map scroll bars in memory
-fixed mouse showing bar cursor to right of scroll bar
-stopped map scroll bar flicker when resuming from lost device
-made 10x_notepad open .sln files as text files
-double click to expand/collapse workspace tree nodes
-fixed tab text disappearing after changing DPI in settings
-fixed tab text in output panel not being DPI scaled
-changed default font gamma to 2.4
-fixed .10x_settings files opening in 10x when right clicking in explorer to open with 10x_notepad
-fixed open and cancel buttons not working in Find Symbol panel
-made open file dialog add .txt if no extension specified
-fixed pasting of text and opening of files with \n instead of \r\n
-fixed rare crash switch away from and back to 10x
-fixed rare crash in find symbol panel (find while database switch in progress)
-optimisations to find symbol panel
-added setting to disable goto-definition with control+click (see ControlClickGotoDefinition in settings)
-remember active project on restart
-new icon


08/04/2020Version (0.1.11)
-Fixed crash if it can't find the font file
-Fixed rendering problem is windows taskbar docked to the side of screen
-Fixed window dropshadow not rendering when resizing window
-Added appdata/Local/Microsoft/Windows/Fonts to the font folder paths
-Added full crash dump setting
-Removed file associations from installer
-Improved UI font rendering. Changed default UI font to Calibri light, size to 10 and gamma to 1.8
-Fixed crash on startup caused by windows locale setting that causes date to parse differently
-Log build command to output window
-Fixed crash building caused by extended-ansi chars in build output
-Added .cc file parser extension list
-Support solution paths and configs with spaces
-Fixed build using wrong solution name when switching solutions
-Added context menu to project nodes for "build", "rebuild" and "set active project"
-Made active project node more visible


06/04/2020Version (0.1.0)
-10x Beta Launch