Microsoft Visual Studio: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
Brian Wilson (talk | contribs)
Line 35: Line 35:


Microsoft is still clinging to settings tabs in the text editor at 4.
Microsoft is still clinging to settings tabs in the text editor at 4.
It should be tabs at 8 and blank fill. Set it thus and avoid a world of pain.
It should be tabs at 8 and '''blank fill'''. Set it thus and avoid a world of pain*.
Blank fill means it won't silently replace spaces with tabs.


Tools -> Options -> Python -> Tabs
Tools -> Options -> Python -> Tabs
Line 42: Line 43:


<br clear=all/>
<br clear=all/>
*world of pain - you really are curious about this?
Since Python cares (a lot) about indentation, having the indents ''look'' consistent is not enough,
eventually you will end up with a mixture of spaces and tabs in your .py file, and one line will have for example
two tabs and it lines up with all the others which have 8 spaces. Then it will no longer compile,
giving you the error about indentation being wrong even though everything ''looks'' just fine.
The editor will flag the line with a
The answer is to set it to 100% blank fill, never put tabs anywhere, it's 2018 and saving a few hundred bytes by substituting tabs for spaces is no longer important.


=== Use Git for version control ===
=== Use Git for version control ===

Revision as of 18:27, 25 June 2018

I am using the 2017 Community edition.

2018-04-15 Updated to 15.6.4 (on Murre) and .Net Framework 4.7.1

I want to try to develop some ArcObjects tools and I want to access those tools from Python.

So, that gives me two tasks: set up C# and the ESRI SDKs and set up Python.

I have ESRI and Anaconda versions of Python. I originally installed the Anaconda versions to use Spyder. I like the conda package and environment management so I want (at least for now) to continue using them.

I used to be a Windows developer so I was in Visual Studio sessions all day, every day. So far it's working nearly as well with Python as it did with C#. Integration with ESRI/ArcPy has been seamless.

Installation

Go to https://www.visualstudio.com/

For reasons I mention on the Anaconda page, do NOT install the versions of Python and Anaconda that are available in the Visual Studio installer. Install them separately. Install only the "Python development" workload and turn off Python 3x64; Visual Studio won't have any problem finding and using the ESRI and Anaconda packages. This also means you won't need administrative permission to install or update Anaconda packages. If you install the Microsoft version, you will have to run to your administrator every time you need a new Python package.

Set up

Select the Python you want

  1. Tools->Python->Python Environment
  2. Select the one for ESRI Python 2.7.14 64-bit for modern ArcMap work or 32-bit if you need Personal Geodatabases
  3. Choose "Make this the default for new projects"

Tabs at 4, really?

Microsoft is still clinging to settings tabs in the text editor at 4. It should be tabs at 8 and blank fill. Set it thus and avoid a world of pain*. Blank fill means it won't silently replace spaces with tabs.

Tools -> Options -> Python -> Tabs

SET TABS AT 8!!
SET TABS AT 8!!


  • world of pain - you really are curious about this?

Since Python cares (a lot) about indentation, having the indents look consistent is not enough, eventually you will end up with a mixture of spaces and tabs in your .py file, and one line will have for example two tabs and it lines up with all the others which have 8 spaces. Then it will no longer compile, giving you the error about indentation being wrong even though everything looks just fine. The editor will flag the line with a

The answer is to set it to 100% blank fill, never put tabs anywhere, it's 2018 and saving a few hundred bytes by substituting tabs for spaces is no longer important.

Use Git for version control

Go to "Tools -> Options -> Source Control" and under "Plug-in Selection", switch to Git.

So far I still use git from the command line. I tried out the Github extension and it works but I don't really see it as an advantage over using the commands. I use the git bash shell on Windows 7. I suppose if you never use bash it might be more difficult but maybe it's time for you to learn!

Use the experimental support for Intellisense

This is a checkbox under Tools->Options->Python->Experimental

ArcObjects 10.6 SDK

https://desktop.arcgis.com/en/system-requirements/latest/arcobjects-sdk-system-requirements.htm

ArcGIS Desktop, ArcGIS Engine, or ArcGIS Server is required to develop with ArcObjects SDK.

Microsoft .NET Framework 4.5 or higher; I am using 4.7.1 Note you can download .Net Frameworks from inside Visual Studio.

Samples will be found in C:\Program Files (x86)\ArcGIS\DeveloperKit10.6

ArcGIS Add-ins

I am starting a separate page: ArcGIS Add-ins