Usage Instructions of Voice Code

It takes some time to prepare before you can use the full functionality.


For voice input:
	For word mode input:
		Please download 'vosk-model-en-us-0.22-lgraph' from 'https://alphacephei.com/vosk/models', 
		Menu bar - file - voice_code_source_folder, and put the decompressed 'vosk-model-en-us-0.22-lgraph' folder into 'python3.12/site-packages/voice_code_resource/Easy_Code_res/'.

		Building Vocabulary are necessary for intelligent matching. Non-standard words also can be added to similar words.
		Build Vocabulary(button on the top menu):
	    		Collect recognition words to (common)short_words.txt and (rare)check_words.txt (Otherwise a default list of common words will be used.)
	    		Generate approximate vocabulary by reading.
	    		Done.

	For full sentence voice input:
		Go to the following URL to select and download the speech model:
			https://k2-fsa.github.io/sherpa/onnx/pretrained_models/online-transducer/zipformer-transducer-models.html#id28
			Please note that at the top of the webpage, install sherpa-onnx as required
		Then fill in the path of both in the menu bar 'Kaldi Mode':
			Get path of sherpa-onnx by command: which sherpa-onnx
			And the kaldi model decompression path


	When the mouse moves to the code canvas, it will automatically switch to word input mode. 
	When the mouse moves to the ai canvas, it will automatically switch to whole sentence input mode.

	2 seconds after the mouse stops moving, word mode input is no longer accepted to avoid noise writing code.
	You can turn off word-level speech recognition in the menu bar - mode - Stop word-level speech recognition 05
	Double-click the ai canvas text line with the left mouse button to copy and paste this line to the code canvas editing position.




To use the Supermaven AI Suggestions:

	Please install Neovim(brew install neovim) and the Supermaven plugin inside Neovim.
	It's recommended to use LazyVim as the plugin manager for an easy setup. 
	
	Try to start it use command: ":lua require('supermaven-nvim.api').start()" , if successful，you can exit Neovim.

	Press button 'AI Codes' at the bottom ，then when editing code, there will be AI suggestions.
	To ensure your code is not automatically uploaded to the internet, the AI suggestions are not automatically displayed by default. 
	You must trigger the button 'AI Codes' manually. 
	
	If you use this function，please understand Supermaven’s confidentiality commitment.
	Press Tab will accept the first line of suggestion content.
	When you move the mouse, the suggestions will hide. New suggestions will automatically appear when available.



Brief instructions for editing text using the mouse:
	When the mouse hovers over the canvas text, it highlights the target text that can be picked up. 
	Move the cursor upward from the bottom of the code line and downward from the top to enter the code line, different text ranges will be highlighted.
	
	At this point, clicking the middle mouse button quickly copies and pastes the highlighted text to the editing position, 
	or you can click the automatically displayed button for other operations.

	Right click on the highlighted text to cut it. After cutting it in this way, left click on the paste location to paste it directly.
	Of course you can also use the prompt buttons 'cut' and 'paste'.

	When moving the mouse, entering the target text from above or below highlights different target ranges.

	Text selected actively through the mouse can also perform the same operations.  

	The code canvas is divided into multiple pickup areas relative to the current editing code line, corresponding to the pickup content:
	(Moving the mouse to the corresponding position previews the pickup result; by default, clicking the middle mouse button performs the pickup input.)  

		Top-left                   : #  Extended: % @ ^ """ ''' ?  
		Left                       : =  Extended: >= <= > < ...  
		Bottom-left                : Newline  
		Left of editing position   : Middle-click opens a keypad; right-click deletes one character  
		Right                      : Middle-click and right-click ()[] :\. ,  
		Top-right first line blank : '' ""  
		Top-right other positions  : Space  
		Bottom-right               : _

	Triple-click on a blank area of the canvas to quickly zoom in and out. 
	The leftmost area of the canvas is zoomed out first and then restored, and the remaining blank areas are zoomed in first and then restored.
	
	Double-click on a code line to select the pop-up targets and jump to the definition.
	Double-click the function name line to implement the switch between the child function and the parent function.
	Click the number in the upper left corner of the function name to open the function call location.
	
	Move the mouse cursor to the far right of the code canvas and scroll the mouse wheel up and down to jump to the previous operation line (instead of 'ctrl+[' and 'ctrl+]')
	
	In an empty function, double-click to start adding text.
	
	If the pop-up 'copy' 'paste' button blocks the mouse, right-click the button to hide it.
	
	Double-click on the left side of the code line to reduce the indentation, and double-click on the right side to increase the indentation.
	
	When you move the mouse to different code lines and change the editing position, the edit button will pop up automatically. 
	The 'del1' button is used to delete a character, and the 'del——' button is used to delete the entire line.

	Right-click menu to compare files and accept comparison results.
	Right-click menu to compare file with AI answer and accept comparison results.
	
	When there is a syntax error, click the error code line, the error will be displayed in the upper right corner. Left-click the error message to copy it.
	
For Debug Agent:
	For 'ask ai' button, you need to fill in your own ai model account to use ask ai.

	For 'debug agent' button, it will use its own server without using your ai model account. 
	This function will collect running parameters and requires your help to run the code.

	When using 'debug agent', if the code has changed from before, please press 'update file' to make the server analyze based on the latest file.


Other tips:
	Hold shift to select across function ranges.
	Hold shift + mouse wheel to zoom view.
	For real-time printing of variable values, global variables in the startup file, currently cannot be printed , while other files are fine.
	Computer lag will affect Voice Code's operations, especially voice recognition, in this case, please restart your computer.
	High computer performance can effectively reduce speech recognition delay.
	You can open a new file by dragging a code file onto the canvas title bar.
	Support doc,docx files.
	When typing on the keyboard, an occasional 'Fast save err' notification can be disregarded. It is a known result of multithreaded validation. If this error persists, please right-click the menu bar and select 'Save code and structure'.
	The smoothness of operation and voice recognition speed are heavily influenced by computer performance.

For barrier-free input, please use the 'a f k p u' key and move the mouse up, down, left, right and standstill .

Voice Code itself does not attempt to collect any customer information. 


Videos for usage: 
https://b23.tv/2MhTvU8


Contact if any questions:
Follow me on x : @EasyCoding75819
My linkedin : www.linkedin.com/in/leo-lee-python
QQ群: 876329974

