Thanks be to lasersox and Infininight over at the #textmate room on IRC for all their help in cleaning up this here bundle, and for helping me to optimize my regex use in the language grammar.
Support for Go 1.0 was provided by Jeremy Whitlock and Michael Sheets, with additional code and fixes from Sylvain Defresne, liuyork, and Alexey Palazhchenko. Much of the current infrastructure was created by Martin Kühl, who is a significantly more seasoned TextMate bundle developer than I, and to whom I am eternally grateful. The following are his attributions for this bundle. This is a fork from Jim Dovey who has done most of the work in maintaining the bundle and deserves everyone's gratitude. Snippets Simple Statements SnippetĪ pair ('first, second'), suitable for declaring result variables from a multi-return-value function or a map range loop. The bundle implements language syntax, completion via gocode, some snippets, and some compile/format/documentation commands for the Go language.
To install this bundle manually, open a Terminal window and do: HiDPI completion icons (thanks nanoant).added print, println, printf, and fprintf snippets (thanks jish).run and build work on unsaved files (thanks tg).all non-run go commands operate on the current directory instead of per file if the package is not defined dynamically.The bundle will consult these commands if defined to dynamically change the gopath or package based on the current directory. Users can supply commands via ENV variables (TM_GO_DYNAMIC_GOPATH, TM_GO_DYNAMIC_PKG, TM_GO_DYNAMIC_PKG_PATH).Improved syntax highlighting (thanks nanoant).Support for goimports and golint (thanks fmccann).
This bundle is a fork from Jim Dovey's bundle with additional improvements merged from around the community.Ĭhanges from the original version (see full changelog for more details): When a variable is unknown (that is, its name isn't defined) the name of the variable is inserted and it is transformed into a placeholder.(a TextMate 2 bundle for the go programming language) Installation When a variable isn't set, its default or the empty string is inserted. Snippets support most TextMate syntax for dynamic behavior, intelligently format whitespace based on the insertion context, and allow easy multiline editing.īelow is an example of a for loop snippet for JavaScript: // in file 'Code/User/snippets/javascript.json', you can insert the value of a variable. Snippets files are written in JSON, support C-style comments, and can define an unlimited number of snippets. VS Code manages the creation and refreshing of the underlying snippets file(s) for you. To create or edit your own snippets, select User Snippets under File > Preferences ( Code > Preferences on macOS), and then select the language (by language identifier) for which the snippets should appear, or the New Global Snippets file option if they should appear for all languages. You can easily define your own snippets without any extension. If you find an extension you want to use, install it, then restart VS Code and the new snippets will be available. You can search for extensions that contains snippets in the Extensions view ( ⇧⌘X (Windows, Linux Ctrl+Shift+X)) using the filter. Many extensions on the VS Code Marketplace include snippets. However, keep in mind that this list also includes user snippets that you have defined, and any snippets provided by extensions you have installed. You can see the available snippets for a language by running the Insert Snippet command in the Command Palette to get a list of the snippets for the language of the current file. VS Code has built-in snippets for a number of languages such as: JavaScript, TypeScript, Markdown, and PHP. The snippet syntax follows the TextMate snippet syntax with the exceptions of 'interpolated shell code' and the use of \u both are not supported. There is also support for tab-completion: Enable it with "editor.tabCompletion": "on", type a snippet prefix (trigger text), and press Tab to insert a snippet. In Visual Studio Code, snippets appear in IntelliSense ( ⌃Space (Windows, Linux Ctrl+Space)) mixed with other suggestions, as well as in a dedicated snippet picker ( Insert Snippet in the Command Palette).