Controlling the IDE - What features would you like to see?

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
neotoma
User
User
Posts: 84
Joined: Sun Dec 14, 2003 6:38 pm
Location: Germany, Mechernich
Contact:

Re: Controlling the IDE - What features would you like to se

Post by neotoma »

What i'm still missing - more internal variables.
So it is not possible to use Tools (external) relative to the pB-Folder.
If we have a internal Variable (e.g. {$purebasic.path} ) in the paths of the Tools, it
would be much easier.

Also would be Auto-Text. Let say i write prcr, ist would replaced with ProcedureReturn.
(Okay, i can use PhraseExpress and so, but i don't want my define PureBasic-AutoTexts System-Global.)

Ideal would be a Sytem like PSPad, where i can define variables in Templates.
This Variables are asked when using this Template and filled in.
So i can write a new modul via a tampate by asking the name, and all procedures get the correct name.

Mike
User avatar
ts-soft
Always Here
Always Here
Posts: 5756
Joined: Thu Jun 24, 2004 2:44 pm
Location: Berlin - Germany

Re: Controlling the IDE - What features would you like to se

Post by ts-soft »

neotoma wrote: Also would be Auto-Text. Let say i write prcr, ist would replaced with ProcedureReturn.
(Okay, i can use PhraseExpress and so, but i don't want my define PureBasic-AutoTexts System-Global.)

Mike

Code: Select all

Macro prcr
  ProcedureReturn 
EndMacro
:wink:
PureBasic 5.73 | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Old bugs good, new bugs bad! Updates are evil: might fix old bugs and introduce no new ones.
Image
Little John
Addict
Addict
Posts: 4774
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: Controlling the IDE - What features would you like to se

Post by Little John »

neotoma wrote:So it is not possible to use Tools (external) relative to the pB-Folder.
If we have a internal Variable (e.g. {$purebasic.path} ) in the paths of the Tools, it
would be much easier.
Good point, thank you for mentioning it.
User avatar
HwyStar
Enthusiast
Enthusiast
Posts: 101
Joined: Mon Apr 05, 2010 7:13 pm
Location: Reno, Nevada

Re: Controlling the IDE - What features would you like to se

Post by HwyStar »

I also third this:

Code: Select all

3. Create executables without prompts.
Set the appropriate dialog entries and go.
Automation_MenuCommand("Compiler:Create executable: this.exe")
Franky
Enthusiast
Enthusiast
Posts: 213
Joined: Sat Apr 26, 2003 2:58 pm

Re: Controlling the IDE - What features would you like to se

Post by Franky »

OK, I`ll try to make it short, but it`s a lot ;)

0.) Make it possible to set Callbackfunctions for many Events (and also for 2. of this list)
It could look like this

Code: Select all

PBIDE_AddFunction_OnEvent(#PBIDE_EVENT_MENU,#PBIDE_MENU_COMPILER_START,#PBIDE_CALLBACK_CALLBEFORE,@Start_Aufruf())
-On Menu-Events (See 1.3)
-On Highlighting, Typing and Autocompleting-Events
-On Debugger-Events
-On Events that belong to request 2.)

1.)Those things that are possible with the current IDE
1.1)Editing Possibilities
-Getting and Setting the active Tab
-Moving Tabs (Like "Sort SourceCodes")
-Getting and Setting the caretpos in the Editor-Tab
-Getting and Setting Selection
-Getting and Setting the Text in the Current Line

1.2)Files
-Open/Close Files

1.3)Menu
-Please create a List of Constants for each MenuItem
-Make it possible to read/write the Menuitem Entrie names
-Make it possible to simulate a Menu Event

1.4)AutoComplete
-Make it possible to access (add/delete/make (in)visible Items, If possibly like that:) the full list and the List that fits to the current typed code
It could look like this

Code: Select all

Enumeration ;AutoComplete-Types (Could be done PB-Intern)
  #PBIDE_AUTOCOMPLETE_TYPE_VAR
  #PBIDE_AUTOCOMPLETE_TYPE_CONSTANT
  #PBIDE_AUTOCOMPLETE_TYPE_PROCEDURE
  ...
EndEnumeration

Enumeration ;AutoComplete Extensionss (Could be done PB-Intern)
  #PBIDE_AUTOCOMPLETE_EXT_2DDrawing
  #PBIDE_AUTOCOMPLETE_EXT_GADGETS
  #PBIDE_AUTOCOMPLETE_EXT_NETWORK
  ...
EndEnumeration

Structure PBIDE_Definition
     file.s ;Path of the file
     line.l
     description; at first, this could be the full line Text
EndStructure

Structure PBIDE_AUTOCOMPLETE
   name.s ;Name of the Autocomplete-Item; this is what would be auto-completed
   intern_extrn.b;Indecates, if This is a PB-Intern Var/Proc or a userdefined var/proc...
   type.b;Function, Procedure, etc, Var_Global,Var_Protected, Var_Static.....
   type_extension.b;A list of Extensions for PB-intern Procedures
   Definition.PBIDE_Definition
