📄 changes.html
字号:
<p class="body"><b>Fix: Search Forward for Selection</b> command would give an error if you used the command when white-space was selected.</p>
<p class="body"><b>Fix: Preferences:Typing</b> the "After pasting select ..." setting was not being saved in the configuration file.</p>
<p class="body"><b>Fix: C/C++ #if statements</b> where sometimes evaluated incorrectly.</p>
<p class="body"><b>Fix: C/C++ Edit Condition - Scan Files</b> would not update the condition list correctly. Sometimes it had no effect. (New values were entered into the list, but a bug caused the new entries to be ignored.)</p>
<p class="body"><b>Fix: C/C++ Strings - </b>long strings (such as L"text") that spanned more than 1 line were not parsed correctly.</p>
<p class="body"><b>Fix: 'Parse too Complex' - </b>several situations were fixed.</p>
<p class="body"><b>Fix: C++ conversion operator </b>were not parsed correctly. These are also known as "cast operators".</p>
<p class="body"><b>Fix: Window Activation</b> was incorrectly shown in the window titlebar when opening a file from the Project Window, in some cases.</p>
<p class="body"><b>Fix: Performance improvements</b> when checking file status in the background. This helps the situation when many files are open, and those files are on a remote network drive.</p>
<p class="body"><b>Change: Context Window</b> will continue to track in the background, even if it is in the "rolled-up" state.</p>
<p class="body"><b>New: Macro Language 'global' statement</b> A new statement was added to declare global variables. Global variables have global scope, and they persist for the duration of the session. For more information, see <a href="docs35/ag1226518.htm"><b>Global Variables</b></a>.</p>
<p class="body"><b>New: Macro Language</b> pre/post increment/decrement operators are now supported, like in C. That is, ++i, i++, --i, i++.</p>
<p class="body"><b>New: Macro Event Handlers</b> have been added. An event handler is a function that gets called when specific events occur.</p>
<p class="body">For more information, see <b><a href="docs35/Macro%20Events.htm">Event Handlers</a></b>.</p>
<h2>Version 3.50.0042 - August 8, 2005</h2>
<p class="body"><b>Fix: </b><b>'Parse too Complex" </b>problem was fixed.</p>
<h2>Version 3.50.0040 - July 11, 2005</h2>
<p class="body"><b>Fix: </b><b>Keyboard </b>input could be confused by a keyboard overrun (i.e. you hold down a key and overflow the input buffer).</p>
<p class="body"><b>Fix: Macro </b>function Msg() now has a Cancel button, along with the OK button. Clicking Cancel aborts the macro.</p>
<h2>Version 3.50.0039 - June 22. 2005</h2>
<p class="body"><b>New: Preferences: General: </b>A new option was added: "<b>Remove missing files from project"</b> under the "Project File Synchronization" section. If enabled, project files that cannot be found will be automatically removed from the project. In previous versions, Source Insight behaved as though this option was enabled. However, if you often open projects that have files on a remote network drive, and that drive is sometimes not connected, then Source Insight would automatically remove your "missing" project files just because the network connection was down. To resolve that problem, disable this option.</p>
<p class="body"><b>New: Preferences: General:</b> A new option was added: "<b>Keep dialogs on the same monitor as the main window</b>". Normally, dialog positions are remembered, even if they are on a second monitor. If this option is enabled, then dialogs will only be forced onto the monitor where the main Source Insight window resides.</p>
<p class="body"><b>New: Special Window Color</b> setting for each source window. Right-click on a source window and select <b>Special Window Color</b> to set the background color of that particular window. Right-click and select <b>Remove Special Window Color</b> to return the window color to the normal color. The special color is lost when the window or file is explicitly closed, but it is retained between sessions of Source Insight.</p>
<p class="body"><b>Fix: C++ Namespace alias resolution</b> of the form: namespace ABC = Alpha::Beta::Charlie, where ABC is an alias for "Alpha::Beta::Charlie".</p>
<p class="body"><b>Fix: C# Generics - "where" keyword: </b>Generics that used the "where" constraint keyword were not parsed correctly.</p>
<p class="body"><b>Fix: Custom Commands</b>: A double % symbol in the custom command "run" string is now interpreted as a single % in the output.</p>
<p class="body"><b>Fix: Search Files </b>and <b>Replace Files: </b>the state of the "Project Wide" check box is remembered.</p>
<p class="body"><b>Fix: </b>Various fixes to file handling when the file name begins with a dot (.).</p>
<p class="body"><b>Fix: C++: </b>Preprocessor #if statements were not interpreted correctly if a space was missing between the #if and the next token. For example: <b>#if(ABC)</b></p>
<p class="body"><b>Fix: Javascript: </b>Declaring and assigning function objects was not parsed correctly.</p>
<p class="body"><b>Fix: Macro Language: GetReg Function: </b>The function was limiting the return value to 254 characters.</p>
<p class="body"><b>Fix: </b>In file and symbol lists, there is a substring search function. There was a 5000 item limit, above which no filtering would happen. This limit has been removed.</p>
<p class="body"></p>
<h2>Version 3.50.0038 - December 22, 2004</h2>
<p class="body"><b>New: </b>Custom comment line formatting - allows you to have special formatting for comment lines that begin with a particular string. This works in C, C++, Java, C#, and JavaScript. For example, you can have comments that begin with //#COOL displayed in a particular style. To create a custom comment format:</p>
<blockquote>
<p class="body">1. Select <b>Options > Preferences: Languages</b>, select the language (for example C++) and then click <b>Properties</b>. Alternatively, you can right-click on a source file and select <b>Language Properties</b>.</p>
<p class="body">2. Click the <b>Comments and Ranges</b> tab at the top of the dialog.</p>
<p class="body">3. Click the <b>Add</b> button to add a new comment range. For non-custom languages such as C++, you can only add "Line" style comment ranges. Furthermore, you cannot edit or delete the built-in comment ranges that are normal for the language.</p>
<p class="body">4. In the <b>Range begins with </b>text box, enter the starting text of the comment range . The text <b>must</b> begin with double forward slash //. For example you can enter a string like //#COOL, but not #COOL.</p>
<p class="body">5. In the <b>Syntax Formatting Style</b> drop-down list, select the style you want to format the comment with.</p>
</blockquote>
<p class="body"><b>Fix: </b>Stack Overflow crash was fixed. This bug was made more likely by a change in the previous update.</p>
<h2>Version 3.50.0037 - November 26, 2004</h2>
<p class="body"><b>New Preference tab: </b>"Folders" - lets you specify the location of the Source Insight data and project files stored on your computer. By default, all files are stored in "My Documents\Source Insight".</p>
<p class="body"><b>New: </b>Macro function <b>GetSymbolFromCursor(hbuf, ln, ich)</b> returns a Symbol record that describes the symbol currently at the location in the given buffer. hbuf is the buffer handle. ln is the line number, ich is the zero based index of the character on the line.</p>
<p class="body"><b>New: </b>The Relation window can now show relations for files, as well as symbols. For example, you can show what files refer to functions within a given file. Or, you can show what functions are inside of a given file.</p>
<p class="body"><b>New: </b>option in <b>Preferences: Symbol Lookups: </b>"Find symbols in open files not part of current project". If this is checked (the default) then symbol lookup operations will locate symbols declared in files that happen to be open, but are not added to the project. If this is unchecked, then only symbols in files that are actually part of the project will be found.</p>
<p class="body"><b>New: </b>C# language support for <b>sealed</b> and <b>partial</b> keywords, as well as C# generics.</p>
<p class="body"><b>New: </b>option in <b>Preferences: General: </b>A check box was added to enable or disable drag-and-drop editing.</p>
<p class="body"><b>Fix: </b>Macro function <b>Msg</b> would not display correctly if percent marks were in the output string.</p>
<p class="body"><b>Fix: Search Project</b> dialog box would not load the selected text automatically.</p>
<p class="body"><b>Fix: </b>A bug in <b>Search Files</b> and <b>Lookup References</b> could leave files open in the background.</p>
<p class="body"><b>Fix: </b>Macro function <b>GetSymbolLocationEx</b> contained a bug that would cause the function to return no matches.</p>
<p class="body"><b>Fix: </b>C/C++ parsing fix for empty formal parameter lists using the <b>void</b> keyword, such as "int Hello(void);".</p>
<p class="body"><b>Fix: </b>C/C++/CS/Java symbol lookup fix for determining the type of a variable when the declaration spans more than 1 line.</p>
<p class="body"><b>Fix: </b>Symbol database was not preserving the number of function arguments for function symbols. This could lead to incorrect symbol lookups for overloaded functions in C++.</p>
<p class="body"><b>Fix: </b>Symbol lookups were not functioning correctly for class and struct variables declared as "extern".</p>
<p class="body"><b>Fix: </b>Custom commands would not set the current working directory correctly if it contained a space in the name.</p>
<h2>Version 3.50.0035 - Jan. 29, 2004</h2>
<p class="body"><b>Fix: </b>Macro function <b>RunCmd</b> would not run macro commands.</p>
<p class="body"><b>Fix: </b>C++ declarations involving nested templates were not parsed correctly. For example: typedef B<A<int> > BAInt;</p>
<p class="body"><b>Fix: </b>Displaying line numbers could result in some garbage characters displayed, depending on the contents of lines.</p>
<p class="body"><b>Fix: Search Project</b> and <b>Lookup References</b> bugs when using the <b>keyword</b> search method: the <b>case sensitive</b> option had no effect, and searching for language keywords, such as "typedef", or "case" would not find matches.</p>
<p class="body"><b>Fix: </b>C++ Function Templates: The template symbol entries in the Symbol window pane would appear out of order if a non-template symbol was defined in between the function templates.</p>
<p class="body"><b>Fix:</b> C# verbatim strings that spanned more then a single line broke the parsing.</p>
<p class="body"><b>Change: </b>The project-symbol-path size has been increased from 254 chars to 2558 chars in length. You can edit it in the <b>Options > Preferences: Symbol Lookups</b> dialog.</p>
<p class="body"><b>New: </b>C# Generics are now parsed. Two new styles were added: "Declare Type Parameter", and "Ref to Type Parameter", which are used to display the type parameters.</p>
<h2>Version 3.50.0034 - September 8, 2003</h2>
<p class="body"><b>Fix: </b>Crash could occur if you type backspace at the start of a line that causes the previous line to exceed the maximum size of 4092 characters.</p>
<p class="body"><b>Fix: </b>Display bug when displaying a line with 4092 characters.</p>
<p class="body"><b>Fix: </b>Crash could occur when parsing #if statements if a single identifier was longer than 127 characters long.</p>
<h2>Version 3.50.0033 - September 2, 2003</h2>
<p class="body"><b>New: Preferences: Display: </b>option "Trim long path names with ellipses". This is the default behavior, but you can now turn it off.</p>
<p class="body"><b>Fix: </b>Crash using the Search Files command to search a directory with a large number of files.</p>
<p class="body"><b>Fix: </b>Text formatting was improved to handle longer, more complex lines, with many tokens and formatting transitions.</p>
<p class="body"><b>Fix: </b>C# new array initializations were not parsed correctly. For example, int[] rmap = new int[] {0, 1, 2, 3, 4};</p>
<p class="body"><b>Fix: </b>Potential crash that could occur when displaying some C/C++ code. The crash was caused by an infinite recursion in the code that finds the most-base type of a typedef.</p>
<p class="body"><b>Change: </b>The maximum line length of the editor was increased from 2046 to 4092 characters.</p>
<h2>Version 3.50.0032 - July 30, 2003</h2>
<p class="body"><b>Fix: </b>Crash on opening a C/C++ file with a line longer than 2040 character containing a preprocessor #if statement.</p>
<h2>Version 3.50.0031 - July 28, 2003</h2>
<p class="body"><b>New: </b>Conditional Parsing Variables: "Scan" function. In the <b>Edit Condition</b> and <b>Project-Specific Conditions</b> dialog boxes, there is a new "Scan Files..." button. Click it to have Source Insight scan your project's source files looking for conditional variables used in any #if, #ifdef, and #elif statements. The resulting variable names are loaded into the condition list. Afterwards, you can edit their values, or remove them from the list.</p>
<p class="body"><b>New: </b>Block Cursor Shape: Enable this in <b>Options > Preferences: Typing</b>.</p>
<p class="body"><b>Fix: </b>Load Workspace command was missing the the command list. It is back now.</p>
<p class="body"><b>Fix: </b>Memory leak while paginating files in the background. This would happen if you had the options set to show either page breaks in the display, or the page number in the status bar.</p>
<p class="body"><b>Fix: </b>Symbol Info window size and position is saved between sessions. The information is saved in the configuration file as part of the "Display" settings.</p>
<p class="body"><b>Fix:</b> Relation Window: If you click on the column headers in the outline view of the Relation Window, it sorts the listing. Now, that same sorting order is used when computing the graphical view of the Relation Window.</p>
<p class="body"><b>Fix: </b>Lookup References and Search Project commands: selecting the "Simple String" mode under "Search Method" was interpreting regular expression meta characters in the string.</p>
<p class="body"><b>Fix: </b>Heap clobber bug fixed in code that fires during Undo saving and selection history saving.</p>
<p class="body"><b>Fix: </b>Expand Tabs To Spaces: This was sometimes not working due to an uninitialized buffer bug. The expansion to spaces was also not happening in some cases if "Smart Paste" or auto-indenting was causing extra indentation.</p>
<p class="body"><b>Fix: </b>Auto-Complete: The auto-complete feature would insert bogus characters if you selected C++ operator-overload functions from the list.</p>
<p class="body"><b>Fix: </b>C# : The #region and #endregion lines are now treated like comments by the syntax formatting.</p>
<p class="body"><b>Fix: </b>Project Window: Clicking on the file name column header would crash. This only happened if the project window was showing files in the current directory, not the project file list.</p>
<p class="body"><b>Fix: </b>Potential crash could occur while rebuilding a project if a source file window needed to repaint.</p>
<p class="body"><b>Fix: </b>Bug in the internal "missing symbol cache" could cause some symbol references not to be show correctly by syntax formatting.</p>
<p class="body"><b>Fix: </b>Improved performance for symbol lookups and rendering syntax formatting for deeply nested classes and namespaces.</p>
<p class="body"><b>Fix: </b>Some symbol lookup operations could hang while trying to resolve "import <package>" in Java and "using" in C++/C#.</p>
<p class="body"><b>Fix: </b>Made small change to allow call trees to be computed with custom languages.</p>
<p class="body"><b>Fix: </b>Auto-complete list would not appear when editing a custom language file.</p>
<p class="body"><b>New: </b>Macro function: <b>XposFromIch (hwnd, ln, ich)</b> - returns the x position of a character. The x position returned is relative to the left edge of the window. The line number is given in ln. The character position is given in ich. Both ln and ich are zero-based indexes. Hwnd is the handle to the window displaying the line. Note that the line does not actually have to be displayed in the window when this function is called.</p>
<p class="body"><b>New: </b>Macro function <b>IchFromXpos (hwnd, ln, xpos)</b> - returns the character position of the character that is displayed at the given x position xpos. The line number is given in ln. Xpos is the given x position relative to the left edge of the window. Hwnd is the handle to the window displaying the line. Note that the line does not actually have to be displayed in the window when this function is called.</p>
<p class="body"><b>New: </b>Macro function: <b>AddConditionVariable (hproj, szName, szValue)</b> - adds a new conditional parsing variable used to evaluation conditional statements such as #if. Hproj is a handle to the project. If hproj is hNil, then the new variable is added to the global condition list. The name is given in szName, and the value is given in szValue.</p>
<p class="body"><b>New: </b>Macro function: <b>DeleteConditionVariable (hproj, szName) </b>- deletes a conditional parsing variable used to evaluation conditional statements such as #if. Hproj is a handle to the project. If hproj is hNil, then the variable is deleted from the global condition list. The name is given in szVariable.</p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -