Jump to content

Scite Project Manager v1.2.0.1


matwachich
 Share

Recommended Posts

New Release: 1.2.0.1 (beta 2) 17/02/2012

Minor bug fix, see change log

+: Add/Ajout, -: Remove/Retrait, *:Modified/Modifié, !: Corrected/Corrigé

=== Version: 1.0.0.0 ==
First public version

=== Version: 1.2.0.0 ==
+: First launch configuration
    - Search for AutoIt path
    - Set file associations
    - Select language according to the system
    - Ask for SciTE window adaptation
+: It is now possible to deactivate the SciTE window adaptation
+: Search functionality
+: When a file is not found in the Projects/Workspaces history, it is deleted from the list
*: File are now opened using SciTE Director Extension (smoother and faster)
*: When minimizing SPM while SciTE is minimized, SciTE is not maximized
*: File extension .lng is no longer displayed in language selection
*: When opening files from Explorer, the are all opened in the current runing SPM instance
*: Current working directory is now always set as the last activated project
!: When item is renamed, if the name is the same as the old one, so the project is not set as Modified
!: A file is now correctly renamed (change icon, correctly sorted)

=== Version: 1.2.0.1 ===
!: ShellNew file Template.auproj
!: New files where created in bad folder

New Release: 1.2 (beta 2)

Here is the new version! lot of enhancements and bug corrections.

As always, all suggestions and comments are very welcome!

(See the link below for download)

PS: 1.2 because iv got a testing version (1.1) that i compiled just for me.

----

Hi everybody!

As a user of Programmer's Notepad, that i adapted to AutoIt, i really like it's Project Manager

But, SciTE has got really usefull thing/tools related to AutoIt that i couldn't adapt to Programmer's Notepad.

I suggested the devs to make a project manager to SciTE but no...

So i made it my self, and here it is!

Scite Project Manager is intended for who (like me!) like to divide his scripts into many script, each one related to a particulare aspect of the program you are making (Ex: a program can be splited into files like: gui.au3, database.au3, display.au3, events.au3 .....)

A program can also have other files, like documentation, to do list, bugs list, change log....

With SPM (Scite Project Manager) all the paths to all those files is stored in a single file .auproj (AutoIt Project), and you have to do, is open this file, and you have all your project's in a simple TreeView, and you can rearange them in folders if you want!!!

For example, SPM is made like this (many files, each one for a particular aspect of the program)

It's simple and beautiful, fully functionnal and well integrated with SciTE.

It's in beta test, and i'm searching for bugs and suggestions.

Hope you like it, and why not, if it become enought stable, it will be added to the official SciTE4AutoIt!!!

Project Page

Bug Report

Download

Edited by matwachich
Link to comment
Share on other sites

  • Developers

Hope you like it, and why not, if it become enought stable, it will be added to the official SciTE4AutoIt!!!

You have written this as a fact so hope the owner of that installer is aware of it too. :)

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

Mmm, Project manager ...

I probably had my expectation set to high (or just wrong), as, after playing around with it, I ended up asking myself ... Why would I used this?

Adding some specific/intended purpose and features information of your manager to you initial post might not be a bad idea.

