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.
ID:1298703
![]() Jun 21 2013, 7:00 am (Edited on Jun 21 2013, 7:09 am)
|
|
![]() Jun 21 2013, 8:44 am
|
|
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! :)
|
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. :) |
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.
|