ID:1298703
 
Heya,

I've been using notepad++ for coding with byond since forever, and thought that I should probably share what I've learned with others.

N++ has many features which are really handy, especially for larger projects. Here's a select few:
>Tabs (although DM has these now)
>Robust searching: fast RegEx searches; fast Find in Files; search-history. RegEx find-and-replace
>Programmable macros
>Many plugins: collaborative editing (occasionally buggy); spell-checkers; xml-tools; number conversion; syntax-cleaning tools;
>Syntax highlighting: (customizable)
>collapsible comments and braces
>You can SVN right from N++! :)
>compare dm files and have .diff-like highlighting.

I'm not very good with guides or anything, so just point out any bits that aren't very clear.

Here's how my N++ looks:
http://www.byond.com/members/Carnwennan/files/2013-06/ Carnwennan-0001/npp.png

How to set it up:
>Install N++ (I'm not sure whether I'm allowed to post links to other software here, it's a pretty popular open-source tool though so is easy to find)

Setting up a workpane (that bit on the left):
>view-menu->project->project panel1
>drag drop it to where you want
>right click it to add directories to it

Multiple panes:
>drag-drop any tab onto the space where it shows the text. A menu will appear

Regex Searches/Find in Files:
>Ctrl+f will bring up the search menu
>select the find-in-files tab
>select the root folder for your project
>tick "in all sub-folders"
>Set a filter such as *.dm to search only .dm files
>Select whether you want a normal or RegEx search
>Regex guides: http://www.regular-expressions.info/reference.html

Compiling Byond Code from within N++ (kinda):
>open your .dme file in N++
>Run-menu -> Run
>Enter the command 'CMD /K "%PROGRAMFILES%\BYOND\bin\dm.exe" $(FULL_CURRENT_PATH)' without ' quotes.
>Save that command as "Compile Current DME"
>run that command whilst viewing any dme file. It will usually compile in a separate thread! And you can quit the compile at any time.
>You can also compile individual dm files! If you're incredibly lazy and just want run an experiment or something.

Syntax Highlighting:
Either:
>language-menu -> C ... as this is very similar to DM
Or:
>language-menu -> Define your language ... to make your own! You can also set it up so it uses a certain language whenever you open a file with the dm extension.

Hope somebody else finds this useful.

Edit:
Recommended plugins:
>Compare - Used for comparing two files and generating a diffs. Useful when hunting for bugs amongst mountains of copypasta.
>TextFX - Just a bunch of helpful macros...like escaping/unescaping characters.
I've been using Notepad++ for various things almost as long as I've been programming. Could you perhaps post an exported file for your syntax highlighting? It would save quite a bit of time, as it seems from that screenshot that you already have something decent going. (As in, I'm far too lazy to figure it out for myself.) Thanks! :)
Any intellisense / auto-complete stuff figured out yet?
I should probably get back to work on that Scintilla DM lexer, shouldn't I?

FWIW, here is some fiddling I did with it back in the day, although it's not sufficiently polished and I make no promises that it won't explode. If you compile Scintilla/SCiTe from source and do a bit of fiddling you can get that lexer added to the set it accepts, but you'll kind of need to know how scintilla's build works.
Here's my language definition. It's somewhat broken but usable. (at least for TG-code it's 'ok'...not sure how well it'll work if you layout your code differently). Strings with nested code may make you cry though :s

http://filesmelt.com/dl/npp-dm-style

ps, I'm probably using an outdated version of N++, too lazy to update.

N++ supports autocompletion. Although I never use it in any ide (it annoys me). Ctrl+Enter should autocomplete what you're typing based on the contents of the current file.
This may help FIREking
http://sourceforge.net/apps/mediawiki/notepad-plus/ index.php?title=Auto_Completion

This is why I love n++. Configuration is just all xml. :)
In response to Carnwennan
DM needs calltips.
https://github.com/Carn/DMplusplus

If anybody wants to help I can give you permission to pull/push.
So many calltips to do ;_;
Can you post a list of all the highlighted keywords words you're using? It looks like you're missing quite a few from DM.
It's in that xml file
https://github.com/Carn/DMplusplus/blob/master/DM%20lang.xml

And yeah there's probably a few missing. I made it whilst I was waiting for something to compile, so it's not going to be exhaustive.
If you want to add the rest (or at least know about them) I added a section to the Red Book with a list of them.