Additional I think you might like to look at a alternative way of opening and activate project code files inside Scite. Current process is kinda slow and not that code-user friendly in my view. (Run Scite with "check.if.already.open=0" and you probably see why, unless its a intended behavior. (Which I don't like of course. :) )

Anyway. Looks nice but also makes we wonder about its general usefulness.

Good luck.

[spelling, etc]

Edited by MvGulik

"Straight_and_Crooked_Thinking" : A "classic guide to ferreting out untruths, half-truths, and other distortions of facts in political and social discussions."
"The Secrets of Quantum Physics" : New and excellent 2 part documentary on Quantum Physics by Jim Al-Khalili. (Dec 2014)

"Believing what you know ain't so" ...

Knock Knock ...
 

Link to comment
Share on other sites

I went through the code to see where information is stored. Could you confirm where exactly you write data to? As I can see @WindowsDir & @ScriptDir, also the registry to associate your custom filetype.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

@guinness: All data relative to a Project is stored in the project file (*.auproj)

All configuration data is stored in the .ini file in the same folder of the executable

And finally, the is the custom file association in the registry.

But nothing in @WindowsDir.

@MvGulik: about the usefullness, i updated the first port as you suggested.

About the way that i open the files in SciTE, i'm aware to any suggestion, cause i didn't understood what you want to say, all i do is Run('Scite.exe "_File_"')

If there is a way to directly command the SciTE process and order it to open files, without the need to run another instance of scite, i buy!

Thanks for testing and feedback

Link to comment
Share on other sites

What about ShellNew? I remember seeing @WindowsDir.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

If there is a way to directly command the SciTE process and order it to open files, without the need to run another instance of scite, i buy!

I think there is. But I don't know the details of it. Search the forum for 'scite director'. (or else ask (or wait for) ... Jos.)

Here is a topic related to using 'scite director' ... (Or go to message #9)

Edited by MvGulik

"Straight_and_Crooked_Thinking" : A "classic guide to ferreting out untruths, half-truths, and other distortions of facts in political and social discussions."
"The Secrets of Quantum Physics" : New and excellent 2 part documentary on Quantum Physics by Jim Al-Khalili. (Dec 2014)

"Believing what you know ain't so" ...

Knock Knock ...
 

Link to comment
Share on other sites

  • Developers

Sending SciTE commands it pretty simple.

To send a command to SciTE to open a file you could:

Opt("WinSearchChildren", 1)
Global $WM_COPYDATA = 74
Global $LastReply
; Get SciTE DirectorHandle
$Scite_hwnd = WinGetHandle("DirectorExtension")
; Get My GUI Handle
Global $My_Hwnd = GUICreate("AutoIt3-SciTE interface")
Global $My_Dec_Hwnd = Dec(StringRight($My_Hwnd, 8))
;Register COPYDATA message.
GUIRegisterMsg($WM_COPYDATA, "MY_WM_COPYDATA")
;
$file2Open = "C:temptest.au3"
; need double up the backslashes
$file2Open = StringReplace($file2Open,"","")
SendSciTE_Command($My_Dec_Hwnd, $SciTE_hwnd,"open:" & $file2Open)
;
; Send command to SciTE
Func SendSciTE_Command($My_Dec_Hwnd, $Scite_hwnd, $sCmd)
    $sCmd = ":" & $My_Dec_Hwnd & ":" & $sCmd
    ConsoleWrite('-->' & $sCmd & @lf )
    Local $CmdStruct = DllStructCreate('Char[' & StringLen($sCmd) + 1 & ']')
    DllStructSetData($CmdStruct, 1, $sCmd)
    Local $COPYDATA = DllStructCreate('Ptr;DWord;Ptr')
    DllStructSetData($COPYDATA, 1, 1)
    DllStructSetData($COPYDATA, 2, StringLen($sCmd) + 1)
    DllStructSetData($COPYDATA, 3, DllStructGetPtr($CmdStruct))
    DllCall('User32.dll', 'None', 'SendMessage', 'HWnd', $Scite_hwnd, _
            'Int', $WM_COPYDATA, 'HWnd', $My_Hwnd, _
            'Ptr', DllStructGetPtr($COPYDATA))
EndFunc   ;==>SendSciTE_Command
;
;
; Received Data from SciTE
Func MY_WM_COPYDATA($hWnd, $msg, $wParam, $lParam)
    Local $COPYDATA = DllStructCreate('Ptr;DWord;Ptr',$lparam)
    $SciTECmdLen = DllStructGetData($COPYDATA, 2)
    Local $CmdStruct = DllStructCreate('Char['&$SciTECmdLen+1&']',DllStructGetData($COPYDATA, 3))
    $SciTECmd = Stringleft(DllStructGetData($CmdStruct, 1),$SciTECmdLen)
    $SciTECmd = StringTrimLeft($SciTECmd,StringInStr($SciTECmd,":",0,1,2))
    ConsoleWrite($SciTECmd & @lf )
    $LastReply = $SciTECmd
EndFunc   ;==>MY_WM_COPYDATA
Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

matwachich,

I do the same as Jos suggested in SciTE Jump.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

I like the idea of a project navigator. Some areas for enhancements

- startup. I think it would be clearer to just start SPM and then show the configuration window so the user can configure his settings (with several msgbox)

- Possibility to import (multiple) folder into the project

- Double click on a .au3 file to run it.

- Option to set a autoit file as main, so that even when you have another file open, when hitting F5 this project is runned.

- When creating a new project the option to use a template (for example with folders for images, GUI, data

Other things I noticed

- Drag and drop of files and folder don't work

- Under edit typo: Set active project

- I think it's clearer to give the tool the window title "Project Navigator", instead of the tool name SPM

Link to comment
Share on other sites

Thanks for the reply! I like many of your ideas:

- For the startup, i will let it as it is, because i think we don't need to show the config GUI that is full of non-vital-for-startup options, and the message boxes asks only about the essential

- Import an entire folder... mmm i like this!

- Not double-click to run (cause d-click is for open), but i'll ad a contextual menu item to run the selected file!

- Don't like this, because to run a default file, the SPM window must be active, and i think many people will hit F5 in the SciTE window, not in SPM

- The templates and a New Project Wizard are already on my todo list!

- Drag & Drop was working, only if it's broken now, i didn't verified. But remember that the drag & drop works only on files, because it's more difficult to move an entire folder with all it's sub folders and their contents (if you look at the source, in the file TreeView.au3, you'll notice that a made a Function to move a folder, but it works only on folders that have no sub-folders)

- Thanks for reporting the type

- You are right, SPM isn't good, i'll make "Project Manager"

See you at the next release!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...