Source Insight – 阅读代码神器

  • A+
所属分类:Windows 精品软件

Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。能分析源代码并在工作的同时动态维护它自己的符号数据库,并自动显示有用的上下文信息。

Source Insight不仅仅是一个强大的程序编辑器,它还能显示reference trees,class inheritance diagrams和call trees。Source Insight提供了最快速的对源代码的导航和任何程序编辑器的源信息。 Source Insight提供了快速和革新的访问源代码和源信息的能力。


Fix: A significant stability bug that could cause unpredictable crashes has been fixed. We recommend that you update soon.


Fix: Snippet Editor - a bug was introduced in build 4.00.0095: while editing a snippet via the Snippet panel, typing a character would insert the character twice inside the snippet editor.

Fix: Perl parsing bugs.

Fix: Tweaked the project index file performance in large projects.


Fix: Wine: When running under Wine on Linux, there were display problems caused by the toolbars drawing incorrectly. This probably also fixes the same problem when running on Crossover on MacOS. Note: Source Insight is developed for Microsoft Windows, and is not officially supported on emulators such as Wine and Crossover.

Fix: Revised memory management for large project indexes. This should eliminate the "Out of memory" errors when using very large projects.

Fix: C/C++: Parsing bug when an #if, #ifdef, #else, or #endif statement ended with a /* comment that continued onto the next line.

Fix: C/C++/C#: A struct or class declared inside a function scope could cause its members to not be formatted correctly when referenced elsewhere inside the function.

Fix: C/C++/C#/Java: In some cases, a variable or parameter was given the wrong type if token macro substitutions happened on its declaration line.

Fix: C/C++: Display of comment was incorrect if // comment ended in a backslash continuation mark.

Fix: C++: Jump to Definition from a member function prototype inside a class template was not working.

Fix: Display of multi-line comments using /* and */ delimiters were displayed wrong if they started on the same line as a preprocessor statement such as #if or #endif.

Fix: Java: Was incorrectly parsing statically initialized arrays, such as: String [] test = new String []{"abc"};

Fix: Perl: Several parser fixes, including "our" and "my" variable declarations.

Fix: Python: Added support for "async def" coroutine definitions.

Fix: Window Tab Options: The option to sort by name was not being retained.

Fix: Relation Window: Clicking the Name heading to change the sort order, changed the sort, but did not retain the setting from session to session. It is saved in the layout file.

Fix: Creating a project in the non-default location could corrupt the file paths of the project files. The result is that you could not open project files.

Fix: Changing the Projects folder using Options > Preferences > Folders was not working correctly depending on the paths chosen.

Fix: Clicking and dragging quickly a tab in a panel group could cause the window to be positioned oddly while dragging it.

Fix: Project Search Bar: the Match Case option was not working if the "Word Fragments" option was enabled. Also, if you clicked the Advanced button and set options, the options were not reflected in the search bar check boxes.

Fix: Clips and Snippets that end with a blank line would have the blank line removed when pasted into a file.

Fix: Entering character codes in a source file window using ALT+nnn was not working.

Fix: Crash in Search & Replace: when using Perl-compatible regex and replacing the end-of-line ($) with anything on a blank line.

Fix: Page Setup settings were not being preserved and loaded from the configuration files.

Fix: Project Search Bar (and Search > Search Project) using Keyword Expressions - it was not respecting the options "Skip Inactive Code", "Skip Comments", and "Search Only Comments".

Fix: Selecting multiple files in Windows Explorer, then right-clicking and selecting "Open with Source Insight" would only open the first file.

Fix: Loading a file that had lines exceeding the max line length of 4092 would result in no symbol parsing in the file.

Fix: Invoking from the command line with file name arguments did not add the file to the File > Recent Files menu. Same problem happened when selecting a file in the Windows Explorer and selecting "Open with Source Insight".

Change: The Symbol Info command was added to the Context Window toolbar, and right-click menu.

Fix: Macro function RunCmdLine was returning an incorrect value. It now complies with the documentation and returns True if the process was launched successfully, and False if not. If the process sets an exit code, then you can call the new function GetRunCmdLineExitCode to obtain it.

New: Macro Functions:

GetRunCmdLineExitCode() : returns the exit code of the last process launched by calling RunCmdLine. This only works if the fWait parameter to RunCmdLine is set to True when called.

GetProjMasterFileList (hproj) : returns the path of the project's Master File List, or the empty string if a Master File List is not being used in the project. hproj = the project handle, such as returned by NewProj or GetCurrentProj.

SetProjMasterFileList (hproj, sMasterFile) : Sets the path of the project's Master File List. hproj = the project handle, such as returned by NewProj or GetCurrentProj. sMasterFile = the new Master File List file-path. The file should exist already. Pass an empty string to turn off the use of the Master File List in the project. Note: the file list will not affect the project until it is synchronized, for example by calling SyncProj.


Fix: Crash when parsing some Perl files with long lines. This could happen during Synchronize Files, or when idle as the project is parsed in the background.

Fix: Auto complete finding wrong structure members in some cases when token macros are used.

Fix: Python: error parsing some import statements could cause the rest of the file to not parse.

Fix: Python: comment-only lines that start with '#' were incorrectly affecting the current indent/nesting level.

Fix: Auto-complete sometimes failed to work when member fields were defined with a token macro expansion.

Fix: Project Folder Browser panel, and in Project > Add and Remove Project Files: was unable to navigate down into a single folder whose name was longer than 64 characters.

Fix: C++: Failed to find the return type of a function if the return type used a "smart" pointer template type, such as shared_ptr.

Fix: C++: Global scope resolution operator :: was not always interpreted correctly.

Fix: C++: Failed to deduce the type of an array element in a template that implemented operator[].

Fix: Editing project-specific-conditions, and project-specific imports was allowed for read-only projects.

Fix: Project-specific configuration parts were not loading when you opened a different project.

Fix: View > Vertical Scroll Bar did not always show the scroll bar, if the vertical scroll bar was disabled in Options > Preferences > Windows, depending on whether the "enhanced" scroll bar was used or not.

Fix: Memory management problem when opening very large projects with over 50 million index entries.

Change: You can now set the Default font for the current file in the Style Properties. When you select the "Default" style, and pick a font, it sets the screen font of the current file, which is part of the File Type Options. It is equivalent to selecting Options > File Type Options and setting the Screen Font.

Change: Options > Preferences > Searching: "Automatically load selection into find pattern" has change its meaning slightly. If the option is disabled, the text at the insertion point or the selected text is never loaded into the search pattern. It used to load it if 1 or more characters were selected.


Fix: Macro event DocumentChanged was not called when a file was changed outside of Source Insight and then reloaded.

Fix: C++: Uniform initialization using braces was not working. For example: void SomeClass::Function() : member{x}

Fix: C++: support for digit separators. Eg: int x = 234'000;

Fix: C++: lambda functions: misc fixes: capture variables by reference, trailing return types, specifiers and exceptions.

Fix: C++: fix to pointer dereference using std::unique_ptr.

Fix: Search Results: Incorrect codepage might be used to display results for some searches using Lookup References and Search Files.





:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • avatar xywl 1

      A牛 牛逼!