Notepad++ 7 Release Candidate
-
Hello Claudia,
I do give myself some credit for getting Pavel Nedev to work on Compare Plugin.
I was indeed extremely lucky.[Request] CP for NPP 64-bit.
My part is easy. :)Best regards.
-
Hello Don, Contributors and All,
Many thanks, Don, for this main 7.0 version and for the new x64 version ! You just deserve some holidays, as soon as possible :-))
Personally, on my Win XP SP3 laptop, on first start of N++ 7.0
x32
, I got messages about two missing DLL (MSVCR120.dll
, used by the plugins mineTools.dll / NppConverter.dll andMSVCP120.dll
, used by the plugin NppConverter.dll, only )Luckily, these two libraries are, already, installed, on my system, in C:\Program Files\Mozilla Firefox directory, probably after a Firefox update ! So, I just had to copy these two files in the C:\Windows\System32 folder and … everything worked fine :-))
The conflict detection, in Shortcut Mapper ( Point #9 ) is really a main feature ! In addition, as you, certainly, had to update the list of items, in Shortcut Mapper, to obtain a consistent behaviour, the nice thing is that, from now on, anyone can attribute a shortcut to any menu command. Great improvement, indeed !
Don, the new command line argument, -quitOnEmpty, has not been added, yet, to the Menu ? - Command Line Arguments… list !. By the way, Don, to my mind, this list can’t be read very easily ! May I suggest the nicer displaying, below ?
Notepad++ [-xLeftPos] [-yTopPos] [-multiInst] [-systemtray] [-alwaysOnTop] [-r] [--help] [-loadingTime] [-qnEasterEggName | -qtText | -qfContentFileName] [-nosession] [-noPlugin] [-notabbar] [-LlangCode] [-quitOnEmpty] [-openSession | [-lLanguage] [-ro] [-pPosition | -nLineNumber [-cColumnNumber]]] [filePath] -x : Move Notepad++ windows to indicated LEFT position, on the screen -y : Move Notepad++ windows to indicated TOP position, on the screen -multiInst : Launch ANOTHER Notepad++ instance -systemtray : Launch Notepad++, directly in SYSTEM TRAY -alwaysOnTop : Make Notepad++ windows, always on TOP -r : Open files recursively ( Ignored, if NO WILDCARD character in filePath ) --help : List of ALL the Command Line arguments -loadingTime : Display Notepad++ LOADING time -qn : Launch ghost typing to display an Easter Egg, via its NAME -qt : Launch ghost typing to display a TEXT, via the given text -qf : Launch ghost typing to display a FILE content, via the file path -nosession : Launch Notepad++, without any SESSION -noPlugin : Launch Notepad++, without loading any PLUGIN -notabbar : Launch Notepad++, without the TABBAR -L : Apply indicated LOCALIZATION ( langCode is BROWSER language code ) -quitOnEmpty : Stop Notepad++, when closing the LAST document -openSession : Open a SESSION ( filePath must be, EXCLUSIVELY, a SESSION file ) -l : Apply indicated programming LANGUAGE to filePath ( Allowed, if file name WITHOUT wildcard ) -ro : Set the READ ONLY flag to filePath ( Allowed, if file name WITHOUT wildcard ) -p : Scroll to indicated position, in filePath ( Allowed, if file name WITHOUT wildcard ) -n : Scroll to indicated line, in filePath ( Allowed, if file name WITHOUT wildcard ) -c : Scroll to indicated column, in filePath ( Allowed, if file name WITHOUT wildcard ) filePath : File or Folder name(s) to open ( ABSOLUTE or RELATIVE syntaxes allowed ) eg : Notepad++ -r -ro C:\Python To_Do.txt C:\tests\*.log C:\Windows\Debug.txt D:\Old\*.* ..\Urgent.txt X_?.* .\change.log => The 4 files "To_Do.txt" and "change.log", in current directory, "Urgent.txt", under C:\ and "Debug.txt", under C:\Windows, without WILDCARD, are opened, in "read-only" way, because of the -ro flag => The files "*.log", under C:\tests, as well as the files "X_?.*", in current directory, with WILDCARD, are opened, normally, as NOT concerned by the -ro flag => The folder "D:\Old\*.*", with WILCARD, is scanned recursively, because of the -r flag => The folder "C:\Python" is scanned recursively, whatever the -r flag is present or not
Notes :
I tried, when rebuilding that list of command line flags, to follow a logical order :
-
The first block of flags, from
-x
to-r
, concern interactive actions with the operating system -
The second block of flags, from
--help
to-qf
, displays information, while starting Notepad++ -
The third block of flags, from
-nosession
to-openSession
, affects the appearance OR the features of the current N++ instance -
The fourth and last block, from
-l
to-c
, acts on each individual opened file, without wildcard, described in[filePath]
In addition, I, slightly, changed the description of the N++ command line launch, in a more logical order :
-
It follows, of course, the new list of command line flags
-
The old syntax
[ -nLineNumber] [-cColumnNumber] [-pPosition]
…[-openSession]
…[filePath]
has been changed into the new form[-openSession |
…[-pPosition | -nLineNumber [-cColumnNumber]]] [filePath]
The new case options ( point #11 ) are interesting, especially Title Case (blend) and Sentence case (blend). Indeed, these two menu commands change to the appropriate case, without changing any capital letter. So, It preserves all proper names, geographic or historic names, abbreviations,… from any case change !
To see the difference, let’s suppose the simple original text, written twice :
With Mike, the Edward's brother, I ate in a MacDonald. then, I asked : "do you fancy a last drink ?" of course I do! to end, Mike proposed to go for a walk, along the Thames. With Mike, the Edward's brother, I ate in a MacDonald. then, I asked : "do you fancy a last drink ?" of course I do! to end, Mike proposed to go for a walk, along the Thames.
Applying the Sentence case option, to the first line and the Sentence case (blend) option, to the second line, we get :
With mike, the edward's brother, I ate in a macdonald. Then, I asked : "do you fancy a last drink ?" Of course I do! To end, mike proposed to go for a walk, along the thames. With Mike, the Edward's brother, I ate in a MacDonald. Then, I asked : "do you fancy a last drink ?" Of course I do! To end, Mike proposed to go for a walk, along the Thames.
BTW, Don, the N++ Title Case options, should be, rather, called Proper Case or Start Case. Refer to the links below :
https://en.wikipedia.org/wiki/Letter_case#Case_styles
https://en.wikipedia.org/wiki/Letter_case#Methods_in_programming
https://en.wikipedia.org/wiki/Capitalization#Title_case
Remark : For information, here are, below, the equivalent regular expression S/R to the main case conversions !
-
UPPERCASE --> SEARCH :
.+
REPLACE :\U$0
-
lowercase --> SEARCH :
.+
REPLACE :\L$0
-
Title Case --> SEARCH :
(\w)(\w*)
REPLACE :\u\1\L\2
-
Title Case (blend) --> SEARCH :
(\w)(\w*)
REPLACE :\u\1\2
-
Sentence case --> SEARCH :
([a-zA-Z])((.*?)(?=[.?!]\W)|.*)
REPLACE :\u\1\L\2
-
Sentence case (blend) --> SEARCH :
([a-zA-Z])((.*?)(?=[.?!]\W)|.*)
REPLACE :\u\1\2
-
iNVERT cASE --> SEARCH :
[A-Z])|[a-z]
REPLACE :(?1\l:\u)$0
Sure that the Edit - On Selection options ( points #12 and #13 ) will be valuable to most of us !
Concerning the TabBar, scrolling tabs ( Point #14 ) with the mouse wheel and moving the current file tab ( Point #15 ) with the two new shortcuts
CTRL + SHIFT + PageUp
andCTRL + SHIFT + PageDown
make managing tabs even more easier :-))Long time ago, in my ANSI N++ configuration, I used the ScrollPastEOF.dll plugin, but I stopped to do so, since the Unicode N++ versions, because this plugin was unstable, in some cases. So, in the end, I got used to the lack of that behaviour. But, now, I’m pleased to have a native option to be able, again, to scroll, beyond the last line of current file ( Point #18 )
Best Regards
guy038
P.S. :
Next Monday, when I’m back at work, after my summer holidays, I’ll try to test the x64 version !
-
-
Don,
Thanks for the upgrade - I have downloaded the 32-bit binary for stability - and to be honest, I can’t see much use for the 64-bit version - my source files are rarely even 1GB in size :)
Many of the comments here refer to numbered enhancements, can you tell me where to find that list?
The conflict checker in the shortcut mapper is worth the upgrade on its own, but it would also be useful to be able to get the list sorted by shortcuts as an alternative.
David
-
@David-Bailey said:
I can’t see much use for the 64-bit version
I agree, though I’m sure some people will find it useful. I’m also sure people are going to realize there can be a huge performance hit with large files if they don’t configure things correctly (e.g. making sure to turn off auto-completion, backups, etc).
can you tell me where to find that list?
It is the
change.log
that is in the same directory as the notepad++.exe file. I’ll paste it here for convenience:Notepad++ 7 new features and bug-fixes: 1. x64 build available. 2. Fix the DLL Hijacking Vulnerability of previous versions (by updating NSIS to v3.0). 3. Auto-updater improvement: periodical check can be disable via auto-update prompt dialog. 4. Installer enhancement: Check if Notepad++ is running and ask the user to close it before continue. 5. Fix HDPI issues for some component. 6. Fix auto-completion on XML comment <!-- comment --> and <?xml> tag bug. 7. Fix file saving crash which can be reproduced through a specific way to save file. 8. Fix a crash issue while UDL's user keyword list is too long. 9. Enhancement: add conflict detection to Shortcut Mapper 10. Add a -quitOnEmpty command line flag: Close the last document will quit Notepad++. 11. Add more Change Case variants (Title Case, Sentence case, iVERT cASE, rANdOm caSe). 12. Add Open file & open containing folder commands on selected file/folder name in text content. 13. Add Search on Internet command on selected word(s) in text content. 14. Add Scroll Tab Bar with mouse wheel capacity. 15. Add commands for moving the current file tab Forward/Backward. 16. Fix bug of monitoring not working for files under root. 17. Ruby is supported by Function List. 18. Added new option: Enable scrolling beyond last line. Included plugins: 1. NppExport v0.2.8 (x86 only) 2. Plugin Manager 1.3.5 (x86 only) 3. Converter 4.1 4. Mime Tool 2.0
-
I recently found a bug in N++ which still exists in version 7
When using N++ in a different language File>Restore Recent Closed File is always english when starting N++ when changing the language it becomes native, but restarting n++ changes it back to english
Second: the single ö bug mentioned by someone else in the forum which does exist since version 6.5.5, and in german it’s an important character. If I want to write for example ‘Öl’ which means ‘oil’ and accidentally miss the L it leads into big problems.
Some less important things:
It would be nice to add translation possibility for Shortcut mapper as well as preset Macros and Run commands -
FYI, I have just updated the binaries for fixing:
- A regression of “Folder as Workspace” which was not updating after the files/folders change.
- the dependency of plugin mineTools.dll and NppConverter.dll for
MSVCR120.dll
andMSVCP120.dll
respectively, detected by @guy038 . - Add 64-bit installer.
-
1, [Auto-Delete of dual symbols]
Ability to remove Auto-Inserted part of dual characters (parentheses, brackets, braces, or other used defined), when user deletes the opening one (first half).
~Example~
User is going to write: print(‘this is python 3 syntax’), but he made a mistake while writing it as: print[.
NP++'s Auto-Complete’s Auto-Insert feature will make it like this: print[], with cursor between brackets.
Now, it would be easy to press Backspace and delete both brackets, if feature would exist.2, [Auto-Delete of tabbed spaces]
Ability to remove tabs replaced by spaces, by one keyboard hit of Backspace/Delete for each tab space.
When it’s set in Tab Settings in Preferences - four spaces means one tab length space in python (for example).
~Example~
User made some tabbed spaces, but now want to delete a few from them.
Not with Back-Tab (Shift + Tab shortcut), but simple Backspace/Delete key presses.
Not four times (Backspace/Delete) button hit per each tab, but one per each tab if feature would exist.3, [Reset Shorcut Mapper]
Ability to reset key bindings/keyboard shortcuts to default from GUI by mouse click.
Not by some manual manipulation with files in NP++'s profile folder.4, [Exclude numbers from Auto-Completion]
Ability to exclude numbers from Auto-Completion.
And ability to exclude user specific strings/symbols from Auto-Completion per file or default for anything opened in future.5, [Enlarge Find and Replace window]
Ability to enlarge Find and Replace window (Ctrl + H) for more comfortable multi lines operating.
~Bug~
This window has in right down corner an enlarge mark, but it does not work (windows 7 ultimate 32 bit).
~Bug maybe~
When occurs tab space from very beginning of the line pasted into text field, it is visually longer than same tab space in middle of that text field.6, [Modify dock feature for mini windows]
~Example~
Dock Function List window to the left part of screen, below dock Folder as Workspace window. When it’s double clicked on window’s header, it attaches to right part of screen and overlap Document Map window.
When window is moved and resised manually, it’s not directly embedded to NP++ enviroment. Like this: [img]http://i.imgur.com/IBgufyZ.png[/img].
It is floating, so it’s overlapping Folder window. It needs to be docked/anchored.7, [Multi-Select of objects in Foler as Workspace feature]
Ability to select more than one file object in Folder as Workspace feature (file explorer). With Ctrl, one by one and with Shift, as range.8, [Set preferred side of mini windows]
Ability to set preferred side of screen for mini window opened on each start (plugin window for example).
NP++'s behavior is keeping last constellation of modified things (plugin windows too).
Some settings, some window placements, is keeping on top of last used windows.
~Example~
When user quits NP++ with last thing opened as Snippet plugin: [img]http://i.imgur.com/Age8Ifd.png[/img], it will shows again on next app start.
But user needs to show Document map by default on each start like this: [img]http://i.imgur.com/QGiWDPl.png[/img].
so this particulary one plugin, is forcing NP++ to let him always on top (always up).
It would need a feature setting, which would overwrite plugin’s settings and let NP++ decide what mini window will be always on top, based on user’s choice.9, [Verify NppExec plugin]
To verify NppExec’s plugin. During install, user sees it’s not verified: [img]http://i.imgur.com/7N3MOyF.png[/img].10, [Python syntax highlighting]
For theme Ruby Blue. Nothing has been made so far for it. It’s good theme between all dark ones and too colored ones.11, [New Fold All/Unfold All keyboard shorcut]
To have one keyboard shorcut for both actions. Can be named like: “Toggle Fold All” (similar thing we have for comments. To toggle (Ctrl + Q)).
When user presses it once, it will do opposite as it is current situated in file (will fold everything in fresh opened document), when pressed again, will unfold everything back.
NP++ has two available keyboard shortcuts for it: Fold all (Alt + 0), Unfold all (Alt + Shift + 0).
It may be a waste or overkill for one type of action.
Nontheless, I have tried to bind both actions to one keyboard button. Didn’t work none of them.12, [Warn user for conflict in Shortcut Mapper]
Ability to let know user for conflict situation, when same keyboard shorcut has been assigned to more than one action.
~Example~
When user installs plugin, which will have already binded some shortcut. It may be the same as user’s personal keybind for other action.
Now, user have to go through all keybinds in Shortcut mapper manually. Moreover, NppMenuSearch plugin, won’t help anything in this situation (see point below).13, [Improve NppMenuSearch plugin]
Because it can’t find keyboard shortcuts (Ctrl + D for Duplicate, for example). I tried it with modified search prompt - without spaces, first letter capital, or no capitals …
User won’t know which keybind (action name) is in conflict, so he has to search for keyboard shorcut (as Ctrl+D for example) and not for action name (Duplicate) !
OR14, [New non-plugin search feature]
To have default NP++'s search feature inside of program, not as plugin. Plugin is not working as expected (explained above).
User is unable to get into place of searched thing. Unability to open pop-up related window, where found item is located + highlight it in that place.
~Example~
User searches for keyboard action “Fold all”. It finds it ok, but when he presses Enter to get to that place, nothing will happen.
I guess, it has no access to everything in NP++, as a plugin. Therefore, if this feature would be inside of NP++ as default part of program, it would open for user that Shortcut Mapper window, WITH highlighted row for searched “Fold all” keybind.15, [Fix Shortcut Mapper for specific shortcut]
I wanted to change shorcut keybind for Del Line Left and Del Line Right from default Ctrl + Shift + BackSpace and Ctrl + Shift + Delete to Shift + Backspace and Shift + Delete.
But it didn’t let me do do it for BackSpace one. It did let me for Delete one. But it didn’t work in praxis anyways.
So I edited it manually according to my needs.
See, that shortcut mapper sees it correctly from file:
[img]http://i.imgur.com/UcVjnzL.png[/img]
[img]http://i.imgur.com/h3Pe4lX.png[/img]
But it’s still not working in praxis: DeleteLineLeft as Shift + Backspace and DeleteLineRight as Shift + Delete.
Here is correct keys for keyboard:
8 = backspace
46 = delete
2335 = del word left
2336 = del word right
2395 = del line left
2396 = del line right16, [Improve NppExec plugin]
Ability to not adopt/take over/inherit/copy/pass on/transfer/transmit source text formatting from copied place (.pdf document for example).
~Example~
When user copy-pastes code snippet from other place into NppExec’s console, it will transfer also text source’s formattings. Which is bad.17, [Question: Multi-Edit]
How do a multi-editing, when NP++ shows same words in document, when user select one instance of them ?
Is this multi-highliting of same seleced word for some reason in NP++ ?
~Example~
If in a document, user has 8 times function name for example: my_function, and if user selects one instance of this name somewhere else in document, NP++ highlights all other instances of it in that file.
Is possible to edit all those instances in some time, at once, by editing just one example of it when all others are highlighted in that moment ?18, [Question: How effectively continue in writing after finished parentheses]
Me, as a Python 3 beginner don’t know what to do, when I face situations with finishing parentheses and then moving on with coding right after it.
Is best, to have turned off Auto-Insert for parentheses and write them manually from upper right sector of keyboard ? ;
or have it turned on and try find End button with pinkie and lose base hand position for <jkl;> as for all 10 fingers writing ? ;
or some other way of non-known plugin for me or feature which other notepads have ?
I have looked into random code snippets and I see these are only possible actions after user writes something between parentheses:colon (after function definition, conditionals, loops) new line (after function call) 1 space (to continue write expressions in same line) So computer won’t know what is user’s intention. Do you have any idea, how to solve it ?
More clear examples:
You either:Write manually function name: print, then write manually first parenthesis: (, and if turned on, NP++ will auto-insert closing one and put cursor in middle of them, so you may comfortably write an argument between parentheses. But when you finish writing an argument between parenthesis, you have to either press Right arrow key or End key to be able continue write something else somewhere else. Which is not handy, because you have to use your pinkie and reach those buttons with effort and lose probably default all 10 finders writing position, because pinkie finger is short. Simply you need to get to end of current text - current line. or Write manually function name: print, then write manually first parenthesis: (, write manually argument: ‘some_string_to_print’, write manually closing parenthesis. Now, it’ easy to continue with anything else in line, because you are already in the end of the line. But, you had to write closing parenthesis manually and there is place for mistakes (omitting closing ones in nesting for example).
So in ideal case, I would like to have parentheses auto-insert turned on, after argument is written, make computer somehow put cursor at the end of the line. So move cursor from middle of parentheses to right behind closing one ! Right behind it. To write colon, or Enter, or space, or tab.
How ? Is it possible anyhow ?Don Ho, if you are reading this and haven’t time and interest to work on this project anymore, may you please make money contribution proposal on coding web site similar like Indiegogo or Kickstarter ? Some crowd funding site for coders who seek professional programmers to fill their requests for money.
I will propagate it and contribute money to it. You know, if I found urgent those things for NP++ and I’m just noobish coding beginner, it must be serious. I just don’t understand why other experienced users were silent about it for years.
It’s wasted time and I don’t want just sit back and do nothing. -
Please add ability to disable the ‘Folder as Workspace’ mode.
I want to see at once opening files in the window np++ when i drop folder.
How in old versions. -
Downloaded the V7 and noticed the plugin manager is missing,
So my question is , how are you going to allow people to submit the new plugins? -
@vi-editor
AFAIK the plugin manager is not yet available as 64-bit build and that why it’s not in the 64-bit Release Candidate. The plugin manager is included in the 32-bit RC (as a 32-bit build). -
Hi @guy038
The dependencies of both dll have been removed in the current RC, that you can test again.
You’re right about Proper Case - it will be in the release 7.
Reformatting of Command line Arguments is not easy, since I use Windows default dialog. I’ll see what can I do about it.
Regarging the missing document of -quitOnEmpty, I have removed command line agument trigger for this option, and added a checkbox in Preferences dialog instead.
It’ll be useful for a lot of users so I think it’s shame if this option is hidden in the command line.Thank you for your testing, bug report and pertinent suggestions.
-
@Artur-Hareson I’ll see what can I do about it.
-
Hello Don,
I downloaded the last 32-bit N++ version v7.0, from your link, below
https://notepad-plus-plus.org/repository/7.x/7.0-RC/fix-crash2/npp.7.bin32.zip
But, seemingly, it’s NOT the LAST version ! The Notepad++.exe file has a size of 2 091 696 bytes and, when hitting the F1 key, it is said Build time : Sep. 7 2016 02:18:34. Indeed :
-
I’ve never been able to find an option Quit on Empty File’s Buffer, or equivalent, in the Preferences dialog !
-
The
-quitOnEmpty
command line option seems always a valid one. -
Accordingly, the point #10, of the change.log file, hasn’t be modified, too.
-
Strangely, the N++icon looks like the old one, with a yellow pen, over a white sheet of paper, in explorer windows !
However :
-
The two plugins MIME Tools and Converter are updated, as expected, to versions
2.1
and4.2
, respectively. -
The two plugins do not need, anymore, the
MSVCR120.dll
nor theMSVCP120.dll
libraries, as expected !
Best Regards,
guy038
-
-
@guy038 The binary are not the last one. As I said,
-quitOnEmpty
andTitle Case
will be changed in the official release but not in the binary which I have provided.
Regarding the icon, it’s the debug one, I’ll clean the project before building the release.
Nice to learn the dependency issues have been solved. Thank you for testing. -
Hello Don,
Is there a chance you could make the image crisp when display scaling is used?
I’ve got Windows 10 x64 1607 on a laptop set to 125% scaling with an external monitor set to 100% (default) and the external monitor is set to be the primary screen.Notepad++ 7 RC from the 32bit installer looks great on the external display, but both text and menus get blurry when moved to the laptop screen.
Some apps expose the same behavior, eg. all Office 2016 apps, KiTTY, even Visual Studio 2015; and some are crisp, like Explorer, Chrome, ConEmu, Windows Settings.
I know that the article is about WPF, but perhaps it’ll help a little:
https://msdn.microsoft.com/en-us/library/windows/desktop/ee308410.aspxRegards,
Marcin -
Why is the Boost library build with property
architecture=ia64
for the 64-bit target version?
According to the documentation that property is for an Itanium target processor and I doubt anyone is running a PC with such a processor. I suspect the majority of the users is running an x86 based processor architecture (yes, even the 64-bit systems) and therefore using the build propertyaddress-model=64
for a 64-bit target system makes more sense to me. -
Hello Don,
Thank you and thanks to all the contributors for the new version - it’s really awesome!
I have a feedback regarding the TabBar scroll feature. It is working great but it seems to align the selected tab on the left.
Here is an example:- Open many documents in N++ (enough to be able to scroll the TabBar).
- Select the last Tab - you’ll see it positioned in the right-most side of the TabBar, closest to the scroller buttons.
- Minimize N++.
- Maximize N++. The last Tab you selected is the only visible tab in the TabBar and it is positioned on the left-most side of the TabBar.
Although the scroller buttons are visible it is kind of misleading because it looks like the last tab is the only tab opened.
To summarize - when N++ is restored after minimization and the tab scroller is active the currently active tab is the first visible in the TabBar (the left-most tab) whereas it should be the last visible (the right-most tab in the TabBar respectively).
Thanks once again.
BR,
Pavel -
@marcinsmialek I doubt if I can do somethings for it - it’s rather an issue of OS to me.
-
@MAPJe71 Please do a PR for it - I’ll check it.
-
@pnedev I cannot reproduce at all the bug. After minimizing and restoring Notepad++'s position, the selected tab remains the same. Am I missing somethings ?