marcellourbani / vscode_abap_remote_fs

Remote filesystem for ABAP systems
MIT License
175 stars 28 forks source link
abap hacktoberfest

ABAP remote filesystem for visual studio code (beta)

Turns Visual studio code into an IDE for ABAP development, operating directly on your SAP server.

Is less capable and more buggy than Eclipse with ADT, but also more responsive, and has a couple of extra features not found in Eclipse, like listing changed sources by transport and normalizing changes in diff views

Keyboard shortcuts changed F5 now starts debugger

Getting started

The easiest way is to first create a connection with an ABAP server by running command

AbapFs Create connection

and follow the instructions, then run command

AbapFs Connect to an ABAP system

to connect to it. Your abap code will appear in the file tree on the left.

You can also look up ABAP objects by name with command

AbapFs Search for object

Links

Unless your system is very modern (7.51 or later I think), write support will require you to install this plugin in your dev server to enable. Browsing works even without it

anim image syntax highlighting provided by ABAP language extension, picture was too lame without it :)

Compatibility with abaplint is limited by different naming conventions

Features

anim

setup

Check the system requirements on the wiki and follow the installation instructions

You will end up with one or more server connections like this in your vs code configuration:

{
  "abapfs.remote": {
    "NPL": {
      "url": "https://vhcalnplci:8000",
      "username": "developer",
      "password": "secret",
      "client": "001", // client is required for SAPGUI integration. Might need more
      "language": "EN",
      "allowSelfSigned": true
    }
  }
}

Access over RFC

Not supported, but an user provided a workaround

Proxy support

There's no direct support for proxies in the application, but you can use the builtin proxy in vscode, just use the option 'Use the proxy support for extensions.' If you only want to do it for a single system you can do it in its workspace (and save it, which is a good idea anyway)

{
  "http.proxySupport": "on",
  "http.proxy": "http://localhost:3128"
}

image

License

MIT license applies

some icons found in client/images are from Material design and subject to the Apache license 2.0

Disclaimer

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.