mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	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:
		
							
								
								
									
										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
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user