Question on IDE / Editor for Z80 dev

Started by Nworc, 23:34, 20 April 22

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Nworc

Hi folks,

as I started to do cross-dev for the CPC this year, I started using the dev toolkit package from chibi-akuma, which was a good help to quickly get me going (however, I'm not using the provided libraries, and switched to Rasm in the meantime.)

After smoothening the dev process bit by bit, I found Notepad++ to be thing currently nagging me the most: being used with IDEs from Jetbrains, having to use such an editor feels a bit like having to stamp a cuneiform plate in ancient Mesopotamia.

So, are you guys using this editor, or do you know an editor/IDE which provides help for such simple tasks like quickly jumping to a seleted label which exists in a different file (and automatically opening it)?

roudoudou


i heard many people use Visual Studio Code with Z80 plugins (not me)
use RASM, the best assembler ever made :p

I will survive

pelrun

Yeah, I can second the vscode recommendation; it's the best generic code editor I've used (and I've suffered through a lot of them). By no means perfect, but I can generally get it to do what I want without major pain.

That said, you won't have the same sort of source intelligence when writing in asm as you will have come to expect from a tightly integrated IDE for Java or C++; it's a bit unfair to expect it since there isn't the same level of semantic information available.

krusty_benediction

I also use vscode with my own assembler.
I'll check at home which extensions I use. They are not perfect, I have sometimes to cancel some automatic autocompletion.
I even tested github copilot extension and the autogenerated code in the language of my assembler to write functions  was convincing (I do not remember which test I have done).

jimmyd

I like to use Atom editor (https://atom.io) with various extensions

Nworc

Thank you guys for all that info.  That was indeed helpful and did point me to projects I wasn't aware of.

@krusty_benediction: Could be you meant Z80 Macro-Asm from mborik, however these tipps are good enough to boost my efforts.

Happy coding!

gurneyh

#6
hi

The z80 macro-asm extension offers rasm support, especially for error handling (readable report, except at the error line, etc).

Another nice extension, https://github.com/theNestruo/z80-asm-meter-vscode which allows to have the number of nops, the memory space for a line, or a block of code.

https://open.amstrad.info/2019/09/30/integration-de-rasm-dans-vscode/

m_dr_m

Note/Advertisement: Orgams provides auto-completion, goto definition (and quick return), cycle through references.
But not yet across sources, even when the source is opened in another tab.

I can explain how to add this feature!

krusty_benediction

#8
Quote from: Nworc on 23:25, 21 April 22Thank you guys for all that info.  That was indeed helpful and did point me to projects I wasn't aware of.
@krusty_benediction: Could be you meant Z80 Macro-Asm from mborik, however these tipps are good enough to boost my efforts.
Happy coding!

- asm code lens / maziak
- z80 macro-assembler /  mborik

Nworc

Quote from: m_dr_mNote/Advertisement: Orgams provides auto-completion, goto definition (and quick return), cycle through references.
But not yet across sources, even when the source is opened in another tab.

I can explain how to add this feature!

Nice and interesting project!  I find the idea to participate appealing, however for the time being, I definitely should finish/release at least one of my projects before I stick my nose into something new.  You'll hear from me.

zhulien

notepad++ for me here - i didn't see much nagging though

Nworc

#11
So, I finally did my own IDE for Z80 cross platform development, as the available options weren't much appealing to me.
I'll share it here in the forum soon, so that others can use it if they wish, and can participate with recommendations on features.

Quote from: zhulien on 19:49, 29 April 22notepad++ for me here - i didn't see much nagging though

It's okay, but it does not understand the concept of labels and macros. If I press F3 it jumps to the next find of the text under the cursor. Also, it's not indicating the CPU cycles of the commands.

If you wish you could check out the new thing. It's called Z.IDE. The current version is still very beta, as it's fresh software, just 3 weeks young at the moment. It's specifically made for us CPC users.

zhulien

one editor feature i wished all editors had for programmers is a find and replace that preserved the case of the text being replaced, eg.

replace abc with def:

original source:

abc
aBc
abC

replaced source:

def
dEf
deF

that would be one of the most useful features I could think of.

 

Cwiiis

Quote from: zhulien on 10:22, 25 May 22one editor feature i wished all editors had for programmers is a find and replace that preserved the case of the text being replaced, eg.

replace abc with def:

original source:

abc
aBc
abC

replaced source:

def
dEf
deF

that would be one of the most useful features I could think of.

 

You can do this relatively easily in vim with a script - here's the one I use: https://www.vim.org/scripts/script.php?script_id=6

Nworc

Quote from: zhulienone editor feature i wished all editors had for programmers is a find and replace that preserved the case of the text being replaced,

[...]

that would be one of the most useful features I could think of.

Interesting. The example is understood - I'm just trying to imagine what the real world scenario would be where you would need this kind of renaming. Could you provide such a real world scenario? Can be that also I needed that once - must have been years ago and can't remember.

I guess that's the reason most editors don't have it, if it's not often used it would clutter the user interface - the design goal is to keep that as small and clean as possible.

zhulien


Almost every day, I take some  file that has function names and variable names 

Eg

function employeeDelete($intEmployeeID_a)
{
  $intEmployeeID = $intEmployeeID_a;

  If ($intEmployeeID > MIN_EMPLOYEEID)
  {
  }
}

Obviously a simplified example but changing employee to personnel should be easier than every editor makes it to be.

Nworc

Quote from: zhulien on 10:22, 25 May 22one editor feature i wished all editors had for programmers is a find and replace that preserved the case of the text being replaced, eg.

Zide v0.10 has it.

Powered by SMFPacks Menu Editor Mod