Change Log

10x Change Log


22/10/2020Version (0.14.0)
Features:
-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
Bugs:
-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)
Features:
-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)
Bugs:
-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)
Features:
-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
Bugs:
-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)
Features:
-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
Bugs:
-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)
Features:
-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
Bugs:
-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