Editors

Primarily, a text editor with syntax highlighting is what you need. Check if your favorite editor has an LSL scheme.

Some can offer you a little more, though:

LSLPlus

LSLPlus is an Eclipse plugin with some very useful features to build reusable modules and optimize code, as well as a test framework for running code outside SL. If you're not already familiar with Eclipse, it is probably overkill, though, and its insistence on splitting the code in several files can be annoying. Also, it is falling behind on LSL functions, apparently no longer maintained.
It seems to have been revived as LSLForge, but I haven't used that one yet.

LSLEditor

LSLEditor is a nice and dedicated editor for Windows. It includes features to test-run code, simulating the SL environment, though to be honest I often find it easier to simply actually test in SL, rather than setting up a test environment.
It recently resurfaced after a long period of dormancy, and the transition to a new development team hasn't been entirely smooth, with some features not working optimally. It's still a good, dedicated editor which may be easier to use than the full Eclipse setup.

LSLint

I've included LSLint here because it was once a very nice syntax checker and code analyzer. But it hasn't been maintained for a long time, and is simply obsolete by now, not handling many important functions.
But who knows; it may be revived, like LSLEditor was.

Notepad++

Also, do not underestimate the power of a good, simple text editor.
I find myself increasingly simply using this one.