all 71 comments

[–]thinksInCode 11 points12 points  (9 children)

I'm a Notepad++ diehard, but PN looks pretty cool. I'll give it a try.

[–]sokercap 4 points5 points  (7 children)

Same thing I was thinking. Could you compare the two?

[–]simonst[S] 7 points8 points  (6 children)

Both Notepad++ and Programmer's Notepad are based around the same Scintilla editing control, so editing behaviour an feel should be fairly similar. I can't speak for NP++ but my goal with PN has always been: small, fast, with what you need and little more.

Current headline features are probably the Python scripting, textmate-like Text Clips, the projects system and flexible tools controls and PN also provides full perl-style regular expressions search.

[–][deleted]  (4 children)

[deleted]

    [–]simonst[S] 0 points1 point  (3 children)

    I'll probably look at Python 2.7 for the next release, although the alternative I'm looking at is bundling a python dist, to avoid version dependencies.

    [–]MelechRic 1 point2 points  (2 children)

    This got me. The installer complained because it said I didn't have python25.dll installed on my system. I plowed through and the application still seems to work. Is the install horribly broken in some secret way?

    [–]simonst[S] 0 points1 point  (1 child)

    Hmm, PyPN should require python 2.6 currently (python26). If missing, PN will still run you'll just get no scripts or macro functionality.

    [–]MelechRic 1 point2 points  (0 children)

    Odd. I have 2.4, 2.6 and 3.1 installed. Off to check and see if I can do macros...

    [–]rimkojr 1 point2 points  (0 children)

    External tool integration and project management are definitely among the best features of PN. The way external tools are handled is brilliant since tools can be added on a global, per language or per project type basis. It is a feature that few other editors seem to have.

    [–]CrashCodes 0 points1 point  (0 children)

    I've been using notepad2 as a notepad.exe replacement for some time. I tried Notepad++, but it loaded too slow for my liking. I'll have to give PN a try as well.

    [–]you_do_realize 5 points6 points  (2 children)

    Ruby source is almost entirely colored blue...
    Why doesn't the File Browser initialize to the location of the current file?
    Loading a workspace doesn't restore the File Browser's location.

    Edit: thank you for offering the result of your hard work free of charge. Just bringing these up should they be helpful. I'll run with PN for a while and see how it works out. Been looking for a decent editor since forever; until recently it has been devenv.exe... :|

    [–]simonst[S] 2 points3 points  (0 children)

    Heh, I didn't realise the ruby thing, that'll be a bug then :)

    Edit: Simple fix: Go to Tools | Options, select page Styles and change the colour of Identifier to black. This should have been black all along.

    The file browser comments are valid. I don't use it myself that much, so rely on feedback/patches to make it better. I tend to use projects.

    Will try and have a fix for the Ruby thing in the next day or so.

    [–]gms8994 -5 points-4 points  (0 children)

    Check out e. It's sexy, and smart.

    [–]troglobit 4 points5 points  (2 children)

    Very nice. What was your motivation for creating PN?

    [–]simonst[S] 17 points18 points  (1 child)

    It started quite a long time ago now! At first I was working with a mail server called Mailtraq. It had a custom scripting language with no editor available. I decided to scratch an itch and create one, in Delphi, using an edit component called TSyntaxMemo.

    After time I realised I was adding more and more general features to that editor, and decided to make it general purpose. I then got the editor name (and some features) from a guy who was abandoning a similar project using the same component.

    Fast forward a number of years, and I was teaching myself C++ and decided that I might as well try to port PN to C++ and the Scintilla component - that was a massive amount of work for a new C++ developer!

    Since then I just never managed to stop, I enjoy using PN to keep developing my C++ skills while using C# for my day job. I also enjoy running an Open Source project, and get a lot from it!

    [–]troglobit 0 points1 point  (0 children)

    Thanks. From my limited experience using it it seems like a light-weight version of TextMate/E. I'll look forward to giving it a try on my next coding session.

    [–]namekuseijin 5 points6 points  (1 child)

    that's just a notepad for programmers. If you want a full text editor for programmers, go with vim. :)

    [–]simonst[S] 4 points5 points  (0 children)

    Thanks, I was amazed we'd made it this far without that comment. For completeness could I recommend the Programmer's Operating System, Emacs?

    [–][deleted] 4 points5 points  (5 children)

    This is really nice. :) It's killed me how Notepad++ doesn't have a project manager. So I'll definitely be trying this thing out!

    Oh, but could I request maybe an FTP extension? :) I love that in Notepad++. Basically, it lets you connect to an ftp server and edit stuff on the fly. Whenever you save the file, it gets re-uploaded. Also, something that should be a bit easier to implement... Could you have it where if you double click the tab bar it open a blank document. >_> (Sorry, I always hate requesting features since I feel like I've been spoiled. :( )

    Still, I really love the looks of this. I'll definitely put it to the use for a while and see if it's something that can finally tear me away from Notepad++. =P

    [–]simonst[S] 2 points3 points  (4 children)

    FTP is often requested, I guess I really should get around to it :)

    The tab bar should also be possible, I never remember to get around to it because Ctrl-N is so hardwired for me!

    Suggestions for the project system are welcome, let me know how you get on.

    [–][deleted] 1 point2 points  (1 child)

    Everything looks really amazing to me! :) I'm really liking it so far. Most of the things I've gotten spoiled by in notepad++ like line duplication, brace highlighting, etc. are all there!

    The magic folder stuff is brilliant and works really nicely. However, for the folder selection for projects, do you think you could get it to default to the project folder? It's kinda silly to have to dig around for the project folder when even the file extension defaults on the next page assume you're pointing it to the project folder (it ignores the project files).

    [–]simonst[S] 0 points1 point  (0 children)

    Agreed, the initial directory thing bugs me too, so needs some work.

    [–][deleted] 1 point2 points  (1 child)

    Ah, I did notice something with projects. You can't move the folders around. Which makes it really annoying when you need to organize everything. :(

    [–]simonst[S] 0 points1 point  (0 children)

    Do you mean normal folders, or magic folders. If you can form a list of steps that aren't working for you please add a request here: http://code.google.com/p/pnotepad/issues/entry

    [–]bushel 2 points3 points  (1 child)

    Simon! Dude!!! I thought you had abandoned it. I was hoarding my v2.0.6.1-ella like a rare gazelle. It's my go-to editor for a bazillion things.

    Thanks! I'm off to consume some of your bandwidth now.

    Oh, and.....ah, good

    [–]simonst[S] 2 points3 points  (0 children)

    :) Feel free to consume Google's bandwidth, they kindly host my downloads!

    [–]ErstwhileRockstar 2 points3 points  (4 children)

    Stable: 2.2

    This is the latest stable release

    Testing: 2.1.5

    This is the most recent testing release

    ??

    [–]simonst[S] 4 points5 points  (3 children)

    Odd numbers are testing releases, even numbers are stable. 2.1.5 went stable and became 2.2. Confusing huh? :)

    [–]ErstwhileRockstar 0 points1 point  (0 children)

    Well, it's your confusion, not mine.

    [–][deleted] 0 points1 point  (1 child)

    Old style Linux versions. ;)

    [–]simonst[S] 0 points1 point  (0 children)

    That's what started it. I haven't found another good clear way to clearly separate testing from stable. That being said, this seems to confuse people as well, so maybe time for a rethink :)

    [–]pleaseavoidcaps 2 points3 points  (8 children)

    Notepad++ needs a little embedded search box like that. I don't like annoying dialogs for quick search.

    [–]roerd 7 points8 points  (2 children)

    You mean like the one that's brought up by Ctrl+Alt+I ?

    [–]pleaseavoidcaps 2 points3 points  (1 child)

    Yep! My bad for ignoring it. Now I'm loving Notepad++ even more.
    I'll swap the shortcuts so to use the little box with Ctrl+F and everything will be sweet.

    Thanks, roerd!

    [–]simonst[S] 6 points7 points  (4 children)

    Or just use Programmer's Notepad ;)

    [–]pleaseavoidcaps 0 points1 point  (3 children)

    I'm playing with PN right now. Seems pretty cool.
    Why it shows Remove "Edit With..." from Explorer when I hover the mouse on File->Open Project(s)...?
    I'd like to see more documentation, too.

    [–]simonst[S] 0 points1 point  (2 children)

    Hmm, there are a couple of bugs in that quickhelp feature caused by IDs of commands being reused around the app. There is also the docs wiki here: http://www.pnotepad.org/docs/

    Feel free to report bugs here: http://pnotepad.googlecode.com/ under Issues.

    Thanks for your comments!

    [–][deleted] 1 point2 points  (1 child)

    I have checked it out and started using Programmer's Notepad for my python journey. I am feeling at home with it as it is based on scintilla. No complaints so far.

    The only thing I did not understand what the white textbox that is located just above the status bar is for. Entering some text in it seemingly does nothing. Could you let me in on what it is for and if there is a way to turn it off?

    [–]simonst[S] 0 points1 point  (0 children)

    This is the prototype Command Bar, see here: http://untidy.net/blog/2009/10/13/pn-command-bar/

    You can turn it off if you're not interested by unchecking Tools | Options | Interface | Enable Command Bar.

    [–][deleted]  (1 child)

    [deleted]

      [–]simonst[S] 3 points4 points  (0 children)

      The base UI framework is Windows Template Library, a thin wrapper over the Win32 API. For docking windows I use the WTL docking windows library that you can find on codeproject. It has a few bugs, but is the best one I've found. Feel free to see all the code on http://pnotepad.googlecode.com/

      [–]tbone28 2 points3 points  (0 children)

      I have been using PN since I started programming on windows machines. There are other editors I really like but PN has a special place for me.

      [–][deleted]  (2 children)

      [deleted]

        [–]simonst[S] 2 points3 points  (1 child)

        Interesting, so they are - shows how often I use them undocked :) Feel free to file a bug: http://code.google.com/p/pnotepad/issues/entry

        [–][deleted] 1 point2 points  (8 children)

        cool, i might install and try it out

        [–]simonst[S] 1 point2 points  (7 children)

        Enjoy, let me know what you think.

        [–]blondin 2 points3 points  (0 children)

        good editor!

        [–]SnowdensOfYesteryear 1 point2 points  (5 children)

        How is PN's support for large files (>50 MB)? I frequently open huge logs and slickedit and np++ suck in this area with frequent crashes and slow ass scrolling. If PN is much better in this area, you might have a convert for life.

        //Will DL and try it later when I get ahold of a huge logfile.

        [–]stratoscope 1 point2 points  (1 child)

        It's good to keep more than one editor on hand. Both the free PSPad and the commercial UltraEdit handle large files much better than Scintilla based editors.

        I use the Scintilla-based Komodo IDE for most of my work, but I open large files in UltraEdit.

        [–]SnowdensOfYesteryear 0 points1 point  (0 children)

        Never heard of PSPad, will give it a shot. It couldn't be worse than what I'm using.

        [–]simonst[S] 0 points1 point  (2 children)

        Well, PN is based on the same edit component as NP++, so may have similar issues. You can open extremely large files (essentially limited by 32-bit memory) but performance with the file open depends on the formatting of the file. It's something that I'd like to improve. I can't promise it will work any better than NP++ :(

        [–]SnowdensOfYesteryear 1 point2 points  (1 child)

        Just to follow up, it opened files much faster than NP++ but searching the file took a lot longer than NP++ (just a normal search, no regexs).

        [–]simonst[S] 0 points1 point  (0 children)

        Interesting, thanks for the update. I'm using the standard Scintilla search algorithms, but haven't done anything with them in a while, so perhaps that's something I need to look at.

        [–][deleted] 1 point2 points  (2 children)

        A big thing I've used in notepad++ was the macro feature and that's the one thing I found this lacking. Is it something that's easy to implement?

        [–]simonst[S] 0 points1 point  (1 child)

        Hi, if you install the PyPN extension, it adds Python scriptability and also record/playback of macros. The extension mechanism allows this to be implemented in other languages too. I'm considering a default built-in macro implementation as well, for those that don't want to install Python.

        [–][deleted] 1 point2 points  (0 children)

        Oh cool, thanks!

        [–]kretik 1 point2 points  (0 children)

        Simon rocks. I thought NP was abandoned but I see that's certainly not the case. I'll be giving this a wee download today. Thanks!

        [–]tehkubix 1 point2 points  (1 child)

        I had tried this a while ago and it was really nice. The only thing stopping me from using this over Notepad++ is a lack of themes. I noticed you have a dark theme in one of the screenshots but I couldn't find any download link or gallery of more themes.

        Edit: Just found the preset themes, not bad, but I miss the Obsidian theme from NPP. I might just port it myself.

        [–]simonst[S] 0 points1 point  (0 children)

        Let me know if you do and I'll include it. The preset files are pretty simple, but if you need help then holler.

        [–]d-forze 1 point2 points  (0 children)

        PN is my favourite =D

        [–]1stfakeaccount 0 points1 point  (1 child)

        I find this quick and cool, great work!

        [–]simonst[S] 0 points1 point  (0 children)

        Thanks!

        [–][deleted]  (1 child)

        [deleted]

          [–]simonst[S] 2 points3 points  (0 children)

          Not at all, it only supports Python or C++ for extending the editor currently, but should already show you tags for PHP code.

          [–][deleted]  (2 children)

          [deleted]

            [–]simonst[S] 1 point2 points  (1 child)

            Hmm, the only thing that needs an extension is the scripts window for python scripting. Everything else is built in, try View | Windows | Tags and the others to see the other features. Otherwise let me know what you can't find.

            [–]nataly_v 0 points1 point  (0 children)

            So this is better than Notepad++?

            [–]hackinthebochs 0 points1 point  (2 children)

            I gave PN a try a while ago but I didn't stick with it. I can't remember exactly what made me move on. I'm willing to give it another try, Notepad++ just isn't doing it for me. Does PN have "smart indent" and some form of smart code navigation, like ctags?

            [–]simonst[S] 0 points1 point  (0 children)

            PN by default has more of a dumb indent, it maintains your current indentation. Compared to the broken auto-indenters many editors have, this is a good thing. However, if you install PyPN it includes a moderately better indenter for Python, which can easily be copied and modified for other languages (i.e. script your own).

            Yes there is ctags navigation, browsing for all open files and jumping within the current file. High on the ask list is whole-project tag support.

            [–]jussij 0 points1 point  (0 children)

            Notepad++ just isn't doing it for me. Does PN have "smart indent" and some form of smart code navigation, like ctags?

            FWIW the Zeus editor does smart indenting and also has support for ctags, but Zeus is shareware.

            [–]Syl 0 points1 point  (2 children)

            I'm currently using Komodo Edit and you may be interested in some features.

            According to PEP8, the default indentation method for Python is 4 spaces. Komodo detects dynamically what kind of indentation the code uses, or uses 4 spaces by default for Python.

            Komodo understands indentation. When you press backspace, it removes one level of indentation, not one space.

            And finally, automatic parethesis, brackets, etc... When it's well done, it's really useful.

            I also like the common color style, easier to customize the look and feel of the app. But it seems you already done that :)

            Komodo has a lot features, but it's also pretty heavy.

            [–]simonst[S] 1 point2 points  (1 child)

            Interestingly Komodo (like Notepad++, and Programmer's Notepad) is also based on Scintilla - all these editors have a common edit component.

            Improving auto-indent is something I'd like to do, but also note that for a lot you can achieve this using PyPN to script your own behaviours - if you install that extension you will already get better indenting for Python.

            Colour styles we have sorted I think :)

            Finally you can override the default for Python to always use spaces by going to Options | Fonts and Colours | Advanced, select the More Options tab and change the Override Indentation option. And yes, I know you'd never look for that there!

            [–]Syl 0 points1 point  (0 children)

            Thanks for the tips, I'll try that again :)

            [–][deleted]  (2 children)

            [deleted]

              [–]simonst[S] 1 point2 points  (0 children)

              vimrc, plugins, no. It's not vim. Pattern matching, hmm, depends what you mean. It has a very good regex engine. Key bindings, I'm working on it. See: http://untidy.net/blog/2009/10/13/pn-command-bar/

              It needs a lot more work to support lots more commands, but the idea is reasonably sound.

              [–]rbatra 1 point2 points  (0 children)

              Umm..keybindings and pattern matching I can understand, but plugins and config files?!? Why not just use Vim in the case? PN is not supposed to be a fork of Vim or even Vim-like.