Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configure PyCharm IDE #232

Open
cztomczak opened this issue Jun 26, 2016 · 0 comments
Open

Configure PyCharm IDE #232

cztomczak opened this issue Jun 26, 2016 · 0 comments

Comments

@cztomczak
Copy link
Owner

cztomczak commented Jun 26, 2016

Instructions for configuring PyCharm IDE for work with CEF Python code.

  1. In Tool Windows > Project right click on "src/extern/cef/", "src/extern/" and "src/" directories and select Mark Directory As > Mark as Sources Root for each of them. You must mark them starting from the most nested, otherwise "Sources Root" option won't be available.
  2. Exclude the "cefpython/build/" directory by right clicking it and choosing "Mark Directory As" > Excluded
  3. Edit ".idea/inspectionProfiles/profiles_settings.xml" and set <option name="USE_PROJECT_PROFILE" value="true" />.
  4. Edit ".idea/inspectionProfiles/Project_Default.xml" and set these options:
<component name="InspectionProjectProfileManager">
  <profile version="1.0">
    <option name="myName" value="Project Default" />
    <inspection_tool class="DuplicatedCode" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
    <inspection_tool class="PyAttributeOutsideInitInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
    <inspection_tool class="PyBroadExceptionInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
    <inspection_tool class="PyMethodMayBeStaticInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
    <inspection_tool class="PyPep8NamingInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
      <option name="ignoredErrors">
        <list>
          <option value="N802" />
          <option value="N803" />
          <option value="N806" />
          <option value="N801" />
          <option value="N813" />
        </list>
      </option>
    </inspection_tool>
    <inspection_tool class="PyUnresolvedReferencesInspection" enabled="true" level="WARNING" enabled_by_default="true">
      <option name="ignoredIdentifiers">
        <list>
          <option value="PY_MAJOR_VERSION" />
          <option value="CefJSDialogCallback" />
          <option value="CefBrowser" />
          <option value="CefFrame" />
          <option value="ClientHandler" />
          <option value="CefRequestContext" />
          <option value="RequestContextHandler" />
          <option value="dict.__getitem__" />
          <option value="dict.__setitem__" />
          <option value="list.__getitem__" />
          <option value="list.__setitem__" />
          <option value="tuple.__getitem__" />
          <option value="CefRequestContextHandler" />
          <option value="CefApp" />
          <option value="CefClient" />
          <option value="dict.__delitem__" />
          <option value="CefCommandLine" />
          <option value="CefListValue" />
          <option value="CefCallback" />
          <option value="CefCookieManager" />
          <option value="str.__add__" />
          <option value="UNAME_SYSNAME" />
          <option value="CefBinaryValue" />
          <option value="CefDictionaryValue" />
          <option value="CefString" />
          <option value="CefRect" />
          <option value="CefRequest" />
          <option value="CefAuthCallback" />
          <option value="CefRequestCallback" />
          <option value="CefResourceHandler" />
          <option value="CefWebPluginInfo" />
          <option value="CefResponse" />
          <option value="CefStringVisitor" />
          <option value="CefURLRequest" />
          <option value="CefCompletionCallback" />
          <option value="CefSetCookieCallback" />
          <option value="CefDeleteCookiesCallback" />
          <option value="CefProcessMessage" />
          <option value="CefPostData" />
          <option value="CefPostDataElement" />
          <option value="cpp_multimap" />
          <option value="cpp_vector" />
          <option value="CefTask" />
          <option value="CefURLRequestClient" />
          <option value="CefDragData" />
          <option value="UINT_MAX" />
          <option value="Debug" />
          <option value="long" />
          <option value="CefImage" />
          <option value="scoped_ptr" />
          <option value="MainMessageLoopExternalPump" />
          <option value="CefValue" />
          <option value="Cython.Includes.libcpp.vector.vector.begin" />
          <option value="Cython.Includes.libcpp.vector.vector.end" />
          <option value="preinc" />
          <option value="deref" />
          <option value="PyToCefStringValue" />
        </list>
      </option>
    </inspection_tool>
    <inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
      <option name="processCode" value="true" />
      <option name="processLiterals" value="true" />
      <option name="processComments" value="true" />
    </inspection_tool>
  </profile>
</component>

Templates usage like CefRefPtr[CefApp] always shows "unresolved reference" error - to fix it add CefApp and others to ignore list:

  • easy to do with alt+enter when cursor over that error
  • or Settings > Inspections > Python unresolved references > Ignore list > Add
@cztomczak cztomczak changed the title Using PyCharm IDE to edit cefpython's Cython code Configuring PyCharm IDE to for editing cefpython code Aug 18, 2018
@cztomczak cztomczak changed the title Configuring PyCharm IDE to for editing cefpython code Configuring PyCharm IDE to for editing CEF Python code Aug 18, 2018
@cztomczak cztomczak changed the title Configuring PyCharm IDE to for editing CEF Python code Configure PyCharm IDE Aug 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant