AHK Studio

Editor for AutoHotkey written completely in AutoHotkey.

Moderator: maestrith

User avatar
maestrith
Posts: 825
Joined: 16 Oct 2013, 13:52

Re: AHK Studio

04 Jan 2017, 11:23

1.003.5
Fixed (hopefully): Reported by huckleberry
-Tracked Notes: Sometimes changing to the code that you select from the Project Explorer
Fixed: Reported by Joe Glines
-Export: Having trouble with FileInstall
1.003.6
Added: Requested by Joe Glines
-Adding a file called HotStrings.ahk and adding all the hotstrings you want to it will make them work in AHK Studio (ONLY WORKS IN UN-COMPILED VERSION)
1.003.7
Fixed: Reported by Joe Glines and Run1e
-Center Caret: Was not disabling correctly
Fixed: Reported by jpack
-Added -DPIScale to the file Studio.ahk
Fixed: (hopefully) Reported by Run1e
-When you hit enter too quickly in Omni-Search it was causing an error
1.003.8
Fixed: Reported by jpack
-Code Explorer: Clicking on an item that you have already selected was not working again
1.003.9
Fixed: Reported by michaelbeijer
-Setting AHK Studio as the default editor was not working on the compiled version
1.003.10
Fixed: Reported by Darth_diggler
-Plugins on some systems were not working properly
-Compiled version of AHK Studio, the run command was not working
-Toolbars are not following the main background color
-Toolbars can have external programs in them (was there before but forgot to re-add it)
-Shift+Click+Drag icons to re-arrange the icons or DoubleClick on the toolbar to bring up a GUI to sort/arrange them
Changed:
-Cleaned up the code a bit and fixed some of the case issues.
Fixed: Reported by MANY people.
-IfEqual and other things indent.
John H Wilson III 05/29/51 - 03/01/2020. You will be missed.AHK Studio OSDGUI Creator
Donations
Discord
All code is done on a 64 bit Windows 10 PC Running AutoHotkey x32
Entropy42
Posts: 29
Joined: 11 Dec 2016, 12:34

Re: AHK Studio

10 Jan 2017, 16:09

I'm having an issue with AHK Studio finding 8 of the same function. In the Code Explorer I expand the functions and have 8 copies of "isSameAt". Clicking any one of them takes me to the same place in my file. Refreshing code explorer does not fix it. This code segment is definitely the problem, as a new file with just this will reproduce it. Most likely something to do with the multi-line If statements.

Code: Select all

isSameAt(board, col, x, y)
{
	; Generic global to include array.
	global
	if (x < 1 || x > SG_SQUARES_X || y < 1 || y > SG_SQUARES_Y )
	{
		;MsgBox, returning false as OOB ( %x% < 1 || %x% > %SG_SQUARES_X% || %y% < 1 || %y% > %SG_SQUARES_Y% )
		return false
	}
	; ax := SG_ARR[x,y]
	if ( board[x,y] == col )
	{
		;MsgBox, returning true as %ax% == %col% and none of ( %x% < 1 || %x% > %SG_SQUARES_X% || %y% < 1 || %y% > %SG_SQUARES_Y% )
		return true
	}
	return false
}

; Brute force search a completed (move is already made) grid for matches, starting with the most valuable, remove those gems when the match is found
; TODO: Reduce 5-7 gem checks to only search up or right?
findMatches(board)
{
	noMatch := false		; flag to set when we have found a grid with no more cascades
	Loop, %SG_SQUARES_Y%
	{
		y := A_Index
		y1 := ( y + 1 )
		y2 := ( y + 2 )
		y3 := ( y + 3 )
		y_1 := ( y - 1 )
		y_2 := ( y - 2 )
		y_3 := ( y - 3 )
		Loop, %SG_SQUARES_X%
		{
			x := A_Index
			x1 := ( x + 1 )
			x2 := ( x + 2 )
			x3 := ( x + 3 )
			x_1 := ( x - 1 )
			x_2 := ( x - 2 )
			x_3 := ( x - 3 )
			col := board[x,y]
			if (col = "")	; If we passed a 2nd level board state and are checking an empty square
				continue
			; check for 7 gem Ts
			if ( isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2) && isSameAt(board, col, x, y_1) && isSameAt(board, col, x, y_2) && isSameAt(board, col, x1, y) && isSameAt(board, col, x2, y) 
				|| isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2) && isSameAt(board, col, x, y_1) && isSameAt(board, col, x, y_2) && isSameAt(board, col, x_1, y) && isSameAt(board, col, x_2, y) 
				|| isSameAt(board, col, x_1, y) && isSameAt(board, col, x_2, y) && isSameAt(board, col, x1, y) && isSameAt(board, col, x2, y) && isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2)
				|| isSameAt(board, col, x_1, y) && isSameAt(board, col, x_2, y) && isSameAt(board, col, x1, y) && isSameAt(board, col, x2, y) && isSameAt(board, col, x, y_1) && isSameAt(board, col, x, y_2) )
			{}
			; check for 6 gem crosses
			else if ( isSameAt(board, col, x1, y1) && isSameAt(board, col, x1, y_1) && isSameAt(board, col, x_1, y1) && isSameAt(board, col, x_1, y_1) && isSameAt(board, col, x, y2)
				|| isSameAt(board, col, x1, y1) && isSameAt(board, col, x1, y_1) && isSameAt(board, col, x_1, y1) && isSameAt(board, col, x_1, y_1) && isSameAt(board, col, x2, y)
				|| isSameAt(board, col, x1, y1) && isSameAt(board, col, x1, y_1) && isSameAt(board, col, x_1, y1) && isSameAt(board, col, x_1, y_1) && isSameAt(board, col, x, y_2)
				|| isSameAt(board, col, x1, y1) && isSameAt(board, col, x1, y_1) && isSameAt(board, col, x_1, y1) && isSameAt(board, col, x_1, y_1) && isSameAt(board, col, x_2, y) )
			{}
			; check for 5 gem Xs
			else if ( isSameAt(board, col, x1, y1) && isSameAt(board, col, x1, y_1) && isSameAt(board, col, x_1, y1) && isSameAt(board, col, x_1, y_1) )
			{}
			; check for 5 gem Ls
			else if ( isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2) && isSameAt(board, col, x1, y) && isSameAt(board, col, x2, y) 
				|| isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2) && isSameAt(board, col, x_1, y) && isSameAt(board, col, x_2, y) 
				|| isSameAt(board, col, x_1, y) && isSameAt(board, col, x_2, y) && isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2)
				|| isSameAt(board, col, x_1, y) && isSameAt(board, col, x_2, y) && isSameAt(board, col, x, y_1) && isSameAt(board, col, x, y_2) )
			{}
			; check for 4 gem lines, only search up or right
			else if ( isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2) && isSameAt(board, col, x, y3) 
				|| isSameAt(board, col, x1, y) && isSameAt(board, col, x2, y) && isSameAt(board, col, x3, y) )
			{}
			; check for 3 gem lines, only search up or right
			else if ( isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2)  
				|| isSameAt(board, col, x1, y) && isSameAt(board, col, x2, y) )
			{}
			else
				noMatch := true
		}
	}
}
Another bug I found while writing this. If I make a new project, then refresh code explorer for that new file before saving. It asks me to save (fair enough). If I don't save, it completely deletes that project (not cool).

I also deleted some code, clicked Refresh Code Explorer, and then Undo did not bring back the code I'd deleted.

While I'm here, is there an option in AHK Studio to convert a script to One True Brace style?
Entropy42
Posts: 29
Joined: 11 Dec 2016, 12:34

Re: AHK Studio

10 Jan 2017, 17:01

I fixed the multiple function thing. The mix of && and || in my If statement was a problem. The set of && needed to be enclosed in parenthesis. I'm not sure if this is an actual bug that would have misbehaved at runtime, or if AHK Studio was just parsing it wrong.

Code: Select all

if ( (isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2) && isSameAt(board, col, x, y_1) && isSameAt(board, col, x, y_2) && isSameAt(board, col, x1, y) && isSameAt(board, col, x2, y)) 
				|| (isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2) && isSameAt(board, col, x, y_1) && isSameAt(board, col, x, y_2) && isSameAt(board, col, x_1, y) && isSameAt(board, col, x_2, y)) 
				|| (isSameAt(board, col, x_1, y) && isSameAt(board, col, x_2, y) && isSameAt(board, col, x1, y) && isSameAt(board, col, x2, y) && isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2))
				|| (isSameAt(board, col, x_1, y) && isSameAt(board, col, x_2, y) && isSameAt(board, col, x1, y) && isSameAt(board, col, x2, y) && isSameAt(board, col, x, y_1) && isSameAt(board, col, x, y_2)) )
			{}
			; check for 6 gem crosses
			else if ( (isSameAt(board, col, x1, y1) && isSameAt(board, col, x1, y_1) && isSameAt(board, col, x_1, y1) && isSameAt(board, col, x_1, y_1) && isSameAt(board, col, x, y2))
				|| (isSameAt(board, col, x1, y1) && isSameAt(board, col, x1, y_1) && isSameAt(board, col, x_1, y1) && isSameAt(board, col, x_1, y_1) && isSameAt(board, col, x2, y))
				|| (isSameAt(board, col, x1, y1) && isSameAt(board, col, x1, y_1) && isSameAt(board, col, x_1, y1) && isSameAt(board, col, x_1, y_1) && isSameAt(board, col, x, y_2))
				|| (isSameAt(board, col, x1, y1) && isSameAt(board, col, x1, y_1) && isSameAt(board, col, x_1, y1) && isSameAt(board, col, x_1, y_1) && isSameAt(board, col, x_2, y)) )
			{}
			; check for 5 gem Xs
			else if ( (isSameAt(board, col, x1, y1) && isSameAt(board, col, x1, y_1) && isSameAt(board, col, x_1, y1) && isSameAt(board, col, x_1, y_1)) )
			{}
			; check for 5 gem Ls
			else if ( (isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2) && isSameAt(board, col, x1, y) && isSameAt(board, col, x2, y)) 
				|| (isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2) && isSameAt(board, col, x_1, y) && isSameAt(board, col, x_2, y) )
				|| (isSameAt(board, col, x_1, y) && isSameAt(board, col, x_2, y) && isSameAt(board, col, x, y1) && isSameAt(board, col, x, y2))
				|| (isSameAt(board, col, x_1, y) && isSameAt(board, col, x_2, y) && isSameAt(board, col, x, y_1) && isSameAt(board, col, x, y_2)) )
			{}
User avatar
maestrith
Posts: 825
Joined: 16 Oct 2013, 13:52

Re: AHK Studio

10 Jan 2017, 18:43

Sorry it is acting strange. I am not in the right mind to work on this right now, I am sorry, but I am on a new medication for pain and it is really messing with my brain. I will see if I can figure out what is going on as soon as I feel a bit better.
John H Wilson III 05/29/51 - 03/01/2020. You will be missed.AHK Studio OSDGUI Creator
Donations
Discord
All code is done on a 64 bit Windows 10 PC Running AutoHotkey x32
Entropy42
Posts: 29
Joined: 11 Dec 2016, 12:34

Re: AHK Studio

10 Jan 2017, 19:14

Really sorry to hear that. Hope you recover quickly.

Another thing I noticed today was that if I have two projects open and I select one in the project explorer and then right click another one, the right click menu actually operates on the one I originally selected, not the one that I right-clicked. i.e. I had 3 projects open and wanted to quickly close one that I wasn't working on, but instead closed my active project.
User avatar
maestrith
Posts: 825
Joined: 16 Oct 2013, 13:52

Re: AHK Studio

12 Jan 2017, 08:20

1.003.11
Fixed: Reported by many...
-When moving the window to another screen or position and then maximizing it, it "should" remember what screen it was on and the last position it was in before maximizing
John H Wilson III 05/29/51 - 03/01/2020. You will be missed.AHK Studio OSDGUI Creator
Donations
Discord
All code is done on a 64 bit Windows 10 PC Running AutoHotkey x32
Entropy42
Posts: 29
Joined: 11 Dec 2016, 12:34

Re: AHK Studio

12 Jan 2017, 10:13

If you make a new file, then hit debug, it asks you to save. If you try save over an existing file, it just deletes your current file and opens the old file. I commonly do this with little test scripts. So I wrote one, tried to run it, saved it as "test2" which already existed, and it just opened my old test2 file and my new script was gone.

The variable list doesn't refresh when I debug the script a second time, so I have to close it and reopen it every time I hit Debug, and it seems to report uninitialized variables as containing the contents of my clipboard. I like how it handles arrays though, much nicer than SciTE.
User avatar
maestrith
Posts: 825
Joined: 16 Oct 2013, 13:52

Re: AHK Studio

12 Jan 2017, 12:21

Entropy42 wrote:If you make a new file, then hit debug, it asks you to save. If you try save over an existing file, it just deletes your current file and opens the old file. I commonly do this with little test scripts. So I wrote one, tried to run it, saved it as "test2" which already existed, and it just opened my old test2 file and my new script was gone.

The variable list doesn't refresh when I debug the script a second time, so I have to close it and reopen it every time I hit Debug, and it seems to report uninitialized variables as containing the contents of my clipboard. I like how it handles arrays though, much nicer than SciTE.
When you create a new file it will create a "virtual" file named untitled.ahk but that file does not exist. You can have it create a new file on your HDD by Alt+M NFD (New File Dialog) {enter}, this will show a dialog the next time you use File/New and it will actually create the file you input. The reason I am offering up this info is because there isn't a way, that I am aware of, to debug a virtual file. I would also suggest having a "project" that you can just Ctrl+A and delete so that you can just Alt+J {project name} {enter} and just leave it in the Project Explorer. That way Studio will be able to properly highlight errors if they occur.

As far as the not refreshing variable info, I'll have to take a look at it when I have a bit more brain power.
John H Wilson III 05/29/51 - 03/01/2020. You will be missed.AHK Studio OSDGUI Creator
Donations
Discord
All code is done on a 64 bit Windows 10 PC Running AutoHotkey x32
smarq8
Posts: 69
Joined: 16 Jan 2016, 00:33

Re: AHK Studio

12 Jan 2017, 23:00

I found once bug. Run fresh (first run) AHK-Studio > File > New Sctintilla Window
now appear artifact at right side and while to try move/resize window then width gonna increase on each mouse move.
Image
User avatar
maestrith
Posts: 825
Joined: 16 Oct 2013, 13:52

Re: AHK Studio

12 Jan 2017, 23:13

