Basic VSCode configuration for building and debugging (#2483)
* Basic VSCode configuration for building and debugging * Fix building and debugging in Windows * Move to contrib folder and add instructions
This commit is contained in:
		
							parent
							
								
									8c3a2e817b
								
							
						
					
					
						commit
						4c2b1be3a4
					
				
					 6 changed files with 105 additions and 1 deletions
				
			
		
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							|  | @ -10,6 +10,9 @@ _test | ||||||
| # IntelliJ | # IntelliJ | ||||||
| .idea | .idea | ||||||
| 
 | 
 | ||||||
|  | # MS VSCode | ||||||
|  | .vscode | ||||||
|  | 
 | ||||||
| # Architecture specific extensions/prefixes | # Architecture specific extensions/prefixes | ||||||
| *.[568vq] | *.[568vq] | ||||||
| [568vq].out | [568vq].out | ||||||
|  | @ -36,6 +39,7 @@ _testmain.go | ||||||
| *.log | *.log | ||||||
| 
 | 
 | ||||||
| /gitea | /gitea | ||||||
|  | /debug | ||||||
| /integrations.test | /integrations.test | ||||||
| 
 | 
 | ||||||
| /bin | /bin | ||||||
|  |  | ||||||
|  | @ -26,6 +26,8 @@ It assumes you have followed the | ||||||
| Sensitive security-related issues should be reported to | Sensitive security-related issues should be reported to | ||||||
| [security@gitea.io](mailto:security@gitea.io). | [security@gitea.io](mailto:security@gitea.io). | ||||||
| 
 | 
 | ||||||
|  | For configuring IDE or code editor to develop Gitea see [IDE and code editor configuration](contrib/ide/) | ||||||
|  | 
 | ||||||
| ## Bug reports | ## Bug reports | ||||||
| 
 | 
 | ||||||
| Please search the issues on the issue tracker with a variety of keywords | Please search the issues on the issue tracker with a variety of keywords | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								contrib/ide/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								contrib/ide/README.md
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | ||||||
|  | # IDE and code editor configuration | ||||||
|  | 
 | ||||||
|  | ## Table of Contents | ||||||
|  | - [IDE and code editor configuration](#ide-and-code-editor-configuration) | ||||||
|  |   - [Microsoft Visual Studio Code](#microsoft-visual-studio-code) | ||||||
|  | 
 | ||||||
|  | ## Microsoft Visual Studio Code | ||||||
|  | Download Microsoft Visual Studio Code at https://code.visualstudio.com/ and follow instructions at https://code.visualstudio.com/docs/languages/go to setup Go extension for it. | ||||||
|  | 
 | ||||||
|  | Create new direcotry `.vscode` in Gitea root folder and copy contents of folder [contrib/ide/vscode](vscode/) to it. You can now use `Ctrl`+`Shift`+`B` to build gitea executable and `F5` to run it in debug mode. | ||||||
|  | 
 | ||||||
|  | Supported on Debian, Ubuntu, Red Hat, Fedora, SUSE Linux, MacOS and Microsoft Windows. | ||||||
							
								
								
									
										31
									
								
								contrib/ide/vscode/launch.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								contrib/ide/vscode/launch.json
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,31 @@ | ||||||
|  | { | ||||||
|  |   "version": "0.2.0", | ||||||
|  |   "configurations": [ | ||||||
|  |     { | ||||||
|  |       "name": "Launch", | ||||||
|  |       "type": "go", | ||||||
|  |       "request": "launch", | ||||||
|  |       "mode": "debug", | ||||||
|  |       "buildFlags": "", | ||||||
|  |       "port": 2345, | ||||||
|  |       "host": "127.0.0.1", | ||||||
|  |       "program": "${workspaceRoot}/main.go", | ||||||
|  |       "env": {}, | ||||||
|  |       "args": ["web"], | ||||||
|  |       "showLog": true | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "name": "Launch (with SQLite3)", | ||||||
|  |       "type": "go", | ||||||
|  |       "request": "launch", | ||||||
|  |       "mode": "debug", | ||||||
|  |       "buildFlags": "-tags=\"sqlite\"", | ||||||
|  |       "port": 2345, | ||||||
|  |       "host": "127.0.0.1", | ||||||
|  |       "program": "${workspaceRoot}/main.go", | ||||||
|  |       "env": {}, | ||||||
|  |       "args": ["web"], | ||||||
|  |       "showLog": true | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
							
								
								
									
										51
									
								
								contrib/ide/vscode/tasks.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								contrib/ide/vscode/tasks.json
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,51 @@ | ||||||
|  | { | ||||||
|  |   "version": "2.0.0", | ||||||
|  |   "tasks": [ | ||||||
|  |     { | ||||||
|  |       "taskName": "Build", | ||||||
|  |       "type": "shell", | ||||||
|  |       "command": "go", | ||||||
|  |       "group": "build", | ||||||
|  |       "presentation": { | ||||||
|  |         "echo": true, | ||||||
|  |         "reveal": "always", | ||||||
|  |         "focus": false, | ||||||
|  |         "panel": "shared" | ||||||
|  |       }, | ||||||
|  |       "args": ["build"], | ||||||
|  |       "linux": { | ||||||
|  |         "args": [ "-o", "gitea", "${workspaceRoot}/main.go" ] | ||||||
|  |       }, | ||||||
|  |       "osx": { | ||||||
|  |         "args": [ "-o", "gitea", "${workspaceRoot}/main.go" ] | ||||||
|  |       }, | ||||||
|  |       "windows": { | ||||||
|  |         "args": [ "-o", "gitea.exe", "\"${workspaceRoot}\\main.go\""] | ||||||
|  |       }, | ||||||
|  |       "problemMatcher": ["$go"] | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "taskName": "Build (with SQLite3)", | ||||||
|  |       "type": "shell", | ||||||
|  |       "command": "go", | ||||||
|  |       "group": "build", | ||||||
|  |       "presentation": { | ||||||
|  |         "echo": true, | ||||||
|  |         "reveal": "always", | ||||||
|  |         "focus": false, | ||||||
|  |         "panel": "shared" | ||||||
|  |       }, | ||||||
|  |       "args": ["build", "-tags=\"sqlite\""], | ||||||
|  |       "linux": { | ||||||
|  |         "args": ["-o", "gitea", "${workspaceRoot}/main.go"] | ||||||
|  |       }, | ||||||
|  |       "osx": { | ||||||
|  |         "args": ["-o", "gitea", "${workspaceRoot}/main.go"] | ||||||
|  |       }, | ||||||
|  |       "windows": { | ||||||
|  |         "args": ["-o", "gitea.exe", "\"${workspaceRoot}\\main.go\""] | ||||||
|  |       }, | ||||||
|  |       "problemMatcher": ["$go"] | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
|  | @ -500,7 +500,11 @@ func DateLang(lang string) string { | ||||||
| 
 | 
 | ||||||
| // execPath returns the executable path.
 | // execPath returns the executable path.
 | ||||||
| func execPath() (string, error) { | func execPath() (string, error) { | ||||||
| 	file, err := exec.LookPath(os.Args[0]) | 	execFile := os.Args[0] | ||||||
|  | 	if IsWindows && filepath.IsAbs(execFile) { | ||||||
|  | 		return filepath.Clean(execFile), nil | ||||||
|  | 	} | ||||||
|  | 	file, err := exec.LookPath(execFile) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return "", err | 		return "", err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue