matwachich

Scite Project Manager v1.2.0.1

13 posts in this topic

#1 ·  Posted (edited)

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

Share this post


Link to post
Share on other sites



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. :)

Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

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 ...
 

Share this post


Link to post
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.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

What about ShellNew? I remember seeing @WindowsDir.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

Share this post


Link to post
Share on other sites

AAAAAAA OK Sorry, i completly forgot that.

This is a template Project File, for when you click right -> New -> you will find New AutoIt Project, just like we find New AutoIt Script

The template contains an empty project, called New Project

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

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 ...
 

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

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

Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

matwachich,

I do the same as Jos suggested in SciTE Jump.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

Share this post


Link to post
Share on other sites

New release, see first post

Share this post


Link to post
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

Share this post


Link to post
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!

Share this post


Link to post
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

  • Similar Content

    • Skysnake
      By Skysnake
      Scite comes up occasional, almost incidentally, in some support topics.  I have not found a "Scite" topic in the forums, so this is where I will start.  I have recently been using Scite intensively, specifically with a large project and I have certain issues.  I know that Scite is not an AutoIt product, but it is so closely integrated to the core release that it makes sense to raise issues and request support here.  If this is not the right please refer me to the right forum.
      Thx
       
      Skysnake
    • TrashBoat
      By TrashBoat
      I've messed around in scite theme settings and it left this blue bar , how can i get rid of it?
      Image (imgur)
       

    • leomoon
      By leomoon
      Hello,
      I'm trying to write a hotkey program and I know exactly how to do it but it will be hard coded and the user won't be able to edit it.
      HotKeySet("{ESC}", "HotKeyPressed") HotKeySet("^!d", "HotKeyPressed") HotKeySet("^+x", "HotKeyPressed") While 1 Sleep(500) WEnd Func HotKeyPressed() Switch @HotKeyPressed Case "{ESC}" Exit Case "^!d" ShellExecute("D:\Docs") Case "^+x" ShellExecute("D:\Docs\My Portables\Burner\AnyBurn\AnyBurn.exe") EndSwitch EndFunc I want the program to read a file that has hotkeys on odd lines and paths on even lines but I don't see how the program will load into itself.
      Is it even possible?
      Thanks.
    • rudi
      By rudi
      Hello,
      very propably this has been asked before, well, I miss the thread(s) ...
      Is there a command line switch to tell the SciTE setup EXE to install silently ("/S") *AND* to end up with "edit" (instead of "run") as system wide default action for *.au3 files?
       

       
      As it can be done with the config tool:
      https://www.autoitscript.com/autoit3/scite/docs/SciTE4AutoIt3/SciTEConfigb1.PNG
       
      Regards, Rudi.
    • tremolux66
      By tremolux66
      I use a monospace font for editing AutoIt scripts in SciTE (currently, CourierNew 9pt). Regardless of what font size I set in the configuration, when I start SciTE to resume editing the script text is one size smaller than I specified. When I type Ctrl+<numpad-slash> the text changes to the desired size. The same is true of the output pane, and I have to reset the size for both areas every time I start SciTE.
      IIRC, I've made few other changes to the configuration (e.g., changed the search highlight color and disabled Tidy), so this behavior seems odd. About SciTE says it's version 3.6.0 (Aug. 4, 2015).
      Any idea how to fix this?