PyCharm Educational Edition

This commit is contained in:
Dmitry Trofimov
2014-08-03 18:54:27 +02:00
parent 907799dc65
commit 9734b263ab
748 changed files with 4375 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

+6
View File
@@ -0,0 +1,6 @@
; Installer images
!define IMAGES_LOCATION ${COMMUNITY_DIR}\python\build\resources
;!define LICENSE_FILE ${BASE_DIR}\python\license\PyCharm_Preview_License
!define PRODUCT_PROPERTIES_FILE ${BASE_DIR}\out\pycharmEDU\layout\bin\idea.properties
!define PRODUCT_VM_OPTIONS_NAME pycharm.exe.vmoptions
!define PRODUCT_VM_OPTIONS_FILE ${BASE_DIR}\out\pycharmEDU\win\bin\${PRODUCT_VM_OPTIONS_NAME}
+11
View File
@@ -0,0 +1,11 @@
svn4idea
git4idea
remote-servers-git
github
terminal
IntelliLang
IntelliLang-xml
IntelliLang-js
IntelliLang-python
rest
python-rest
+392
View File
@@ -0,0 +1,392 @@
/*
* Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import org.jetbrains.jps.LayoutInfo
import static org.jetbrains.jps.idea.IdeaProjectLoader.guessHome
setProperty("home", guessHome(this as Script))
includeTargets << new File("${guessHome(this as Script)}/build/scripts/utils.gant")
includeTargets << new File("${guessHome(this)}/build/scripts/libLicenses.gant")
requireProperty("buildNumber", requireProperty("build.number", snapshot))
setProperty("ch", home)
setProperty("pythonCommunityHome", "$home/python")
setProperty("pythonEduHome", "$home/python/edu")
// load ApplicationInfo.xml properties
ant.xmlproperty(file: "$pythonCommunityHome/resources/idea/PyCharmEduApplicationInfo.xml", collapseAttributes: "true")
setProperty("system_selector", "PyCharm${p("component.version.major")}0")
setProperty("dryRun", false)
setProperty("jdk16", guessJdk())
//modules to compile
setProperty("pluginFilter", new File("$pythonEduHome/build/plugin-list.txt").readLines())
private List<String> pycharmPlatformApiModules() {
return [platformApiModules, "dom-openapi"].flatten()
}
private List pycharmImplementationModules() { //modules to put into pycharm.jar
return [platformImplementationModules, "dom-impl", "python-community", "python-ide-community", "python-openapi", "python-psi-api",
"platform-main", "python-educational"].flatten()
}
private List modules() {
return [
"python-pydev", "colorSchemes", pycharmPlatformApiModules(), pycharmImplementationModules(), pluginFilter
].flatten()
}
private List approvedJars() {
def normalizedHome = ch.replace('\\', '/')
def normalizedPythonHome = pythonCommunityHome.replace('\\', '/')
return ["$normalizedHome/lib/", "$normalizedPythonHome/lib/", "$normalizedHome/xml/relaxng/lib/"]
}
class Paths {
final sandbox
final distAll
final distWin
final distMac
final distUnix
final artifacts
final ideaSystem
final ideaConfig
def Paths(String home) {
sandbox = "$home/out/pycharmEDU"
distAll = "$sandbox/layout"
distWin = "$sandbox/win"
distMac = "$sandbox/mac"
distUnix = "$sandbox/unix"
artifacts = "$sandbox/artifacts"
ideaSystem = "$sandbox/system"
ideaConfig = "$sandbox/config"
}
}
setProperty("paths", new Paths(home))
setProperty("buildName", "PE-$buildNumber")
target('default': "Build artifacts") {
loadProject()
projectBuilder.stage("Cleaning up sandbox folder")
projectBuilder.targetFolder = "${paths.sandbox}/classes"
projectBuilder.dryRun = dryRun
if (!dryRun) {
forceDelete(paths.sandbox)
ant.mkdir(dir: paths.sandbox)
}
ant.tstamp() {
format(property: "todayYear", pattern: "yyyy")
}
ant.patternset(id: "resources.included") {
include(name: "**/*.properties")
include(name: "fileTemplates/**/*")
include(name: "inspectionDescriptions/**/*")
include(name: "intentionDescriptions/**/*")
include(name: "tips/**/*")
include(name: "search/**/*")
}
ant.patternset(id: "resources.excluded") {
exclude(name: "**/*.properties")
exclude(name: "fileTemplates/**/*")
exclude(name: "fileTemplates")
exclude(name: "inspectionDescriptions/**/*")
exclude(name: "inspectionDescriptions")
exclude(name: "intentionDescriptions/**/*")
exclude(name: "intentionDescriptions")
exclude(name: "tips/**/*")
exclude(name: "tips")
}
zipSources(home, paths.artifacts)
def usedJars = buildModulesAndCollectUsedJars(modules(), approvedJars(), ["/ant/"])
layoutEducational("${paths.sandbox}/classes/production", usedJars)
/*
buildNSIS([paths.distAll, paths.distWin],
"$home/python/build/strings.nsi", "$home/python/build/paths.nsi",
"pycharm", false, true, system_selector)
*/
/*
signMacZip("pycharm")
buildDmg("pycharm", "${home}/python/build/DMG_background.png")
*/
}
public layoutEducational(String classesPath, Set usedJars) {
setProperty("pluginFilter", new File("$pythonEduHome/build/plugin-list.txt").readLines())
if (usedJars == null) {
usedJars = collectUsedJars(modules(), approvedJars(), ["/ant/"], null)
}
def appInfo = appInfoFile(classesPath)
def paths = new Paths(home)
buildSearchableOptions("${projectBuilder.moduleOutput(findModule("platform-resources"))}/search", [], {
projectBuilder.moduleRuntimeClasspath(findModule("main_pycharm_edu"), false).each {
ant.pathelement(location: it)
}
}, "-Didea.platform.prefix=PyCharmEdu -Didea.no.jre.check=true")
if (!dryRun) {
wireBuildDate("PE-${buildNumber}", appInfo)
}
Map args = [
buildNumber: "PE-${buildNumber}",
system_selector: system_selector,
ide_jvm_args: "-Didea.platform.prefix=PyCharmEdu -Didea.no.jre.check=true"]
LayoutInfo layoutInfo = layoutFull(args, paths.distAll, usedJars)
generateLicensesTable("$paths.artifacts/third-party-libraries.txt", layoutInfo.usedModules);
layoutWin(args, paths.distWin)
layoutUnix(args, paths.distUnix)
layoutMac(args, paths.distMac)
ant.echo(message: "PE-${buildNumber}", file: "${paths.distAll}/build.txt")
def launcher = "${paths.distWin}/bin/pycharm.exe"
List resourcePaths = ["$ch/community-resources/src",
"$ch/platform/icons/src",
"$pythonEduHome/resources"]
buildWinLauncher("$ch", "$ch/bin/WinLauncher/WinLauncher.exe", launcher,
appInfo, "$pythonCommunityHome/build/pycharm_edu_launcher.properties", system_selector, resourcePaths)
buildWinZip("${paths.artifacts}/pycharmPE-${buildNumber}.zip", [paths.distAll, paths.distWin])
String tarRoot = isEap() ? "pycharm-edu-$buildNumber" : "pycharm-edu-${p("component.version.major")}.${p("component.version.minor")}"
buildTarGz(tarRoot, "$paths.artifacts/pycharmPE-${buildNumber}.tar", [paths.distAll, paths.distUnix])
String macAppRoot = isEap() ? "PyCharm EDU ${p("component.version.major")}.${p("component.version.minor")} EAP.app/Contents" : "PyCharm EDU.app/Contents"
buildMacZip(macAppRoot, "${paths.artifacts}/pycharmEDU-${buildNumber}.sit", [paths.distAll], paths.distMac)
}
private layoutPlugins(layouts) {
dir("plugins") {
layouts.layoutPlugin("rest")
layouts.layoutPlugin("python-rest")
}
layouts.layoutEducationalPlugins(ch)
}
private String appInfoFile(String classesPath) {
return "$classesPath/python-community/idea/PyCharmEduApplicationInfo.xml"
}
private layoutFull(Map args, String target, Set usedJars) {
def openapiModules = pycharmPlatformApiModules()
def superLayouts = includeFile("$ch/build/scripts/layouts.gant")
reassignAltClickToMultipleCarets("$ch")
def result = layout(target) {
dir("lib") {
jar("util.jar") {
module("util")
module("util-rt")
}
jar("openapi.jar") {
openapiModules.each { module it }
}
jar("annotations.jar") { module("annotations") }
jar("extensions.jar") { module("extensions") }
jar("pycharm.jar") {
pycharmImplementationModules().each {
module(it) {
exclude(name: "**/tips/**")
}
}
}
jar("pycharm-pydev.jar") {
module("python-pydev")
}
jar("bootstrap.jar") { module("bootstrap") }
jar("resources.jar") {
module("platform-resources")
module("colorSchemes")
}
jar("forms_rt.jar") {
module("forms_rt")
}
//noinspection GroovyAssignabilityCheck
jar([name: "resources_en.jar", duplicate: "preserve"]) {
// custom resources should go first
fileset(dir: "$pythonCommunityHome/resources") {
include(name: "**/tips/**")
}
module("platform-resources-en") {
ant.patternset {
exclude(name: "tips/images/switcher.png")
exclude(name: "tips/images/navigateToFilePath.gif")
}
}
}
jar("icons.jar") { module("icons") }
jar("boot.jar") { module("boot") }
usedJars.each {
fileset(file: it)
}
dir("libpty") {
fileset(dir: "$ch/lib/libpty") {
exclude(name: "*.txt")
}
}
dir("ext") {
fileset(dir: "$ch/lib") {
include(name: "cglib*.jar")
}
}
dir("src") {
fileset(dir: "$ch/lib/src") {
include(name: "trove4j_changes.txt")
include(name: "trove4j_src.jar")
}
jar("pycharm-pydev-src.zip") {
fileset(dir: "$pythonCommunityHome/pydevSrc")
}
jar("pycharm-openapi-src.zip") {
fileset(dir: "$pythonCommunityHome/openapi/src")
fileset(dir: "$pythonCommunityHome/psi-api/src")
}
}
}
dir("help") {
fileset(dir: "$home/python/help") {
include(name: "*.pdf")
}
}
dir("helpers") {
fileset(dir: "$pythonCommunityHome/helpers")
}
dir("license") {
fileset(dir: "$ch/license")
fileset(dir: "$ch") {
include(name: "LICENSE.txt")
include(name: "NOTICE.txt")
}
}
layoutPlugins(superLayouts)
dir("bin") {
fileset(dir: "$ch/bin") {
exclude(name: "appletviewer.policy")
include(name: "*.*")
}
}
}
patchPropertiesFile(target, args + [appendices: ["$home/build/conf/ideaJNC.properties"]])
return result
}
private layoutWin(Map args, String target) {
layout(target) {
dir("bin") {
fileset(dir: "$ch/bin/win") {
exclude(name: "breakgen*")
}
}
dir("skeletons") {
fileset(dir: "$pythonCommunityHome/skeletons") {
include(name: "skeletons-win*.zip")
}
}
}
winScripts(target, ch, "pycharm.bat", args)
winVMOptions(target, null, "pycharm.exe")
ant.copy(file: "$home/python/help/pycharmhelp.jar", todir: "$target/help", failonerror: false)
}
private layoutUnix(Map args, String target) {
layout(target) {
dir("bin") {
fileset(dir: "$ch/bin/linux") {
exclude(name: "libbreakgen*")
}
}
}
ant.copy(file: "$pythonCommunityHome/resources/PyCharmCore128.png", tofile: "$target/bin/pycharm.png")
unixScripts(target, ch, "pycharm.sh", args)
unixVMOptions(target, "pycharm")
ant.copy(file: "$home/python/help/pycharmhelp.jar", todir: "$target/help", failonerror: false)
}
private layoutMac(Map _args, String target) {
layout(target) {
dir("bin") {
fileset(dir: "$home/bin") {
include(name: "*.jnilib")
}
}
dir("skeletons") {
fileset(dir: "$pythonCommunityHome/skeletons") {
include(name: "skeletons-mac*.zip")
}
}
}
Map args = new HashMap(_args)
args.icns = "$pythonCommunityHome/resources/PyCharmCore.icns"
args.bundleIdentifier = "com.jetbrains.pycharm"
args.platform_prefix = "PyCharmEdu"
args.help_id = "PY"
args."idea.properties.path" = "${paths.distAll}/bin/idea.properties"
args."idea.properties" = ["idea.no.jre.check": true, "ide.mac.useNativeClipboard": "false"];
layoutMacApp(target, ch, args)
}
@@ -0,0 +1,3 @@
IDS_JDK_ENV_VAR=PYCHARM_JDK
IDS_JDK_ONLY=false
IDS_VM_OPTIONS=-Didea.platform.prefix=PyCharmEdu -Didea.no.jre.check=true -Didea.paths.selector=__PRODUCT_PATHS_SELECTOR__
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Groovy" level="project" />
<orderEntry type="module" module-name="jps-standalone-builder" />
</component>
</module>
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

+13
View File
@@ -0,0 +1,13 @@
!define MANUFACTURER "JetBrains"
!define MUI_PRODUCT "PyCharm Educational Edition"
!define PRODUCT_FULL_NAME "JetBrains PyCharm Educational Edition"
!define PRODUCT_EXE_FILE "pycharm.exe"
!define PRODUCT_ICON_FILE "PC_instCom.ico"
!define PRODUCT_UNINST_ICON_FILE "PC_uninstCom.ico"
!define PRODUCT_LOGO_FILE "logo.bmp"
!define PRODUCT_HEADER_FILE "headerlogo.bmp"
; if SHOULD_SET_DEFAULT_INSTDIR != 0 then default installation directory will be directory where highest-numbered PyCharm build has been installed
; set to 1 for release build
!define SHOULD_SET_DEFAULT_INSTDIR "0"
+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="bootstrap" />
<orderEntry type="module" module-name="colorSchemes" />
<orderEntry type="module" module-name="svn4idea" />
<orderEntry type="module" module-name="git4idea" />
<orderEntry type="module" module-name="relaxng" />
<orderEntry type="module" module-name="github" />
<orderEntry type="module" module-name="rest" />
<orderEntry type="module" module-name="python-helpers" />
<orderEntry type="module" module-name="terminal" />
<orderEntry type="module" module-name="python-ide-community" />
<orderEntry type="module" module-name="platform-main" />
<orderEntry type="module" module-name="ShortcutPromoter" />
<orderEntry type="module" module-name="python-educational" />
</component>
</module>
+29
View File
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="python-openapi" exported="" />
<orderEntry type="module" module-name="platform-impl" />
<orderEntry type="module" module-name="lang-impl" />
<orderEntry type="library" name="Guava" level="project" />
<orderEntry type="module" module-name="python-pydev" />
<orderEntry type="library" exported="" name="XmlRPC" level="project" />
<orderEntry type="module" module-name="xdebugger-api" />
<orderEntry type="library" name="http-client-3.1" level="project" />
<orderEntry type="module" module-name="RegExpSupport" exported="" />
<orderEntry type="module" module-name="testRunner" />
<orderEntry type="module" module-name="smRunner" />
<orderEntry type="module" module-name="spellchecker" />
<orderEntry type="module" module-name="xdebugger-impl" />
<orderEntry type="module" module-name="xml-psi-impl" />
<orderEntry type="module" module-name="python-community" />
</component>
</module>
@@ -0,0 +1,293 @@
<component>
<group id="navigation">
<feature
id="navigation.popup.class"
tip-file="GoToClass.html"
min-usage-count="3"
first-show="1"
successive-show="5"/>
<feature
id="navigation.popup.file"
tip-file="GoToClass.html"
min-usage-count="2"
first-show="3"
successive-show="5"/>
<feature
id="navigation.popup.symbol"
tip-file="GoToSymbol.html"
first-show="5"
successive-show="8"/>
<feature
id="SearchEverywhere"
tip-file="SearchEverywhere.html"
first-show="1"
successive-show="1"
min-usage-count="1"
/>
<feature
id="navigation.popup.camelprefix"
tip-file="CamelPrefixesInNavigationPopups.html"
min-usage-count="3"
first-show="4"
successive-show="7">
<dependency id="navigation.popup.class"/>
<dependency id="navigation.popup.file"/>
<dependency id="navigation.popup.symbol"/>
</feature>
<feature
id="navigation.popup.wildcards"
tip-file="WildcardsInNavigationPopups.html"
min-usage-count="2"
first-show="3"
successive-show="5">
<dependency id="navigation.popup.class"/>
<dependency id="navigation.popup.file"/>
<dependency id="navigation.popup.symbol"/>
</feature>
<feature
id="navigation.popup.file.structure"
tip-file="FileStructurePopup.html"
min-usage-count="3"
first-show="2"
successive-show="5"
/>
<feature
id="navigation.recent.files"
tip-file="RecentFiles.html"
min-usage-count="3"
first-show="3"
successive-show="5"
/>
<feature
id="navigation.select.in"
tip-file="SelectIn.html"
min-usage-count="3"
first-show="4"
successive-show="7"
/>
<feature
id="navigation.goto.declaration"
tip-file="GoToDeclaration.html"
min-usage-count="15"
first-show="1"
successive-show="4"
/>
<feature
id="navigation.goto.usages"
tip-file="ShowUsages.html"
min-usage-count="3"
first-show="5"
successive-show="5"/>
</group>
<group id="completion">
<feature
id="editing.completion.basic"
tip-file="CodeCompletion.html"
min-usage-count="15"
first-show="1"
successive-show="3"/>
<feature
id="editing.completion.replace"
tip-file="TabInLookups.html"
min-usage-count="10"
first-show="6"
successive-show="8"
/>
<feature
id="editing.completion.finishByCtrlDot"
tip-file="CtrlDotInLookups.html"
min-usage-count="7"
first-show="4"
successive-show="8"
/>
<feature
id="editing.completion.finishByDotEtc"
tip-file="DotEtcInLookups.html"
min-usage-count="7"
first-show="4"
successive-show="8"
/>
<feature
id="editing.completion.camelHumps"
tip-file="CamelHumpsInCodeCompletion.html"
min-usage-count="8"
first-show="5"
successive-show="7"
/>
<feature
id="editing.completion.cancelByControlArrows"
tip-file="CancelByControlArrows.html"
min-usage-count="10"
first-show="2"
successive-show="3"/>
<feature
id="editing.completion.changeSorting"
tip-file="ChangeSorting.html"
min-usage-count="10"
first-show="2"
successive-show="3"/>
</group>
<group id="editing">
<feature
id="editing.select.word"
tip-file="CtrlW.html"
min-usage-count="10"
first-show="2"
successive-show="4"/>
</group>
<group id="codeassists">
<feature
id="codeassists.quickjavadoc"
tip-file="QuickJavaDoc.html"
min-usage-count="3"
first-show="3"
successive-show="5"
/>
<feature
id="codeassists.quickdefinition"
tip-file="CtrlShiftI.html"
min-usage-count="9"
first-show="3"
successive-show="5"
/>
<feature
id="codeassists.quickdefinition.lookup"
tip-file="CtrlShiftIForLookup.html"
min-usage-count="1"
first-show="5"
successive-show="7">
<dependency id="codeassists.quickdefinition"/>
</feature>
<feature
id="codeassists.quickjavadoc.lookup"
tip-file="QuickJavaDocInLookups.html"
min-usage-count="1"
first-show="5"
successive-show="7">
<dependency id="codeassists.quickjavadoc"/>
</feature>
<feature
id="codeassists.quickjavadoc.ctrln"
tip-file="QuickJavaDocInLookups.html"
min-usage-count="1"
first-show="5"
successive-show="7">
<dependency id="codeassists.quickjavadoc"/>
</feature>
<feature
id="codeassists.surroundwith.statement"
tip-file="Surround.html"
first-show="5"
successive-show="5"
min-usage-count="4"
/>
<!--
<feature
id="codeassists.surroundwith.expression"
tip-file="Surround.html"
first-show="6"
successive-show="5"
min-usage-count="3"
/>
<feature
id="codeassists.comment.block"
tip-file="CommentCode.html"
first-show="6"
successive-show="5"
min-usage-count="3"
/>
-->
<feature
id="codeassists.comment.line"
tip-file="Comment.html"
first-show="6"
successive-show="5"
min-usage-count="3"
/>
</group>
<group id="refactoring">
<feature
id="refactoring.introduceVariable"
tip-file="IntroduceVariable.html"
min-usage-count="5"
first-show="1"
successive-show="3"
/>
<feature
id="refactoring.rename"
tip-file="Rename.html"
min-usage-count="2"
first-show="1"
successive-show="3"
/>
</group>
<group id="ui">
<feature
id="ui.tree.speedsearch"
tip-file="SpeedSearch.html"
first-show="5"
successive-show="4"
min-usage-count="6"
/>
<feature
id="ui.scheme.quickswitch"
tip-file="QuickSwitchScheme.html"
first-show="7"
successive-show="3"
min-usage-count="1"
/>
<feature
id="ui.recentchanges"
tip-file="RecentChanges.html"
first-show="5"
successive-show="5"
min-usage-count="1"
/>
<feature
id="ui.horizontal.scrolling"
tip-file="HorizontalScrolling.html"
first-show="1"
successive-show="1"
min-usage-count="1"
/>
<!-- TODO: Uncomment usage in InsertPathAction when FeatureUsageTracker goes to OpenApi
<feature
id="ui.commandLine.insertPath"
name="Insert path in command line"
tip-file="InsertPathShortcut.html"
first-show="6"
successive-show="5"
min-usage-count="3"
/>
-->
<feature id="navigation.popup.action"
tip-file="GoToAction.html"
first-show="7"
successive-show="3"
min-usage-count="1"/>
<feature
id="navigation.goto.inspection"
tip-file="GoToInspection.html"
min-usage-count="3"
first-show="5"
successive-show="5"/>
<feature id="find.recent.search"
tip-file="RecentSearch.html"
first-show="10"
successive-show="3"
min-usage-count="5"/>
<feature id="find.completion"
tip-file="CodeCompletionInSearch.html"
first-show="10"
successive-show="3"
min-usage-count="5"/>
</group>
</component>
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 347 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,68 @@
<?xml version='1.0'?>
<list>
<option name="MAKO.SUBSTITUTION">
<value>
<option name="BACKGROUND" value="232364" />
<option name="EFFECT_TYPE" value="-1" />
</value>
</option>
<option name="MAKO.TAG">
<value>
<option name="EFFECT_TYPE" value="-1" />
</value>
</option>
<option name="PY.CLASS_DEFINITION">
<value>
<option name="FONT_TYPE" value="1" />
<option name="EFFECT_TYPE" value="1" />
</value>
</option>
<option name="PY.DECORATOR">
<value>
<option name="FOREGROUND" value="bbb529" />
<option name="EFFECT_TYPE" value="1" />
</value>
</option>
<option name="PY.FUNC_DEFINITION">
<value>
<option name="FONT_TYPE" value="1" />
<option name="EFFECT_TYPE" value="1" />
</value>
</option>
<option name="PY.KEYWORD">
<value>
<option name="FOREGROUND" value="cc7832" />
<option name="FONT_TYPE" value="1" />
</value>
</option>
<option name="PY.KEYWORD_ARGUMENT">
<value>
<option name="FOREGROUND" value="aa4926" />
</value>
</option>
<option name="PY.PREDEFINED_DEFINITION">
<value>
<option name="FOREGROUND" value="B200B2" />
</value>
</option>
<option name="PY.PREDEFINED_USAGE">
<value>
<option name="FOREGROUND" value="B200B2" />
</value>
</option>
<option name="PY.SELF_PARAMETER">
<value>
<option name="FOREGROUND" value="94558D" />
</value>
</option>
<option name="PY.STRING.B">
<value>
<option name="FOREGROUND" value="a5c261" />
</value>
</option>
<option name="PY.STRING.U">
<value>
<option name="FOREGROUND" value="008080" />
</value>
</option>
</list>
@@ -0,0 +1,62 @@
<?xml version='1.0'?>
<list>
<option name="MAKO.SUBSTITUTION">
<value>
<option name="BACKGROUND" value="E6E6FA" />
<option name="EFFECT_TYPE" value="-1" />
</value>
</option>
<option name="MAKO.TAG">
<value>
<option name="EFFECT_TYPE" value="-1" />
</value>
</option>
<option name="PY.BUILTIN_NAME">
<value>
<option name="FOREGROUND" value="80" />
</value>
</option>
<option name="PY.CLASS_DEFINITION">
<value>
<option name="FOREGROUND" value="000000" />
<option name="EFFECT_TYPE" value="1" />
</value>
</option>
<option name="PY.DECORATOR">
<value>
<option name="FOREGROUND" value="0000B2" />
</value>
</option>
<option name="PY.FUNC_DEFINITION">
<value>
<option name="FOREGROUND" value="000000" />
<option name="EFFECT_TYPE" value="1" />
</value>
</option>
<option name="PY.KEYWORD_ARGUMENT">
<value>
<option name="FOREGROUND" value="660099" />
</value>
</option>
<option name="PY.PREDEFINED_DEFINITION">
<value>
<option name="FOREGROUND" value="B200B2" />
</value>
</option>
<option name="PY.PREDEFINED_USAGE">
<value>
<option name="FOREGROUND" value="B200B2" />
</value>
</option>
<option name="PY.SELF_PARAMETER">
<value>
<option name="FOREGROUND" value="94558D" />
</value>
</option>
<option name="PY.STRING.U">
<value>
<option name="FOREGROUND" value="008080" />
<option name="FONT_TYPE" value="1" />
</value>
</option>
</list>
Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

