Giter VIP home page Giter VIP logo

ncccodenavi's Introduction

ncccodenavi

NCC Code Navi the Text Viewer and Searcher for Code Reviewers

Released as open source by NCC Group Plc - http://www.nccgroup.com/

Developed by Ollie Whitehouse, ollie dot whitehouse at nccgroup dot com

http://www.github.com/nccgroup/ncccodenavi

Released under AGPL see LICENSE for more information

Documentation

https://github.com/nccgroup/ncccodenavi/wiki/Getting-Started

Change Log

https://github.com/nccgroup/ncccodenavi/blob/master/Win.CodeNavi/Win.CodeNavi/CHANGELOG.txt

Binary Download

To get the binaries use the release tab above..

Version 1.3.0.1 - 18th December, 2014

Version 1.2.0.0 - 2nd May, 2013 (SHA1 SUM: 23987c36842e86cca75aa29741243a4c350fa6f1)

Version 1.1.0.0 - 2nd May, 2013 (SHA1 SUM: c94d9181aecec0d9ef85d6fd40becb02b2c94e84)

Version 1.0.0.0 - 20th April, 2013

Platforms

  • Windows Vista or higher with .NET 4.0 client runtime

Features

  • Easily search across code
  • Ability to have multiple instances of the same file / search queries open concurrently
  • Inbuilt note keeper
  • Send different aspects of filenames, path, code to the note keep easily
  • Select a word or phrase in the code reviewer press enter and it'll automatically search for that across all code
  • Select a word or phrase (e.g. API) right-click and launch Google or CERT secure coding searches
  • Grepify profile support

Screen Shot

ScreenShot

ncccodenavi's People

Contributors

allykzam avatar lllama avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ncccodenavi's Issues

Syntax highlighting not consistently applied

The highlighting in code views is not always applied when opening a window. There doesn't appear to be an obvious difference between which files get highlighted and which don't.

Right-click search should always be literal

Selecting text in code for searching would (in all but the most obscure cases) be done with the intent of performing a literal search.

The prompt asking about a literal search should therefore not be displayed and the appropriate escaping and searching be done.

Support browsing from the root node

Sometimes one is provided with code on a VM where the code sits on a disk of its own. Browsing from root dirs would be useful in this case.

Perhaps present a warning but allow the user to continue if they understand the consequences.

Friendly names from Regexps (Grepify profiles)

From: Richard T

Friendly names for Grepify regexps (e.g. in my hardcoded credentials profile I have complicated regexps for finding static keys, it would be nice if the GUI just showed something like "static key" instead of the full horror of the regexp)

Improved encoding management

Currently there is an automatic detection for the encoding of the text file.
The algorithm assumes that there is some BOM header part at the beginning of the file, which is rarely the case in my experience.

It would be good to allow the user to set the encoding himself/herself for the session, as it is unlikely that this property will change within the project.

Defaulting to UTF-8 is probably better than the local ANSI page (as it is currently), because many systems/application are using UTF-8 by default now, and UTF-8 is backward compatible with ASCII.

Chart forms attempt to call Close() in Load() method

Closing a form in its Load method can cause an exception to be thrown. As the first method called by a form is its Load method the preferred time to decide whether to display the form or not is when the form is being created in other code.

Suggested fix is to remove the dialog box showing the error message about not being a Grepify scan and ensure that the new bool parameter is used when creating search forms.

Add highlighting to search results

Highlighting the match in the search results window would allow easier spotting of false positives.

E.g. Searching for "ssh" will hit on "IsShutdownInProgress". Highlighting will allow quicker recognition of what was found.

Meta data (Grepify Profiles)

From: Richard T

other metadata for Grepify regexps (e.g. an explanation for why a reviewer should care about this, you suggested before this could maybe be a tooltip?)

Can't search inside some folders

Hello
I downloaded a folder that had some php files to my computer by using a perl script. This application cannot search inside those files. I have checked file permission to make sure my user and admin have full control; also I ran NCC code navi with admin permission but I got no result (it can show the PHP codes if I browse to those file in NCC code navi app).
However, if I download a zip file by my browser and extract it, it works fine and it can search inside the files.
Unfortunately I cannot give you more details about the files and I don't know if you can replicate this issue or not. I guess it is related to files attribute but I am not sure.
I am using Windows 7 64b with NTFS.

Thanks

Fails to build on VS 2012 Professional

Can you include build instructions? I tried building on VS 2012 Pro and it fails with the following errors:

1>------ Build started: Project: Win.CodeNavi, Configuration: Debug x86 ------
1>c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "LineNumbersControlForRichTextBox". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
1>c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "ScintillaNET". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\frmCodeViewNew.cs(22,7,22,19): error CS0246: The type or namespace name 'ScintillaNET' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\frmBrowser.cs(20,7,20,19): error CS0246: The type or namespace name 'ScintillaNET' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\frmMain.cs(25,7,25,19): error CS0246: The type or namespace name 'ScintillaNET' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\IniLexer.cs(31,7,31,19): error CS0246: The type or namespace name 'ScintillaNET' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\frmCodeViewNew.cs(64,59,64,79): error CS0246: The type or namespace name 'StyleNeededEventArgs' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\frmCodeViewNew.cs(71,16,71,25): error CS0246: The type or namespace name 'Scintilla' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\frmCodeViewNew.cs(88,27,88,36): error CS0118: 'Win.CodeNavi.frmCodeViewNew.Scintilla' is a 'property' but is used like a 'type'
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\frmCodeViewNew.Designer.cs(275,17,275,29): error CS0246: The type or namespace name 'ScintillaNET' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\frmBrowser.Designer.cs(214,17,214,29): error CS0246: The type or namespace name 'ScintillaNET' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\frmCodeView.Designer.cs(256,17,256,49): error CS0246: The type or namespace name 'LineNumbersControlForRichTextBox' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\IniLexer.cs(62,17,62,26): error CS0246: The type or namespace name 'Scintilla' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\IniLexer.cs(73,33,73,42): error CS0246: The type or namespace name 'Scintilla' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\IniLexer.cs(190,40,190,49): error CS0246: The type or namespace name 'Scintilla' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\IniLexer.cs(190,61,190,66): error CS0246: The type or namespace name 'Range' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\IniLexer.cs(225,26,225,35): error CS0246: The type or namespace name 'Scintilla' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\SourceCodeMarkUp.cs(123,74,123,106): error CS0246: The type or namespace name 'LineNumbersControlForRichTextBox' could not be found (are you missing a using directive or an assembly reference?)
1>D:\tools\ncccodenavi\Win.CodeNavi\Win.CodeNavi\SourceCodeMarkUp.cs(175,73,175,105): error CS0246: The type or namespace name 'LineNumbersControlForRichTextBox' could not be found (are you missing a using directive or an assembly reference?)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

ArgumentOutOfRangeException - files without any extensions

It gives the following error when I double click on files that have no extension:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: startIndex cannot be larger than length of string.
Parameter name: startIndex
at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
at Win.CodeNavi.frmCodeViewNew.frmCodeViewNew_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18444 built by: FX451RTMGDR

CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

Win.CodeNavi
Assembly Version: 1.2.0.0
Win32 Version: 1.2.0.0

CodeBase: file:///C:/CodeNavi/Win.CodeNavi.exe

System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

System.Xml.Linq
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll

ScintillaNET
Assembly Version: 2.5.2.0
Win32 Version: 2.5.2.0

CodeBase: file:///C:/CodeNavi/ScintillaNET.DLL

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Plugin support

There will be a common plug-in architecture which will be able to extend up to four parts of the application:

  • New plugin tool bar element
  • Code view right-click context menu
  • File browser right-click context menu
  • Search results right-click content menu

Independent Note window

Make the note window independent, so that one can place it at the bottom, instead of on the side.

Again, because I am using it on a small screen.

Plugin: Find C function definition

A fuzzy approach to resolving C function definitions. Will exist on the code view right-click context menu. Will be implemented using the new plug-in framework.

Save Grepify results / status

After running a Grepify against one of the lists (e.g. Java) and spending a few hours walking your way through the items tagging stuff as "Done" it would be good if you could save that status, close CodeNavi and pick it up in the morning where you left of.

Bookmark navigation should centre code view

Currently navigating between bookmarks will position the relevant line at the bottom or top of the view i.e. as soon as the line comes into view from the current position.

To get better context of the code, bookmarks should be centred in the view. i.e. the bookmark should be on the middle line.

File name in window title

If the path is too deep, the file name is truncated out of the window title. It is useful to quickly be able to see the file name you are working with.

truncated_file_name

Maybe smart truncation like the one in the browser's status bar (i.e. add some dots in the middle of the path) could be added.

Alternatively the file name could be presented in the right-hand side of the toolbar where all the rounded icons are so it's never out of sight.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.