oh wow...yea, that function actually was replaced and I am not too sure if I fixed it (looks like I didn't) but if you right click on the main edit window and choose Split Control/Choose A Direction/Scintilla, then it will split the control.
John H Wilson III 05/29/51 - 03/01/2020. You will be missed.AHK Studio OSDGUI Creator
Donations
Discord
All code is done on a 64 bit Windows 10 PC Running AutoHotkey x32
User avatar
maestrith
Posts: 825
Joined: 16 Oct 2013, 13:52

Re: AHK Studio

12 Jan 2017, 23:23

1.003.11
Fixed: Reported by many...
-When moving the window to another screen or position and then maximizing it, it "should" remember what screen it was on and the last position it was in before maximizing
Removed: Reported by smarq8
-New Scintilla Window: Old code that does not work anymore.
John H Wilson III 05/29/51 - 03/01/2020. You will be missed.AHK Studio OSDGUI Creator
Donations
Discord
All code is done on a 64 bit Windows 10 PC Running AutoHotkey x32
smarq8
Posts: 69
Joined: 16 Jan 2016, 00:33

Re: AHK Studio

26 Jan 2017, 16:16

Include with LineFile is not recognized in explorer at right
Image

I also have some suggestion.
When select text then highlight other and show them places ner scroll bar like in np++
currently it underline other word depend on cursor position, but when select something then all underlines disappear.
Image

Also always when I use replace then document always jump at end or at begin when use "Current Include only" whih is annoing . Also at the same time everything is unfolding.
User avatar
maestrith
Posts: 825
Joined: 16 Oct 2013, 13:52

Re: AHK Studio

26 Jan 2017, 16:28

smarq8 wrote:Include with LineFile is not recognized in explorer at right
Image

I also have some suggestion.
When select text then highlight other and show them places ner scroll bar like in np++
currently it underline other word depend on cursor position, but when select something then all underlines disappear.
Image

Also always when I use replace then document always jump at end or at begin when use "Current Include only" whih is annoing . Also at the same time everything is unfolding.
If you can send me the files zipped up to me I will take a look and see if I can fix the issue. I will pm you my email

The suggestion:
Sadly things like that are a bit out of my knowledge. AHK is a great programming language but there isn't a control that will allow for it. Sorry.
John H Wilson III 05/29/51 - 03/01/2020. You will be missed.AHK Studio OSDGUI Creator
Donations
Discord
All code is done on a 64 bit Windows 10 PC Running AutoHotkey x32
User avatar
Capbat
Posts: 101
Joined: 17 May 2014, 13:33
Location: Québec Canada

Re: AHK Studio

02 Feb 2017, 09:53

Does AHK Studio has Debug functionality?.

Thanks

Bat
Entropy42
Posts: 29
Joined: 11 Dec 2016, 12:34

Re: AHK Studio

02 Feb 2017, 10:15

Yes, it does.
User avatar
Capbat
Posts: 101
Joined: 17 May 2014, 13:33
Location: Québec Canada

Re: AHK Studio

02 Feb 2017, 10:18

@Entropy

Thanks for you response, could you please, let me know how to use it.
This is my first encounter with Studio.

Thanks.

Bat
User avatar
maestrith
Posts: 825
Joined: 16 Oct 2013, 13:52

Re: AHK Studio

02 Feb 2017, 11:02

Capbat wrote:@Entropy

Thanks for you response, could you please, let me know how to use it.
This is my first encounter with Studio.

Thanks.

Bat
1. Open the script you want to debug
2. Menus:
-Tools
-Debug
-Debug Current Script
OR you can use Alt+M DCS {enter}
3. A small debug window will appear at the bottom of your script. It will give you instructions (by default Alt+E to run the script)
John H Wilson III 05/29/51 - 03/01/2020. You will be missed.AHK Studio OSDGUI Creator
Donations
Discord
All code is done on a 64 bit Windows 10 PC Running AutoHotkey x32
smarq8
Posts: 69
Joined: 16 Jan 2016, 00:33

Re: AHK Studio

07 Feb 2017, 13:14

My list of issues/suggestions noted in past one week:

* When class functions are in separate files via #Include then they are not visible in Code Explorer in "Project.ahk>Class>ClassName" but they are in "Project.ahk>Function"

* Checkmarks in "Options>Formating Options" are updated after restart AHK-Studio. PS. not all but some of them for example: Autospace after comma, autospace before comma, highlight current area, etc

* "Edit>Toggle Comment Line" create comment in empty lines

* Some cemment detecting and toggling issues:
When Comment Insert is set to ";"
"; var:=1" is toggle to " var:=1" - this is yet acceptable but its annoing when I use other editors at the same time that use "; " or other
When Comment Insert is set to "; "
";var:=1" is toggle to "; ;var:=1" - unacceptable

* Navigate in Project explorer do not remember scroll position for each file. However it remember cursor pos and after switch file it always set scroll position depend on cursor. So it force me to scrolling each time I switch file. For exaple: File1 - cursor is in 5 line and I scroll down to line 100, now I navigate to other file and back to File1, scroll pos now is at 5 line instead 100. (in "scroll pos" I mean currently visible top line number). Similar situation appear for horizontal scroll pos
PS. during use AHK-Studio I aslo catch that cursor pos also sometime change its position when switching file. Currently I can not catch cases when that happen, just when Im sure cursor is in the middle file then after do some thing in other file and back then cursor jump somewhere at begin.

* "Edit>Create Include form selection" replace "_" with "space" for FileName in the window that appears.
Example:

Code: Select all

Function_AAA_BBB(){ ; Proposed new file name is "Function AAA BBB.ahk"
	; something
}
* AHK-Studio not watch for file update even with "Check for updated files on focus"

* Sometime files are not saved until restart AHK-Studio.

* when somthing is folding then after restart AHK-Studio then file content (still with folded things) is cuted until reflod once.
Image

* folding lines depend on bracket position and comment
Image


Some suggestion:
* when typing "Object." then hits shoult appear with MyClass functions (same as when type "MyClass.")

Code: Select all

Object := new MyClass()
* When use find then doubleclick should work same as "Jump" button, now Im forced to select line and click "Jump" which is uncomfortable.

Sorry for my english.
mas
Posts: 23
Joined: 22 May 2015, 12:02

Re: AHK Studio

08 Feb 2017, 14:07

i dl 'AHK-Studio-master.zip' and i have 2 problems:

- in those demo videos the gui has some toolbars and i don't have them (probably they are plugins or part of another theme);
- it doesn't work with ahk x64 (why not!), anyway i am on x64 and soon I WILL BE on ahk v2 x64 (obs. future not past... don't care past).

looks cool
thanks ;)
User avatar
maestrith
Posts: 825
Joined: 16 Oct 2013, 13:52

Re: AHK Studio

08 Feb 2017, 16:38

AHK Studio will "work" with x64 but it will re-run itself in a 32 bit environment.
Image
Make sure to select the toolbar after you create it.
John H Wilson III 05/29/51 - 03/01/2020. You will be missed.AHK Studio OSDGUI Creator
Donations
Discord
All code is done on a 64 bit Windows 10 PC Running AutoHotkey x32

Return to “AHK Studio”

Who is online

Users browsing this forum: No registered users and 26 guests