@@ -0,0 +1 @@
__author__ = '$USER'
@@ -0,0 +1,10 @@
__author__ = '$USER'
import unittest
class MyTestCase(unittest.TestCase):
def test_something(self):
self.assertEqual(True, False)
if __name__ == '__main__':
unittest.main()
@@ -0,0 +1,12 @@
from distutils.core import setup
setup(
name='$Package_name',
version='$Version',
packages=$PackageList,$PackageDirs
url='$URL',
license='$License',
author='$Author',
author_email='$Author_Email',
description='$Description'
)
+3
View File
@@ -0,0 +1,3 @@
# Only has artwork and tips stuff
skip: *.png
skip: tips
Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1007 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1019 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 880 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 584 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 981 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1020 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

@@ -0,0 +1,23 @@
<component>
<company name="JetBrains s.r.o." url="http://www.jetbrains.com/?fromIDE"/>
<version major="3" minor="0" eap="true"/>
<build number="__BUILD_NUMBER__" date="__BUILD_DATE__"/>
<logo url="/pycharm_core_logo.png" textcolor="ffffff" progressColor="ffaa16" progressY="230" progressTailIcon="/community_progress_tail.png"/>
<about url="/pycharm_core_about.png" logoX="300" logoY="265" logoW="75" logoH="30" foreground="ffffff" linkColor="fca11a"/>
<icon size32="/PyCharmCore32.png" size16="/PyCharmCore16.png" size32opaque="/PyCharmCore32.png" size12="/PyCharmCore13.png" ico="PyCharmCore.ico"/>
<package code="__PACKAGE_CODE__"/>
<names product="PyCharm" fullname="PyCharm Educational Edition" script="charm"/>
<install-over minbuild="0" maxbuild="0" version="1.x"/>
<welcome-screen logo-url="/PyCharmCoreWelcomeScreen.png" caption-url="PyCharmCoreWelcomeCaption.png" slogan-url="/developSlogan.png"/>
<third-party url="http://confluence.jetbrains.com/display/PYH/Third-Party+Software+Used+by+PyCharm"/>
<update-urls logo-url="/Logo_welcomeScreen.png"
check="http://www.jetbrains.com/updates/updates.xml"
patches="http://download.jetbrains.com/python/"/>
<feedback eap-url="http://www.jetbrains.com/feedback/feedback.jsp?product=PyCharm&amp;build=$BUILD&amp;timezone=$TIMEZONE&amp;eval=$EVAL"
release-url="http://www.jetbrains.com/feedback/feedback.jsp?product=PyCharm&amp;build=$BUILD&amp;timezone=$TIMEZONE&amp;eval=$EVAL"/>
<help file="pycharmhelp.jar" root="pycharm"/>
</component>
@@ -0,0 +1,5 @@
<html>
<body>
This inspection highlights unresolved buildout parts.
</body>
</html>
@@ -0,0 +1,7 @@
<html>
<body>
<span style="font-family: verdana,serif;">
This inspection detects when there aren't all abstract properties/methods are defined in subclass
</span>
</body>
</html>
@@ -0,0 +1,7 @@
<html>
<body>
<span style="font-family: verdana,serif;">
This inspection highlights situations, where argument passed to function is equal to default parameter value
</span>
</body>
</html>
@@ -0,0 +1,8 @@
<html>
<body>
<span style="font-family: verdana,serif;">
This inspection reports discrepancies between declared parameters and actual arguments, as well as
incorrect arguments (e.g. duplicate named arguments) and incorrect argument order. Decorators are analyzed, too.
</span>
</body>
</html>
@@ -0,0 +1,21 @@
<html>
<body>
<span style="font-family: verdana,serif;">
Checks for cases when you rewrite loop variable with inner loop
</span>
<pre style="font-family: monospace">
for i in xrange(5):
for i in xrange(20, 25):
print("Inner", i)
print("Outer", i)
</pre>
<span style="font-family: verdana,serif;">
It also warns you if variable declared in <code>with</code> statement is redeclared inside of statement body:
</span>
<pre style="font-family: monospace">
with open("file") as f:
f.read()
with open("file") as f:
</pre>
</body>
</html>
@@ -0,0 +1,7 @@
<html>
<body>
<span style="font-family: verdana,serif; font-size: smaller;">
This inspection detects instance attribute definition outside __init__ method
</span>
</body>
</html>
@@ -0,0 +1,7 @@
<html>
<body>
<span style="font-family: verdana,serif;">
This inspection highlights assignment that can be replaced with augmented assignment.
</span>
</body>
</html>
@@ -0,0 +1,8 @@
<html>
<body>
<span style="font-family: verdana,serif;">
This inspection highlights too broad exception clauses such as
no exception class specified, or specified as 'Exception'.
</span>
</body>
</html>
@@ -0,0 +1,7 @@
<html>
<body>
<span style="font-family: verdana,serif;">
This inspection detects characters > 255 in byte literals.
</span>
</body>
</html>
@@ -0,0 +1,15 @@
<html>
<body>
<p style="font-family: verdana,serif;">
This inspection checks for calls of a method by class while passing an instance of a different class
as <code>self</code> parameter:</p>
<pre>
foo = Foo()
Bar.baz(foo, *more)
</pre>
<p style="font-family: verdana,serif;">
Sometimes this may be intentional and correct.
But when unintentional, this leads to subtle bugs.
</p>
</body>
</html>
@@ -0,0 +1,7 @@
<html>
<body>
<span style="font-family: verdana,serif;">
This inspection highlights attempts to call objects which are not callable, like, for example, tuples.
</span>
</body>
</html>
@@ -0,0 +1,7 @@
<html>
<body>
<span style="font-family: verdana,serif;">
This inspection highlights chained comparisons that can be simplified.
</span>
</body>
</html>
@@ -0,0 +1,7 @@
<html>
<body>
<span style="font-family: verdana,serif;">
This inspection used when a class has no __init__ method, neither its parent classes.
</span>
</body>
</html>
@@ -0,0 +1,5 @@
<html>
<body>
<span style="font-family: verdana,serif;">This inspection detects classic style classes usage.</span>
</body>
</html>
@@ -0,0 +1,8 @@
<html>
<body>
<span style="font-family: verdana,serif;">
This inspection highlights comparisons with None. That type of comparisons
should always be done with 'is' or 'is not', never the equality operators.
</span>
</body>
</html>
@@ -0,0 +1,8 @@
<html>
<body>
<span style="font-family: verdana,serif;">
Enable this inspection if you need your code to be compatible with a range of Python versions (for example, if you're building a library).
The range of Python versions with which the code needs to be compatible can be specified in the inspection settings.
</span>
</body>
</html>
@@ -0,0 +1,7 @@
<html>
<body>
<p style="font-family: verdana,serif;">
This inspection reports usages of @classmethod or @staticmethod decorators on functions outside of a class.
</p>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More