EndStructure

Global NewList Entries.PBIDE_AUTOCOMPLETE()

...
;We only write projects without Network Support
PBIDE_AutoComplete_GetFullList(Entries())
ForEach Entries()
   if Entries()\intern=#PBIDE_AutoComplete_Intern and Entries()\type_Extension=#PBIDE_AUTOCOMPLETE_EXT_NETWORK
   DeleteElement(Entries())
  EndIf
Next
PBIDE_AutoComplete_SetFullList(Entries())

;There Must be some way to even hold these Extra-Programs alive
Repeat
Delay(10)
event= PBIDE_WorkOutEvents()
Until event=#PBIDE_EVENT_CloseMe

;On finish reset the list
PBIDE_AutoComplete_ResetFullList(Entries())
END
Reseting could be done by the IDE itself, filling the Structure with things like "definition\description" could be done by IDE-Tools

1.5)Changing WindowLayout
-Changing IDE-Highlighting
-Moving the Spliters to resize the bottom/left lines
-Change the layout of the Toolbar


2.)Some things, that would be "Todo"
A little prolog
All this should aim to a new multiple-vs-unique-Window-Management for the IDE. Something like Docking and Undocking and Extern-GUI-Customizing.
I`d like to see, that Extern tools could be included as Panelentries on the tools Bar or the bottombar or in the Tablist
as well as Code-Files could be opened in Extra windows, the tools bar or the bottombar.
I'm not quite sure how hard this is to implement, but I'm sure it would be great. :)

2.1)That ListView on the Bottom, that only shows the Compiler-Output is IMHO lost space. I saw in other IDEs, that they have a panel there with different Entries:
-Compiler Output
-FindList for Search (see here also 2.6)
-DebugOutput
-Information-Panel
For PBIDE I would like to ask for a Panelgadget with different panels like in the toolsbar on the right/left of the Editor.

2.2)Make PanelEntries moveable and Dockable. When just setting all Panel-Entries on extra Container-Gadgets, it should be possible to assign them to different panelgadgets or to new Childwindows.(on windows it would be done with SetParent, I think) and this way it would be easy to customize the IDE for everyone. For example, moving a Code-Tab to the toolsbar would make it possible to compare to Codefiles.

2.3)Allow extern PanelEntries.
What I mean is to make it possible to add Tools with an own GUI inside the PureBasic-IDE and controlling this GUI (Button-Events, Filling Listviews etc.) by callbacks.



Some Things, that could become possible with this

2.3.1)Strg+Alt+Left MouseClick on a Tab should open a Window that includes a ScintillaGadget with the code.
Doing this again should close this Window. It should be marked, that there is an open Window.
2.3.2)Nearly same thing. Strg+Alt+ Left MouseClick on a Procedure Call should open such a window and navigate to the Procedures Declaration
2.3.3)I`d liked to have a search-function for whole projects that can do the following:
-Fill a ListView with all found lines; Clicking on an Entry should navigate to the specific tab and line
-Code-Specific-Searching, which means: Search Strings, Search Variables, Search Procedures, Search Constants, etc
-Mark the found lines in the Listview: For example for Variables: Declaration-Lines are green, "Setting Value to the Variable"-Lines are blue,"Getting Value"-Lines are Red.
-Perhaps marking, what is to be found.
2.3.4)Advanced Options like renaming Variables could be done from Inside the IDE
2.3.5)A multiple line Information. In big projects, one line of Description is not enough to declare, what a function does and what the variables are REALLY used for.


Espacially point 2.3.3 and 2.3.5 are things that should belong to the IDE, and so they should (in my opinion) not be opened in extra windows.

So, I think, I can understand, that you're wishing to say "sorry, this wount come" and I know, that it´s not done in one day, but I think it could help to make IDE-Tools more effective and more people would think about to write things like advanced Search and so on.

So, thanks for reading this thousands of lines, I would have written a little shorter, if possible, but it took some time to write all this understandable and short.

Greetings

Franky

PS: If Point 2 is to far away from the question of this thread, I could also move it to an extra one. But I thought, It would in fit here.
Give Up everything but trying!
User avatar
skywalk
Addict
Addict
Posts: 4210
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: Controlling the IDE - What features would you like to se

Post by skywalk »

@Franky - Wow. I would like half of what you wrote.

I really can't wait to put an end to compiling and stopping at 1 error line.
Maybe this is just my specific situation, but when translating my old code, I get close with an external tool to make syntax changes FromOldCode ToPB.
But, I manually place the new code into the IDE and manually hit [F5] and manually read the error line.

I want to programmatically hit [F5]...
Read out error line and file(or Tab)...
Insert ";ERROR_xxx" comment for later...
Hit [F5] again and repeat until Error Line number > X.
Then parse all the offending ";ERROR" lines at once into a Human Debug File.
Paste back and have a go again.
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
C64
Enthusiast
Enthusiast
Posts: 151
Joined: Sat Dec 18, 2010 4:40 am

Re: Controlling the IDE - What features would you like to se

Post by C64 »

neotoma wrote:Also would be Auto-Text. Let say i write prcr, ist would replaced with ProcedureReturn
What's wrong with AutoComplete for that?
User avatar
blueznl
PureBasic Expert
PureBasic Expert
Posts: 6166
Joined: Sat May 17, 2003 11:31 am
Contact:

Re: Controlling the IDE - What features would you like to se

Post by blueznl »

I want the 'save' and 'run' triggers for the tools fixed...
( PB6.00 LTS Win11 x64 Asrock AB350 Pro4 Ryzen 5 3600 32GB GTX1060 6GB)
( The path to enlightenment and the PureBasic Survival Guide right here... )
Zach
Addict
Addict
Posts: 1675
Joined: Sun Dec 12, 2010 12:36 am
Location: Somewhere in the midwest
Contact:

Re: Controlling the IDE - What features would you like to se

Post by Zach »

skywalk wrote:@Franky - Wow. I would like half of what you wrote.

I really can't wait to put an end to compiling and stopping at 1 error line.
Maybe this is just my specific situation, but when translating my old code, I get close with an external tool to make syntax changes FromOldCode ToPB.
But, I manually place the new code into the IDE and manually hit [F5] and manually read the error line.

I want to programmatically hit [F5]...
Read out error line and file(or Tab)...
Insert ";ERROR_xxx" comment for later...
Hit [F5] again and repeat until Error Line number > X.
Then parse all the offending ";ERROR" lines at once into a Human Debug File.
Paste back and have a go again.
In the meantime.. You could probably accomplish this with AutoIt or another complex macro-ing language.
User avatar
skywalk
Addict
Addict
Posts: 4210
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: Controlling the IDE - What features would you like to se

Post by skywalk »

@Zach,
Probably so, but it would be a mish mash of confusion for me.
And what can AutoIT do that PB Tool code cannot?

Correct me if I am wrong, but AutoIt cannot read/edit the process memory of the IDE?
So, AutoIt would have to use the IDE GUI to read the Clipboard Debugger Log, re-load the edited file(s) after each failed compile.
Instead of a PB Tool updating the *existing Scintilla text and re-compiling on the fly.
*when this is made available per tab. :wink:
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
User avatar
Michael Vogel
Addict
Addict
Posts: 2797
Joined: Thu Feb 09, 2006 11:27 pm
Contact:

Re: Controlling the IDE - What features would you like to se

Post by Michael Vogel »

I would like to see the name of the procedure in which the the cursor stays somewhere in the status line. When doing a search command and jump around in a longer source, it may take a while to get things sorted...

Michael
User avatar
skywalk
Addict
Addict
Posts: 4210
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: Controlling the IDE - What features would you like to se

Post by skywalk »

Michael Vogel wrote:I would like to see the name of the procedure in which the the cursor stays somewhere in the status line. When doing a search command and jump around in a longer source, it may take a while to get things sorted...

Michael
Probably not the right topic...but I agree if instead, the Procedure List is updated to reflect the current procedure being edited. That list always taunts me when I am lost. :cry:
User avatar
Michael Vogel
Addict
Addict
Posts: 2797
Joined: Thu Feb 09, 2006 11:27 pm
Contact:

Re: Controlling the IDE - What features would you like to se

Post by Michael Vogel »

skywalk wrote:
Michael Vogel wrote:I would like to see the name of the procedure in which the the cursor stays somewhere in the status line. When doing a search command and jump around in a longer source, it may take a while to get things sorted...

Michael
Probably not the right topic...but I agree if instead, the Procedure List is updated to reflect the current procedure being edited. That list always taunts me when I am lost. :cry:
oiyyy :oops:
i'm running at 100% cpu load for some weeks already, showing some bugs in my firmware especially when doing multiple threads, sorry for that :|
User avatar
Tenaja
Addict
Addict
Posts: 1959
Joined: Tue Nov 09, 2010 10:15 pm

Re: Controlling the IDE - What features would you like to se

Post by Tenaja »

Freak--I would like to be able to turn on/off debugger windows with greater ease. Perhaps buttons on the toolbar, or at the worst, its own menu (not even a sub-menu of the debugger!).

I would also like a preference to "close all debugger windows" when the program finishes execution.
...And one to save & restore previous windows used.

They are very cumbersome, and it takes too many mouse clicks to get them to show & disappear. I use other debuggers, and they are much more convenient.

Thanks.
Trond
Always Here
Always Here
Posts: 7446
Joined: Mon Sep 22, 2003 6:45 pm
Location: Norway

Re: Controlling the IDE - What features would you like to se

Post by Trond »

I agree with the request of Tenaja, although it is not really relevant to remote controlling the IDE.

Tenaja: To get all debugger windows to disappear, create a keyboard shortcut for the action "kill program". When you press Shift+Ctrl+X (in my case) all debugger windows disappear.

The unfortunate thing is that they aren't recovered when the program is restarted. (Though you can select which windows open by default in the preferences.)

Also being able to adjust the granularity of the purifier when the program is NOT running would be sensible.
Post Reply