GithubHelp home page GithubHelp logo

stataeditor's Introduction

Stata Editor for Sublime Text 3

Original work by Mattias Nordin

Fork by Gorkem Aksaray

  • Version 0.11.0
  • Date: March 7, 2021

Revisions

This fork makes several revisions to the original package to make it behave more like the Stata do-file editor.

  • Updated StataEditor.tmLanguage to make StataEditor immediately switch to comment.line scope once // (anywhere) or * (at line start) is inserted. This prevents auto-completion in line comments, similar to how stock R or C syntaxes behave.
  • Updated Comments.tmPreferences to make StataEditor put // at the line start when inserting a comment via ctrl+/.
  • Revised snippets:
    • Moved all snippets into their own folder.
    • Revised snippets in accordance with their original Stata definitions.
  • Updated CompletionsPlugin.py; added "replace" command to command auto-completion list.
  • Revised keyboard shortcut behavior:
    • Execute (do) command: ctrl+d is regularly used to send parts of code to Stata. When a line (or lines) is selected but the caret is at the beginning of the following line (for example when the user selects a line by clicking to its line number in gutter), StataEditor used to send both the current line(s) and the following line to Stata. This is now changed to only the current selection, as in Stata do-file editor.
    • Select line: ctrl+l selects only the current line. Caret is placed at the end of line instead of the beginning of the following line (requires the added select_line.py file).
    • Delete line: set to ctrl+shift+l instead of ctrl+shift+k.

Features

This package provides the ability to write and run Stata code from Sublime Text 3 (ST3). Features in this package include:

  • Clear syntax highlighting
  • Ability to run do-files from ST3 using both ctrl + D ("do") and ctrl + R ("run")
  • Run only selected code with support for multiple selections
  • Access Stata help files from ST3 by selecting the command for which you want access to the documentation and press F1 (open help file in ST3), or ctrl + F1 (open help file in Stata). For the former option, an internet connection is required.
  • Shorthand for creation of locals by pressing alt + L
  • Load a new Stata dataset by selecting a path and pressing alt + shift + U (Equivalent to the command "use 'path', clear"). Please, note that your current work will then be lost, so remember to save your dataset!
  • Some snippets and completions (edit the settings to add completions for functions, commands and files)
  • Plus all other features that come with ST3!

Requirements and Setup

This package only works on Windows machines. To use Stata with Sublime Text on OS X, try Stata Enhanced. StataEditor has been tested on Sublime Text 3 together with Stata 13-15 on Windows 7, Windows 8 and Windows 10. I have very briefly tested it with Stata 11 and Stata 12 and it seems to be working.

To install the package follow the steps outlined below. You can install StataEditor without Package Control, but in that case you probably already know what to do.

  1. Download and install ST3 if you do not already have it installed.

  2. Install Package Control. To get Package Control, click here and follow the instructions for ST3.

  3. Open ST3 and click Preferences -> Package Control. Choose "Install Package" and choose StataEditor from the list. Repeat this step and install the Pywin32 package.

  4. If the path to your Stata installation is "C:/Program Files (x86)/Stata13/StataMP-64.exe" you can skip this step. If not, select Preferences -> Package Settings -> StataEditor -> Settings - Default. Copy the content and then go to Preferences -> Package Settings -> StataEditor -> Settings - User and paste your copied text in the new file. Then change the path to where your Stata installation is located (note that you need to use forward slash, "/", instead of backward slash, "") and save the file. In addition, if you do not use Stata 13, change the Stata version number. Do not change the content of the Settings - Default file. While this will work temporarily, with the next update your changes will disappear. The content of the Settings - User file will not be overwritten when the package is updated.

  5. Finally, to use Stata interactively from ST3, you also need to register the Stata Automation type library. Instructions can be found here. Note that I have had to use the Windows Vista instructions for both Windows 7 and Windows 8 to get Stata Automation to work. Once the Stata Automation type library has been registered, you are good to go! You can also automate this step by using the program in the following link.

Encoding

Stata 14 and Stata 15 have unicode support and uses utf-8 encoding just as ST3. Earlier versions of Stata do not have unicode support. Therefore, if you write Stata code containing non-ASCII characters in ST3, you may notice that these characters have been replaced with nonsense when you open the file in Stata's native do-file editor (versions 13 and earlier). This problem is easily avoided by saving your file with a different encoding in ST3: Simply open "File -> Save with encoding", and choose Western (Windows 1252) (or another appropriate encoding). If your Stata version uses a different encoding than Windows 1252 (again, only Stata 13 and earlier), it is possible to change encoding by going to the settings file (see step 4 under "Requirements and Setup" above) and change the character_encoding option. For a list of encodings to use, see the following link

stataeditor's People

Contributors

mattiasnordin avatar flcong avatar kylebarron avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.